- Pre_condition: Thủ thư nhập ngaysinh mới cần đổi – ngaysinhmoi.- Post_condition: trả về true nếu đổi được, ngược lại trả về false; - Algorithm: + kiểm tra ngaysinhmoi có trùng ngaysin
Trang 1Software Requirements
Specification Library Management System
Ho Chi Minh, 2013
Trang 2MỤC LỤC
Chương 1 : GIỚI THIỆU CHƯƠNG TRÌNH PHẦN MỀM 3
1.1) MỤC ĐÍCH VÀ PHẠM VI 3
a) Giới thiệu 3
b) Mục đích 3
c) Phạm vi hoạt động 3
d) Thuật ngữ 3
Chương 2 : PHÂN TÍCH 3
LMS được mô tả bằng ba lớp: Use Case, mô hình hóa người sử dụng, class 3
2.1) Use Case Diagram 3
a Use case 3
b Phân hóa chức năng 4
2.2) MÔ HÌNH HÓA YÊU CẦU VỀ CHỨC NĂNG CỦA TỪNG NGƯỜI SỬ DỤNG 4
2.2.1) Thủ thư 4
A Đăng nhập, quản lý user thủ thư 4
sequence 4
Activity 5
B Quản lý usercard 6
sequence 7
Activity 7
C Quản lý sách 7
sequence 8
2.2.2) Độc giả 8
A Đăng nhập quản lý user độc giả 9
sequence 9
Activity 9
B Mượn trả sách 9
sequence 10
Activity 10
2.2.3) Tìm kiếm sách 11
sequence 11
activity 12
2.3) SƠ ĐỒ LỚP (CLASS) 12
2.2.1) CLASS 12
Chương 3 : THIẾT KẾ 13
3.1) Thiết kế giao diện 13
3.1.1 Màn hình chính 13
Chương 4 : CLASS DETAIL 17
a/ Class QLThuthu 17
b/ Class dangnhapthuthu 19
c/ Class QLdocgia 19
d/ Class dangnhap 21
e/ Class QLsach 21
f/ Class Qlusercard 22
g/ Class QLMuonTra 23
Trang 3Chương 1 : GIỚI THIỆU CHƯƠNG TRÌNH PHẦN MỀM
1.1) MỤC ĐÍCH VÀ PHẠM VI
1 Giới thiệu
Ngày nay dưới sự phát triển mạnh mẽ của KH-KT , việc áp dụng KH-KT đặc biệt là CNTT vào đời sống là một xu hướng tất yếu Dựa trên xu hướng đó đồng thời nhằm giảm áp lực cho việc quản lý và thuận tiện tra cứu thông tin của thư viện nhóm đã thiết
kế phần mềm LMS nhằm hỗ trợ việc quản lý cho thư viện
SDD: Software Detail Design
CNTT: Công nghệ thông tin
KH-KT: Khoa học kỹ thuật
LMS: library management Specification
Trang 4Chương 2 : PHÂN TÍCH
LMS được mô tả bằng ba lớp: Use Case, mô hình hóa người sử dụng, class
2.1) Use Case Diagram
Quản lý User bao gồm quản lý usercard, quản lý updateuser
Đăng nhập nhân viên thư viện
b) Độc giả
Quản lý sách bao gồm tìm kiếm sách, mượn và trả sách đã cho mượn
Quản lý User bao gồm quản lý updateuser, đăng nhập user
2.2) MÔ HÌNH HÓA YÊU CẦU VỀ CHỨC NĂNG CỦA TỪNG NGƯỜI SỬ DỤNG
2.2.1) Thủ thư
A Đăng nhập, quản lý user thủ thư
sequence
Trang 5Activity
Trang 6B Quản lý usercard
Trang 7Activity
C Quản lý sách
Trang 8Activity
2.2.2) Độc giả
Trang 9A Đăng nhập quản lý user độc giả
sequence
Activity
B Mượn trả sách
Trang 10Activity
Trang 112.2.3) Tìm kiếm sách
sequence
Trang 122.3) SƠ ĐỒ LỚP (CLASS)
2.2.1) CLASS
Trang 13Chương 3 : THIẾT KẾ
3.1) Thiết kế giao diện
3.1.1 Màn hình chính
Màn hình chính bao gồm các chức năng : tùy chọn , quản lý , chức năng
khi user click “tùy chọn”
Tùy chọn có chức năng “đăng nhập”,”Đăng xuất” và “thoát”
Trang 14khi user click “Quản lý”
Chức năng này bao gồm : “nhập sách” , “độc giả”,” Mượn, trả sách” và “người dung”
Nhập sách
Trang 15 Xóa độc giả
Xóa người dung
Trang 16 Xóa sách
Tìm kiếm
Hiển thị sách
Trang 17Chương 4 : CLASS DETAIL
a/ Class QLThuthu
{ Private String ten;
Private Date ngaysinh;
Private String CMND;
Private Int IDthuthu;
Private String pass;
Private String chucvu;
Private String thoigianlamviec;
Public void correctten(tenmoi) {
- Pre_condition: Thủ thư nhập tên mới cần đổi – tenmoi
- Post_condition: trả về true nếu đổi được, ngược lại trả về false;
- Algorithm:
+ kiểm tra tenmoi có trùng ten cũ không, nếu có trả về false
+ đổi giá trị của ten thành giá trị của tenmoi, trả về true
}
Public void correctCMND(CMNDmoi) {
- Pre_condition: Thủ thư nhập CMND mới cần đổi – CMNDmoi
- Post_condition: trả về true nếu đổi được, ngược lại trả về false;
- Algorithm:
+ kiểm tra CMNDmoi có trung CMND cũ không, nếu có trả về false
+ đổi giá trị của CMND thành giá trị của CMNDmoi, trả về true
}
Public void correctpass(passmoi) {
- Pre_condition: Thủ thư nhập pass mới cần đổi – passmoi
- Post_condition: trả về true nếu đổi được, ngược lại trả về false;
- Algorithm:
+ kiểm tra passmoi có trùng pass cũ không, nếu có trả về false
+ đổi giá trị của pass thành giá trị của passmoi, trả về true
}
Public void correctchucvu(chucvumoi) {
- Pre_condition: Thủ thư nhập chucvu mới cần đổi – chucvumoi
- Post_condition: trả về true nếu đổi được, ngược lại trả về false;
- Algorithm:
+ kiểm tra chucvumoi có trùng chucvu cũ không, nếu có trả về false
+ đổi giá trị của chucvu thành giá trị của chucvumoi, trả về true
}
Public void correctthoigianlamviec(thoigianlamviecmoi) {
- Pre_condition: Thủ thư nhập thoigianlamviec mới cần đổi – thoigianlamviecmoi
- Post_condition: trả về true nếu đổi được, ngược lại trả về false;
- Algorithm:
+ kiểm tra thoigianlamviecmoi có trùng thoigianlamvieccũ không, nếu có trả về false + đổi giá trị của thoigianlamviec thành giá trị của thoigianlamviecmoi, trả về true.}
Public void correctngaysinh(ngaysinhmoi) {
Trang 18- Pre_condition: Thủ thư nhập ngaysinh mới cần đổi – ngaysinhmoi.
- Post_condition: trả về true nếu đổi được, ngược lại trả về false;
- Algorithm:
+ kiểm tra ngaysinhmoi có trùng ngaysinh cũ không, nếu có trả về false
+ đổi giá trị của ngaysinh thành giá trị của ngaysinhmoi, trả về true
}
Public void getlistbook() {
- Pre_condition:
- Post_condition: trả về danh sách các đầu sách hiện có
- Algorithm: tìm kiếm trong cơ sở dữ liệu và xuất ra tên các đầu sách
}
Public void updatebook() {
- Pre_condition: Thủ thư nhập vào thông tin sách cần thêm/xóa
- Post_condition: trả về true nếu thành công, ngược lại trả về false
Public void updatedocgia() {
- Pre_condition: Thủ thư nhập vào thông tin độc giả cần thêm/xóa
- Post_condition: trả về true nếu thành công, ngược lại trả về false
Public void updateUsercard() {
- Pre_condition: Thủ thư nhập vào thông tin usercard cần thêm/xóa
- Post_condition: trả về true nếu thành công, ngược lại trả về false
Public void updatethuthu() {
- Pre_condition: Thủ thư nhập vào thông tin thủ thư cần thêm/xóa
- Post_condition: trả về true nếu thành công, ngược lại trả về false
Public void dangnhap() {
- Pre-condition: lấy thông tin để đăng nhập
Trang 19- Post-condition: nếu đăng nhập thành công, trả về true, ngược lại trả về false.
Private String docgiaID;
Private String namedocgia;
Private String ngaysinh;
Private String CMND;
Private String usercardID;
Private String IDdocgia;
Private String passdocgia;
Public void correctnamedocgia(namemoi) {
- Pre_condition: Đọc giả nhập tên mới cần đổi – namemoi
- Post_condition: trả về true nếu đổi được, ngược lại trả về false;
- Algorithm:
+ kiểm tra namemoi có trùng ten cũ không, nếu có trả về false
+ đổi giá trị của name thành giá trị của namemoi, trả về true
}
Public void createdocgia(docgiaID, namedocgia, ngaysinh, CMND, usercardID, Iddocgia, passdocgia) {
- Pre_condition: Đọc giả nhập thông tin
- Post_condition: trả về true nếu tạo được, ngược lại trả về false;
- Algorithm:
+ kiểm tra docgiaID đã có trong cơ sở dữ liệu chưa, nếu có trả về false
+ thực hiện thêm đọc giả mới}
Public void removedocgia(docgia ID) {
- Pre_condition: Đọc giả muốn xóa tài khoản nhập ID của mình
- Post_condition: trả về true nếu xóa được, ngược lại trả về false;
- Algorithm:
+ kiểm tra docgiaID đã có trong cơ sở dữ liệu chưa, nếu có trả về false
+ thực hiện xóa đọc giả
}
Public void correctngaysinh(ngaysinhmoi) {
- Pre_condition: Đọc giả nhập vào ngày sinh muốn thay đổi – ngaysinhmoi
- Post_condition: trả về true nếu cập nhật được, ngược lại trả về false
Trang 20- Algorithm:
+ kiểm tra ngaysinhmoi trùng ngaysinh không, nếu có trả về false
+ thực hiện cập nhật, trả về true
}
Public void correctCMND(CMNDmoi) {
- Pre_condition: Đọc giả nhập vào CMND muốn thay đổi – CMNDmoi
- Post_condition: trả về true nếu cập nhật được, ngược lại trả về false
- Algorithm:
+ kiểm tra CMNDmoi trùng CMND không, nếu có trả về false
+ thực hiện cập nhật, trả về true
}
Public void correctpassdocgia(passdocgiamoi) {
- Pre_condition: Đọc giả nhập vào password muốn thay đổi – passdocgiamoi
- Post_condition: trả về true nếu cập nhật được, ngược lại trả về false
- Post_condition: trả về danh sách các đầu sách hiện có
- Algorithm: tìm kiếm trong cơ sở dữ liệu và xuất ra tên các đầu sách
}
Public void updatedocgia() {
- Pre_condition: Đọc giả nhập vào thông tin cần thay đổi
- Post_condition: trả về true nếu thành công, ngược lại trả về false
Public void dangnhap() {
- Pre_condition: lấy thông tin để đăng nhập
- Post_condition: nếu đăng nhập thành công, trả về true, ngược lại trả về false
}
Public void muonsach() {
- Pre_condition: thực hiện thao tác mượn sách
- Post_condition: trả về true nếu sách có thể mượn được, ngược lại trả về false
- Algorithm:
+ kiểm tra khả năng mượn sách của đọc giả (số lượng sách được mượn còn lại, có bị
vị phạm gì không…), nếu đọc giả không có quyền mượn, trả về false
+ tìm trong cơ sở dữ liệu thông tin về sách cần mượn
+ nếu sách không còn sẵn sàng để cho mượn, trả về false
+ thực hiện thao tác mượn sách, cập nhật số lượng sách được mượn của đọc giả, trả vềtrue
}
Public void trasach() {
- Pre_condition: thực hiện thao tác trả sách
- Post_condition: trả về true nếu trả thành công, ngược lại trả về false
Trang 21Private String bookID;
Private String namebook;
Private String theloai;
Private String tinhtrang;
Private String tacgiaID;
Private String tentacgia;
Private String tieusutacgia;
Private String NXBID;
Private String tenNXB;
Private String diachiNXB;
Public void createbook() {
- Pre_condition: Thủ thư nhập thông tin sách
- Post_condition: trả về true nếu tạo được, ngược lại trả về false;
- Algorithm:
+ kiểm tra sách đã có trong cơ sở dữ liệu chưa, nếu có trả về false
+ thực hiện thêm sách mới, trả về true
}
Public void removebook() {
- Pre_condition: Thủ thư nhập thông tin sách
- Post_condition: trả về true nếu xóa được, ngược lại trả về false;
- Algorithm:
+ kiểm tra sách đã có trong cơ sở dữ liệu chưa, nếu có trả về false
+ thực hiện xóa thông tin sách, trả về false
Trang 22- Algorithm: tìm kiếm trong cơ sở dữ liệu và xuất ra tên các đầu sách}
Public void getlisttacgia() {
- Pre_condition:
- Post_condition: trả về danh sách các tác giả hiện có
- Algorithm: tìm kiếm trong cơ sở dữ liệu và xuất ra tên các tác giả}
Public void getlistNXB() {
- Pre_condition:
- Post_condition: trả về danh sách các NXB hiện có
- Algorithm: tìm kiếm trong cơ sở dữ liệu và xuất ra tên các NXB}
Public void getlisttheloai() {
- Pre_condition:
- Post_condition: trả về danh sách các thể loại hiện có
- Algorithm: tìm kiếm trong cơ sở dữ liệu và xuất ra tên các thể loại}
}
f/ Class Qlusercard
{
Private String usercardID;
Private String ngayhethan;
Private Int soluongsachmuon;
Private Int soluongsachduocmuon;
Private IDsachmuon;
Public void giahan() {
- Pre_condition: Đọc giả nhập vào thời gian muốn gia hạn
- Post_condition: trả về true nếu gia hạn được, ngược lại trả về false
Public void tangsoluongsach() {
- Pre_condition: thực hiện thao tác tăng lượng sách được mượn của usercard
- Post_condition: trả về true nếu tăng số sách mượn được, ngược lại trả về false
Public void giamsoluongsach() {
- Pre_condition: thực hiện thao tác giảm lượng sách được mượn của usercard
- Post_condition: trả về true nếu giảm số sách mượn được, ngược lại trả về false
- Algorithm:
+ Tìm kiếm trong cơ sở dữ liệu thông tin thời hạn hiện tại của usercard + Nếu usercard đã hết khả năng giảm số lượng sách được mượn, trả về false
Trang 23+ Thực hiện giảm số lượng sách được mượn, trả về true.
Public void setsoluong() {
Public void setsoluongsachduocmuon() {
- Pre_condition:
- Post_condition: trả về số lượng sách được mượn}
}