Thiết kế hệ thống quản lý thư viện
Nhóm 5 lớp KSTN – ĐTVT – K54
Đỗ Trung Đức
Trần Xuân Bách
Nguyễn Tiến Đạt
Hoàng Văn Pháp
Biểu đồ lớp
1. Xây dựng thẻ CRC.
1.1. Nhận diện lớp.
1.1.1. Ca sử dụng tìm sách.
Normal Flow of Events:
1. Khách hàng đưa ra yêu cầu m sách.
Nếu muốn m theo loại sách, thực hiện subows S-1.
Nếu muốn m theo tên sách, thực hiện subows S-2.
Nếu muốn m theo tác giả, thực hiện subows S-3.
Sub"ows:
S-1:
1. Khách hàng chọn sách theo chuyên ngành có trong danh sách các phân loại sách của
thư viện.
2. Hệ thống trả về các danh sách sách theo phân loại sách đó.
S-2:
1. Khách hàng chọn sách theo tên có trong danh sách các phân loại sách của thư viện
2. Hệ thống trả về là danh sách các cuốn sách có tên giống hoặc gần giống với từ khóa
6m kiếm của khách hàng.
S-3:
1. Khách hàng chọn sách theo tác giả mình mong muốn.
2. Hệ thống trả về danh sách các tác giả có tên giống hoặc gần giống với từ khóa của
khách hàng.
Như vậy, các lớp ứng tuyển là: khách hàng, sách, yêu cầu tìm sách, danh sách
tìm kiếm theo loại sách, danh sách tìm kiếm theo tên sách, danh sách tìm kiếm
theo tên tác giả.
S-1:
Khách hàng chuyển qua ca sử dụng mượn sách.
S-2:
Hệ thống yêu cầu in hóa đơn.
Ngoài các lớp ứng tuyển ở 2 trường hợp trên, còn có lớp danh sách sách đã
mượn, nhân viên, danh sách các sách trả.
Nhân viên làm nhiệm vụ xác nhận việc trả sách có hợp lý hay không. Nếu việc
trả sách là hợp lệ, thông tin mượn trả được cập nhật lại.
1.2. Xây dựng thẻ CRC.
Class Name: khách
hàng
ID: 01 Type: High
Descrip2on: mô tả thông En khác hàng và các hoạt động
cùa khách hàng.
Associated Use Case:
Tìm sách.
Mượn sách.
Trả sách.
Chứng thực khách hàng.
Responsibili2es
Đưa ra yêu cầu 6m kiếm.
Đưa ra yêu cầu mượn sách.
Đưa ra yêu cầu trả sách.
Đăng nhập vào hệ thống.
Đưa ra yêu cầu xem thông En cơ bản.
Collaborators
Danh sách sách đã trả.
Yêu cầu 6m sách.
Yêu cầu mượn sách.
Astributes:
Other Associa2ons: Danh sách 6m sách, danh sách mượn sách, danh sách trả sách.
Class Name: Yêu cầu mượn sách. ID: 03 Type: Medium
Descrip2on: Mô tả một yêu cầu của khách hàng. Associated Use Case: Mượn sách.
Responsibili2es
• Khởi tạo yêu cầu mượn sách
(boolean).
• Cập nhật vào danh sách các sách
đang có trong thư viện.
• Cập nhật vào danh sách các sách đã
mượn của khách hàng.
Collaborators
• Khách hàng: Khách hàng đưa ra yêu
cầu mượn sách.
• Danh sách sách mượn:
o Tạo một danh sách các cuốn
sách cần mượn.
o Thực hiện cập nhật lại danh
mục sách có trong thư viện và
danh mục sách đang mượn
của người dùng.
• Hóa đơn:
Astributes:
Rela2onships:
Generaliza2on (a kind of):
Aggrega2on (has parts): ………………………………………………………………
Other Associa2ons: Khách hàng, danh sách mượn, Hóa đơn.
Class Name: Yêu cầu 6m kiếm. ID: 04 Type: …
Descrip2on: Mô tả một yêu cầu của khách hàng.
Associated Use Case: Tìm kiếm.
Responsibili2es
Collaborators
1. Yêu cầu mượn sách.
2. Yêu cầu trả sách.
Astributes:
1. Danh mục sách đang mượn (danh sách).
2. Thời điểm mượn trả (string).
Relationships:
Generalization (a kind of):
Aggregation (has parts):
Other Associations: Yêu cầu mượn sách, Yêu cầu trả sách.
Class Name: Nhân viên ID: 06 Type: High.
Description:
Associated Use Case:
Trả sách.
Chứng thực nhân viên.
Thay đổi tiền cọc.
Cập nhật phí hàng tháng.
Responsibilities
1. Xác nhật việc mượn trả sách.
Collaborators
1. Yêu cầu trả sách.
Astributes:
1. Tên (string).
2. Mã nhân viên (string).
3. Số điện thoại (string).
4. Tài khoản/mật khẩu (string).
Relationships:
Generalization (a kind of):
Aggregation (has parts):
Other Associations: Yêu cầu trả sách.
1. Xác định ngữ cảnh
Nhóm vẽ biểu đồ lớp cho 3 ca sử dụng chính: Tim sách, mượn sách và trả sách.
2. Xác định các đối tượng tham gia
2.1. Tìm sách
Normal Flow of Events:
1. Khách hàng đưa ra yêu cầu 6m sách.
Nếu muốn 6m theo loại sách, thực hiện subows S-1.
Nếu muốn 6m theo tên sách, thực hiện subows S-2.
Nếu muốn 6m theo tác giả, thực hiện subows S-3.
Sub"ows:
S-1:
1. Khách hàng chọn sách theo chuyên ngành có trong danh sách các phân loại sách của
thư viện.
2. Hệ thống trả về các danh sách sách theo phân loại sách đó.
S-2:
1. Khách hàng chọn sách theo tên có trong danh sách các phân loại sách của thư viện
2. Hệ thống trả về là danh sách các cuốn sách có tên giống hoặc gần giống với từ khóa
6m kiếm của khách hàng.
S-3:
1. Khách hàng chọn sách theo tác giả mình mong muốn.
2. Hệ thống trả về danh sách các tác giả có tên giống hoặc gần giống với từ khóa của
khách hàng.
Nhóm sẽ vẽ biểu đồ tuần tự cho một kịch bản đó là tìm kiếm theo loại sách
Dựa vào Normal of flow events của ca sử dụng tìm sách ta nhận diện được các đối
tượng sau:
• Đối tượng khách hàng (User)
• Đối tượng sách (Book)
• Danh sách các cuốn sách có trong thư viện (BookList)
• Yêu cầu tìm kiếm (SearchRequest)
• Đối tượng kết quả tìm kiếm (ResultList)
Nếu khách hàng muốn mượn Eếp sách, thực hiện subows S-1
Nếu khách hàng chỉ đến để trả sách, thực hiện subows S-2.
Sub"ows:
S-1:
Khách hàng chuyển qua ca sử dụng mượn sách.
S-2:
Hệ thống yêu cầu in hóa đơn.
Các đối tượng được nhận diện như sau:
• Nhân viên thư viện: Manager
• BookList
• Danh sách sách mà khách hàng muốn trả: ReturnList
• Danh sách sách mà khách hàng đang giữ: BorowedList
• Yêu cầu trả sách: ReturnRequest
• Bill
3. Xác định đường sống cho mỗi đối tượng.
3.1. Tìm sách
Đối tượng SearchRequest và ResultList sẽ đực tạo ra theo yêu cầu của khách hàng
và hủy đi ngay sau đó.
Các đối tượng còn lại được khởi tạo ngay khi bắt đầu sử dụng hệ thống và tồn tại
đến hết nên không bị hủy đi.
3.2. Mượn sách
Các đối tượng BorrowRequest, BorrowList, Bill đặc trưng cho 1 lần giao dịch nên
sẽ được hủy đi ngay khi kết thúc giao dịch
3.3. Trả sách
Các đối tượng ReturnRequest, ReturnList, Bill đặc trưng cho 1 lần giao dịch nên
sẽ được hủy đi ngay khi kết thúc giao dịch
4. Biểu diễn thông điệp.
4.1. Tìm sách
• Người dùng tạo yêu cầu tìm kiếm theo loại sách: make_catSR.
• Hệ thống sẽ tìm kiếm trong cơ sở dữ liệu những sách thỏa mãn: findbooks
mượn
2. Khách hàng gửi yêu cầu mượn sách của mình sau khi đã chọn xong
3. Hệ thống tự động kiểm tra yêu cầu của khách hàng để đảm bảo tổng giá trị các
cuốn sách nhỏ hơn hoặc bằng số tiền đặt cọc còn lại của khách hàng
4. Nếu tổng giá các cuốn sách lớn hơn số tiền đặt cọc còn lại của khách hàng,
yêu cầu bị từ chối và được gửi lại cho khách hàng để sửa hoặc hủy
5. Nếu điều kiện về tiền đặt cọc đã được thỏa mãn, yêu cầu được gửi tới cho
nhân viên
6. Nhân viên đối chiếu yêu cầu mượn sách với sách mà khách hàng đã lấy ra để
đảm bảo khách hàng lấy đúng và đủ sách
7. Nếu có sai sót, nhân viên thông báo cho khách hàng biết đồng thời, yêu cầu
được gửi lại để khách hàng sửa hoặc hủy
8. Khi nhân viên đã xác nhận không còn sai sót, yêu cầu được chấp nhận
9. Nhân viên in hóa đơn
10. Khách hàng nhận sách và hóa đơn
11. Yêu cầu được đóng lại
The life of an “SearchRequest” object:
1. Khách hàng tạo một yêu cầu tìm sách (tìm theo tên, tìm theo thể loại, tìm theo
tác giả)
2. Khách hàng gửi yêu cầu tìm sách của mình cho hệ thống
3. Hệ thống kiểm tra yêu cầu tìm kiếm của khách hàng để đảm bảo yêu cầu tìm
kiếm đó có lỗi (không chứa ký tự đặc biệt, không quá dài/ngắn,…)
4. Nếu yêu cầu tìm kiếm có lỗi, yêu cầu bị từ chối và được trả lại cho khách hàng
để chỉnh sửa hoặc hủy bỏ
5. Nếu yêu cầu tìm kiếm không có lỗi, yêu cầu được chấp nhận
6. Các kết quả tìm kiếm được gửi về cho khách hàng
7. Yêu cầu được đóng lại
Biểu đồ gói
Biểu đồ lớp với 3 ca sử dụng: Tìm sách, mượn sách, trả sách
1. Xác định ngữ cảnh