Nắm bắtđược xu hướng đó, trong khuôn khổ nội dung của chương trình học học phần “Phân tíchthiết kế hướng đối tượng”, nhóm chúng em đã quyết định tìm hiểu và thiết kế một phầnmềm đơn giản
Trang 1BÁO CÁO
ĐỒ ÁN PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG
TÊN ĐỀ TÀI: PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG
CHO PHẦN MỀM QUẢN LÝ THƯ VIỆN
Lớp: IT22A
Họ và tên: 1.Huỳnh Thanh Trí
2.Nguyễn Đình Cang3.Nguyễn Đức Duy4.Hồ Vũ Xuân Tùng5.Nguyễn Nghĩa Trung6.Phạm Ngọc Thi
Đà Nẵng, 06/2024
Trang 2MỤC LỤC
DANH MỤC HÌNH ẢNH ii
DANH MỤC BẢNG BIỂU iii
LỜI MỞ ĐẦU iv
LỜI CẢM ƠN v
CHƯƠNG 1 KHẢO SÁT HỆ THỐNG 1
1.1: Khảo sát hiện trạng 1
1.2: Phát biểu bài toán 1
CHƯƠNG 2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 3
1.3: Biểu đồ Use case 3
1.3.1: Biểu đồ Use case tổng quát 3
1.3.2: Biểu đồ Use case chi tiết 4
1.4: Biểu đồ hoạt động 7
1.5: Biểu đồ tuần tự 11
1.6: Biểu đồ lớp 13
1.7: Thiết kế cơ sở dữ liệu vật lý 13
1.8: Thiết kế giao diện màn hình 16
CHƯƠNG 3 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 19
1.9: Kết quả đạt được 19
1.10: Chưa thực hiện được 20
1.11: Hướng phát triển 20
Trang 3Hình 1.Biểu đồ use case tổng quát 3
Hình 2.Biểu đồ chi tiết quản lý độc giả 4
Hình 3.Biểu đồ chi tiếc quản lý sách 4
Hình 4.Biểu đồ chi tiết quản lý mượn trả 5
Hình 5.Thống kê 5
Hình 6 Tìm Kiếm 6
Hình 7.Biểu đồ hoạt động cho ca sử dụng tạo thẻ độc giả 7
Hình 8.Biểu đồ hoạt động cho ca sử dụng nhập sách mới 8
Hình 9.Biểu đồ hoạt động cho ca mượn sách 9
Hình 10.Biểu đồ hoạt động quy trình trả 10
Hình 11.Biểu đồ tuần tự đăng nhập 11
Hình 12.Biểu đồ tuần tự mượn trả sách 11
Hình 13.Biểu đồ tuần tự quản lý thêm sửa xóa sách 12
Hình 14.Biểu đồ class 13
Hình 15.Giao diện trang chủ 16
Hình 16.Giao diện đăng nhập 17
Hình 17.Giao diện đăng ký 17
Hình 18.Quản lý mượn trả 18
Trang 4DANH MỤC BẢNG BIỂU
Bảng 1.Admin (Bảng quản trị hệ thống) 15
Bảng 2.Book (Bảng quản lý kho sách) 16
Bảng 3.Reader (Bảng quản lý độc giả) 16
Bảng 4.Borrowing (Bảng quản lý mượn trả) 18
Trang 5LỜI MỞ ĐẦU
Những năm gần đây, khoa học công nghệ phát triển nhanh như vũ bão, đặc biệt là lĩnhvực công nghệ thông tin Có thể nói, công nghệ thông tin đã len lỏi vào hầu hết tất cả mọilĩnh vực trong cuộc sống của chúng ta Trong đó, công nghệ phần mềm luôn luôn đóng vaitrò tiên phong, dẫn đầu trong quá trình đó Các phần mềm đã đang và sẽ được ứng dụngngày càng nhiều trong công việc cũng như cuộc sống thường ngày của con người Nắm bắtđược xu hướng đó, trong khuôn khổ nội dung của chương trình học học phần “Phân tíchthiết kế hướng đối tượng”, nhóm chúng em đã quyết định tìm hiểu và thiết kế một phầnmềm đơn giản và gần gũi với thực tế: “Hệ thống quản lí thư viện”
Đây là phần mềm đầu tiên mà nhóm em xây dựng nên không thể tránh khỏi những hạnchế và thiếu sót, kính mong thầy giáo và các bạn bổ sung, góp ý để phần mềm ngày cànghoàn thiện và thực sự hữu ích với người sử dụng
Trang 6LỜI CẢM ƠN
Nhóm em xin gửi lời cảm ơn chân thành và sự tri ân sâu sắc đối với Thầy NguyễnQuốc Vương đã nhiệt tình giảng dạy và hướng dẫn nhóm em hoàn thành tốt đồ án cuối kỳ.Trong quá trình làm bài báo cáo đồ án, khó tránh khỏi sai sót, rất mong Thầy bỏ qua, dotrình độ lý luận cũng như kinh nghiệm thực tiễn còn hạn chế nên bài báo cáo không thểtránh khỏi những thiếu sót, nhóm em rất mong nhận được ý kiến đóng góp của cô để nhóm
em học thêm được nhiều kinh nghiệm Nhóm 1 xin chân thành cảm ơn
Trang 7CHƯƠNG 1 KHẢO SÁT HỆ THỐNG
1.1: Khảo sát hiện trạng
Hiện nay số lượng người sử dụng thư viện ngày càng tăng Vì vậy, Phần mềmquản lý thư viện đóng vai trò quan trọng trong việc nâng cao hiệu quả hoạt động củathư viện Tuy nhiên, hiện nay vẫn còn nhiều thư viện gặp khó khăn trong việc lựachọn và sử dụng phần mềm phù hợp Do đó, cần có những nghiên cứu và đánh giá cụthể hơn về nhu cầu và mong muốn của người dùng đối với phần mềm quản lý thư viện
để phát triển các phần mềm đáp ứng tốt hơn nhu cầu thực tế
Đối với website viindoo.com:
Giao diện người dùng đơn giản, dễ sử dụng, phù hợp với người mới bắt đầu Hỗtrợ đầy đủ các tính năng cơ bản cho quản lý thư viện như quản lý sách, báo cáo, thống
kê, mượn trả sách Có phiên bản miễn phí với đầy đủ tính năng cho thư viện nhỏ Hỗtrợ đa nền tảng, có thể sử dụng trên máy tính, điện thoại, máy tính bảng Nhưngwebsite này vẫn tồn tại những điểm yếu như Phiên bản miễn phí giới hạn dung lượnglưu trữ và một số tính năng nâng cao, khả năng tùy biến giao diện hạn chế, hỗ trợkhách hàng qua email và điện thoại trong giờ hành chính
Đối với wesite dtssoftware.com:
Cung cấp đầy đủ thông tin về phần mềm, tính năng, giá cả và hướng dẫn sử dụngtiếng Việt Có video hướng dẫn sử dụng phần mềm bằng tiếng Việt Có đội ngũ hỗ trợkhách hàng người Việt Nam Tuy nhiên phầm mềm vẫn tồn tại các nhược điểm như ítthông tin về phiên bản miễn phí, không có diễn đàn hoặc cộng đồng người dùng
Đối với website libib.com:
Mã nguồn mở, miễn phí hoàn toàn Giao diện đơn giản, dễ sử dụng Hỗ trợ đầy
đủ các tính năng cơ bản cho quản lý thư viện Có cộng đồng người dùng hoạt động.Nhưng website có những nhược điểm như ít tính năng nâng cao so với các phần mềmkhác, không hỗ trợ quản lý nhiều loại tài liệu, tài liệu hướng dẫn sử dụng chủ yếubằng tiếng Anh
1.2: Phát biểu bài toán
Bài toán phân tích thiết kế hướng đối tượng cho phần mềm quản lý thư viện cóthể được phát biểu như sau:
Trang 8- Xác định các đối tượng chính:
Sách: Đại diện cho thông tin về một cuốn sách trong thư viện, bao gồm cácthuộc tính như tựa sách, tác giả, mã ISBN, bản tóm tắt, ngôn ngữ và số lượng bản sao.Bạn đọc: Đại diện cho thông tin cá nhân của một bạn đọc, bao gồm tên, địa chỉ,
số điện thoại và mã số thẻ đọc giả
Thẻ đọc giả: Đại diện cho thẻ điện tử của một bạn đọc trong thư viện, bao gồm
mã số thẻ và thông tin về thời hạn hiệu lực
Mượn/trả sách: Đại diện cho quá trình mượn và trả sách của một bạn đọc cụ thể,bao gồm thông tin về sách đã mượn, ngày mượn và ngày trả
- Xác định các mối quan hệ giữa các đối tượng:
Mối quan hệ "sở hữu" giữa thẻ đọc giả và bạn đọc: Một bạn đọc sở hữu một thẻđọc giả và một thẻ đọc giả chỉ thuộc về một bạn đọc
Mối quan hệ "sở hữu" giữa sách và mượn/trả sách: Một cuốn sách có thể đượcmượn và trả nhiều lần bởi nhiều bạn đọc khác nhau
- Xác định các phương thức và thuộc tính cho mỗi đối tượng:
Sách: Các phương thức có thể bao gồm lấy thông tin sách, kiểm tra tính khảdụng, đặt lại sách sau khi trả và ghi nhận thông tin về sách
Bạn đọc: Các phương thức có thể bao gồm lấy thông tin cá nhân, kiểm tra quyềnmượn sách và đăng ký mượn sách
Thẻ đọc giả: Các phương thức có thể bao gồm kiểm tra thời hạn hiệu lực và giahạn thẻ
Mượn/trả sách: Các phương thức có thể bao gồm ghi nhận thông tin mượn và trảsách, kiểm tra tính trạng sách và tính toán thời gian mượn sách
- Xác định các lớp và giao diện:
Lớp Quản lý thư viện: Đảm bảo việc tương tác giữa các đối tượng và thực hiệncác chức năng quản lý chung như đăng ký, mượn và trả sách
Giao diện Người dùng: Cung cấp giao diện để người dùng có thể tương tác với
hệ thống quản lý thư viện, bao gồm các chức năng như đăng ký, mượn và trả sách
Trang 9CHƯƠNG 2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
1.3: Biểu đồ Use case
1.3.1: Biểu đồ Use case tổng quát
Hình 1.Biểu đồ use case tổng quát
Trang 101.3.2: Biểu đồ Use case chi tiết
Hình 2.Biểu đồ chi tiết quản lý độc giả
Hình 3.Biểu đồ chi tiếc quản lý sách
Trang 11Hình 4.Biểu đồ chi tiết quản lý mượn trả
Hình 5.Thống kê
Trang 12Hình 6 Tìm Kiếm
Trang 13Hình 7.Biểu đồ hoạt động cho ca sử dụng tạo thẻ độc giả
Trang 14Hình 8.Biểu đồ hoạt động cho ca sử dụng nhập sách mới
Trang 15Hình 9.Biểu đồ hoạt động cho ca mượn sách
Trang 16Hình 10.Biểu đồ hoạt động quy trình trả
Trang 171.5: Biểu đồ tuần tự
Hình 11.Biểu đồ tuần tự đăng nhập
Hình 12.Biểu đồ tuần tự mượn trả sách
Trang 18Hình 13.Biểu đồ tuần tự quản lý thêm sửa xóa sách
Trang 19Hình 14.Biểu đồ class
1.7: Thiết kế cơ sở dữ liệu vật lý
Bảng 1.Admin (Bảng quản trị hệ thống)
Trang 20STT TÊN TRƯỜNG KIỂU DỮ LIỆU KÍCH CỠ MÔ TẢ
Bảng 2.Book (Bảng quản lý kho sách)
Bảng 3.Reader (Bảng quản lý độc giả)
Trang 212 Masach Varchar 50 Mã sách
Bảng 4.Borrowing (Bảng quản lý mượn trả)
1.8: Thiết kế giao diện màn hình
Hình 15.Giao diện trang chủ
Trang 22Hình 16.Giao diện đăng nhập
Hình 17.Giao diện đăng ký
Trang 23Hình 18.Quản lý mượn trả
Trang 24CHƯƠNG 3 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
1.9: Kết quả đạt được
Phân tích yêu cầu:
Xác định các đối tượng người dùng chính của hệ thống thư viện sách, bao gồmthủ thư, độc giả và quản trị viên
Phân tích các chức năng cần thiết của hệ thống, bao gồm quản lý sách, quản lýđộc giả, quản lý mượn trả sách, thống kê báo cáo, v.v
Xác định các yêu cầu phi chức năng của hệ thống, bao gồm hiệu suất, bảo mật,khả dụng, v.v
Thiết kế hướng đối tượng:
Xác định các lớp trong hệ thống thư viện sách, bao gồm lớp Sách, lớp Độc giả,lớp Thủ thư, lớp Quản trị viên, v.v
Mô tả các thuộc tính và phương thức của mỗi lớp
Vẽ sơ đồ mối quan hệ giữa các lớp
Thiết kế các trường hợp sử dụng (use case) cho hệ thống thư viện sách
Hiện thực hóa thiết kế:
Lựa chọn ngôn ngữ lập trình và công cụ phát triển phù hợp
Viết mã nguồn cho hệ thống thư viện sách
Kiểm thử hệ thống thư viện sách để đảm bảo hoạt động chính xác và hiệu quả
Tài liệu hóa:
Viết tài liệu hướng dẫn sử dụng hệ thống thư viện sách
Viết tài liệu thiết kế kỹ thuật cho hệ thống thư viện sách
Trang 25 Hoàn thiện mô hình UML: Mô hình UML (Unified Modeling Language) chưađầy đủ hoặc chưa chi tiết, bao gồm các sơ đồ lớp, sơ đồ tuần tự, và sơ đồ hoạtđộng.
Xây dựng cơ sở dữ liệu: Thiết kế và thực hiện cơ sở dữ liệu chưa hoàn thiệnhoặc không tối ưu, bao gồm thiếu các bảng, mối quan hệ hoặc ràng buộc
Chức năng quản lý người dùng: Hệ thống quản lý người dùng (quản trị viên,thủ thư, độc giả) chưa được triển khai hoặc chưa hoàn chỉnh
Giao diện người dùng: Giao diện người dùng (UI) chưa thân thiện hoặc chưahoàn thiện, bao gồm thiết kế chưa đáp ứng được trải nghiệm người dùng (UX)
Chức năng tìm kiếm và tra cứu: Chức năng tìm kiếm sách, tra cứu thông tinsách chưa hoạt động tốt hoặc chưa có các tiêu chí tìm kiếm nâng cao
Quản lý mượn trả sách: Quy trình quản lý mượn và trả sách chưa được thựchiện hoặc chưa được kiểm tra kỹ lưỡng
Bảo mật và phân quyền: Các biện pháp bảo mật và phân quyền người dùngchưa được thực hiện hoặc chưa đảm bảo an toàn dữ liệu
Tích hợp và kiểm thử: Chưa thực hiện đầy đủ việc tích hợp các module hoặcchưa tiến hành kiểm thử hệ thống toàn diện để phát hiện và sửa lỗi
Tài liệu hướng dẫn: Thiếu tài liệu hướng dẫn sử dụng cho người dùng hoặc tàiliệu kỹ thuật cho việc bảo trì và phát triển sau này
Phản hồi từ người dùng: Chưa có hoặc chưa thực hiện đầy đủ việc thu thập vàphản hồi ý kiến của người dùng để cải tiến hệ thống
Trang 26 Ứng dụng trí tuệ nhân tạo (AI):
Áp dụng AI để tự động hóa các tác vụ thủ công như phân loại sách, đề xuất sáchcho người dùng, hỗ trợ tìm kiếm thông tin,
Việc sử dụng AI giúp tiết kiệm thời gian, công sức cho nhân viên thư viện vànâng cao trải nghiệm người dùng
Xây dựng hệ thống dữ liệu lớn:
Thu thập và lưu trữ dữ liệu về người dùng, sách, lịch sử mượn trả, để phân tích
và đưa ra các báo cáo, dự đoán nhu cầu của người dùng
Hệ thống dữ liệu lớn giúp thư viện có thể điều chỉnh hoạt động một cách hiệuquả hơn, đáp ứng tốt hơn nhu cầu của người dùng
Đảm bảo an toàn thông tin:
Áp dụng các biện pháp an ninh mạng tiên tiến để bảo vệ dữ liệu người dùng vàthư viện
Việc đảm bảo an toàn thông tin là rất quan trọng để xây dựng niềm tin của ngườidùng đối với thư viện
Tăng cường tương tác với người dùng:
Phát triển các tính năng tương tác như đánh giá sách, bình luận, diễn đàn, đểtạo cộng đồng người dùng và tăng cường kết nối giữa thư viện và người dùng
Tương tác với người dùng giúp thư viện hiểu rõ hơn nhu cầu của họ và cung cấpdịch vụ tốt hơn
Cá nhân hóa trải nghiệm người dùng:
Đề xuất sách cho người dùng dựa trên sở thích, lịch sử mượn trả và hành vi đọcsách của họ
Cá nhân hóa trải nghiệm người dùng giúp thu hút và giữ chân người dùng hiệuquả hơn
Trang 27Tạo các trải nghiệm đọc sách ảo, cho phép người dùng tham quan thư viện vàxem sách từ xa.
VR và AR giúp mang đến trải nghiệm mới mẻ và hấp dẫn cho người dùng, đặcbiệt là trẻ em
Phát triển các dịch vụ trực tuyến:
Cung cấp các dịch vụ trực tuyến như cho phép người dùng đặt sách, mượn sáchđiện tử, thanh toán trực tuyến,