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

Trong bối cảnh chuyển đổi số và sự phát triển mạnh mẽ của các nền tảng cung cấp tài liệu điện tử, hệ thống thư viện truyền thống tại các cơ sở giáo dục đại học vẫn giữ vai trò cốt lõi phục vụ nhu cầu học tập, nghiên cứu của giảng viên và sinh viên. Tại Trường Đại học Bách Khoa Hà Nội, sự gia tăng nhanh chóng về số lượng đầu sách, tài liệu chuyên ngành cùng lưu lượng độc giả lớn đã tạo ra áp lực đáng kể đối với công tác vận hành thủ công. Các phương thức quản lý truyền thống bộc lộ nhiều bất cập trong việc kiểm soát luồng thông tin, xử lý các sự kiện mượn trả và đối soát dữ liệu trong các khoảng thời gian xác định.

Nhằm giải quyết những hạn chế này, nhóm nghiên cứu thuộc Viện Công nghệ Thông tin và Truyền thông đã thực hiện đề tài phân tích và thiết kế hệ thống quản lý thư viện ứng dụng phương pháp hướng đối tượng (OOAD), hướng tới các mục tiêu cụ thể sau:

  1. Thứ nhất: Cung cấp công cụ quản lý toàn diện và hiệu quả toàn bộ các luồng thông tin trọng yếu phục vụ dịch vụ thư viện.
  2. Thứ hai: Ứng dụng công nghệ phần mềm nhằm tối ưu hóa năng suất hoạt động và giảm thiểu sai sót tác nghiệp của đội ngũ quản lý.
  3. Thứ ba: Thiết lập cầu nối tương tác tiện lợi, thân thiện giữa thư viện và người sử dụng, đảm bảo quy trình cung ứng dịch vụ diễn ra trơn tru.

Phạm vi nghiên cứu của đề tài tập trung vào các phân hệ nghiệp vụ cốt lõi trong một thư viện học thuật, bao gồm: quản lý danh mục tài liệu (sách), quản lý hồ sơ độc giả, quản lý quy trình mượn - trả và xử lý vi phạm, quản lý tài khoản thủ thư và phân hệ thống kê, báo cáo hoạt động. Thời gian hoàn thành nghiên cứu được ghi nhận vào tháng 5 năm 2021.


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

Đề tài áp dụng phương pháp Phân tích và Thiết kế Hướng đối tượng (Object-Oriented Analysis and Design - OOAD) kết hợp với ngôn ngữ mô hình hóa thống nhất (UML) để xây dựng hệ thống phần mềm. Quy trình nghiên cứu và thiết kế được chia tách thành các mô hình cấu trúc và mô hình tương tác chi tiết.

1. Khung lý thuyết và mô hình ứng dụng

  • Phương pháp phân tích ca sử dụng (Use Case Driven): Xác định yêu cầu người dùng, phân rã chức năng và xây dựng kịch bản chi tiết cho từng ca sử dụng (bao gồm luồng sự kiện chính và luồng sự kiện thay thế/ngoại lệ).
  • Mô hình kiến trúc phân lớp (Model - View - Control): Hệ thống được tổ chức thành 3 gói chính nhằm phân tách rõ ràng giữa giao diện hiển thị (View), điều khiển nghiệp vụ (Control) và cấu trúc dữ liệu thực thể (Model).
  • Mô hình hóa cơ sở dữ liệu quan hệ (RDBMS): Chuyển đổi các lớp thực thể phân tích thành các bảng dữ liệu có cấu trúc, xác định khóa chính, khóa ngoại và mối quan hệ toàn vẹn dữ liệu.

2. Phương pháp nghiên cứu thực tế và nguồn dữ liệu

  • Khảo sát nghiệp vụ: Thu thập, chuẩn hóa các quy trình nghiệp vụ thư viện thực tế (quy trình mượn sách, trả sách, cấp thẻ độc giả, xử phạt vi phạm).
  • Nguồn tài liệu tham khảo:
    • Mẫu tài liệu hướng dẫn đồ án môn học do TS. Nguyễn Nhật Quang (Trường Đại học Bách Khoa Hà Nội) cung cấp.
    • Tài liệu chuyên ngành "Một số vấn đề quản lí thư viện hiện đại" do Thư viện Quốc gia Việt Nam công bố.

3. Phân công nhiệm vụ nhóm nghiên cứu

STT Thành viên thực hiện Mã sinh viên Nhiệm vụ đảm nhiệm chính
1 Nguyễn Đức Tuân 20180192 Phân tích nhóm ca sử dụng Mượn trả sách; Vẽ biểu đồ hoạt động; Thiết kế chi tiết lớp
2 Vũ Ngọc Lâm 20183938 Phân tích nhóm ca sử dụng Quản lý sách; Thiết kế chi tiết lớp
3 Vũ Trọng Đức 20183894 Phân tích nhóm ca sử dụng Thống kê; Thiết kế cơ sở dữ liệu; Thiết kế giao diện
4 Mai Quốc Việt 20184017 Phân tích nhóm ca sử dụng Quản lý độc giả; Thiết kế chi tiết lớp; Thiết kế giao diện
5 Hoàng Văn Bút 20183868 Phân tích nhóm ca sử dụng Quản trị viên; Thiết kế cơ sở dữ liệu; Thiết kế giao diện

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

Báo cáo nghiên cứu được bố cục thành 3 chương chính, phản ánh đầy đủ tiến trình từ khảo sát yêu cầu đến hoàn thiện bản thiết kế chi tiết của hệ thống.

Hệ thống Quản lý Thư viện (OOAD)

Chương 1. Giới thiệu đề tài

Chương này thiết lập nền tảng cho toàn bộ báo cáo, phân tích tính cấp thiết của việc hiện đại hóa công tác thư viện truyền thống bằng phần mềm chuyên dụng. Tài liệu xác định rõ 3 mục tiêu cốt lõi, giới hạn phạm vi nghiệp vụ và hệ thống hóa các thuật ngữ, từ viết tắt quy ước trong văn bản (như CSDL: Cơ sở dữ liệu; TT: Thủ thư).

Chương 2. Phân tích yêu cầu phần mềm

Chương 2 mô tả chi tiết quy trình nghiệp vụ hiện tại, các quy tắc nghiệp vụ ràng buộc, hệ thống tác nhân và bảng đặc tả chi tiết 29 ca sử dụng của hệ thống.

1. Quy tắc nghiệp vụ bắt buộc

  • Quy tắc mượn và gia hạn:
    • Mỗi độc giả chỉ được mượn tối đa 03 cuốn sách hoặc tài liệu trong một lần mượn.
    • Đối với mỗi cuốn sách đang mượn, độc giả chỉ được phép gia hạn tối đa 02 lần; mỗi lần gia hạn có thời gian tối đa là 01 tuần.
  • Quy tắc ghi nhận vi phạm:
    • Ghi nhận độc giả làm hư hỏng hoặc không bảo đảm tính toàn vẹn của sách mượn.
    • Ghi nhận độc giả không trả sách đúng kỳ hạn đã cam kết.
    • Ghi nhận hành vi khai báo gian dối thông tin cá nhân khi làm thủ tục cấp thẻ độc giả.

2. Phân loại tác nhân hệ thống

Hệ thống xác định 3 tác nhân tương tác trực tiếp:

  • Khách (Guest): Người dùng chưa đăng nhập, chỉ có quyền tìm kiếm và xem thông tin chi tiết của sách/tài liệu.
  • Thủ thư (Librarian): Người dùng tác nghiệp, sau khi đăng nhập có quyền quản lý danh mục sách, quản lý độc giả, lập/xử lý phiếu mượn trả, xử lý vi phạm, theo dõi thống kê và cập nhật thông tin cá nhân.
  • Quản trị viên (Administrator): Người quản lý cấp cao, thực hiện quản trị tài khoản của các thủ thư trong hệ thống (tạo mới, tìm kiếm, khóa và mở khóa tài khoản).

3. Bảng tổng hợp danh mục ca sử dụng (Use Cases)

Phân hệ nghiệp vụ Mã Use Case Tên Use Case Tác nhân kích hoạt Mục đích ca sử dụng
Quản lý sách UC001 Thêm sách Thủ thư Nhập thông tin sách mới vào hệ thống
UC002 / UC027 Tìm kiếm sách Khách / Thủ thư Tra cứu sách theo tên, tác giả, lĩnh vực
UC003 / UC028 Xem chi tiết sách Khách / Thủ thư Hiển thị thông tin xuất bản và tình trạng
UC004 Xóa sách Thủ thư Xóa sách (khi không trong trạng thái mượn)
UC005 Sửa thông tin sách Thủ thư Cập nhật thông tin chi tiết của đầu sách
Quản lý mượn - trả UC006 Lập phiếu mượn Thủ thư Lưu thông tin mượn tài liệu của độc giả
UC007 Gia hạn phiếu mượn Thủ thư Kéo dài thời hạn mượn theo quy định
UC008 Xử lý trả sách Thủ thư Xác nhận hoàn trả tài liệu vào kho
UC009 Xử lý vi phạm Thủ thư Lập biên bản xử phạt khi mất/hỏng sách
Quản lý độc giả UC010 Tìm kiếm độc giả Thủ thư Tìm hồ sơ độc giả theo họ và tên
UC011 Xem thông tin độc giả Thủ thư Kiểm tra thông tin cá nhân và lịch sử mượn
UC012 Thêm độc giả Thủ thư Đăng ký cấp thẻ độc giả mới
UC013 Xóa độc giả Thủ thư Xóa hồ sơ (khi không còn mượn sách)
UC014 Sửa thông tin độc giả Thủ thư Cập nhật số điện thoại, địa chỉ độc giả
Thống kê - Báo cáo UC015 Thống kê độc giả vi phạm Thủ thư Theo dõi danh sách và số lượng vi phạm
UC016 Thống kê sách mượn quá hạn Thủ thư Lọc danh mục tài liệu chưa trả quá hạn
UC017 Thống kê lượt mượn sách Thủ thư Tổng hợp số lượt mượn trong thời gian 1 tháng
UC018 Xuất báo cáo Thủ thư Xuất file dữ liệu báo cáo ra máy tính
Quản trị tài khoản UC019 Xem danh sách thủ thư Admin Xem toàn bộ tài khoản thủ thư
UC020 Tìm kiếm tài khoản Admin Tra cứu tài khoản thủ thư theo tên
UC021 Xem chi tiết Admin Xem thông tin chi tiết tài khoản
UC022 Khóa tài khoản Admin Vô hiệu hóa tài khoản thủ thư
UC023 Mở khóa tài khoản Admin Kích hoạt lại tài khoản đã bị khóa
UC024 Tạo tài khoản mới Admin Cấp tài khoản làm việc mới cho thủ thư
Hệ thống chung UC025 Đăng nhập Khách / Thủ thư / Admin Xác thực quyền truy cập vào hệ thống
UC026 Đăng xuất Thủ thư / Admin Thoát phiên làm việc hiện tại
UC029 Cập nhật thông tin cá nhân Thủ thư Tự thay đổi email, mật khẩu, SĐT

4. Yêu cầu phi chức năng

  • Bảo mật: Kiểm soát phân quyền truy cập chặt chẽ theo vai trò định danh của từng tài khoản.
  • Hiệu năng: Thời gian phản hồi xử lý của hệ thống đảm bảo không vượt quá 6 giây cho một tác vụ.
  • Giao diện: Phát triển dưới dạng ứng dụng máy tính (Desktop Application), ngôn ngữ hiển thị là tiếng Việt, định dạng ngày tháng quy chuẩn dd/mm/yyyy.

Chương 3. Thiết kế hệ thống

Chương 3 trình bày toàn bộ các giải pháp kỹ thuật, mô hình cấu trúc, mô hình hành vi, kiến trúc phần mềm và thiết kế dữ liệu chi tiết nhằm hiện thực hóa các yêu cầu đã phân tích.


Thiết kế và triển khai

Hệ thống được thiết kế theo hướng mô đun hóa cao độ, đảm bảo tính mở rộng và khả năng bảo trì thông qua mô hình phân lớp rõ ràng.

1. Kiến trúc hệ thống tổng thể (Mô hình MVC)

  • Gói Model (model): Chứa toàn bộ các lớp thực thể phản ánh đối tượng thực tế trong hệ thống như DocGia, PhieuMuon, Sach, ThuThu, TaiKhoan, BienBanViPham. Chịu trách nhiệm lưu trữ trạng thái và cấu trúc dữ liệu.
  • Gói Control (control): Đảm nhiệm việc xử lý toàn bộ logic nghiệp vụ, tiếp nhận yêu cầu từ tầng giao diện, thực thi các thuật toán kiểm tra ràng buộc quy tắc (kiểm tra hạn mượn, kiểm tra trùng lặp mã sách, tính toán tiền phạt) và tương tác với tầng lưu trữ dữ liệu.
  • Gói View (view): Tập hợp các thành phần giao diện đồ họa desktop (màn hình form, bảng dữ liệu, cửa sổ thông báo pop-up), chịu trách nhiệm nhận sự kiện thao tác từ người dùng và trình bày dữ liệu kết quả.

2. Thiết kế cơ sở dữ liệu quan hệ

Cấu trúc cơ sở dữ liệu được thiết kế chi tiết với hệ thống bảng quan hệ chặt chẽ nhằm duy trì tính toàn vẹn dữ liệu:

[tai_khoan] <1---1> [thu_thu]
                        |
                        +---<1---n> [phieu_muon] <1---n> [muon_sach]
                                         |                      |
[doc_gia] <1---n>-----------------------+                      |
   |                                                            |
   +---<1---n> [bien_ban_vi_pham]                               |
                                                                |
[sach] <1---n>--------------------------------------------------+
  • Bảng doc_gia: Lưu trữ hồ sơ độc giả gồm mã độc giả, họ tên, ngày sinh, địa chỉ, số CCCD/CMT (quy chuẩn 9 hoặc 12 số), số điện thoại (10 chữ số).
  • Bảng tai_khoan & thu_thu: Lưu trữ thông tin đăng nhập (username, password), quyền hạn và thông tin cá nhân của nhân sự thủ thư.
  • Bảng phieu_muon & muon_sach: Quản lý thông tin giao dịch mượn tài liệu, thời điểm mượn, hạn trả, số lần đã gia hạn và liên kết giữa từng bản sao sách với phiếu mượn cụ thể.
  • Bảng bien_ban_vi_pham: Ghi nhận mã sách vi phạm, tình trạng hư hỏng (mất trang, rách bìa, mất sách), nội dung ghi chú và số tiền phạt tương ứng.

3. Thiết kế nguyên mẫu giao diện (UI Prototype)

Hệ thống xây dựng đầy đủ các màn hình giao diện máy tính dành cho từng nhóm chức năng:

  • Màn hình đăng nhập hệ thống và phân hướng quyền hạn người dùng.
  • Giao diện làm việc trung tâm của Thủ thư sau đăng nhập.
  • Phân hệ quản lý sách: Màn hình danh sách, màn hình xem chi tiết sách, form thêm mới và sửa thông tin sách.
  • Phân hệ quản lý mượn - trả: Giao diện tạo phiếu mượn mới, giao diện tiếp nhận và xử lý trả sách kèm chức năng lập biên bản vi phạm.
  • Phân hệ thống kê - báo cáo: Giao diện thống kê độc giả vi phạm, thống kê sách quá hạn, thống kê lượt mượn hàng tháng và màn hình tải bản mẫu file báo cáo.
  • Phân hệ quản trị viên: Giao diện quản lý danh sách thủ thư, màn hình xem chi tiết tài khoản và thao tác kích hoạt/khóa tài khoản.

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

1. Kết quả chính đạt được

  • Xây dựng hoàn chỉnh tài liệu phân tích và thiết kế hệ thống thông tin quản lý thư viện với đầy đủ 29 ca sử dụng bao quát mọi nghiệp vụ thư viện cơ bản.
  • Chuẩn hóa các quy trình tác nghiệp nội bộ: Tiếp nhận độc giả, kiểm soát tối đa 3 tài liệu/lượt mượn, giới hạn 2 lần gia hạn (tối đa 1 tuần/lần), xử lý bồi hoàn mất/hỏng sách.
  • Hoàn thiện mô hình kiến trúc phần mềm 3 gói (Model - Control - View) và sơ đồ quan hệ cơ sở dữ liệu gồm 6 bảng thực thể chính (doc_gia, phieu_muon, bien_ban_vi_pham, tai_khoan, thu_thu, muon_sach).
  • Đảm bảo các chỉ số kỹ thuật phi chức năng: Độ trễ phản hồi hệ thống $\le 6$ giây, đồng bộ định dạng dữ liệu ngày tháng dd/mm/yyyy trên toàn hệ thống.

2. Đóng góp của đề tài

  • Cung cấp một bộ tài liệu mẫu về phân tích thiết kế hướng đối tượng hoàn chỉnh cho bài toán quản lý thư viện trong môi trường giáo dục đại học.
  • Đề xuất giải pháp phân quyền rành mạch giữa 3 tác nhân (Khách, Thủ thư, Quản trị viên), giúp loại bỏ nguy cơ can thiệp trái phép vào dữ liệu hệ thống.

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

  • Hạn chế: Hệ thống tập trung chủ yếu vào giai đoạn phân tích yêu cầu và thiết kế mô hình cấu trúc trên nền tảng ứng dụng máy tính (Desktop App), chưa đi sâu vào triển khai mã nguồn thực tế và kiểm thử hiệu năng trên môi trường mạng phân tán.
  • Hướng phát triển tiếp:
    • Mở rộng kiến trúc sang nền tảng ứng dụng Web và ứng dụng Di động (Mobile App) nhằm tăng tính tiện lợi cho độc giả tra cứu trực tuyến từ xa.
    • Tích hợp thêm các công nghệ nhận dạng tự động như mã vạch (Barcode) hoặc thẻ RFID để tự động hóa khâu mượn/trả tài liệu tại quầy.

Giá trị tham khảo

Tài liệu là nguồn tham khảo hữu ích cho:

  • Sinh viên ngành Công nghệ Thông tin, Kỹ thuật Phần mềm và Hệ thống Thông tin: Tham khảo phương pháp xây dựng báo cáo phân tích thiết kế hệ thống thông tin hướng đối tượng (OOAD) chuẩn mực.
  • Người học đang thực hiện đồ án môn học: Có thể tái sử dụng cấu trúc đặc tả 29 ca sử dụng, bảng phân rã use case chi tiết và thiết kế cơ sở dữ liệu quan hệ cho các đề tài quản lý tương tự (như quản lý kho, quản lý thiết bị trường học).

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

1. Quy định về số lượng sách mượn và số lần gia hạn trong hệ thống là gì?

Theo quy tắc nghiệp vụ của hệ thống, mỗi độc giả chỉ được mượn tối đa 03 cuốn sách/tài liệu trong một lần mượn. Đối với cùng một cuốn sách đang mượn, độc giả được phép gia hạn tối đa 02 lần, với thời gian mỗi lần gia hạn không quá 01 tuần.

2. Tác nhân "Khách" trong hệ thống có thể thực hiện những chức năng nào?

Tác nhân "Khách" (người dùng chưa đăng nhập) chỉ được phép sử dụng hai chức năng là Tìm kiếm sách (UC002 / UC027) và Xem thông tin chi tiết của sách (UC003 / UC028). Muốn sử dụng các chức năng tác nghiệp khác, người dùng bắt buộc phải đăng nhập với tài khoản có vai trò tương ứng.

3. Khi độc giả làm mất hoặc hư hỏng sách, hệ thống xử lý qua ca sử dụng nào?

Hệ thống sử dụng ca sử dụng UC009 "Xử lý vi phạm". Thủ thư sẽ nhập thông tin mã sách, ghi nhận tình trạng thực tế (ví dụ: thiếu trang, rách bìa, mất sách), nhập số tiền phạt tương ứng và lưu biên bản vào bảng dữ liệu bien_ban_vi_pham.

4. Hệ thống đặt ra các yêu cầu phi chức năng cụ thể nào về hiệu năng và định dạng dữ liệu?

Hệ thống quy định thời gian phản hồi cho các tác vụ tối đa là 6 giây. Về giao diện, hệ thống sử dụng ngôn ngữ tiếng Việt, phát triển trên nền Desktop App và quy chuẩn định dạng ngày tháng duy nhất là dd/mm/yyyy.

5. Kiến trúc tổng thể của hệ thống được chia thành các gói (package) nào?

Kiến trúc hệ thống được tổ chức theo mô hình MVC gồm 3 gói chính: Gói Model (chứa các lớp thực thể lưu trữ dữ liệu), Gói Control (chứa các lớp điều khiển xử lý logic nghiệp vụ) và Gói View (chứa các thành phần giao diện tương tác với người dùng).


Kết luận

Báo cáo bài tập lớn môn Phân tích thiết kế hệ thống thông tin của nhóm sinh viên Trường Đại học Bách Khoa Hà Nội đã hoàn thành việc xây dựng thiết kế hệ thống quản lý thư viện theo phương pháp hướng đối tượng một cách bài bản và có hệ thống. Đề tài đã giải quyết trọn vẹn các bài toán nghiệp vụ từ quản lý sách, độc giả, quy trình mượn trả đến phân hệ báo cáo thống kê thông qua 29 ca sử dụng và mô hình cơ sở dữ liệu chặt chẽ. Đây là tài liệu thiết kế hoàn chỉnh, đáp ứng đầy đủ các yêu cầu học thuật và tạo tiền đề vững chắc cho việc lập trình cài đặt hệ thống phần mềm thực tế.