Tải bản đầy đủ (.doc) (23 trang)

software requirements specification library management system

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (582.53 KB, 23 trang )

Software Requirements
Specification
Library Management System

Ho Chi Minh, 2013

1/23


MỤC LỤC

a) Giới thiệu..........................................................................................................................................2
b) Mục đích...........................................................................................................................................2
c) Phạm vi hoạt động............................................................................................................................2
d) Thuật ngữ..........................................................................................................................................3
..............................................................................................................................................................3
a. Use case............................................................................................................................................4
b. Phân hóa chức năng..........................................................................................................................4
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

Chương 1 :
1.1)

GIỚI THIỆU CHƯƠNG TRÌNH PHẦN MỀM



MỤC ĐÍCH VÀ PHẠM VI

a) 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.

b) Mục đích
Tài liệu SDD nhằm mô tả chi tiết chương trình phần mềm LMS

c) Phạm vi hoạt động
Tài liệu này mô tả về kiến trúc, kỹ thuật của LMS

2/23


d) Thuật ngữ





SDD: Software Detail Design
CNTT: Công nghệ thông tin
KH-KT: Khoa học kỹ thuật
LMS: library management Specification

3/23



Chươ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
a.

Use case

b.

Phân hóa chức năng

a) Thủ thư
• Quản lý sách bao gồm tìm kiếm sách ,update sách ,cho mượn và nhận
trả sách đã cho mượn.
• 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

4/23


Activity

5/23


B. Quản lý usercard
6/23


sequence

Activity

C. Quản lý sách

7/23


sequence

Activity

2.2.2) Độc giả
8/23



A. Đăng nhập quản lý user độc giả
sequence

Activity

B. Mượn trả sách
9/23


sequence

Activity

10/23


2.2.3) Tìm kiếm sách
sequence

11/23


activity

2.3)

SƠ ĐỒ LỚP (CLASS)


2.2.1)

CLASS

12/23


Chương 3 :
3.1)

THIẾT KẾ
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”

13/23


khi 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

14/23





Xóa độc giả



Xóa người dung

15/23




Xóa sách



Tìm kiếm



Hiển thị sách

16/23


Chươ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) {

17/23


- 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
- Algorithm:
+ nếu là thêm sách, tìm trong cơ sở dữ liệu đã có sách chưa, nếu có trả về false, ngược
lại thêm thông tin sách vào database, trả về true.
+ nếu là xóa sách, tìm trong cơ sở dữ liệu đã có sách chưa, nếu có thực hiện gỡ bỏ
thông tin sách, trả về true, 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
- Algorithm:
+ nếu là thêm độc giả, tìm trong cơ sở dữ liệu đã có đọc giả chưa, nếu có trả về false,
ngược lại thêm thông tin đọc giả vào database, trả về true.
+ nếu là xóa thông tin độc giả, tìm trong cơ sở dữ liệu đã có đọc giả chưa, nếu có thực
hiện gỡ bỏ thông tin đọc giả, trả về true, 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
- Algorithm:
+ nếu là thêm usercard, tìm trong cơ sở dữ liệu đã có usercard chưa, nếu có trả về false,
ngược lại thêm thông tin vào database, trả về true.
+ nếu là xóa, tìm trong cơ sở dữ liệu đã có chưa, nếu có thực hiện gỡ bỏ thông tin
usercard, trả về true, 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

- Algorithm:
+ nếu là thêm, tìm trong cơ sở dữ liệu đã có chưa, nếu có trả về false, ngược lại thêm
thông tin vào database, trả về true.
+ nếu là xóa, tìm trong cơ sở dữ liệu đã có chưa, nếu có thực hiện gỡ bỏ thông tin thủ
thư, trả về true, ngược lại trả về false.
}
Public void dangnhap() {
- Pre-condition: lấy thông tin để đăng nhập

18/23


- Post-condition: nếu đăng nhập thành công, trả về true, ngược lại trả về false.
}
}

b/ Class dangnhapthuthu
{

Public getIDthuthu() {
- Pre-condition: lấy thông tin IDthuthu đã nhập vào
- Post-condition:
}
Public getpass() {
- Pre-condition: lấy thông tin password đã nhập vào
- Post-condition:
}

}


c/ Class QLdocgia
{
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.
19/23


- 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.
- Algorithm:
+ kiểm tra passdocgiamoi trùng passdocgia không, nếu có trả về false
+ thực hiện cập nhật, 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 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
- Algorithm:
+ nếu là thêm độc giả, tìm trong cơ sở dữ liệu đã có đọc giả chưa, nếu có trả về false,
ngược lại thêm thông tin đọc giả vào database, trả về true.
+ nếu là xóa thông tin độc giả, tìm trong cơ sở dữ liệu đã có đọc giả chưa, nếu có thực
hiện gỡ bỏ thông tin đọc giả, trả về true, 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.

20/23



- Algorithm:
+ kiểm tra thông tin sách được trả, nếu khác thông tin sách được mượn, trả về false.
+ thực hiện thao tác trả sách, cập nhật thông tin của sách được trả, trả về true.
}
}

d/ Class dangnhap
{
Public getID() {
- Pre-condition: lấy thông tin ID đọc giả đã nhập vào
- Post-condition:
}
Public getpass() {
- Pre-condition: lấy thông tin password đọc giả đã nhập vào
- Post-condition:
}
}

e/ Class QLsach
{
Private 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.
}
Public void getlistbook() {
- Pre_condition:
- Post_condition: trả về danh sách các đầu sách hiện có
21/23


- 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.
- 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 đọc giả bị vi phạm, không được gia hạn, trả về false.
+ Thực hiện gia hạn, trả về true.
}
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.
- 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 tăng số lượng sách được mượn, trả về false.
+ Thực hiện tăng số lượng sach được mượn, trả về true.
}
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.
22/23


+ Thực hiện giảm số lượng sách được mượn, trả về true.
}
}

g/ Class QLMuonTra
{
Public void setIDbookID() {
- Pre_condition:
- Post_condition: trả về bookID
}
Public void setsoluong() {
- Pre_condition:
- Post_condition: trả về số lượng sách cần mượn
}
Public void settinhtrang() {
- Pre_condition:
- Post_condition: trả về tình trạng của sách
}

Public void setsoluongsachduocmuon() {
- Pre_condition:
- Post_condition: trả về số lượng sách được mượn
}
}

23/23



×