TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
──────── * ───────
BÁO CÁO BÀI TẬP LỚN
THIẾT KẾ VÀ XÂY DỰNG
PHẦN MỀM
Đề tài
Thiết kế và xây dựng hệ thống quản lý thư viện
Nhóm 02: Nguyễn Hải Anh - 20179559
Nguyễn Tuấn Anh - 20155068
Giảng viên hướng dẫn: TS. Nguyễn Thị Thu Trang
HÀ NỘI 12-2017
LỜI MỞ ĐẦU
Báo cáo này là tài liệu phân tích yêu cầu và tài liệu thiết kế của Hệ thống quản lý
thư viện, được đề ra và hướng dẫn bởi Ts. Nguyễn Thị Thu Trang. Do thời gian để
hoàn thiện sản phẩm có hạn, tài liệu này có thể tồn tại những thiếu xót, một số
chức năng chưa thể hoàn thiện. Vì vậy Nhóm 02 chúng em mong nhận được những
ý kiến của cô về báo cáo cũng như về sản phẩm của chúng em.
Nhóm em xin được cảm ơn vì những bài học của cô đã trang bị thêm cho chúng em
những hiểu biết trong việc thiết kế và xây dựng một phần mềm hoàn chỉnh và
chúng em đã áp dụng những kiến thức đó vào bài tập lớn môn học.
2
MỤC LỤC
LỜI MỞ ĐẦU
2
MỤC LỤC
3
I. Giới thiệu
7
1.1. Mục đích
7
1.2. Phạm vi
7
1.3. Từ điển thuật ngữ
7
1.4. Tài liệu tham khảo
8
II. Mô tả tổng quan
9
2.1. Biểu đồ Use Case tổng quan
9
2.2 Các tác nhân
9
2.3 Biểu đồ UseCase phân rã:
10
2.3.1. Quản lý Thẻ
10
2.3.2. Quản lý Mượn sách
11
2.3.3. Quản lý Trả sách
12
2.3.4. Quản lý Sách và bản sao
13
2.3.4.1. Quản lý sách
14
2.3.4.2. Quản lý bản sao
15
2.3.5. Tìm kiếm thông tin sách
16
2.3.6. Đăng ký mượn sách
17
III. Đặc tả chức năng
3.1. Đặc tả Use Case Quản lý Thẻ
17
17
3.1.1. Phát hành Thẻ mới
17
3.1.1.1. Đặc tả bằng lời
17
3.1.1.2. Đặc tả bằng biểu đồ hoạt động
20
3.1.2. Cập nhật thông tin Thẻ
20
3.1.2.1. Đặc tả bằng lời
20
3.1.2.2. Đặc tả bằng biểu đồ hoạt động
22
3.1.3. Tìm kiếm Thẻ
22
3.1.3.1. Đặc tả bằng lời
22
3.1.3.2. Đặc tả bằng biểu đồ hoạt động
24
3
3.1.4. Khóa Thẻ
24
3.1.4.1. Đặc tả bằng lời
24
3.1.4.2. Đặc tả bằng biểu đồ hoạt động
26
3.1.5. Kích hoạt Thẻ (Librarian)
26
3.1.5.1. Đặc tả bằng lời
26
3.1.5.2. Đặc tả bằng biểu đồ hoạt động
28
3.2. Đặc tả Use Case Quản lý Mượn sách
3.2.1. Tìm kiếm thông tin Mượn sách
28
28
3.2.1.1. Đặc tả bằng lời
28
3.2.1.2. Đặc tả bằng biểu đồ hoạt động
30
3.2.2. Cập nhật thông tin Mượn sách
30
3.2.2.1. Đặc tả bằng lời
30
3.2.2.2. Đặc tả bằng biểu đồ hoạt động
32
3.3. Đặc tả Use Case Quản lý Trả sách
3.3.1. Tìm kiếm thông tin Trả sách
32
32
3.3.1.1. Đặc tả bằng lời
32
3.3.1.2. Đặc tả bằng biểu đồ hoạt động
34
3.3.2. Cập nhật thông tin Trả sách
35
3.3.2.1. Đặc tả bằng lời
35
3.3.2.2. Đặc tả bằng biểu đồ hoạt động
36
3.4. Đặc tả Use Case Kích hoạt Thẻ (User)
36
3.4.1.1. Đặc tả bằng lời
36
3.4.1.2. Đặc tả bằng biểu đồ hoạt động
38
3.5. Đặc tả Use Case Tìm kiếm thông tin sách
38
3.5.1.1. Đặc tả bằng lời
38
3.5.1.2. Đặc tả bằng biểu đồ hoạt động
41
3.6. Đặc tả Use Case Quản lý Đăng ký mượn sách
42
3.6.1. Đăng ký Mượn sách
42
3.6.1.1. Đặc tả bằng lời
42
3.6.1.2. Đặc tả bằng biểu đồ hoạt động
43
3.6.2. Hủy Đăng ký Mượn sách
44
3.6.2.1. Đặc tả bằng lời
44
3.6.2.2. Đặc tả bằng biểu đồ hoạt động
45
4
3.7. Đặc tả Use Case Quản lý Sách và Bản sao
3.7.1. Thêm sách
45
45
3.7.1.1. Đặc tả bằng lời
45
3.7.1.2. Đặc tả bằng biểu đồ hoạt động
47
3.7.2. Sửa thông tin sách
48
3.7.2.1. Đặc tả bằng lời
48
3.7.2.2. Đặc tả bằng biểu đồ hoạt động
49
3.7.3. Thêm bản sao
50
3.7.3.1. Đặc tả bằng lời
50
3.7.3.2. Đặc tả bằng biểu đồ hoạt động
50
3.7.4. Sửa thông tin bản sao
51
3.7.3.1. Đặc tả bằng lời
51
3.7.3.2. Đặc tả bằng biểu đồ hoạt động
51
IV. Đặc tả phụ trợ
51
4.1. Functionality
51
4.2. Performance
51
4.3. Reliability
51
4.4. Usability
52
4.5. Yêu cầu về CSDL
52
4.6. Design Pattern:
52
V. Thiết kế giao diện
5.1. Biểu đồ dịch chuyển màn hình
52
52
5.1.1. Librarian
52
5.1.2. User
52
5.2. Thiết kế và đặc tả giao diện
53
5.2.1. Màn hình Quản lý Thẻ
53
5.2.2. Màn hình Quản lý Mượn sách
55
5.2.3. Màn hình quản lý Trả sách
56
5.2.4. Màn hình Kích hoạt Thẻ (User)
57
5.2.5. Màn hình Tìm kiếm sách
57
5.2.6. Màn hình Xem thông tin Tài Khoản
58
5.2.7. Màn hình Quản lý sách
59
VI. Thiết kế lớp
60
5
6.1. Biểu đồ lớp Quản lý Thẻ
60
6.2. Biểu đồ lớp Quản lý Mượn sách
61
6.3. Biểu đồ lớp Quản lý Trả sách
61
6.4. Biểu đồ lớp Kích hoạt Thẻ (User)
62
6.5. Biểu đồ lớp Đăng ký tài khoản
62
6.6. Biểu đồ lớp Đăng ký mượn sách
63
6.7. Biểu đồ lớp Quản lý sách và bản sao
63
6.8. Biểu đồ lớp Tìm kiếm thông tin sách
64
VII. Thiết kế mô hình dữ liệu
64
7.1. Biểu đồ thực thể liên kết
64
7.2. Ánh xạ sang quan hệ các bảng
64
7.3. Thiết kế chi tiết các bảng
65
7.3.1. Bảng UserInfomation
65
7.3.2. Bảng BorrowerCard
66
7.3.3. Bảng RegisterInfomation
66
7.3.4. Bảng Borrowed_Returned
66
7.3.5. Bảng BookInfomation
67
7.3.6. Bảng CopyInfomation
67
6
I. Giới thiệu
1.1. Mục đích
Tài liệu được xây dựng để trình bày về quá trình thiết kế và xây dựng phần mềm quản lý
thư viện.
Đối tượng sẽ sử dụng tài liệu này bao gồm:
- TKXDPM.20171 Nhóm 02
- Giảng viên môn học
- Những người dùng khác được sự cho phép của giảng viên và Nhóm 02
1.2. Phạm vi
Sản phẩm là hệ thống quản lý thư viện gồm các chức năng chính quản lý sách và quản lý
mượn và trả sách và các chức năng hỗ trợ khác như: quản lý thẻ, đăng ký mượn sách,
đăng nhập, đăng xuất,…
Sản phẩm hỗ trợ phần lớn công việc quản lý thư viện, hiểu quả hơn rất nhiều so với việc
quản lý truyền thống khi mà số lượng sách và số lượng người dùng ngày càng nhiều.
Mục tiêu của phần mềm là mang đến cho người dùng một công cụ dễ sử dụng mà lại hiệu
quả trong việc quản lý thư viện. Tất cả thao tác phần lớn đều được thực hiện trên máy
tính một cách thuận tiện và hiện đại.
1.3. Từ điển thuật ngữ
STT
1
Thuật ngữ
2
3
User
Borrower
4
Librarian
5
Admistration
6
Performance
7
Functionality
8
Reality
Guest
Giải thích
Khách vãng lai, chỉ những người truy cập vào hệ thống nhưng
chưa đăng nhập vào hệ thống.
Chỉ người dùng trong hệ thống sau khi đăng nhập
Người mượn sách, ở đây chỉ là người mượn nói chung bao gồm
cả sinh viên trong trường và các người ở ngoài trường. User
sau khi đến thư viện kích hoạt thẻ sẽ trở thành Borrower
Là thủ thư trong thư viên, người có trách nhiệm trong việc
mượn trả sách của thư viện
Là người quản trị hệ thống, người này có trách nhiệm quản lý
các người dùng và vai trò của họ trong hệ thống
Hiệu năng liên quan đến tài nguyên được sử dụng trong các
điều kiện xác định
Các yêu cầu chức năng nói chung đối với nhiều trường hợp sử
dụng.
Tính tin cậy của hệ thống.
9
Usability
Các yêu cầu liên quan hoặc ảnh hưởng đến khả năng sử dụng
của phần mềm.
1.4. Tài liệu tham khảo
- Giáo trình môn học “Thiết kế và xây dựng phần mềm” – TS. Nguyễn Thị Thu Trang
- Bài giảng DesignPattern trang />- Bài giảng lập trình Java trang
II. Mô tả tổng quan
2.1. Biểu đồ Use Case tổng quan
2.2 Các tác nhân
- Guest: Khách, người chưa đăng nhập vào hệ thống, có thể xem thông tin sách, đăng
nhập và đăng ký.
- User: Người dùng của hệ thống,Guest sau khi đăng nhập sẽ thành User, muốn mượn
sách cần đến thư viện xin cấp thẻ và kích hoạt Thẻ mượn.
- Borrower: Người mượn sách, là User sau khi kích hoạt Thẻ mượn, có thể đăng ký
mượn-trả sách.
- Librarian: Thủ thư, người quản lý sách, Thẻ mượn và việc mượn-trả sách.
- Administrator: Người quản trị của cả hệ thống.
2.3 Biểu đồ UseCase phân rã:
2.3.1. Quản lý Thẻ
2.3.2. Quản lý Mượn sách
2.3.3. Quản lý Trả sách
2.3.4. Quản lý Sách và bản sao
2.3.4.1. Quản lý sách
2.3.4.2. Quản lý bản sao
2.3.5. Tìm kiếm thông tin sách
2.3.6. Đăng ký mượn sách
III. Đặc tả chức năng
3.1. Đặc tả Use Case Quản lý Thẻ
3.1.1. Phát hành Thẻ mới
3.1.1.1. Đặc tả bằng lời
Mã Use case
UC001
Tên Use case Phát hành thẻ Mượn sách mới
Mô tả
Phát hành thẻ Mượn sách mới
Tác nhân
Librarian
Tiền điều kiện
Luồng sự kiện
chính
(Thành công)
Librarian đăng nhập thành công vào hệ thống
Thực hiện
STT
Hành động
bởi
1
Librarian
2
3
4
5
6
Librarian
System
System
System
System
Thực hiện
bởi
System
System
System
STT
Luồng sự kiện
thay thế
Hậu điều kiện
4a
4b
4c
Điền thông tin vào Form “Thông tin
thẻ”
Chọn “Phát hành”
Lấy dữ liệu được nhập
Kiểm tra tính hợp lệ
Thêm Thẻ vào CSDL
Hiển thị kết quả trong bảng
Hành động
Báo thông tin nhập không hợp lệ
Báo “Người dùng này đã có Thẻ”
Báo “Mã người dùng không tồn tại”
Báo “Tạo Thẻ không thành công” do
5a
System
ko truy xuất được CSDL
Thông báo kết quả cho Librarian
*Dữ liệu đầu vào
STT Trường dữ liệu
Mô tả
Bắt buộc ?
1
Mã người dùng
Có
2
Ngày Làm Thẻ
Nhập Mã người
dùng
Ngày làm thẻ
3
Ngày Hết Hạn
Hạn của Thẻ
Có
4
Mã kích hoạt
Mã kích hoạt
được hệ thống
tạo random
Có
5
Trạng thái
6
Mã thẻ
Xác định Thẻ đã Có
được kích hoạt
hay chưa
Mã của Thẻ sau Có
khi Phát hành
Có
Điều kiện
hợp lệ
Phải là số
Ví dụ
Là chuỗi
dạng yyyymm-dd
Là chuỗi
dạng yyyymm-dd
2016-10-16
Kiểu
Boolean
Mô tả
Bắt
2017-10-16
cb00c7543670-4db2a2e3f7997253ea51
false
Phải là số,
1
tự động tăng
với CSDL
* Dữ liệu đầu ra
STT Trường dữ
1
Điều kiện
Ví dụ
liệu
•
Thẻ của khách
buộc ?
Đã đủ thông
tin theo quy
định
3.1.1.2. Đặc tả bằng biểu đồ hoạt động
Có
hợp lệ
Mã Thẻ: 1
Ngày Làm Thẻ: 201610-16
Ngày Hết Hạn: 2017-1016
Mã kích hoạt:
cb00c754-3670-4db2a2e3-f7997253ea51
Trạng thái: false( Chưa
kích hoạt)
Mã User: 1
3.1.2. Cập nhật thông tin Thẻ
3.1.2.1. Đặc tả bằng lời
Mã Use case
UC002
Tên Use case
Cập nhật thông tin thẻ
Mô tả
Cập nhật thông tin thẻ cho người dùng
Tác nhân
Librarian
Tiền điều kiện
Librarian đăng nhập thành công vào hệ thống
Thực hiện
STT
Hành động
bởi
Luồng sự kiện
chính
(Thành công)
1
Librarian
2
3
4
5
6
7
System
Librarian
System
System
System
System
Thực hiện
bởi
System
STT
Luồng sự kiện
thay thế
Hậu điều kiện
5a
Chọn Thẻ cần cập nhật trong bảng
Cho phép điền vào Form
Điền thông tin và Bấm “Sửa”
Lấy dữ liệu từ Form
Kiểm tra
Cập nhật vào CSDL
Hiển thị kết quả trong bảng
Hành động
Dữ liệu không hợp lệ
Truy xuất CSDL bị lỗi nên báo Không
6a
System
thành công
Thông báo kết quả cho Librarian
3.1.2.2. Đặc tả bằng biểu đồ hoạt động
3.1.3. Tìm kiếm Thẻ
3.1.3.1. Đặc tả bằng lời
Mã Use case
UC003
Tên Use case
Tìm kiếm thông tin
Mô tả
Tìm kiếm thông tin Thẻ
Tác nhân
Librarian
Tiền điều kiện
Luồng sự kiện
chính
(Thành công)
Librarian đăng nhập thành công vào hệ thống
Thực hiện
STT
Hành động
bởi
1
Libralian
2
Libralian
Chọn tìm kiếm (theo Thẻ hay User)
Nhập từ khóa tìm kiếm và bấm
“Tìm kiếm”
3
4
5
Luồng sự kiện
thay thế
Hậu điều kiện
System
Nhận dữ liệu đầu vào
System
Tìm kiếm trong CSDL
System
Hiển thị kết quả trong bảng
Thực hiện
STT
Hành động
bởi
3a
System
Báo Dữ liệu vào không hợp lệ
4a
System
Truy xuất CSDL bị lỗi
Thông báo kết quả cho Librarian
Dữ liệu đầu vào
STT Trường dữ liệu
Mô tả
Bắt buộc ?
Nhập từ khóa
tìm kiếm
Có
STT Trường dữ liệu
Mô tả
Bắt buộc ?
1
Mã Thẻ
Có
2
Ngày làm thẻ
Mã của Thẻ
mượn
Ngày bắt đầu
làm thẻ
3
Ngày hết hạn
Ngày hết hạn
thẻ
Có
4
Mã kích hoạt
Mã để kích hoạt
cho Thẻ hoạt
động
5
Trạng thái
6
Mã User
Trạng thái của
Thẻ
Mã người dùng
•
Từ khóa mã thẻ,
hay mã user
Điều kiện
hợp lệ
Phải là số
Ví dụ
Điều kiện
hợp lệ
Phải là số
Ví dụ
2016-10-16
Có
Là chuỗi
dạng yyyymm-dd
Là chuỗi
dạng yyyymm-dd
Chuỗi ký tự
Có
Chuỗi ký tự
Có
Phải là số
1
* Dữ liệu đầu ra
Có
1
2017-10-16
cb00c7543670-4db2a2e3f7997253ea51
Chưa kích
hoạt
1
3.1.3.2. Đặc tả bằng biểu đồ hoạt động
3.1.4. Khóa Thẻ
3.1.4.1. Đặc tả bằng lời
Mã Use case
UC004
Tên Use case
Khóa thẻ
Mô tả
Khóa thẻ của người dùng
Tác
Librarian
nhân
Tiền
điều
Librarian đăng nhập thành công vào hệ thống
kiện
Luồng
Thực hiện
STT
Hành động
sự kiện
bởi
chính
(Thành 1
Libralian
Chọn chức năng Tìm kiếm
công)
2
System
Hiển thị danh sách Thẻ
3
4
5
6
Luồng
sự kiện
thay
thế
Hậu
điều
kiện
STT
2a
5a
Libralian
Librarian
System
System
Chọn thẻ cần khóa
Nhấn “Khóa”
Thay đổi trạng thái trong dữ liệu Thẻ
Hiển thị kết quả trong bảng
Thực hiện bởi Hành động
System
Không tìm thấy Thẻ
Báo không thành công do truy xuất
System
CSDL lỗi
Thông báo kết quả cho Librarian
3.1.4.2. Đặc tả bằng biểu đồ hoạt động
3.1.5. Kích hoạt Thẻ (Librarian)
3.1.5.1. Đặc tả bằng lời
Mã Use case
UC005
Tên Use case
Kích hoạt thẻ (Librarian)
Mô tả
Kích hoạt thẻ của người dùng
Tác
Librarian
nhân
Tiền
điều
Librarian đăng nhập thành công vào hệ thống
kiện
Thực hiện
Luồng
STT
Hành động
bởi
sự kiện
chính
Libralian
Chọn chức năng Tìm kiếm
(Thành 1
2
System
Hiển thị danh sách Thẻ
công)
3
Libralian
Chọn thẻ cần kích hoạt
4
Librarian
Nhấn “Kích hoạt”
5
System
Thay đổi trạng thái trong dữ liệu Thẻ
6
System
Hiển thị kết quả trong bảng
Luồng
sự kiện
thay
thế
Hậu
điều
kiện
STT
2a
5a
Thực hiện bởi Hành động
System
Không tìm thấy Thẻ
Báo không thành công do truy xuất
System
CSDL lỗi
Thông báo kết quả cho Librarian