Bối cảnh và vấn đề nghiên cứu

Báo cáo đồ án môn học "Phân tích thiết kế hệ thống quản lý thư viện" được thực hiện bởi nhóm sinh viên Võ Chí Khánh (Trưởng nhóm), Đinh Trần Đăng Huy và Nguyễn Đình Hùng thuộc Khoa Công nghệ Thông tin, Trường Đại học Ngoại ngữ - Tin học Thành phố Hồ Chí Minh (HUFLIT), dưới sự hướng dẫn của Ts. Nguyễn Đức Cường trong năm học 2021-2022.

Theo bối cảnh thực tiễn được tác giả trình bày, mô hình thư viện truyền thống vốn tổ chức đơn giản với hai chủ thể cơ bản là độc giả và thủ thư, tập trung vào việc mượn và trả sách trực tiếp. Trong bối cảnh công nghệ hóa, mô hình thư viện hiện đại không còn giới hạn ở không gian vật lý mà chuyển dịch thành hệ thống lưu trữ khối lượng thông tin lớn về các đầu sách, hỗ trợ tra cứu nhanh chóng và cung cấp các tiện ích mở rộng như đăng ký nhận tuần báo, tạp chí, mua sách theo giá nhà cung cấp hoặc đăng ký gói thành viên tháng để mượn sách liên tục. Đồng thời, hệ thống quản lý thư viện điện tử giúp đơn vị vận hành nâng cao hiệu suất làm việc thông qua việc theo dõi luồng mượn trả, giám sát tình trạng hao mòn của tài liệu, tự động gửi thông báo lịch hẹn và quản lý tài khoản người dùng. Xuất phát từ nhu cầu đó, nhóm nghiên cứu đã lựa chọn đề tài phân tích và thiết kế một hệ thống thư viện điện tử.

Mục tiêu và nhiệm vụ nghiên cứu của đồ án bao gồm ba nội dung chính:

  1. Khảo sát, đánh giá các phần mềm quản lý thư viện hiện hành trên thị trường nhằm xác định yêu cầu chức năng và nghiệp vụ.
  2. Xây dựng tài liệu đặc tả yêu cầu hệ thống (System requirements), phân loại chi tiết các nhóm tác tử (actors) và quy trình nghiệp vụ cốt lõi gồm mượn sách, trả sách và xử lý vi phạm.
  3. Thiết kế mô hình hóa hệ thống phần mềm thông qua ma trận tác tử - ca sử dụng, hệ thống sơ đồ ca sử dụng (Use Case Diagram), sơ đồ tuần tự (Sequence Diagram), sơ đồ hoạt động (Activities Diagram) và sơ đồ cơ sở dữ liệu quan hệ (ERD Diagram).

Đối tượng nghiên cứu của đồ án là quy trình vận hành, quản trị và tương tác dịch vụ trong hệ thống thư viện điện tử. Phạm vi nghiên cứu về mặt không gian tập trung vào mô hình ứng dụng cho các thư viện trường học hoặc cơ sở đào tạo; phạm vi thời gian nghiên cứu và hoàn thiện đồ án diễn ra trong năm học 2021-2022.

Cơ sở lý thuyết và phương pháp

Đồ án ứng dụng phương pháp phân tích và thiết kế hệ thống hướng đối tượng thông qua Ngôn ngữ mô hình hóa thống nhất (Unified Modeling Language - UML) kết hợp với mô hình hóa cơ sở dữ liệu quan hệ. Các công cụ và mô hình lý thuyết được áp dụng bao gồm:

  • Ma trận phân quyền giữa tác tử và ca sử dụng (Actor - Use Case Matrix).
  • Sơ đồ ca sử dụng (Use Case Diagram) phân rã theo từng phân hệ chức năng.
  • Đặc tả ca sử dụng chi tiết (Use Case Specification) bao gồm luồng cơ bản (Basic Flow), luồng thay thế (Alternative Flow) và luồng ngoại lệ (Exception Flow).
  • Sơ đồ tuần tự (Sequence Diagram) mô tả chi tiết thông điệp trao đổi giữa giao diện, tầng xử lý hệ thống và cơ sở dữ liệu.
  • Sơ đồ hoạt động (Activities Diagram) mô hình hóa quy trình nghiệp vụ phức hợp.
  • Sơ đồ thực thể liên kết (ERD Diagram) xác lập cấu trúc dữ liệu quan hệ.

Phương pháp nghiên cứu thực tế được triển khai qua hai bước:

  • Phương pháp khảo sát, phân tích và so sánh hệ thống: Nhóm tác giả tiến hành thu thập thông tin, đánh giá tính năng của ba giải pháp phần mềm quản lý thư viện thực tế trên thị trường gồm Phần mềm quản lý thư viện trường học FDITECH, Phần mềm quản lý sách trường học NANO ELIB và Phần mềm quản lý thư viện online TCSOFT.
  • Phương pháp mô hình hóa kỹ thuật phần mềm: Phân tích các yêu cầu thu thập được để chuẩn hóa thành 6 nhóm tác tử và 43 ca sử dụng, thiết kế chi tiết 10 sơ đồ Use Case, 27 sơ đồ Sequence, 2 sơ đồ Activities và 1 sơ đồ ERD.

Nguồn dữ liệu của nghiên cứu bao gồm tài liệu mô tả tính năng của các phần mềm quản lý thư viện thương mại, hệ thống lý thuyết môn học Phân tích thiết kế phần mềm, cùng các hướng dẫn chuyên môn từ giảng viên hướng dẫn Ts. Nguyễn Đức Cường.

Thiết kế và triển khai

Hệ thống quản lý thư viện trong đồ án được thiết kế xoay quanh hai nhóm tác tử chính là nhóm Quản trị (Admin) và nhóm Người dùng, được chia thành 6 tác tử cụ thể với các trách nhiệm độc lập:

Mã tác tử Tên tác tử Mô tả chức năng và phạm vi quyền hạn
ADHT Admin hệ thống Quản trị tài khoản quản trị viên, quản lý cài đặt hệ thống, kiểm tra log, chạy lệnh kiểm tra kết nối cơ sở dữ liệu và xử lý vi phạm
ADDL Admin dữ liệu (Thủ thư) Quản lý danh mục đầu sách, trạng thái sẵn sàng, tra cứu thẻ thuê, xử lý mượn/trả sách trực tiếp và lập báo cáo tài khoản vi phạm
CSKH Admin CSKH Quản lý phản hồi (feedback) của người dùng, phân loại và chuyển tiếp phản hồi kỹ thuật tới Admin hệ thống
ADKH Admin kho hàng Quản lý phiếu xuất/nhập kho, theo dõi vị trí vật lý của từng quyển sách và cập nhật trạng thái kho hàng (đầy, hỏng hóc)
GU GuestUser (Khách) Người dùng chưa đăng nhập, chỉ có quyền tra cứu thông tin sách cơ bản, thực hiện đăng nhập hoặc đăng ký tài khoản
SU SignedUser (Người dùng đã đăng ký) Đọc sách online, mượn sách, quản lý giỏ mượn, thanh toán, đánh giá sách, quản lý thư viện cá nhân, theo dõi lịch sử thuê và gửi feedback

(Lưu ý: Văn bản cũng đề cập đến tác tử Admin sale - ADS trong luồng đăng xuất tài khoản).

Về cấu trúc dữ liệu người dùng, hệ thống quy định lưu trữ các trường thông tin đối với tài khoản chính thức: Họ và tên, năm sinh, giới tính, số điện thoại, email, địa chỉ và thông tin thanh toán.

Cơ chế vận hành kỹ thuật của hệ thống được xác lập thông qua các luồng xử lý:

  • Cơ chế xác thực: Khi người dùng đăng nhập thành công (AC01), hệ thống sinh token xác thực và lưu vào bộ nhớ tạm (cache/session) để duy trì phiên làm việc; khi đăng xuất (AC02), token này sẽ bị xóa khỏi bộ nhớ tạm.
  • Quy trình giám sát hạ tầng kỹ thuật: Admin hệ thống được trang bị công cụ chạy lệnh kiểm tra kết nối với cơ sở dữ liệu và máy chủ (HT05), ghi nhận kết quả vào nhật ký hệ thống (log), đồng thời hỗ trợ tra cứu các bản ghi log lưu trữ trên máy chủ (HT06).
  • Quy trình mượn sách: Người dùng chọn hình thức mượn online hoặc mượn trực tiếp tại thư viện để đưa vào giỏ mượn; hoàn tất thanh toán phí mượn; hệ thống tự động thêm sách vào thư viện cá nhân (đối với sách online) hoặc tạo phiếu hẹn nhận sách trực tiếp. Thủ thư tại quầy có thể căn cứ phiếu hẹn hoặc tạo trực tiếp phiếu mượn mới cho người dùng đã có tài khoản trên hệ thống.
  • Quy trình trả sách và xử lý hư tổn: Đối với sách online, khi hết hạn thuê hệ thống tự động thu hồi khỏi thư viện cá nhân. Đối với sách mượn trực tiếp, thủ thư kiểm tra tình trạng vật lý theo quy định bồi hoàn:
Tình trạng sách kiểm tra Tỷ lệ thu phí bồi hoàn Phương thức xử lý hệ thống
Sách nguyên vẹn, không hư tổn 0% Hệ thống hoàn trả trạng thái sách, cập nhật lại tồn kho của tựa sách
Sách bị trầy bìa, nhẵn, có thể phục hồi 10% giá trị sách Thu phí trực tiếp tại quầy
Sách bị rách, mất trang 60% giá trị sách Thu phí trực tiếp tại quầy
Mất sách 100% giá trị sách Thu phí trực tiếp tại quầy

Nếu người dùng từ chối thanh toán phí bồi hoàn, thủ thư kích hoạt chức năng báo cáo tài khoản (DL08). Admin hệ thống sẽ căn cứ danh sách báo cáo xấu (HT02) để thực hiện thay đổi trạng thái tài khoản (HT03). Người dùng bị xử lý vi phạm có quyền gửi phản hồi khiếu nại (mã phân loại VPHT) để Admin hệ thống xem xét (HT04).

Nội dung chính theo từng chương

Bố cục báo cáo đồ án được phân chia thành các phần và chương mục cụ thể như sau:

I. Giới thiệu chung

Chương này trình bày lý do chọn đề tài, nêu bật sự cần thiết của việc hiện đại hóa công tác thư viện. Nhóm tác giả đối chiếu sự khác biệt giữa mô hình truyền thống và mô hình thư viện số, phân tích các lợi ích về mở rộng kênh tiếp cận sách, tối ưu hóa công tác quản lý tài nguyên và kiểm soát rủi ro mượn trả. Chương này cũng nêu rõ phạm vi, bối cảnh thực hiện đồ án trong khuôn khổ môn học Phân tích thiết kế phần mềm tại Trường Đại học Ngoại ngữ - Tin học TP.HCM.

II. Phân tích thiết kế hệ thống

Đây là nội dung trọng tâm của đồ án, bao gồm các tiểu mục kỹ thuật:

1. Review các hệ thống khác

Nhóm tác giả tiến hành khảo sát và đánh giá ba phần mềm thư viện hiện có trên thị trường:

  • Phần mềm quản lý thư viện trường học FDITECH: Đã được triển khai tại hơn 80 đơn vị; hỗ trợ tối ưu hóa quản lý xuất - nhập sách, học sinh mượn - trả sách; cung cấp tính năng tra cứu sổ sách trực tuyến, quản lý tài liệu, in thẻ và cấp thẻ thư viện.
  • Phần mềm quản lý sách trường học NANO ELIB: Nổi bật trong việc hỗ trợ xuất bản, tìm kiếm danh mục, theo dõi toàn diện hoạt động thư viện, kiểm soát độc giả, lập thời gian biểu và phân công công tác cho nhân viên.
  • Phần mềm quản lý thư viện online TCSOFT: Cung cấp giải pháp quản trị trên môi trường trực tuyến, cho phép cập nhật dữ liệu đa vị trí, tự động hóa quy trình quản lý phù hợp với nhiều quy mô đơn vị.

2. Đặc tả hệ thống (System requirements)

Tiểu mục này xác định rõ các yêu cầu về dữ liệu lưu trữ, phân định quyền hạn giữa nhóm Admin và nhóm Người dùng; mô tả chi tiết hai quy trình nghiệp vụ cốt lõi là quy trình mượn sách và quy trình trả sách; thiết lập bảng tỷ lệ bồi hoàn đối với các mức độ hư hại tài liệu (10%, 60%, 100%) và cơ chế giải quyết khiếu nại qua kênh phản hồi vi phạm (VPHT).

3. Ma trận actor và use case

Tiểu mục này trình bày ma trận ánh xạ 6 tác tử với 43 ca sử dụng của toàn bộ hệ thống, phân chia thành các nhóm chức năng:

  • Nhóm ca sử dụng tài khoản chung (AC01 - AC05): Đăng nhập, Đăng xuất, Đăng ký, Tìm lại mật khẩu, Cập nhật tài khoản.
  • Nhóm ca sử dụng quản trị hệ thống (HT01 - HT07): Thêm tài khoản admin, Xem báo cáo xấu, Thay đổi trạng thái tài khoản, Xem feedback vi phạm, Chạy lệnh kiểm tra kết nối, Kiểm tra log, Xem feedback hệ thống.
  • Nhóm ca sử dụng quản lý dữ liệu và thủ thư (DL01 - DL08): Thêm đầu sách, Cập nhật thông tin sách, Chỉnh trạng thái có sẵn, Tra cứu thẻ thuê, Cho thuê sách, Nhận lại sách thuê, Tra cứu thẻ mượn gần đến hạn, Báo cáo tài khoản.
  • Nhóm ca sử dụng tra cứu chung (US01 - US04): Tra cứu sách, Tìm kiếm sách, Sử dụng bộ lọc tìm kiếm, Xem chi tiết thông tin sách.
  • Nhóm ca sử dụng chăm sóc khách hàng (CS01 - CS03): Tra cứu feedback người dùng, Gửi feedback về Admin hệ thống, Trả lời feedback qua email.
  • Nhóm ca sử dụng kho hàng (KH01 - KH04): Tra cứu phiếu nhập xuất, Thêm phiếu nhập xuất, Cập nhật thông tin kho hàng, Cập nhật số lượng sách tồn kho.
  • Nhóm ca sử dụng người dùng chính thức (SU01 - SU12): Thuê sách, Thanh toán phí, Xem thư viện cá nhân, Đánh giá sách, Đọc sách online, Thêm vào yêu thích, Thêm vào wishlist, Xem lịch sử thuê, Feedback lần thuê, Gửi feedback hệ thống, Xem phiếu hẹn lấy sách, Đổi thời gian hẹn.

Hệ thống biểu đồ đi kèm tiểu mục này gồm 10 sơ đồ Use Case, 27 sơ đồ Sequence, 2 sơ đồ Activities và 1 sơ đồ quan hệ thực thể ERD (trang 92 theo danh mục đồ án).

4. Chi tiết các Use case

Nhóm tác giả xây dựng bảng đặc tả chi tiết cho 17 ca sử dụng mẫu đại diện cho các nhóm chức năng cốt lõi:

  • Nhóm tài khoản: AC01 (Đăng nhập), AC02 (Đăng xuất), AC03 (Đăng ký), AC04 (Tìm lại mật khẩu - tự động tạo mật khẩu ngẫu nhiên gửi qua email), AC05 (Cập nhật thông tin tài khoản).
  • Nhóm quản trị hệ thống: HT01 (Thêm tài khoản admin), HT02 (Xem các báo cáo xấu tài khoản), HT03 (Thay đổi trạng thái tài khoản với cơ chế xác nhận hai bước và gửi email thông báo), HT04 (Xem feedback vi phạm mã VPHT), HT05 (Chạy lệnh kiểm tra kết nối database và server), HT06 (Kiểm tra log trên server), HT07 (Tra cứu feedback hệ thống mã HT).
  • Nhóm quản lý dữ liệu: DL01 (Thêm đầu sách mới), DL02 (Cập nhật thông tin sách), DL03 (Chỉnh trạng thái có sẵn và tự động gửi thông báo đến người dùng có sách trong wishlist), DL04 (Tra cứu thẻ thuê), DL05 (Cho thuê sách trực tiếp tại quầy với điều kiện sách còn tồn kho và người dùng không vi phạm).

Kết quả và đóng góp

Đồ án đạt được các kết quả cụ thể đã được tư liệu hóa trong văn bản:

  • Thiết lập hoàn chỉnh ma trận phân quyền giữa 6 tác tử và 43 ca sử dụng chức năng.
  • Xây dựng hệ thống tài liệu mô hình hóa phần mềm đồng bộ gồm 10 sơ đồ Use Case, 27 sơ đồ Sequence, 2 sơ đồ Activities và 1 sơ đồ ERD.
  • Chuẩn hóa quy trình xử lý vi phạm tài liệu với các định lượng bồi thường cụ thể (10% đối với hư hại nhẹ, 60% đối với rách/mất trang, 100% đối với mất sách).
  • Thiết kế cơ chế phân loại phản hồi độc lập giữa lỗi kỹ thuật hệ thống (HT) và khiếu nại vi phạm (VPHT).
  • Xây dựng giải pháp tích hợp giữa việc mượn sách vật lý trực tiếp tại quầy và mượn sách số hóa qua thư viện cá nhân.

Về mặt đóng góp tự nêu, báo cáo thể hiện kết quả làm việc nhóm nghiêm túc của ba sinh viên, vận dụng toàn diện kiến thức môn học Phân tích thiết kế phần mềm để giải quyết một bài toán nghiệp vụ thực tiễn, đóng vai trò là tài liệu thiết kế hoàn chỉnh trước giai đoạn lập trình.

Hạn chế và hướng nghiên cứu tiếp

Trong phần lời cảm ơn và phần mở đầu, nhóm tác giả tự nhận định đồ án vẫn còn những hạn chế nhất định do quỹ thời gian có hạn và kinh nghiệm chuyên môn của các thành viên chưa hoàn thiện, khiến đồ án khó tránh khỏi sai sót và tồn đọng bất cập.

Căn cứ theo nội dung văn bản, đồ án chỉ dừng lại ở phạm vi phân tích và thiết kế mô hình (UML và ERD), chưa đề cập đến giai đoạn hiện thực hóa mã nguồn (coding), cấu hình hạ tầng mạng cụ thể, triển khai thử nghiệm trên môi trường thực tế hoặc xây dựng kịch bản kiểm thử phần mềm (test case). Đây là các hướng mở cần được bổ sung trong các giai đoạn phát triển tiếp theo của hệ thống.

Giá trị tham khảo

Báo cáo đồ án có giá trị tham khảo hữu ích đối với sinh viên chuyên ngành Công nghệ thông tin và Kỹ thuật phần mềm đang theo học các học phần Phân tích thiết kế hệ thống thông tin, Nhập môn công nghệ phần mềm hoặc đang chuẩn bị đề cương đồ án tốt nghiệp.

Phần nội dung đáng tham khảo nhất trong tài liệu là phương pháp xây dựng ma trận tác tử - ca sử dụng chi tiết, kỹ thuật phân rã sơ đồ Use Case theo từng vai trò admin riêng biệt và cấu trúc biểu mẫu đặc tả ca sử dụng chuẩn mực (phân định rõ luồng sự kiện cơ bản, luồng thay thế và luồng xử lý ngoại lệ kết nối dữ liệu).

Câu hỏi thường gặp

1. Hệ thống phân định các vai trò quản trị viên (Admin) thành những tác tử nào và nhiệm vụ của từng tác tử là gì?

Hệ thống phân chia quyền quản trị thành 4 tác tử chuyên biệt:

  • Admin hệ thống (ADHT): Quản lý tài khoản quản trị, thay đổi trạng thái người dùng vi phạm, kiểm tra log, chạy lệnh kiểm tra kết nối hệ thống.
  • Admin dữ liệu (ADDL / Thủ thư): Quản lý thông tin đầu sách, trạng thái sẵn sàng, tra cứu thẻ thuê, xử lý mượn/trả và gửi báo cáo người dùng vi phạm.
  • Admin chăm sóc khách hàng (CSKH): Tiếp nhận, tra cứu và xử lý các phản hồi từ người dùng.
  • Admin kho hàng (ADKH): Quản lý phiếu xuất nhập kho, cập nhật trạng thái kho và kiểm kê số lượng sách tồn kho thực tế.

2. Mức phí bồi hoàn khi làm hư hại hoặc mất sách được quy định chi tiết như thế nào trong đồ án?

Tài liệu quy định 3 mức đền bù cụ thể căn cứ vào tình trạng kiểm tra sách:

  • Sách bị trầy bìa, nhẵn, có thể phục hồi: Thu phí 10% giá trị sách.
  • Sách bị rách, mất trang: Thu phí 60% giá trị sách.
  • Mất sách: Thu phí 100% giá trị sách. Trường hợp người mượn không thanh toán phí trực tiếp, thủ thư sẽ gửi báo cáo xấu để Admin hệ thống khóa tài khoản; người dùng có thể gửi phản hồi (loại VPHT) để khiếu nại.

3. Trong ca sử dụng Chỉnh trạng thái có sẵn cho sách (DL03), hệ thống thực hiện thao tác tự động nào đối với người dùng?

Khi Admin dữ liệu thay đổi trạng thái của một đầu sách sang chế độ "có sẵn", ngoài việc kiểm tra tính khả dụng trong kho và cập nhật vào cơ sở dữ liệu, hệ thống sẽ tự động kích hoạt chức năng gửi thông báo đến tất cả các tài khoản người dùng đang lưu đầu sách đó trong danh mục mong muốn (wishlist).

4. Admin hệ thống sử dụng những chức năng nào để kiểm tra và giám sát kết nối kỹ thuật của hệ thống?

Admin hệ thống thực hiện hai ca sử dụng chuyên biệt:

  • Ca sử dụng HT05 (Chạy lệnh kiểm tra kết nối): Thực thi các lệnh kiểm tra kết nối tới cơ sở dữ liệu và máy chủ, sau đó lưu kết quả kiểm tra vào tệp nhật ký (log).
  • Ca sử dụng HT06 (Kiểm tra log): Truy xuất trực tiếp danh sách các bản ghi nhật ký hệ thống được lưu trên máy chủ và hiển thị nội dung chi tiết lên giao diện màn hình.

5. Ca sử dụng Đăng nhập (AC01) xử lý dữ liệu phiên làm việc như thế nào sau khi xác thực thành công?

Khi người dùng nhập tài khoản và mật khẩu, hệ thống tiến hành kiểm tra thông tin trên cơ sở dữ liệu. Sau khi xác thực thành công, hệ thống sinh mã token đại diện cho phiên làm việc của người dùng, lưu token này vào bộ nhớ tạm (cache), sau đó thông báo thành công và điều hướng người dùng về trang chủ tương ứng với vai trò của tài khoản đó.

Kết luận

Đồ án "Phân tích thiết kế hệ thống quản lý thư viện" của nhóm sinh viên Trường Đại học Ngoại ngữ - Tin học TP.HCM đã hoàn thành việc mô hình hóa một giải pháp phần mềm quản trị thư viện toàn diện theo chuẩn UML. Đề tài xây dựng được hệ thống yêu cầu nghiệp vụ rõ ràng với 6 tác tử, 43 ca sử dụng chức năng và hệ thống biểu đồ kỹ thuật đồng bộ từ ca sử dụng, tuần tự đến cơ sở dữ liệu. Báo cáo là tài liệu học thuật có cấu trúc chuẩn tắc, cung cấp cơ sở dữ liệu tham khảo giá trị cho sinh viên và người làm nghiên cứu trong lĩnh vực kỹ thuật phần mềm.