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

Trong bối cảnh công nghệ thông tin phát triển và được ứng dụng sâu rộng vào công tác quản trị, nhu cầu quản lý tài nguyên học thuật và trang thiết bị tại các thư quán, thư viện trường học cùng các tổ chức giáo dục đang đối mặt với nhiều thách thức lớn. Các nghiệp vụ truyền thống liên quan đến việc theo dõi số lượng đầu sách, tài liệu lưu hành, thiết bị phục vụ học tập, tình trạng mượn/trả và việc tính toán các khoản phí phát sinh (như phí mượn hoặc phí quá hạn) thường tiêu tốn nhiều thời gian, nhân lực và dễ phát sinh sai sót trong khâu ghi nhận thủ công. Đề tài "Quản lý thư quán" được nhóm sinh viên Khoa Công nghệ Thông tin thuộc Trường Đại học Sài Gòn thực hiện nhằm cung cấp một giải pháp phần mềm tự động hóa toàn diện quy trình vận hành và kiểm soát tài nguyên.

Mục tiêu nghiên cứu và phát triển phần mềm được xác định cụ thể gồm:

  1. Quản lý chính xác trạng thái của danh mục sách và trang thiết bị trong kho theo thời gian thực.
  2. Hỗ trợ quy trình nghiệp vụ đặt trước tài nguyên trực tuyến và cập nhật các giao dịch mượn – trả một cách nhất quán.
  3. Ghi nhận vi phạm quy chế, tự động hóa quy trình quản lý mức phạt và trạng thái thanh toán.
  4. Thiết lập hệ thống phân quyền tài khoản chặt chẽ theo từng nhóm vai trò: Quản trị viên (Admin), Nhân viên và Thành viên.
  5. Tổng hợp dữ liệu và kết xuất các báo cáo thống kê về hoạt động mượn – trả, lịch sử vi phạm, tần suất sử dụng tài nguyên và lưu lượng thành viên ra vào thư quán.

Đối tượng nghiên cứu của đồ án là quy trình quản lý nghiệp vụ tài nguyên (sách, thiết bị, quy định, vi phạm) và tương tác của người dùng trong môi trường thư quán. Phạm vi áp dụng của phần mềm hướng đến môi trường thư quán, thư viện thuộc các trường học, thư viện công cộng hoặc các cơ sở đào tạo quy mô vừa và lớn. Về mặt kiến trúc triển khai, phạm vi hệ thống bao gồm hai nền tảng song song: ứng dụng nội bộ chạy trên máy tính bàn (WinForms) dành cho nhân viên quản lý và cổng thông tin trực tuyến (Website ASP.NET) phục vụ thành viên tra cứu, đặt trước từ xa.

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

Đồ án được xây dựng dựa trên nền tảng phương pháp luận lập trình hướng đối tượng (Object-Oriented Programming - OOP), kết hợp với lý thuyết thiết kế cơ sở dữ liệu quan hệ (Relational Database). Mô hình hướng đối tượng cho phép cấu trúc hóa các thực thể nghiệp vụ thành các lớp đối tượng (Classes) độc lập, có tính đóng gói cao, thuận tiện cho việc bảo trì, mở rộng mã nguồn và phân tách logic xử lý.

Phương pháp thiết kế và phát triển phần mềm được triển khai qua các bước:

  • Phân tích yêu cầu nghiệp vụ: Thu thập, phân loại và đặc tả chi tiết các yêu cầu chức năng, phi chức năng của hệ thống đối với từng nhóm đối tượng người dùng.
  • Mô hình hóa dữ liệu: Sử dụng sơ đồ thực thể liên kết (Entity Relationship Diagram - ERD) theo các nguyên tắc chuẩn hóa dữ liệu nhằm giảm thiểu dư thừa thông tin, tối ưu hóa tốc độ truy xuất và đảm bảo tính toàn vẹn tham chiếu.
  • Chuyển đổi mức logic và vật lý: Ánh xạ các thực thể trong sơ đồ ERD thành các bảng dữ liệu cụ thể với kiểu dữ liệu tối ưu (như integer, varchar, enum, datetime, boolean) và thiết lập các ràng buộc khóa chính (Primary Key), khóa ngoại (Foreign Key) trên hệ quản trị cơ sở dữ liệu.
  • Hiện thực hóa giải pháp phần mềm: Lập trình giao diện người dùng trên WinForms và ASP.NET, kết nối với cơ sở dữ liệu tập trung và tích hợp các module chức năng chuyên biệt (nhập/xuất tệp bảng tính, gửi thư điện tử cảnh báo).

Nguồn dữ liệu của dự án bao gồm cấu trúc dữ liệu quan hệ được lưu trữ trên hệ quản trị MySQL, kết hợp khả năng nhập và xuất dữ liệu danh mục sách, thiết bị thông qua định dạng bảng tính Excel.

Thiết kế và triển khai

Hệ thống "Quản lý thư quán" được cấu trúc theo mô hình đa nền tảng, sử dụng ngôn ngữ lập trình C# kết hợp giữa ứng dụng desktop và ứng dụng web nhằm tối ưu hóa trải nghiệm người dùng theo từng vai trò nghiệp vụ.

+--------------------------------------------------------------------+
|                         KIẾN TRÚC HỆ THỐNG                         |
+------------------------------------+-------------------------------+
|  Ứng dụng Desktop (WinForms C#)    |  Ứng dụng Web (ASP.NET)       |
|  - Dành cho Quản trị viên/Nhân viên|  - Dành cho Thành viên từ xa  |
|  - Nghiệp vụ kho, mượn/trả, xử lý  |  - Tra cứu, đặt trước sách,   |
|    vi phạm, thống kê báo cáo       |    xem lịch sử và cảnh báo    |
+------------------------------------+-------------------------------+
                                  |
                                  v
+--------------------------------------------------------------------+
|                Cơ sở dữ liệu tập trung (MySQL)                     |
|  - Member, Books, Devices, Transactions, Reservation, Violation... |
+--------------------------------------------------------------------+

Kiến trúc công nghệ

  • Nền tảng Desktop (WinForms C#): Đóng vai trò là phân hệ quản trị nội bộ dành cho nhân viên và quản trị viên. Phân hệ này chịu trách nhiệm xử lý các tác vụ quản lý dữ liệu lớn, kiểm soát mượn/trả trực tiếp tại quầy, xuất/nhập tệp tin và thiết lập cấu hình hệ thống.
  • Nền tảng Web (ASP.NET): Đóng vai trò là cổng dịch vụ trực tuyến dành cho thành viên của thư quán, hỗ trợ người dùng truy cập từ xa thông qua trình duyệt web để tra cứu thông tin, quản lý lịch sử cá nhân và tạo yêu cầu đặt trước sản phẩm.
  • Hệ quản trị cơ sở dữ liệu (MySQL): Đóng vai trò lưu trữ tập trung toàn bộ dữ liệu người dùng, giao dịch, danh mục sản phẩm, lịch sử đăng nhập và các biên bản vi phạm.

Thiết kế cơ sở dữ liệu

Cơ sở dữ liệu được tổ chức thành các bảng liên kết chặt chẽ nhằm phản ánh đầy đủ chu trình hoạt động của thư quán:

Tên thực thể / Bảng Các thuộc tính chính Vai trò và mối quan hệ nghiệp vụ
Member FullName, Email, PhoneNumber, UserName, Password, RegistrationDate, UserType, Status Lưu trữ tài khoản người dùng; liên kết với giao dịch, đặt trước, vi phạm, thanh toán và lịch sử học tập.
Books BookTitle, PublishYear, fee_per_day, Quantity, Status Quản lý thông tin sách, phí mượn theo ngày; liên kết với bảng Authors và Categories.
Devices DeviceName, DeviceType, fee_per_hour Quản lý thông tin trang thiết bị cho mượn (laptop, máy chiếu...) và phí tính theo giờ.
Authors Mã tác giả, tên tác giả Quản lý thông tin tác giả sách; thiết lập quan hệ liên kết với bảng Books.
Categories Mã thể loại, tên thể loại Phân loại sách phục vụ việc tìm kiếm và lọc danh mục.
Transactions & TransactionItems TransactionType, TransactionDate, DueDate, ReturnDate, Status, BookID/DeviceID, Amount Ghi nhận chi tiết từng lượt mượn - trả sách/thiết bị, thời hạn và số lượng thực tế.
Reservation & ReservationItems StartTime, EndTime, Status, BookID/DeviceID Quản lý các yêu cầu đặt trước tài nguyên kèm khung thời gian nhận sản phẩm.
Violation & Rules FineAmount, Reason, ViolationDate, IsCompensationRequired, HandlingAction, Status, RuleTitle, Penalty, EffectiveDate Ghi nhận vi phạm, căn cứ theo danh mục quy định để áp mức phạt và biện pháp xử lý.
Payment Amount, Description, PaymentDate, Status Theo dõi thông tin thanh toán các khoản phí mượn hoặc tiền phạt vi phạm.
StudySession & LoginHistory SessionTime, LoginTime, LogoutTime Theo dõi thời gian học tập tại thư quán và lịch sử đăng nhập/đăng xuất của thành viên.

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

PHẦN 1: TỔNG QUAN VỀ ỨNG DỤNG VÀ ĐẶC TẢ YÊU CẦU

Chương này trình bày lý do hình thành đề tài, mục tiêu tổng quát và phạm vi triển khai của phần mềm "Quản Lý Thư Quán". Văn bản phân định rõ các yêu cầu chức năng trên hai nền tảng:

  • Chức năng ứng dụng WinForms: Bao gồm các phân hệ Quản lý sản phẩm (thêm, sửa, xóa, nhập/xuất Excel, cập nhật trạng thái); Quản lý giao dịch (ghi nhận mượn/trả, kiểm tra tình trạng kho, xử lý đặt trước, gửi cảnh báo quá hạn qua email); Quản lý thành viên (tra cứu, phân quyền, kiểm soát lượt ra vào); Quản lý quy định và vi phạm (ghi nhận lỗi, áp mức phạt, theo dõi thanh toán); Phân hệ báo cáo thống kê (thống kê tài nguyên hiện có, mượn/quá hạn, thành viên tích cực và lượt khách ra vào).
  • Chức năng ứng dụng Website: Bao gồm Đăng nhập/Đăng ký tài khoản (hỗ trợ lấy lại mật khẩu, chỉnh sửa hồ sơ); Đặt trước sản phẩm (kiểm tra tồn kho, chọn lịch hẹn, nhận thông báo); Xem lịch sử giao dịch (thông tin mượn/trả, hạn trả, cảnh báo phí phạt hoặc đề xuất gia hạn); Cảnh báo vi phạm (thông báo trả trễ, làm hỏng tài sản, lịch sử nộp phạt, cơ chế khóa tài khoản khi tái phạm nhiều lần).
  • Đặc tả giao diện bên ngoài: Mô tả chi tiết cấu trúc các màn hình giao diện từ trang đăng nhập, trang chủ, màn hình quản lý sách/thiết bị/tác giả/thể loại, cho đến các biểu mẫu tiếp nhận giao dịch và thống kê.

PHẦN 2: THIẾT KẾ DỰ ÁN

Chương này tập trung vào thiết kế kỹ thuật của hệ thống, bao gồm bố cục giao diện và mô hình cơ sở dữ liệu:

  • Thiết kế giao diện người dùng: Trình bày danh mục các giao diện quản trị trên WinForms (Form Quản lý sách, Thêm/sửa sách, Quản lý tác giả, Quản lý thể loại, Quản lý thiết bị, Quản lý thành viên, Quản lý quy định, Quản lý giao dịch, Quản lý vi phạm, Thống kê) và các trang web trên nền tảng ASP.NET (Đăng nhập, Đăng ký, Thông tin cá nhân, Trang chủ, Đặt trước sản phẩm, Thiết lập lịch hẹn).
  • Mô hình cơ sở dữ liệu ERD và mức Logic: Trình bày chi tiết sơ đồ thực thể liên kết chuẩn hóa, xác định mối quan hệ giữa 10 thực thể trọng tâm. Định nghĩa các kiểu dữ liệu cụ thể (integer, varchar, enum, datetime, boolean), cơ chế khóa ngoại và chuẩn hóa quan hệ 1:N, N:1 nhằm đảm bảo tính toàn vẹn dữ liệu khi triển khai trên MySQL.

PHẦN 3: BÁO CÁO VÀ KẾT QUẢ

Chương này phản ánh kết quả hiện thực hóa và các kịch bản thực thi trên giao diện phần mềm:

  • Quy trình đăng nhập và xác thực: Kiểm tra thông tin tài khoản nhân viên/quản trị viên, hiển thị thông báo lỗi khi thông tin không chính xác.
  • Quy trình quản lý danh mục sách và tác giả: Mô tả chi tiết từng bước thực thi (thêm, sửa, xóa, xác nhận hành động, phản hồi thông báo) cho dữ liệu sách và tác giả.
  • Quy trình quản lý thiết bị và thành viên: Cài đặt chức năng theo dõi số lượng tồn kho thiết bị và quy trình tạo mới, cập nhật hoặc xóa bỏ tài khoản người dùng không còn hoạt động.
  • Quy trình tiếp nhận giao dịch mượn - trả: Thực thi luồng đăng ký mượn sản phẩm mới (Borrow Product), tự động kiểm tra tồn kho, tính toán hạn trả và xử lý hoàn trả hoặc phạt vi phạm.

PHẦN 4: TỔNG KẾT

Phần tổng kết đánh giá mức độ hoàn thành của đồ án môn học, tổng hợp lại các phân hệ đã xây dựng thành công trên cả WinForms và Website ASP.NET, đồng thời khẳng định tính khả thi của giải pháp trong việc tự động hóa quản lý thư quán.

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

Đồ án đã xây dựng hoàn chỉnh giải pháp phần mềm "Quản lý thư quán" với các kết quả cụ thể:

Phân hệ / Nền tảng Chức năng đã hiện thực
WinForms (Desktop) - Hệ thống đăng nhập và phân quyền (Admin, Nhân viên).
- CRUD danh mục Sách, Thiết bị, Tác giả, Thể loại, Thành viên, Quy định.
- Nhập và xuất dữ liệu danh mục thông qua tệp Excel.
- Tiếp nhận giao dịch mượn/trả, cập nhật trạng thái kho theo thời gian thực.
- Xử lý đặt trước sản phẩm và gửi thư điện tử (email) cảnh báo tài nguyên quá hạn.
- Lập biên bản vi phạm, tính mức bồi thường/phạt tiền và quản lý thanh toán.
- Kết xuất báo cáo thống kê sách, thiết bị, lưu lượng thành viên ra vào.
ASP.NET (Website) - Cổng đăng ký, đăng nhập và tự cập nhật hồ sơ cá nhân cho thành viên.
- Tra cứu trực tuyến tình trạng tồn kho của sách và thiết bị.
- Đặt trước sản phẩm kèm thiết lập lịch hẹn đến nhận.
- Theo dõi chi tiết lịch sử mượn/trả và thời hạn hoàn trả.
- Tiếp nhận cảnh báo vi phạm, thông báo nộp phạt và trạng thái khóa tài khoản.

Về mặt giải pháp kỹ thuật, đồ án đã kết hợp kiến trúc hướng đối tượng (OOP) với mô hình cơ sở dữ liệu quan hệ MySQL được chuẩn hóa, giúp tách bạch rõ ràng giữa phân hệ quản trị vận hành nội bộ (WinForms) và phân hệ dịch vụ người dùng từ xa (ASP.NET). Việc tự động hóa tính phí, cảnh báo quá hạn qua email và hỗ trợ nhập/xuất bảng tính Excel giúp giảm thiểu đáng kể thời gian thao tác thủ công và nâng cao độ chính xác trong công tác quản lý tài sản thư quán.

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

Căn cứ theo nội dung báo cáo và phạm vi của đồ án môn học Ngôn ngữ lập trình C#:

  • Hạn chế: Đề tài được phát triển trong khuôn khổ môn học với kịch bản vận hành chủ yếu tập trung vào các quy trình nghiệp vụ cơ bản; việc xử lý thanh toán vi phạm và khóa/mở khóa tài khoản thành viên dựa trên các điều kiện phạt nội bộ mà chưa tích hợp các cổng thanh toán điện tử trực tuyến bên ngoài.
  • Hướng mở rộng: Mở rộng các phân hệ phân tích dữ liệu chuyên sâu hơn về hành vi đọc của thành viên, tối ưu hóa giao diện web trên nhiều thiết bị di động khác nhau và nâng cấp hệ thống thông báo đa kênh tự động.

Giá trị tham khảo

Báo cáo đồ án là tài liệu tham khảo phù hợp cho:

  • Sinh viên ngành Công nghệ Thông tin, Kỹ thuật Phần mềm đang thực hiện đồ án môn học liên quan đến lập trình C#, .NET, hoặc xây dựng ứng dụng quản lý cơ sở dữ liệu.
  • Người nghiên cứu có thể tham khảo trực tiếp cấu trúc thiết kế cơ sở dữ liệu quan hệ (ERD và mô hình Logic) của bài toán quản lý thư quán/thư viện với đầy đủ các thực thể từ quản lý sách, thiết bị, quy định cho đến xử lý vi phạm và lịch sử học tập.
  • Tham khảo mô hình kết hợp song song giữa ứng dụng desktop WinForms (phục vụ nhân viên quản lý) và ứng dụng web ASP.NET (phục vụ người dùng cuối) cùng kết nối vào một hệ cơ sở dữ liệu MySQL tập trung.

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

1. Đề tài "Quản lý thư quán" do những ai thực hiện và thuộc đơn vị đào tạo nào?

Đề tài do nhóm sinh viên gồm Quách Hữu Vinh, Nguyễn Trần Uyển Nhi, Bùi Lê Duy Thái, Phạm Công Thành, Kiều Tấn Tài và Thới Thanh Vương thực hiện dưới sự hướng dẫn của giảng viên Nguyễn Minh Cảnh, thuộc Khoa Công nghệ Thông tin - Trường Đại học Sài Gòn (báo cáo năm 2025).

2. Hệ thống sử dụng những công nghệ và nền tảng nào để phát triển?

Hệ thống được lập trình theo mô hình hướng đối tượng (OOP) trên ngôn ngữ C#, sử dụng WinForms cho ứng dụng quản trị desktop, ASP.NET cho ứng dụng web người dùng, hệ quản trị cơ sở dữ liệu MySQL để lưu trữ tập trung, đồng thời hỗ trợ nhập/xuất tệp Excel và gửi thông báo qua email.

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

Cơ sở dữ liệu gồm 10 nhóm thực thể chính: Member (thành viên), Books (sách), Devices (thiết bị), Authors (tác giả), Categories (thể loại), Transactions & TransactionItems (giao dịch mượn/trả), Reservation & ReservationItems (đặt trước), Violation & Rules (vi phạm và quy định), Payment (thanh toán), cùng StudySession và LoginHistory (theo dõi thời gian học và đăng nhập).

4. Hệ thống phân chia quyền hạn giữa ứng dụng WinForms và Website như thế nào?

Ứng dụng WinForms dành riêng cho Quản trị viên (toàn quyền quản lý tài khoản nhân viên, cấu hình) và Nhân viên thư quán (quản lý kho sách/thiết bị, thực hiện giao dịch mượn/trả, lập biên bản vi phạm, xuất báo cáo). Ứng dụng Website dành cho Thành viên (tra cứu tài nguyên, đặt trước sản phẩm, xem lịch sử cá nhân, nhận cảnh báo vi phạm).

5. Quy trình xử lý vi phạm và chế tài đối với thành viên được thiết kế ra sao?

Khi thành viên trả sách/thiết bị trễ hạn hoặc làm hư hỏng, hệ thống WinForms sẽ ghi nhận vi phạm dựa trên bảng Rules, xác định mức tiền phạt (FineAmount) và yêu cầu bồi thường (IsCompensationRequired). Trên website, thành viên sẽ nhận được cảnh báo, lịch sử phạt và nếu tái phạm nhiều lần, tài khoản có thể bị khóa tạm thời hoặc vĩnh viễn cho đến khi hoàn thành điều kiện nộp phạt.

Kết luận

Báo cáo đồ án "Quản lý thư quán" của nhóm sinh viên Trường Đại học Sài Gòn đã giải quyết trọn vẹn bài toán số hóa nghiệp vụ thư quán thông qua giải pháp tích hợp WinForms C#, ASP.NET và MySQL. Hệ thống không chỉ đáp ứng đầy đủ các thao tác quản lý kho tài nguyên, mượn – trả và thống kê báo cáo nội bộ mà còn mở rộng cổng dịch vụ trực tuyến tiện ích cho người dùng tra cứu và đặt trước từ xa. Đây là công trình thực hành phần mềm có tính hoàn thiện cao, đóng góp cấu trúc thiết kế dữ liệu và quy trình nghiệp vụ rõ ràng cho các đề tài cùng định hướng.