8. Biểu đồ ca sử dụng
10.5. Biểu diễn các điểm bắt đầu hoạt động trên mỗi đường sống
10.6. Kiểm tra lại biểu đồ.
47
48
49
50
11. Biểu đồ giao tiếp
Khi đã có biểu đồ tuần tự, ta vẽ được biểu đồ giao tiếp như sau
51
52
53
12. Biểu đồ máy trạng thái
Lựa chọn 2 đối tượng là “BorrowRequest” và “SearchRequest” để vẽ sơ đồ trạng thái.
12.1. BorrowRequest
1. Khách hàng tạo một yêu cầu mượn sách là một danh sách các cuốn sách cần 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 tổng giá các cuốn sách nhỏ hơn số tiền đặt cọc, yêu cầu được chấp nhận 6. Hệ thống in hóa đơn.
7. Khách hàng nhận sách và hóa đơn 8. Yêu cầu được đóng lại
54
12.2. SearchRequest
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
55
13. Biểu đồ gói
Biểu đồ lớp của hệ thống
13.1. Xác định ngữ cảnh
Xây dựng biểu đồ gói cho tầng miền bài toán
13.2. Nhóm các lớp lại với nhau thành các gói
Các lớp SearchRequest, TitleSearch, AuthorSearch, CategorySearch và ResultList có quan hệ tổng quát hóa với nhau (4 lớp đầu) và có quan hệ chặt chẽ với nhau khi cùng thực hiện chức năng tìm kiếm được nhóm với nhau thành gói search_pkg.
Lớp BorrowedList chỉ liên kết với lớp User_class, đặc trưng cho các quyển sách mà khách hàng đang mượn. Do đó 2 lớp này được nhóm chung với nhau thành gói user_pkg.
Lớp BookList, Book, Author và Review có quan hệ tổng thể bộ phận và cùng cho các thông tin cơ bản về sách nên được nhóm với nhau thành gói
book_pkg.
Lớp BorrowRequest và BorrowList đặc trưng cho giao dịch mượn sách, cùng chung 1 mục đích với nhau được nhóm với nhau thành gói borrow_pkg.
Tương tự với 2 lớp ReturnList và ReturnRequest thành gói return_pkg.
2 lớp Manager_class và Bill sẽ không được nhóm và trở thành gói riêng:
56
13.3. Xác định mối quan hệ phụ thuộc giữa các gói
Cả 3 gói search_pkg, borrow_pkg, return_pkg đều phụ thuộc vào gói book_pkg. Người dùng (user_pkg) phải phụ thuộc vào các phương pháp tìm kiếm
(search_pkg) phần mềm cung cấp.
Borrow_pkg phụ thuộc vào user_pkg bởi mỗi người dùng sẽ có số tiền giới hạn mượn khác nhau.
Return_pkg sẽ phụ thuộc vào manager_pkg.
Bill_pkg phụ thuộc vào cả 3 gói user_pkg, return_pkg và borrow_pkg.
57
Kết quả đạt được
Đến thời điểm này dự án quản lý thư viện của chúng em vẫn đang trong quá trình coding. Quá trình thực hiện dự án đã tạo cho chúng em cách làm việc theo nhóm sao cho đạt hiệu quả cao nhất, cách sắp xếp thời gian bố trí công việc một cách hợp lý và đặc biệt đã giúp cho chúng em hiểu được bài hơn, giúp cho chúng em nắm rõ được quy trình thực hiện một dự án từ khi bắt đầu đến khi kết thúc. Do thời gian còn hạn chế nên dự án chưa thể đi sâu vào tất cả các vấn đề cần giải quết, tuy nhiên nó cũng đã giúp cho chúng em có được những hiểu biết, nắm được cách tiến hành và hy vọng trong thời gian tới chúng em có thể thự hiện được tốt hơn.
Kết luận
Qua quá trình nghiên cứu và phân tích, nhóm thực hiện dự án đã hình dung căn bản về dự án, ước lượng được thời gian thực hiện dự án và các công việc cần làm, giúp người lập trình thực hiện công việc dễ dàng. Chúng em đều có cảm nhận rằng môn học Phân tích và thiết kế hướng đối tượng thực sự là một môn học thú vị và hấp dẫn. Sau một thời gian thực hiện dự án, các thành viên trong nhóm đều đã có thêm hiểu biết trong việc thực hiện dự án và hiểu biết thêm về cách sử dụng các phần mềm thiết kế hướng đối tượng cũng như các phần mềm quản lý dự án.