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

Trong xu thế phát triển mạnh mẽ của công nghệ thông tin và chuyển đổi số, hệ thống website quản lý thư viện đóng vai trò then chốt trong hạ tầng thông tin của các cơ sở giáo dục, tổ chức học thuật và cộng đồng yêu sách. Phương thức quản lý thư viện truyền thống bằng sổ sách hoặc các công cụ văn phòng rời rạc (như Word, Excel, ghi chú thủ công) thường bộc lộ nhiều hạn chế về hiệu suất, khả năng đồng bộ dữ liệu và tính thuận tiện cho độc giả. Việc xây dựng một website quản lý thư viện trực tuyến là giải pháp cần thiết nhằm tối ưu hóa quy trình quản lý tài liệu, tự động hóa các khâu mượn/trả sách, nâng cao trải nghiệm người dùng và thiết lập môi trường tra cứu, học tập hiện đại.

Đề tài "Xây dựng website quản lý thư viện bằng Spring Boot và MySQL" được thực hiện bởi Nhóm 4 (gồm các sinh viên: Lê Đức Bảo, Phạm Sỹ Bình, Trần Tuấn Anh, Đặng Việt Anh, Nguyễn Trọng An) thuộc lớp 20222IT6041001 khóa K15, Khoa Công nghệ Thông tin, Trường Đại học Công nghiệp Hà Nội dưới sự hướng dẫn của ThS. Nguyễn Thái Cường vào năm 2023.

Mục tiêu và nhiệm vụ nghiên cứu cụ thể của đề tài bao gồm:

  1. Vận dụng tổng hợp các khối kiến thức chuyên ngành đã tích lũy trong chương trình đào tạo, bao gồm: Hệ quản trị cơ sở dữ liệu, Thiết kế Web, Nhập môn công nghệ phần mềm, Phân tích đặc tả yêu cầu phần mềm, Lập trình hướng đối tượng và Lập trình Java.
  2. Rèn luyện và ứng dụng các kỹ năng mềm then chốt: kỹ năng phỏng vấn thu thập yêu cầu thực tế, kỹ năng làm việc nhóm, kỹ năng phân tích cấu trúc bố cục và chức năng của một website.
  3. Làm chủ và sử dụng thành thạo hai công nghệ nền tảng là framework Spring Boot và hệ quản trị cơ sở dữ liệu quan hệ MySQL, kết hợp môi trường phát triển mã nguồn IntelliJ IDEA.
  4. Xây dựng hoàn chỉnh một ứng dụng web quản lý thư viện vận hành được trên môi trường thực tế, đáp ứng đầy đủ các nhóm chức năng cốt lõi: quản lý thông tin sách, quản lý người dùng/tài khoản thủ thư, tìm kiếm tài liệu theo nhiều tiêu chí, quản lý luồng mượn/trả sách, thống kê doanh thu và báo cáo hoạt động.

Đối tượng và phạm vi nghiên cứu:

  • Đối tượng nghiên cứu: Quy trình nghiệp vụ quản lý tài liệu, thủ thư, độc giả, giao dịch mượn/trả và thống kê dữ liệu tại thư viện/cửa hàng sách.
  • Phạm vi không gian: Khảo sát thực tế nhu cầu người dùng tại khu vực Từ Liêm, Hà Nội và triển khai thực nghiệm tại Khoa Công nghệ Thông tin, Trường Đại học Công nghiệp Hà Nội.
  • Phạm vi thời gian: Đề tài được khảo sát và hoàn thiện trong năm học 2023 (dữ liệu phỏng vấn khảo sát được thực hiện vào ngày 26/05/2023).

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

Khung lý thuyết và công nghệ sử dụng

Báo cáo xây dựng giải pháp dựa trên nền tảng kỹ thuật phần mềm hướng đối tượng và kiến trúc web hiện đại:

  • Ngôn ngữ Java và Framework Spring Boot: Đóng vai trò làm nền tảng xử lý logic phía máy chủ (backend), hỗ trợ đơn giản hóa quá trình cấu hình, xây dựng và triển khai các module dịch vụ web nhờ khả năng tích hợp linh hoạt và tính bảo mật cao.
  • Hệ quản trị cơ sở dữ liệu MySQL: Đảm nhiệm lưu trữ có cấu trúc, xử lý các quan hệ dữ liệu liên quan đến tài khoản, thông tin sách, danh mục thể loại và phiếu mượn trả với tốc độ truy xuất tối ưu.
  • Môi trường phát triển IntelliJ IDEA: Công cụ hỗ trợ viết mã nguồn chính, tích hợp sâu các tiện ích phát triển ứng dụng Java/Spring Boot giúp nâng cao chất lượng mã nguồn.

Phương pháp nghiên cứu

Quá trình xây dựng phần mềm được triển khai theo quy trình kỹ thuật phần mềm tiêu chuẩn với các phương pháp thực tế:

  1. Phương pháp phỏng vấn và khảo sát thực tế: Nhóm nghiên cứu thiết lập kế hoạch phỏng vấn chi tiết để thu thập dữ liệu yêu cầu người dùng. Cụ thể:
    • Thời gian và địa điểm: Ngày 26/05/2023 tại quán Highland Coffee Hateco Apollo, đường Xuân Phương, quận Từ Liêm, Hà Nội.
    • Thành phần: Sinh viên Phạm Sỹ Bình thực hiện phỏng vấn khách hàng/người quản lý cửa hàng là Nguyễn Trọng An (trình độ học vấn: tốt nghiệp THPT, kinh nghiệm bán hàng/quản lý: trên 1 năm).
    • Nội dung thu thập: Thực trạng quản lý thủ công qua Word/Excel/Note; loại sách bán chạy nhất ("Sách làm giàu"); nhu cầu số hóa quy trình quản lý danh mục, tìm kiếm, thống kê đơn hàng, tính năng đề xuất sách; dự kiến mức đầu tư kinh phí ban đầu từ 4 - 5 triệu đồng và chi phí duy trì từ 200.000 - 300.000 đồng/tháng.
  2. Phương pháp phân tích và thiết kế hệ thống theo chuẩn UML:
    • Xây dựng biểu đồ ca sử dụng (Use Case) tổng quan và biểu đồ ca sử dụng phân rã để phân định rõ ràng các tác nhân (Admin, Thủ thư, Độc giả).
    • Đặc tả chi tiết các luồng sự kiện (luồng cơ bản, luồng rẽ nhánh, tiền điều kiện, hậu điều kiện, ngoại lệ kết nối cơ sở dữ liệu).
    • Thiết kế hệ thống mô hình hóa chuyên sâu thông qua biểu đồ trình tự (Sequence Diagram), biểu đồ lớp phân tích (Analysis Class Diagram), biểu đồ cộng tác (Collaboration Diagram) và biểu đồ các lớp màn hình (Boundary Classes).
  3. Phương pháp kiểm thử phần mềm: Kiểm thử chức năng (Functional Testing) theo từng ca sử dụng cụ thể nhằm xác nhận tính đúng đắn của logic xử lý và tính ổn định của hệ thống trước khi triển khai.

Nguồn dữ liệu

Dữ liệu nghiên cứu bao gồm thông tin khảo sát thực tế từ người dùng và dữ liệu cấu trúc bảng được định nghĩa trong hệ cơ sở dữ liệu MySQL: bảng tài khoản (TAIKHOAN), bảng sách (SACH), bảng danh mục (DANHMUC), bảng mượn (MUON) và bảng thống kê chi tiết sách mượn (SACH_MUON).


Thiết kế và triển khai

Hệ thống được thiết kế theo quy trình khép kín từ khâu tiếp nhận yêu cầu, thiết kế kiến trúc, mô hình hóa dữ liệu đến lập trình triển khai trên môi trường web.

Cấu trúc dữ liệu và các thực thể chính trong hệ thống

Tên bảng CSDL Các trường dữ liệu chính Chức năng nghiệp vụ tương ứng
TAIKHOAN Tên đăng nhập, Mật khẩu, Email, Mã khách hàng Lưu trữ thông tin tài khoản quản trị viên, nhân viên thủ thư và người dùng
SACH Mã sách, Tên sách, Giá sách, Ngày phát hành, Số trang, Ảnh minh họa, Tác giả, Nhà xuất bản, Thể loại Quản lý toàn bộ danh mục tài liệu, trạng thái và chi tiết sách trong kho
DANHMUC Mã danh mục, Tên danh mục thể loại sách Phân loại sách theo thể loại, tác giả, nhà xuất bản phục vụ tìm kiếm
MUON Mã mượn, Mã khách hàng, Mã tài khoản người mượn, Mô tả Quản lý thông tin phiếu mượn/trả và người mượn sách
SACH_MUON Mã mượn, Ngày tháng năm, Số tiền, Chi tiết số lượng sách mượn Thống kê doanh thu, lưu lịch sử giao dịch mượn sách

Phân tích và thiết kế chi tiết các ca sử dụng (Use Case)

Các ca sử dụng được phân chia nhiệm vụ thiết kế cụ thể cho từng thành viên trong nhóm:

  • Use Case "Đăng nhập" (Đặng Việt Anh đảm nhiệm): Hệ thống truy vấn trường email và mật khẩu trong bảng TAIKHOAN. Luồng rẽ nhánh xử lý trường hợp quên mật khẩu (gửi liên kết khôi phục qua email/tin nhắn) và khóa tài khoản khi nhập sai mật khẩu quá số lần quy định.
  • Use Case "Đăng xuất" (Đặng Việt Anh đảm nhiệm): Hủy phiên làm việc của quản trị viên/nhân viên trên thanh header và điều hướng người dùng về giao diện công khai dành cho khách.
  • Use Case "Tìm sách theo danh mục" (Trần Tuấn Anh đảm nhiệm): Truy xuất danh mục từ bảng DANHMUC và hiển thị danh sách sách tương ứng (mã sách, tên sách, giá sách, ngày phát hành, số trang, ảnh minh họa) từ bảng SACH. Có xử lý nhánh khi không có danh mục nào được chọn hoặc danh mục không hợp lệ.
  • Use Case "Tìm sách theo tên" (Trần Tuấn Anh đảm nhiệm): Tiếp nhận từ khóa chuỗi ký tự từ ô tìm kiếm, truy vấn bảng SACH và hiển thị kết quả khớp với tên sách đã nhập.
  • Use Case "Quản lý sách" (Lê Đức Bảo đảm nhiệm): Cho phép tài khoản có quyền quản trị thực hiện các thao tác Thêm mới (nhập đầy đủ thuộc tính sách), Sửa thông tin (cập nhật thuộc tính hiện hữu), Xóa sách (yêu cầu xác nhận qua hộp thoại) trên bảng SACH.
  • Use Case "Thống kê doanh thu" (Phạm Sỹ Bình đảm nhiệm): Trích xuất thông tin ngày tháng năm và số tiền từ bảng SACH_MUON để tổng hợp báo cáo doanh thu theo mốc thời gian (ngày, tuần, tháng, quý).
  • Use Case "Quản lý tài khoản" (Nguyễn Trọng An đảm nhiệm): Cung cấp các thao tác xem danh sách, tìm kiếm, thêm mới, chỉnh sửa thông tin và xóa tài khoản thủ thư/người dùng trên bảng TAIKHOAN.
  • Use Case "Quản lý người mượn" (Nguyễn Trọng An đảm nhiệm): Quản trị viên theo dõi, thêm, sửa, xóa thông tin phiếu mượn và danh tính độc giả trong bảng MUON.

Danh mục kiểm thử hệ thống

Báo cáo xây dựng danh mục 12 ca kiểm thử chức năng hoàn chỉnh:

  1. Kiểm thử chức năng đăng ký
  2. Kiểm thử chức năng đăng nhập
  3. Kiểm thử chức năng đăng xuất
  4. Kiểm thử chức năng tìm kiếm
  5. Kiểm thử chức năng thêm sách
  6. Kiểm thử chức năng sửa sách
  7. Kiểm thử chức năng xóa sách
  8. Kiểm thử chức năng đăng ký thành viên mới
  9. Kiểm thử chức năng mượn sách
  10. Kiểm thử chức năng trả sách
  11. Kiểm thử chức năng thống kê doanh thu ngày
  12. Kiểm thử chức năng xem sách theo danh mục

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

Lời mở đầu và Phần 1: Giới thiệu đề tài

Chương này thiết lập cơ sở hình thành đề tài, nêu bật tính tất yếu của việc tin học hóa hoạt động thư viện. Tác giả giới thiệu tổng quan hệ thống website quản lý thư viện bao gồm các chức năng dành cho độc giả (tra cứu, đặt vào danh sách yêu thích, đăng ký thẻ thư viện trực tuyến, lập yêu cầu mượn/trả) và các tính năng nghiệp vụ của thủ thư (quản lý danh mục, độc giả, giao dịch mượn trả và lập báo cáo). Đồng thời, chương 1 xác định rõ mục tiêu vận dụng 6 học phần chuyên ngành và các kỹ năng kỹ thuật, kỹ năng mềm nhằm đạt chuẩn đầu ra môn học Thực tập chuyên ngành Kỹ thuật phần mềm.

Phần 2: Kết quả nghiên cứu

Đây là nội dung trọng tâm của báo cáo, chia thành các phần khảo sát, phân tích và kiểm thử:

  • Khảo sát hệ thống: Trình bày chi tiết mục tiêu khảo sát (tiết kiệm thời gian, tăng khả dụng tài liệu số, giảm thủ tục giấy tờ, tăng tương tác độc giả - thư viện, hỗ trợ Admin quản lý toàn diện). Công bố chi tiết kế hoạch phỏng vấn thực địa và biên bản phỏng vấn 10 câu hỏi với khách hàng, phản ánh nhu cầu số hóa thực tế của cửa hàng/thư viện sách.
  • Khảo sát chi tiết và tài liệu đặc tả yêu cầu: Hệ thống hóa các yêu cầu chức năng (đăng ký, đăng nhập, quản lý sách, quản lý tài khoản, tìm kiếm sách, quản lý mượn/trả sách, thống kê doanh thu, đăng xuất) và yêu cầu phi chức năng (giao diện thân thiện, tốc độ xử lý nhanh). Chi tiết hóa từng quy trình nghiệp vụ: quy trình đăng ký/đăng nhập có gửi email xác thực; quy trình quản lý sách; quy trình tìm kiếm theo danh mục và tên; quy trình 8 bước của việc mượn/trả sách; quy trình tính toán doanh thu (doanh thu = số lượng sách mượn x đơn giá) theo ngày/tuần/tháng/quý.
  • Phân tích hệ thống: Xây dựng toàn diện hệ thống mô hình hóa UML gồm biểu đồ ca sử dụng tổng quan và phân rã; đặc tả văn bản đầy đủ cho 8 ca sử dụng trọng yếu; thiết kế biểu đồ trình tự (Sequence Diagrams) cho cả luồng sự kiện cơ bản và luồng rẽ nhánh; xây dựng biểu đồ lớp phân tích (Analysis Class Diagrams), biểu đồ cộng tác (Collaboration Diagrams) và biểu đồ lớp màn hình giao diện.
  • Kiểm thử chức năng: Thực hiện kiểm thử chi tiết 12 ca kiểm thử chức năng nghiệp vụ từ trang người dùng đến trang quản trị, đảm bảo hệ thống phản hồi chính xác và kiểm soát các điều kiện lỗi kết nối CSDL hoặc nhập liệu sai.

Phần 3: Kết luận và bài học kinh nghiệm

Chương tổng kết đánh giá mức độ hoàn thành nhiệm vụ nghiên cứu, nêu rõ các nội dung đã thực hiện được trong phạm vi đề tài và chỉ ra định hướng phát triển mở rộng hệ thống trong tương lai.


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

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

  • Sản phẩm phần mềm hoàn chỉnh: Xây dựng thành công website quản lý thư viện hoạt động trên môi trường web thực tế, được phát triển trên IDE IntelliJ IDEA bằng ngôn ngữ Java với framework Spring Boot và cơ sở dữ liệu MySQL.
  • Tài liệu phân tích - thiết kế chuẩn mực: Hoàn thành bộ hồ sơ đặc tả yêu cầu phần mềm chi tiết, hệ thống hóa toàn bộ các quy trình nghiệp vụ mượn/trả, quản lý sách, tài khoản và doanh thu.
  • Mô hình hóa hệ thống chuyên sâu: Xây dựng đầy đủ hệ thống biểu đồ ca sử dụng, biểu đồ trình tự, biểu đồ phân tích lớp, biểu đồ cộng tác và biểu đồ giao diện màn hình cho tất cả các ca sử dụng cốt lõi.
  • Đảm bảo chất lượng qua kiểm thử: Hoàn thành 12 kịch bản kiểm thử chức năng, xác nhận hệ thống vận hành đúng đặc tả kỹ thuật và có cơ chế bắt lỗi khi dữ liệu nhập không hợp lệ hoặc gián đoạn kết nối cơ sở dữ liệu.

Đóng góp thực tiễn của đề tài

  • Giải pháp chuyển đổi số cho thư viện: Thay thế phương thức quản lý thủ công rời rạc bằng hệ thống trực tuyến tập trung, giúp giảm thiểu đáng kể thủ tục giấy tờ và chi phí vận hành.
  • Nâng cao hiệu quả quản trị và trải nghiệm độc giả: Tự động hóa quá trình theo dõi hạn trả, thống kê sách mượn nhiều nhất và tính toán doanh thu chính xác theo các khoảng thời gian tùy chọn.
  • Giá trị thực hành học thuật: Chứng minh tính khả thi và hiệu quả của việc kết hợp Spring Boot và MySQL trong việc phát triển các ứng dụng quản lý hướng doanh nghiệp, đáp ứng tốt yêu cầu chuẩn đầu ra của chương trình đào tạo Kỹ thuật phần mềm.

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 các ca sử dụng nghiệp vụ nền tảng (quản lý sách, quản lý người mượn, phân loại theo danh mục và thống kê doanh thu cơ bản), các nghiệp vụ mở rộng về tương tác mạng xã hội độc giả hay tích hợp cổng thanh toán trực tuyến chuyên sâu chưa được phân tích đầy đủ trong phạm vi đồ án thực tập.
  • Hướng phát triển: Tiếp tục hoàn thiện và phát triển thêm các module chức năng mở rộng cho website, tối ưu hóa giao diện đa nền tảng và nâng cấp tính năng gợi ý tài liệu tự động dựa trên lịch sử tra cứu của độc giả theo định hướng tại phần 3.2 của văn bản.

Giá trị tham khảo

Báo cáo là tài liệu tham khảo hữu ích cho sinh viên các ngành Kỹ thuật phần mềm, Công nghệ thông tin và Hệ thống thông tin khi thực hiện đồ án môn học, đồ án chuyên ngành hoặc khóa luận tốt nghiệp về xây dựng ứng dụng web với Java Spring Boot.

Các nội dung có giá trị tham khảo cao trong tài liệu:

  1. Phương pháp khảo sát yêu cầu: Cung cấp mẫu kế hoạch phỏng vấn thực địa, hệ thống câu hỏi khảo sát thực tế và cách thức chuyển đổi từ yêu cầu của người phỏng vấn sang yêu cầu phần mềm.
  2. Mô hình hóa ca sử dụng: Cung cấp tài liệu đặc tả ca sử dụng mẫu mực với đầy đủ luồng sự kiện chính, luồng rẽ nhánh, tiền điều kiện và hậu điều kiện cho các chức năng quản lý web.
  3. Bộ sơ đồ UML phân tích: Mẫu thiết kế chuẩn xác về biểu đồ trình tự, biểu đồ lớp phân tích và biểu đồ cộng tác kết nối trực tiếp với cấu trúc cơ sở dữ liệu quan hệ MySQL.
  4. Bộ kịch bản kiểm thử: Khung danh mục 12 ca kiểm thử chức năng bao quát các trường hợp biên và kiểm thử giao diện thực tế.

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

1. Đề tài sử dụng những công nghệ và công cụ phát triển nào?

Hệ thống được xây dựng trên nền tảng framework Spring Boot (Java), hệ quản trị cơ sở dữ liệu MySQL và sử dụng môi trường phát triển tích hợp IntelliJ IDEA để lập trình mã nguồn.

2. Quá trình phỏng vấn khảo sát thực tế được nhóm tác giả tiến hành ở đâu và thu thập được những thông tin gì?

Phỏng vấn được thực hiện vào ngày 26/05/2023 tại quán Highland Coffee Hateco Apollo (Đường Xuân Phương, Từ Liêm, Hà Nội) với người được hỏi là Nguyễn Trọng An. Dữ liệu thu được xác nhận thực trạng quản lý thủ công qua Word/Excel/Note, mặt hàng bán chạy nhất là "Sách làm giàu", cùng các yêu cầu về phân loại sách, đề xuất tìm kiếm, thống kê đơn hàng và mức kinh phí đầu tư dự kiến (4 - 5 triệu đồng ban đầu, 200 - 300 nghìn đồng/tháng duy trì).

3. Cơ sở dữ liệu của hệ thống quản lý những thực thể bảng chính nào?

Hệ thống lưu trữ dữ liệu trên 5 bảng chính được mô tả trong tài liệu: TAIKHOAN (tài khoản người dùng/thủ thư), SACH (thông tin và thuộc tính sách), DANHMUC (thể loại sách), MUON (thông tin phiếu mượn và người mượn) và SACH_MUON (dữ liệu mượn sách phục vụ thống kê doanh thu).

4. Quy trình tính toán và thống kê doanh thu trong hệ thống được thực hiện như thế nào?

Admin truy cập chức năng thống kê doanh thu, lựa chọn khoảng thời gian (ngày, tuần, tháng hoặc quý). Hệ thống truy xuất dữ liệu hóa đơn từ bảng SACH_MUON trong cơ sở dữ liệu và tính toán doanh thu bằng cách nhân số lượng sách được mượn trong kỳ với giá tiền của từng cuốn sách, sau đó kết xuất báo cáo tổng doanh thu và danh sách sách được mượn nhiều nhất.

5. Những thành viên nào tham gia thực hiện đề tài và ai đảm nhiệm vai trò hướng dẫn?

Đề tài do Nhóm 4 gồm 5 sinh viên: Lê Đức Bảo, Phạm Sỹ Bình, Trần Tuấn Anh, Đặng Việt Anh, Nguyễn Trọng An (Lớp 20222IT6041001 K15, Khoa Công nghệ Thông tin, Trường Đại học Công nghiệp Hà Nội) thực hiện dưới sự hướng dẫn chuyên môn của ThS. Nguyễn Thái Cường.


Kết luận

Báo cáo thực nghiệm thực tập chuyên ngành "Xây dựng website quản lý thư viện bằng Spring Boot và MySQL" của nhóm sinh viên Trường Đại học Công nghiệp Hà Nội đã giải quyết trọn vẹn bài toán số hóa nghiệp vụ thư viện từ khâu khảo sát thực tế đến cài đặt triển khai. Đề tài thể hiện phương pháp tiếp cận kỹ thuật phần mềm bài bản thông qua hệ thống đặc tả yêu cầu, mô hình hóa UML phân tích chuyên sâu và quy trình kiểm thử 12 ca chức năng chặt chẽ. Kết quả của đồ án cung cấp một giải pháp ứng dụng web khả thi, đồng thời là tài liệu tham khảo có giá trị học thuật cao cho sinh viên ngành Kỹ thuật phần mềm.