Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 50

TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP.

HỒ CHÍ MINH
VIỆN ĐÀO TẠO CHẤT LƯỢNG CAO
KHOA CÔNG NGHỆ THÔNG TIN

TIỂU LUẬN
PHÂN TÍCH THIẾT KẾ HỆ THỐNG
ĐỀ TÀI: PHÂN TÍCH THIẾT KẾ HỆ THỐNG QUẢN LÝ THƯ VIỆN

Giáo viên hướng dẫn: ThS. Võ Văn Bình

Sinh viên MSSV


Nguyễn Xuân Quỳnh ......................................................................19H1120092
Lương Minh Tấn..............................................................................19H1120094
Lý Tiến Sâm......................................................................................19H1120093
Ngô Trần Đăng Khoa........................................................... 19H1120077

Thành phố Hồ Chí Minh - 2022


MỤC LỤC
I. Xác định yêu cầu.............................................................................................4
1. Danh sách tác nhân.....................................................................................4

2. Danh sách Use case......................................................................................4

3. Các kịch bản.................................................................................................4

- Đăng nhập................................................................................................5
- Đăng xuất.................................................................................................6
- Thêm sách................................................................................................8
- Xóa sách.................................................................................................10
- Sửa thông tin sách..................................................................................11
- Tìm kiếm sách........................................................................................12
- Thêm độc giả..........................................................................................14
- Xóa độc giả............................................................................................15
- Sửa thông tin độc giả..............................................................................16
- Tìm kiếm độc giả...................................................................................17
- Mượn sách..............................................................................................19
- Trả sách..................................................................................................21
4. Biểu đồ Use case.........................................................................................24

5. Biểu đồ Activity..........................................................................................24

II. Phân tích yêu cầu.........................................................................................32


1. Phân tích tĩnh.............................................................................................32

1.1. Xác định lớp.........................................................................................32


1.2. Quan hệ giữa các lớp...........................................................................33
1.3. Thuộc tính và các phương thức..........................................................34
2. Phân tích động...........................................................................................37

2.1. Các biểu đồ giao tiếp..............................................................................38


Thủ thư đăng nhập........................................................................................38
Thủ thư tìm kiếm sách..................................................................................38
Thủ thư tìm kiếm độc giả.............................................................................39
Thủ thư thêm độc giả....................................................................................39
Thủ thư sửa độc giả......................................................................................40
Thủ thư xóa độc giả......................................................................................40
Thủ thư thêm sách........................................................................................40
Thủ thư sửa sách...........................................................................................41
Thủ thư xóa sách..........................................................................................41
Độc giả mượn sách.......................................................................................42
Độc giả trả sách............................................................................................42
II. Pha thiết kế...................................................................................................42
1. Lựa chọn công nghệ mạng......................................................................42

2. Thiết kế tương tranh và an toàn bảo mật.............................................44

2.1 .Thiết kế tương tranh........................................................................44


2.2. Thiết kế an toàn bảo mật..................................................................45
3. Phân rã hệ thống con..............................................................................47

4. Xây dựng biểu đồ gói..............................................................................47

5. Thiết kế hệ thống con..............................................................................47

6. Xây dựng lược đồ cơ sở dữ liệu..............................................................48


I. Xác định yêu cầu

1. Danh sách tác nhân

- Độc giả: là người đã làm thẻ thư viện, có các thông tin được lưu trữ trong
CSDL độc giả như: họ tên, ngày tháng năm sinh, giới tính, số CMND,…

- Thủ thư: là người trực tiếp sử dụng phần mềm quản lý thư viện. Thủ thư
được cung một tài khoản để đăng nhập vào hệ thống

2. Danh sách Use case

- U1: Đăng nhập: thủ thư đăng nhập hệ thống

- U2: Đăng xuất: thủ thử thoát khỏi hệ thống

- U3: Quản lý độc giả: thủ thư thực hiện các chức năng quản lý độc giả với
các thao tác cơ bản: thêm độc giả, xóa độc giả, sửa thông tin độc giả, tìm
kiếm độc giả

- U4: Quản lý sách: thủ thư thực hiện các chức năng quản lý sách với các
thao tác cơ bản: thêm sách, sửa thông tin sách, xóa sách, tìm kiếm sách

- U5: Quản lý mượn sách: thủ thư thực hiện thêm,các thông tin liên quan tới
việc mượn sách của độc giả như: tên các đầu sách đã mượn, tên độc giả, ngày
mượn sách.

- U6: Quản lý trả sách: thủ thư thực hiện xác nhận việc trả sách của độc giả
bằng các thao tác: tìm kiếm tên độc giả muốn trả sách, xác nhận các sách độc
giả đã trả
3. Các kịch bản

3.1. Đăng nhập


Tên Use Case Đăng nhập
Tác nhân chính Thủ thư

Người chịu trách nhiệm Người quản lý hệ thống

Tiền điều kiện Không

Đảm bảo tối thiểu Trở lại màn hình đăng nhập để Thủ
thư có thể đăng nhập lại

Đảm bảo thành công Thủ thư đăng nhập vào hệ thống

Kích hoạt Button Đăng nhập trên Frm Đăng


nhập

Chuỗi sự kiện chính:

1. Thủ thư kích hoạt Frm Đăng nhập.


2. Hệ thống hiển thị form để nhập Tên tài khoản và Mật khẩu.
3. Thủ thư nhập thông tin Tên tài khoản và Mật khẩu và chọn Button
Đăng nhập.
4. Hệ thống thông báo Đăng nhập thành công và hiển thị Frm Menu
chính.

Ngoại lệ:

3.1. Hệ thống thông báo Tên tài khoản hoặc Mật khẩu không chính xác.

3.1.1. Hệ thống yêu cầu nhập lại Tên tài khoản và/ hoặc Mật khẩu.
3.1.2. Thủ thư nhập lại thông tin và tiếp tục các bước sau.

Phác thảo giao diện đăng nhập:

3.2. Đăng xuất

Tên Use Case Đăng xuất


Tác nhân chính Thủ thư

Người chịu trách nhiệm Người quản lý hệ thống

Tiền điều kiện Thủ thư đã đăng nhập vào hệ thống

Đảm bảo tối thiểu Hệ thống trở về trạng thái ban đầu

Đảm bảo thành công Thủ thư đăng xuất khỏi hệ thống

Kích hoạt Button Đăng xuất trên Frm Menu


chính

Chuỗi sự kiện chính:

1. Thủ thư kích hoạt Frm Menu chính.


2. Hệ thống hiển thị 4 Button Quản lý sách, Quản lý độc giả, Quản lý
mượn – trả và Đăng xuất.
3. Thủ thư chọn Button Đăng xuất.
4. Hệ thống thông báo Đăng xuất thành công và hiển thị Frm Đăng nhập.

Ngoại lệ: Không


Phác thảo giao diện menu chính

3.3. Thêm sách

Tên Use Case Thêm sách


Tác nhân chính Thủ thư

Người chịu trách nhiệm Người quản lý hệ thống

Tiền điều kiện Thủ thư đã đăng nhập vào hệ thống

Đảm bảo tối thiểu Hệ thống loại bỏ các thông tin đã


thêm và quay lui lại bước trước

Đảm bảo thành công Đã thêm được sách

Kích hoạt Button Thêm trên Frm Quản lý sách

Chuỗi sự kiện chính:


1. Thủ thư kích hoạt Frm Quản lý sách.
2. Hệ thống hiển thị form để nhập thông tin sách, các tùy chọn Thêm, Sửa,
Xóa, Tìm kiếm và danh sách Sách có trong CSDL.
3. Thủ thư nhập thông tin Mã sách, Tên sách, Tên tác giả, Loại sách, Nhà
xuất bản, Năm xuất bản, Số lượng và chọn Button Thêm.
4. Hệ thống kiểm tra thông tin và lưu vào CSDL.
5. Hệ thống thông báo Thêm sách thành công và hiển thị thông tin sách ở
danh sách Sách.

Ngoại lệ:

3.1. Hệ thống thông báo Mã sách bị trùng.

3.1.1. Hệ thống yêu cầu nhập lại Mã sách.

3.1.2. Thủ thư nhập lại Mã sách và tiếp tục các bước sau.

Phác thảo giao diện quản lý sách


3.4. Xóa sách
Tên Use Case Xóa sách
Ngữ cảnh Thủ thư đã thêm sách thành công

Tác nhân chính Thủ thư

Người chịu trách nhiệm Người quản lý hệ thống

Tiền điều kiện Thủ thư đã đăng nhập vào hệ thống

Đảm bảo tối thiểu Hệ thống trở về trạng thái ban đầu

Đảm bảo thành công Đã xóa được sách

Kích hoạt Button Xóa trên Frm Quản lý sách

Chuỗi sự kiện chính:

1. Thủ thư kích hoạt Frm Quản lý sách.


2. Hệ thống hiển thị form để nhập thông tin sách, các tùy chọn Thêm, Sửa,
Xóa, Tìm kiếm và danh sách Sách có trong CSDL.
3. Thủ thư chọn một Sách trong danh sách Sách và chọn Button Xóa.
4. Hệ thống kiểm tra thông tin và xóa khỏi CSDL.
5. Hệ thống thông báo Xóa sách thành công và hiển thị thông tin sách ở
danh sách Sách.

Ngoại lệ:

5.1. Hệ thống thông báo sách đang có người mượn, không thể xóa.

3.5. Sửa thông tin sách

Tên Use Case Sửa thông tin sách


Ngữ cảnh Thủ thư đã thêm sách thành công

Tác nhân chính Thủ thư

Người chịu trách nhiệm Người quản lý hệ thống

Tiền điều kiện Thủ thư đã đăng nhập vào hệ thống

Đảm bảo tối thiểu Hệ thống loại bỏ các thông tin đã


thêm và quay lui lại bước trước

Đảm bảo thành công Đã sửa được thông tin sách

Kích hoạt Button Sửa trên Frm Quản lý sách

Chuỗi sự kiện chính:

1. Thủ thư kích hoạt Frm Quản lý sách.


2. Hệ thống hiển thị form để nhập thông tin sách, các tùy chọn Thêm, Sửa,
Xóa, Tìm kiếm và danh sách Sách có trong CSDL.
3. Thủ thư chọn một Sách trong danh sách Sách và chọn Button Sửa.
4. Hệ thống hiển thị các thông tin của Sách ở form nhập thông tin, gồm
có: Mã sách, Tên sách, Tên tác giả, Loại sách, Nhà xuất bản, Năm xuất
bản, Số lượng.
5. Thủ thư nhập thông tin cần chỉnh sửa của Sách rồi chọn Button Thêm.
6. Hệ thống kiểm tra thông tin và lưu vào CSDL.
7. Hệ thống thông báo Thêm sách thành công và hiển thị thông tin sách ở
danh sách Sách.

Ngoại lệ:

5.1. Hệ thống thông báo Mã sách bị trùng.

5.1.1. Hệ thống yêu cầu nhập lại Mã sách.

5.1.2. Thủ thư nhập lại Mã sách và tiếp tục các bước sau.

3.6. Tìm kiếm sách

Tên Use Case Tìm kiếm sách


Ngữ cảnh Thủ thư đã thêm sách thành công

Tác nhân chính Thủ thư

Người chịu trách nhiệm Người quản lý hệ thống

Tiền điều kiện Thủ thư đã đăng nhập vào hệ thống

Đảm bảo tối thiểu Trở lại màn hình tìm kiếm để Thủ thư
có thể tìm kiếm lại

Đảm bảo thành công Đã tìm được sách

Kích hoạt Button Tìm kiếm trên Frm Tìm kiếm


sách

Chuỗi sự kiện chính:


1. Thủ thư kích hoạt Frm Quản lý sách.
2. Hệ thống hiển thị form để nhập thông tin sách, các tùy chọn Thêm, Sửa,
Xóa, Tìm kiếm và danh sách Sách có trong CSDL.
3. Thủ thư chọn Button Tìm kiếm.
4. Hệ thống hiển thị Frm tìm kiếm sách với form để nhập thông tin sách
và 2 Button Tìm kiếm và Hủy.
5. Thủ thư nhập một hoặc nhiều thông tin sách ở form nhập thông tin,
gồm có Mã sách, Tên sách, Tên tác giả, Loại sách, Nhà xuất bản, Năm
xuất bản và chọn Button Tìm kiếm.
6. Hệ thống hiển thị danh sách Sách theo thông tin Thủ thư đã nhập ở Frm
Quản lý sách.

Ngoại lệ:

5.2. Hệ thống thông báo Không tìm thấy sách.


5.2.1. Hệ thống yêu cầu nhập lại thông tin sách.
5.2.2. Thủ thư nhập lại thông tin sách và tiếp tục các bước sau.

Phác thảo giao diện tìm kiếm sách


3.7. Thêm độc giả

Tên Use Case Thêm độc giả


Tác nhân chính Thủ thư

Người chịu trách nhiệm Người quản lý hệ thống

Tiền điều kiện Thủ thư đã đăng nhập vào hệ thống

Đảm bảo tối thiểu Hệ thống loại bỏ các thông tin đã


thêm và quay lui lại bước trước

Đảm bảo thành công Đã thêm được độc giả

Kích hoạt Button Thêm trên Frm Quản lý độc


giả

Chuỗi sự kiện chính:

1. Thủ thư kích hoạt Frm Quản lý độc giả.


2. Hệ thống hiển thị form để nhập thông tin độc giả, các tùy chọn Thêm,
Sửa, Xóa, Tìm kiếm và danh sách Độc giả có trong CSDL.
3. Thủ thư nhập thông tin Mã độc giả, Tên độc giả, Ngày sinh, Số
CMTND, Số điện thoại, Ngày hết hạn thẻ, Địa chỉ và chọn Button
Thêm.
4. Hệ thống kiểm tra thông tin và lưu vào CSDL.
5. Hệ thống thông báo Thêm độc giả thành công và hiển thị thông tin độc
giả ở danh sách Độc giả.

Ngoại lệ:

3.1. Hệ thống thông báo Mã độc giả bị trùng.

3.1.1. Hệ thống yêu cầu nhập lại Mã độc giả.


3.1.2. Thủ thư nhập lại Mã độc giả và tiếp tục các bước sau.

Phác thảo giao diện quản lý độc giả

3.8. Xóa độc giả

Tên Use Case Xóa độc giả


Ngữ cảnh Thủ thư đã thêm độc giả thành công

Tác nhân chính Thủ thư

Người chịu trách nhiệm Người quản lý hệ thống

Tiền điều kiện Thủ thư đã đăng nhập vào hệ thống

Đảm bảo tối thiểu Hệ thống trở về trạng thái ban đầu

Đảm bảo thành công Đã xóa được độc giả


Kích hoạt Button Xóa trên Frm Quản lý độc giả

Chuỗi sự kiện chính:

1. Thủ thư kích hoạt Frm Quản lý độc giả.


2. Hệ thống hiển thị form để nhập thông tin độc giả, các tùy chọn Thêm,
Sửa, Xóa, Tìm kiếm và danh sách Độc giả có trong CSDL.
3. Thủ thư chọn một Độc giả trong danh sách Độc giả và chọn Button
Xóa.
4. Hệ thống kiểm tra thông tin và xóa khỏi CSDL.
5. Hệ thống thông báo Xóa độc giả thành công và hiển thị thông tin độc
giả ở danh sách Độc giả.

Ngoại lệ: Không

3.9. Sửa thông tin độc giả

Tên Use Case Sửa thông tin độc giả


Ngữ cảnh Thủ thư đã thêm độc giả thành công

Tác nhân chính Thủ thư

Người chịu trách nhiệm Người quản lý hệ thống

Tiền điều kiện Thủ thư đã đăng nhập vào hệ thống

Đảm bảo tối thiểu Hệ thống loại bỏ các thông tin đã


thêm và quay lui lại bước trước

Đảm bảo thành công Đã sửa được thông tin độc giả

Kích hoạt Button Sửa trên Frm Quản lý độc giả

Chuỗi sự kiện chính:


1. Thủ thư kích hoạt Frm Quản lý độc giả.
2. Hệ thống hiển thị form để nhập thông tin độc giả, các tùy chọn Thêm,
Sửa, Xóa, Tìm kiếm và danh sách Sách có trong CSDL.
3. Thủ thư chọn một Độc giả trong danh sách Độc giả và chọn Button
Sửa.
4. Hệ thống hiển thị các thông tin của Độc giả ở form nhập thông tin, gồm
có: Mã độc giả, Tên độc giả, Ngày sinh, Số CMTND, Số điện thoại,
Ngày hết hạn thẻ, Địa chỉ.
5. Thủ thư nhập thông tin cần chỉnh sửa của Độc giả rồi chọn Button
Thêm.
6. Hệ thống kiểm tra thông tin và lưu vào CSDL.
7. Hệ thống thông báo Thêm độc giả thành công và hiển thị thông tin độc
giả ở danh sách Độc giả.

Ngoại lệ:

5.1. Hệ thống thông báo Mã độc giả bị trùng.

5.1.1. Hệ thống yêu cầu nhập lại Mã độc giả.

5.1.2. Thủ thư nhập lại Mã độc giả và tiếp tục các bước sau.

3.10. Tìm kiếm độc giả

Tên Use Case Tìm kiếm độc giả


Ngữ cảnh Thủ thư đã thêm độc giả thành công

Tác nhân chính Thủ thư

Người chịu trách nhiệm Người quản lý hệ thống

Tiền điều kiện Thủ thư đã đăng nhập vào hệ thống


Đảm bảo tối thiểu Trở lại màn hình tìm kiếm để Thủ thư
có thể tìm kiếm lại

Đảm bảo thành công Đã tìm được độc giả

Kích hoạt Button Tìm kiếm trên Frm Tìm kiếm


độc giả

Chuỗi sự kiện chính:

1. Thủ thư kích hoạt Frm Quản lý độc giả.


2. Hệ thống hiển thị form để nhập thông tin sách, các tùy chọn Thêm, Sửa,
Xóa, Tìm kiếm và danh sách Độc giả có trong CSDL.
3. Thủ thư chọn Button Tìm kiếm.
4. Hệ thống hiển thị Frm tìm kiếm độc giả với form để nhập thông tin độc
giả và 2 Button Tìm kiếm và Hủy.
5. Thủ thư nhập một hoặc nhiều thông tin độc giả ở form nhập thông tin,
gồm có Mã độc giả, Tên độc giả, Số điện thoại, Số CMTND và chọn
Button Tìm kiếm.
6. Hệ thống hiển thị danh sách Độc giả theo thông tin Thủ thư đã nhập ở
Frm Quản lý độc giả.

Ngoại lệ:

5.1. Hệ thống thông báo Không tìm thấy độc giả.


5.1.1. Hệ thống yêu cầu nhập lại thông tin độc giả.
5.1.2. Thủ thư nhập lại thông tin độc giả và tiếp tục các bước sau.

Phác thảo giao diện tìm kiếm độc giả


4. Mượn sách

Tên Use Case Mượn sách


Tác nhân chính Thủ thư

Người chịu trách nhiệm Người quản lý hệ thống

Tiền điều kiện Thủ thư đã đăng nhập vào hệ thống

Đảm bảo tối thiểu Hệ thống loại bỏ các thông tin đã


thêm và quay lui lại bước trước

Đảm bảo thành công Thủ thư thêm được thông tin mượn
sách

Kích hoạt Button Mượn trên Frm Quản lý mượn


– trả sách

Chuỗi sự kiện chính:

1. Thủ thư kích hoạt Frm Quản lý mượn – trả sách.


2. Hệ thống hiển thị form nhập Mã sách, form nhập thông tin độc giả, 3
Button Mượn, Hủy, Xem thông tin và danh sách thông tin mượn – trả
sách.
3. Thủ thư nhập thông tin Mã sách và chọn Button Xem thông tin.
4. Hệ thống hiển thị thông tin sách, gồm Mã sách, Tên sách, Tên tác giả,
Loại sách, Nhà xuất bản, Năm xuất bản.
5. Thủ thư nhập thông tin mượn sách gồm Mã độc giả, Ngày mượn, Ngày
hẹn trả, Số lượng mượn và chọn Button Mượn.
6. Hệ thống kiểm tra thông tin và lưu vào CSDL.
7. Hệ thống thông báo Mượn sách thành công và hiển thị thông tin mượn
ở danh sách thông tin mượn – trả sách.

Ngoại lệ:

5.1. Hệ thống thông báo Số lượng mượn vượt quá số lượng cho phép.
5.1.1. Hệ thống yêu cầu nhập lại Số lượng mượn.
5.1.2. Thủ thư nhập lại Số lượng mượn và tiếp tục các bước sau.
5.2. Hệ thống thông báo Mã độc giả không tồn tại.
5.2.1. Hệ thống yêu cầu nhập lại Mã độc giả.
5.2.2. Thủ thư nhập lại Mã độc giả và tiếp tục các bước sau.

Phác thảo giao diện quản lý mượn sách


3.11. Trả sách

Tên Use Case Trả sách


Tác nhân chính Thủ thư

Người chịu trách nhiệm Người quản lý hệ thống

Tiền điều kiện Thủ thư đã đăng nhập vào hệ thống

Đảm bảo tối thiểu Hệ thống loại bỏ các thông tin đã


thêm và quay lui lại bước trước

Đảm bảo thành công Thủ thư thêm được thông tin trả sách

Kích hoạt Button Trả trên Frm Quản lý mượn –


trả sách

Chuỗi sự kiện chính:

1. Thủ thư kích hoạt Frm Quản lý mượn – trả sách.


2. Hệ thống hiển thị thông tin sách, thông tin độc giả, 3 Button Trả, Hủy,
Tìm kiếm và danh sách thông tin mượn – trả sách.
3. Thủ thư nhập mã độc giả và ấn vào nút Tìm kiếm.
4. Hệ thống hiển thị thông tin mượn sách của độc giả.
5. Thủ thư ấn vào cuốn sách muốn trả.
6. Hệ thống hiển thị thông tin sách, gồm Mã sách, Tên sách, Tên tác giả,
Loại sách, Nhà xuất bản, Năm xuất bản và thông tin mượn sách, gồm
Mã độc giả, Ngày mượn, Ngày hẹn trả, Số lượng mượn và form nhập
Ngày trả.
7. Thủ thư nhập Ngày trả và chọn Button Trả.
8. Hệ thống kiểm tra thông tin và lưu vào CSDL.
9. Hệ thống thông báo Trả sách thành công và hiển thị thông tin trả ở danh
sách thông tin mượn – trả sách.

Ngoại lệ:

4.1. Hệ thống thông báo không tìm thấy mã độc giả và yêu cầu thủ thư
nhập lại mã độc giả.
4.1.1. Thủ thư nhập lại mã độc giả, ấn vào nút Tìm kiếm và tiếp tục thực
hiện các bước tiếp theo.
8.1. Hệ thống thông báo Ngày trả không hợp lệ
8.1.1. Hệ thống yêu cầu nhập lại Ngày trả.
8.1.2. Thủ thư nhập lại Ngày trả và tiếp tục các bước sau.
Phác thảo giao diện quản lý trả sách
4. Biểu đồ Use case

5. Biểu đồ Activity
- Thủ thư đăng nhập:

- Thủ thư đăng xuất:


- Thủ thư xóa sách:

- Thủ thư xóa độc giả:


- Thủ thư tìm kiếm độc giả:

- Thủ thư tìm kiếm sách:


- Độc giả trả sách:
- Độc giả mượn sách:
- Thủ thư thêm độc giả:

- Thủ thư thêm sách:


- Thủ thư sửa thông tin độc giả:
- Thủ thư sửa thông tin sách:

II. Phân tích yêu cầu

1. Phân tích tĩnh

1.1. Xác định lớp


Để xác định các lớp thực thể ta dùng kỹ thuật trích danh từ trong ca sử
dụng và kịch bản. Các danh từ thu được từ các kịch bản: Hệ thống quản lý
thư viện: Thủ thư, Tài khoản, Mật khẩu, Sách, Mã Sách, Tên sách, Tên tác
giả, Loại sách, Nhà xuất bản, Năm xuất bản, Số lượng, Độc giả, Mã độc
giả, Tên độc giả, Ngày sinh, Số CMTND, Số điện thoại, Ngày hết hạn thẻ,
Địa chỉ, Trả sách, Mượn sách, Ngày mượn, Ngày hẹn trả, Ngày trả.
Loại bỏ các danh từ nằm ngoài phạm vi mục đích của hệ thống và các
danh từ hoặc cụm danh từ trùng lặp và các danh từ làm thuộc tính của lớp
như:
- Mã là thuộc tính của các lớp Độc giả, Sách
- Ngày mượn, Ngày trả, Ngày hẹn trả là thuộc tính của các lớp Trả sách,
Mượn sách
- Các danh từ có thể là ứng cử viên các lớp thực thể là : Độc giả, Sách,
Thủ thư, Mượn trả sách
1.2. Quan hệ giữa các lớp
1.3. Thuộc tính và các phương thức
Định nghĩa Chứa thông tin mật khẩu
và tài khoản của quản lý
được cấp cho các thủ thư
dùng chung. Có khả năng
tác động đến lớp Sach,
MuonTraSach, DocGia.

Thuộc tính tK: tên đăng nhập vào hệ


thống
mK: mật khẩu đăng nhập
hệ thống

Phương thức taoTK(tk,mk): tạo tài


khoản dùng chung cho
các thủ thư để đang nhập
hệ thống.
dangNhap(tk,mk): kiểm
tra xem mật khẩu tài
khoản có đúng không nếu
đúng thì đăng nhập, sai
thì nhập lại.
dangXuat(): phương
thức giúp thủ thư đăng
xuất khỏi hệ thống.

Định nghĩa Chứa thông tin của Sách


có quan hệ mượn trả với
lớp Độc giả, một quyển
Sách có thể không có ai
mượn hoặc được mượn
bởi một hay nhiều độc
giả.

Thuộc tính maS: mã của sách


tenS: tên cuốn sách
loaiS: tên loại sách
tenTg: tên tác giả đã viết
sách
nhaXb: nhà xuất bản
sách
namXb: năm xuất bản
sách
soL: số lượng sách còn
lại trong thư viện.

Phương thức getter(): thực hiện thao


tác lấy dữ liệu, thuộc tính
của sách
setter(): chỉ định thông
tin thuộc tính của sách
add(Sach): thêm sách
vào trong cơ sở dữ liệu
delete(Sach): xóa sách
khỏi cơ sở dữ liệu
edit(Sach): sửa thông tin
của sách trong cơ sở dữ
liệu
display(Sach): hiển thị
thông tin của sách trên
giao diện
check(int sl): kiểm tra số
lượng của sách còn đủ
bằng với tham số (sl) hay
không
search(String): tìm kiếm
sách

Định nghĩa Chứa thông tin quan hệ


mượn trả của độc giả và
độc giả

Thuộc tính ngayM: ngày độc giả bắt


đầu mượn sách
ngayHentra: ngày độc
giả hẹn trả sách.
ngayT: ngày độc giả
hoàn trả lại sách cho thư
viện
maS: mã sách mượn
maDG: mã độc giả mượn
sách

Phương thức getter():thực hiện thao


tác lấy dữ liệu, thuộc tính
của lớp mượn trả.
setter(): chỉ định thông
tin thuộc tính của lớp
mượn trả.
add(Muontrasach):
thêm khi có bạn mượn
sách.
delete(Muontrasach):
xóa quan hệ khỏi cơ sở
dự liệu.
edit(Muontrasach): sửa
thông tin mượn trả.
display(Muontrasach):
hiển thị thông tin mượn
trả.

Định nghĩa Chứa thông tin của các


độc giả của thư viện yêu
cầu là thẻ còn trong thời
gian sử dụng. Có quan hệ
mượn trả với lớp Sach.

Thuộc tính maDG: mã của độc giả


tenDG: tên của độc giả
ngaySinh: ngày sinh của
độc giả
soCMT: số chứng minh
thư của độc giả
sDt: số điện thoại của độc
giả
ngayHHT: ngày hết hạn
thẻ của độc giả.
diaC: địa chỉ nơi ở hiện
tại của độc giả

Phương thức getter(): thực hiện thao


tác lấy dữ liệu, thuộc tính
của độc giả
setter(): chỉ định thông
tin, thuộc tính của độc giả
add(DocGia): thêm độc
giả mượn vào cơ sở dữ
liệu.
delete(DocGia): xóa độc
giả khỏi cơ sở dữ liệu
edit(DocGia): sửa thông
tin độc giả trong cơ sở dữ
liệu
display(DocGia): hiển
thị thông tin độc giả trên
giao diện
checkCard(String):
kiểm tra mã thẻ của độc
giả còn trong cơ sở dữ
liệu không (còn hạn sử
dụng)
search(String): tìm kiếm
độc giả

2. Phân tích động


2.1. Các biểu đồ giao tiếp
Thủ thư đăng nhập

Thủ thư tìm kiếm sách


Thủ thư tìm kiếm độc giả

Thủ thư thêm độc giả


Thủ thư sửa độc giả

Thủ thư xóa độc giả

Thủ thư thêm sách


Thủ thư sửa sách

Thủ thư xóa sách


Độc giả mượn sách

Độc giả trả sách

II. Pha thiết kế

1. Lựa chọn công nghệ mạng


- Sử dụng hệ thống mạng 3 tầng:
o Tầng giao diện người dùng (User Interface) hay tầng máy khách thể
hiện giao diện mà người sử dụng để nhập yêu cầu, dữ liệu và xem kết
quả. Tầng này chỉ xử lý việc giao tiếp với người dùng, nhập xuất dữ liệu
mà không trực tiếp thực hiện những việc tính toán hoặc xử lý dữ liệu.
o Tầng ứng dụng (Application Server, Business Rule) được biết đến như
tầng logic nghiệp vụ hay tầng dịch vụ để chạy chương trình đa luồng.
Tầng này thực hiện xử lý các chức năng chính, kiểm tra các ràng buộc…
Việc thực hiện này độc lập với cách thiết kế cũng như cài đặt giao diện
và thông tin để xử lý lấy từ tầng giao diện
o Tầng dữ liệu (Database Server, Data Storage) nhằm lưu trữ dữ liệu và
cung cấp cơ chế an toàn cho việc truy nhập đồng thời với sự giúp đỡ của
hệ quản trị cơ sở dữ liệu. Tầng này thực hiện các công việc liên quan
đến dữ liệu mà phần mềm cần đến như đọc, ghi…

- Lý do chọn hệ thống mạng 3 tầng:


o Tạo điều kiện dễ dàng khi phát triển: Bất kì hệ thống lớn nào cũng
đều bao gồm ba phần: logic chương trình, giao diện người dùng và cơ
chế quản lý hiệu năng/bảo mật của dữ liệu. Việc phân chia hệ thống
thành các phần như trên sẽ tạo điều kiện cho người lập trình thực hiện
công việc một cách đơn giản hơn.
o Sử dụng máy tính hiệu quả hơn: Tùy theo từng tầng chúng ta sẽ sử
dụng các máy tính cho phù hợp. Ví dụ, giao diện người dùng là một
nhiệm vụ đơn giản không đòi hỏi máy tính lớn; việc thực thi logic
chương trình yêu cầu sử dụng CPU, bộ nhớ, nhưng không đòi hỏi dung
lượng đĩa quá lớn, vì vậy có thể sử dụng máy tính server; quản lý dữ liệu
yêu cầu nhiều về khả năng tính toán, và dung lượng đĩa, do đó có thể sử
dụng máy server hay mainframe
o Cải tiến hiệu năng: có thể nhân rộng các máy ở lớp dữ liệu và lớp giữa
để lan truyền tính toán (cân bằng tải), mỗi tầng được chuyên môn hóa và
như vậy sẽ dễ dàng tối ưu hóa.
o Nâng cao tính bảo mật: Thường thì hệ thống ba tầng sẽ được triển khai
cho các máy client chạy trên mạng Internet. Vì vậy, chúng ta phải có cơ
chế bảo mật nghiêm ngặt để bảo vệ máy chủ, chương trình và dữ liệu.
Với kiến trúc ba tầng, chúng ta có thể đặt cơ chế bảo mật ở tầng giữa
nhằm tránh những tấn công vô tình hay cố ý từ bên ngoài. Tầng dữ liệu
ở sau tầng giữa, do đó chúng ta không cần phải bảo mật cho phần cứng
hay sự giao tiếp của chúng. Điều này giúp tầng dữ liệu chạy với tốc độ
cao và dễ thao tác
o Hạn chế đầu tư: Đối với trường hợp chúng ta có một mainframe lưu trữ
và xử lý dữ liệu trong nhiều năm, khi có sự cố chúng ta không muốn
phải vứt bỏ tất cả và làm lại từ đầu. Kiến trúc ba tầng và mạng là
phương án thích hợp nhất để giải quyết vấn đề này. Ta sử dụng tầng
giữa làm trung gian khi client kết nối với mainframe, hoặc khi server kết
nối tới client.
o Tính linh hoạt: Được thể hiện rõ qua việc chúng ta có thể thêm hoặc
bớt các máy tính trong hệ thống nếu hệ thống đó được thiết kế theo kiến
trúc ba tầng. Ví dụ, khi phần logic được thiết kế đúng, chúng ta có thể
phát triển nó theo kiến trúc một tầng, sau đó phát triển lên thành hai
tầng, ba tầng tùy theo yêu cầu.
o Đa dạng kiểu dáng máy client: máy tính ở tầng client chỉ thực hiện
nhận đầu vào và hiển thị kết quả trên màn hình, do đó chúng ta có thể sử
dụng các thiết bị với các giao diện khác nhau như máy tính cá nhân,
PDAs, mobile-phone…. Khi đó, tầng giữa và tầng dữ liệu vẫn làm việc
như nhau, không có thay đổi
2. Thiết kế tương tranh và an toàn bảo mật
2.1.Thiết kế tương tranh
- Dữ liệu của thư viện sẽ được quản lý tập trung trên một máy tính chủ. Các máy
tính trong thư viện muốn thực hiện các thao tác sẽ phải gọi các hàm thao tác ở
trên máy chủ để có thể làm việc được với CSDL. Điều này có thể dẫn đến sự
tương tranh giữa các máy khách.
- Để giảm thiểu tương tranh, ta sẽ sử dụng các giao tác để thực hiện một tập các
thay đổi trên cơ sở dữ liệu.
- Mỗi giao tác thay đổi cơ sở dữ liệu gồm có 3 pha:
o Pha đọc: Pha này sẽ ghi nhận mọi cập nhật dữ liệu. Mỗi mục dữ liệu
được cập nhật sẽ được ghi vào một bản ghi tạm thời. Sau khi mọi cập
nhật đã được biến thành bản ghi tạm thì ta sẽ chuyển sang pha tiếp theo.
o Pha phê chuẩn: Ở pha này, các bản ghi tạm sẽ được kiểm tra. Nếu có
xung đột với bất kỳ giao tác nào đã được thực hiện trước đó thì giao tác
sẽ bị hủy.
o Pha ghi: Nếu ở pha phê chuẩn không phát hiện được sự xung đột nào thì
các bản ghi tạm sẽ trở thành các bản dữ liệu chính thức.
- Để đảm bảo giảm thiểu đến mức tối đa sự tương tranh, các giao tác sẽ được
đánh số thứ tự trước khi bước vào pha phê chuẩn. Các pha đọc và pha phê
chuẩn có thể được thực hiện đồng thời nhưng pha cuối (pha ghi) phải thực hiện
tuần tự theo số thứ tự đã được gán. Và số thứ tự chỉ được gán duy nhất một lần.
và không được tái sử dụng.
2.2. Thiết kế an toàn bảo mật
- Các khía cạnh của an toàn bảo mật:

o Sự riêng tư (Privacy): Thông tin có thể được che dấu, và chỉ ở trạng
thái sẵn sàng với những người dùng được phép tác động vào nó như
xem hoặc chỉnh sửa. Điều này đảm bảo cho người sử dụng khai thác tài
nguyên của hệ thống theo đúng chức năng, nhiệm vụ đã được phân cấp,
ngăn chặn được sự truy nhập thông tin bất hợp pháp
o Xác thực (Authentication): Cần biết nơi mà phần thông tin được gửi
đến để quyết định xem phần thông tin đó có đáng tin cậy hay không

o Tính không thể bác bỏ được (Irrefutability): Ngược với xác thực,
tính không thể bác bỏ được nhằm đảm bảo rằng người tạo ra thông tin
không thể phủ nhận rằng họ chính là người tạo ra nó. Điều này hữu ích
cho chúng ta khi có bất kì sai sót xảy ra.

o Tính toàn vẹn (Integrity): Đảm bảo rằng thông tin không bị mất mát
trên đường đi, bảo đảm sự nhất quán của dữ liệu trong hệ thống. Có thể
đưa ra các biện pháp để ngăn chặn được việc thay đổi bất hợp pháp hoặc
phá hoại dữ liệu.
o Tính an toàn (Safety): phải có thể điều khiển việc truy cập tài nguyên
(như máy móc, tiến trình, cơ sở dữ liệu và các tệp) . Tính an toàn cũng
được hiểu như là quyền hạn.

- Các quy luật cần phải được tuân thủ:


o Ngăn chặn việc xâm nhập máy chủ khi không được phép.
o Các thông tin nhạy cảm như chi tiết về ý tưởng kinh doanh hay chiến
lược kinh doanh, các hồ sơ cá nhân, chi tiết về số thẻ tín dụng mà bạn
đang dùng, các thông tin liên quan đến an ninh quốc gia….phải được
đảm bảo không bị truyền ra ngoài.
o Đảm bảo thông tin khi đi ra bên ngoài không bị “nghe lén” trong quá
trình truyền và chỉ có đúng người nhận mới có thể đọc được.
o Bảo vệ mật mã (password) của khách hàng và nhân viên, nó không chỉ
đơn thuần là chính sách bảo mật mà nó còn liên quan tính riêng tư cao.
o Bảo vệ tài nguyên hệ thống của client: bảo vệ client chống lại các truy
cập tài nguyên bất hợp pháp và chống lại sự phá hoại từ bên ngoài. Vì
chúng ta muốn cung cấp dịch vụ chất lượng tốt và không muốn bị kiện
ra tòa do vài sai lầm.
- Các biện pháp an toàn và bảo mật áp dụng cho hệ thống:
o Sử dụng mã hóa MD5 cho các thông tin quan trọng như tên tài khoản và
mật khẩu.
o Mọi thay đổi về cơ sở dữ liệu đều phải được ghi vào trong một file nhật
ký (file log) với các thông tin về dữ liệu được thay đổi, thời gian thay
đổi và IP máy tính thực hiện yêu cầu thay đổi.
o Thường xuyên thực hiện việc sao lưu dữ liệu máy chủ, để phòng trường
hợp bị tấn công.
o Mọi yêu cầu, câu lệnh của máy khách đều phải được ghi lại trong một
file nhật ký, tránh trường hợp đường truyền mạng bị ngắt hoặc một số
lỗi khác khiến yêu cầu không thực hiện được và phải gửi lại yêu cầu cho
máy chủ.
o Phòng tránh SQL Injection: Khi thực hiện bất kỳ câu lệnh truy vấn nào
ta đều phải lọc và xóa đi các ký tự đặc biệt có trong phần dữ liệu mà
người dùng nhập vào (như ; “ ‘).
3. Phân rã hệ thống con
- Từ yêu cầu, ta có thể phân chia hệ thống cần xây dựng thành các hệ thống con:
o Hệ thống (quản lý) sách: Thêm sách, sửa thông tin sách, xóa sách, tìm
kiếm sách.
o Hệ thống (quản lý) mượn trả sách: Mượn sách, Trả sách.
o Hệ thống (quản lý) độc giả: Thêm độc giả, sửa thông tin độc giả, xóa
thông tin độc giả, tìm kiếm độc giả.
4. Xây dựng biểu đồ gói
- Biểu đồ gói:

5. Thiết kế hệ thống con


6. Xây dựng lược đồ cơ sở dữ liệu

You might also like