Bối cảnh và vấn đề nghiên cứu
Trong hệ thống giáo dục và nghiên cứu học thuật, thư viện đóng vai trò trung tâm trong việc lưu trữ tri thức và cung cấp tài liệu cho người học. Nhóm tác giả Trần Anh Thắng, Nguyễn Phi Khang và Trương Công Tấn Phát (Nhóm PKTPASS) thuộc Khoa Công nghệ Phần mềm, Trường Đại học Công nghệ Thông tin – Đại học Quốc gia Thành phố Hồ Chí Minh đã thực hiện đồ án môn học Nhập môn Công nghệ Phần mềm với đề tài "Quản Lý Thư Viện" dưới sự hướng dẫn của ThS. Nguyễn Thị Thanh Trúc (tháng 06/2019).
Bối cảnh thực tiễn được đặt ra xuất phát từ sự gia tăng nhanh chóng về nhu cầu đọc sách và khối lượng tài liệu được lưu hành hàng ngày tại các đơn vị thư viện. Công tác quản trị truyền thống bằng phương pháp thủ công bộc lộ nhiều điểm nghẽn về tốc độ xử lý, độ chính xác trong ghi nhận luân chuyển sách và khả năng bảo mật thông tin. Do đó, việc xây dựng một phần mềm quản lý thư viện chuyên dụng là yêu cầu thiết yếu nhằm tin học hóa quy trình làm việc của thủ thư và tối ưu hóa hệ thống dữ liệu.
Mục tiêu nghiên cứu và phát triển hệ thống được văn bản xác định cụ thể qua 4 nhiệm vụ cốt lõi:
- Giảm thiểu khối lượng công việc thao tác thủ công của nhân viên thư viện.
- Nâng cao hiệu quả tổng thể trong công tác quản lý và kiểm soát lưu thông tài liệu.
- Bảo mật dữ liệu hệ thống và tiết kiệm thời gian xử lý các nghiệp vụ thư viện.
- Xây dựng công cụ hỗ trợ cán bộ quản lý điều hành hoạt động thư viện thuận tiện và chuẩn xác.
Hệ thống đặt ra 4 yêu cầu kỹ thuật và vận hành chính:
- Giao diện và bố cục sắp xếp hợp lý, rõ ràng, tiện lợi cho việc tương tác và quản lý.
- Khả năng lưu trữ khối lượng lớn thông tin về độc giả, sách, tác giả và thể loại.
- Cho phép bộ phận quản trị điều chỉnh, cập nhật linh hoạt các thông số và quy định nghiệp vụ.
- Cập nhật liên tục các biến động dữ liệu mượn, trả và trạng thái sách trong hệ thống.
Đối tượng người dùng (User) của phần mềm được phân định gồm hai nhóm chính: cán bộ có nhiệm vụ quản lý thông tin (quản trị viên, thủ thư) và độc giả tra cứu, sử dụng dịch vụ thư viện. Phạm vi nghiên cứu tập trung vào quy trình nghiệp vụ lưu thông sách, quản lý độc giả và xử lý vi phạm trong phạm vi thư viện trường học hoặc cơ sở đào tạo.
Cơ sở lý thuyết và phương pháp
Đồ án áp dụng quy trình kỹ thuật phần mềm chuẩn mực từ khâu thu thập, phân loại yêu cầu, mô hình hóa luồng dữ liệu đến thiết kế hệ thống theo kiến trúc hướng đối tượng và cơ sở dữ liệu quan hệ.
Khung phương pháp mô hình hóa và phân tích yêu cầu
- Phân loại yêu cầu phần mềm: Tiếp cận phân loại yêu cầu chức năng thông qua danh sách biểu mẫu (BM1 đến BM8) và quy định nghiệp vụ tương ứng (QĐ1 đến QĐ8); phân tích yêu cầu phi chức năng bao gồm tính tiến hóa, hiệu quả vận hành, tính tiện dụng, khả năng tương thích, an toàn và bảo mật dữ liệu.
- Mô hình hóa luồng dữ liệu (Data Flow Diagram - DFD): Phân tích chi tiết dòng thông tin từ dữ liệu đầu vào ($D_1$), dữ liệu trung gian ($D_3, D_4$) đến kết quả đầu ra ($D_5, D_6$) và các bước giải thuật xử lý tuần tự cho từng ca sử dụng.
- Phương pháp thiết kế dữ liệu logic 2 bước: Tiếp cận thiết kế dữ liệu theo hai tiêu chí độc lập:
- Thiết kế dữ liệu đảm bảo tính đúng đắn: Xác định các thực thể và thuộc tính cốt lõi phục vụ trực tiếp cho biểu mẫu nghiệp vụ.
- Thiết kế dữ liệu đảm bảo tính tiến hóa: Bổ sung các tham số biến động để hệ thống có khả năng thích ứng khi quy định nghiệp vụ thay đổi mà không cần tái cấu trúc bảng dữ liệu.
Nền tảng công nghệ và môi trường thực nghiệm
- Kiến trúc phần mềm: Kiến trúc 3 lớp phân tách rõ ràng (3-Tier Architecture): Lớp trình diễn (Presentation Layer - GUI), Lớp xử lý nghiệp vụ (Business Logic Layer - BUS) và Lớp truy xuất dữ liệu (Data Access Layer - DAO), kết hợp đối tượng chuyển giao dữ liệu (Data Transfer Object - DTO).
- Mô hình ánh xạ dữ liệu: Sử dụng công nghệ Object-Relational Mapping (ORM) Entity Framework thông qua tệp cấu hình
model.edmx để đồng bộ cơ sở dữ liệu quan hệ với các lớp thực thể trong mã nguồn C# (.NET).
- Tương thích ngoại vi: Hỗ trợ nhập danh sách độc giả từ tập tin Microsoft Excel và xuất dữ liệu danh sách sang phần mềm WinFax độc lập phiên bản.
- Môi trường phần cứng định chuẩn: Hệ thống được xác định cấu hình kiểm thử tiêu chuẩn trên nền tảng máy tính CPU Intel Pentium III 533 MHz, bộ nhớ RAM 128 MB và dung lượng đĩa cứng 10 GB.
Thiết kế và triển khai
Kiến trúc hệ thống 3 lớp (3-Tier Architecture)
Phần mềm tổ chức cấu trúc phân tầng nghiêm ngặt nhằm đảm bảo tính toàn vẹn dữ liệu, khả năng bảo trì và mở rộng hệ thống:
[ Presentation Layer (GUI Forms) ]
↕ (DTO)
[ Business Logic Layer (BUS) ]
↕ (DTO)
[ Data Access Layer (DAO) ]
↕ (Entity Framework)
[ Database / Storage ]
- Lớp trình diễn (Presentation Layer - GUI): Thực hiện giao tiếp trực tiếp với người dùng, thu thập dữ liệu đầu vào từ biểu mẫu và trình bày kết quả xử lý. Gồm các thư mục chức năng
HelpGUI, Resource, fileReport (chứa ReportBCTKTraTre, ReportMuonTL) và 22 màn hình giao diện: frmLogin, frmMain, frmADMIN, frmDocGia, frmThemDocGia, frmLoaiDocGia, frmThemLoaiDocGia, frmSach, frmThemSach, frmTacGia, frmThemTacGia, frmTheLoai, frmThemTheLoai, frmChiTietPM, frmThemPhieuMuon, frmThemTraSach, frmDSPhieuPhat, frmBCTKSachMuonTL, frmBCTKTraTre, frmThayDoiQuyDinh, frmTTCaNhan, frmTTMuonSach, frmTTTraSach.
- Lớp xử lý nghiệp vụ (Business Logic Layer - BUS): Tiếp nhận yêu cầu từ GUI, thực hiện kiểm tra ràng buộc, tính toán nghiệp vụ, thẩm định các quy định $QĐ_1 \rightarrow QĐ_8$. Nếu cần truy vấn dữ liệu, BUS chuyển yêu cầu xuống DAO; đồng thời đảm nhiệm bắt lỗi ngoại lệ từ tầng dưới để chuyển tiếp cảnh báo lên GUI. Lớp BUS gồm 22 lớp xử lý:
ACCOUNTBUS, ADMINBUS, BCTKMUONSACHBUS, BCTKTRATREBUS, CHITIETPHANQUYENBUS, CHITIETPHIEUMUONBUS, CHITIETPHIEUTRABUS, CHITIETSACHBUS, CTBCTKMUONSACHBUS, CTBCTKTRATREBUS, CTPHIEUMUONBUS, DOCGIABUS, DSPHIEUPHATBUS, LOAIDOCGIABUS, PERMISSIONBUS, PHIEUMUONSACHBUS, SACHBUS, THAMSOBUS, THELOAIBUS, TACGIABUS, TINHTRANGBUS, TTDOCGIABUS.
- Lớp truy xuất dữ liệu (Data Access Layer - DAO): Chịu trách nhiệm trực tiếp trong việc thực thi các câu lệnh truy vấn, đọc, ghi, cập nhật và xóa dữ liệu trong cơ sở dữ liệu quan hệ, gồm 22 lớp DAO tương ứng với BUS (
ACCOUNTDAO, ADMINDAO, DOCGIADAO, SACHDAO, THAMSODAO,...).
- Đối tượng truyền dữ liệu (Data Transfer Object - DTO): Vận chuyển dữ liệu xuyên suốt qua các tầng. DTO bao gồm các lớp tự sinh từ Entity Framework (
ACCOUNT, ADMIN, DOCGIA, SACH, PHIEUMUONSACH, PHIEUTRASACH, PHIEUTHUTIENPHAT, THAMSO...) và các lớp DTO tùy biến phục vụ hiển thị chi tiết: TTDOCGIADTO, CHITIETPHIEUMUONDTO, CHITIETPHIEUTRADTO, CHITIETSACHDTO.
Cấu trúc cơ sở dữ liệu quan hệ
Hệ thống thiết kế 19 bảng dữ liệu quan hệ với các trường khóa chính, kiểu dữ liệu và ràng buộc toàn vẹn:
| STT |
Tên bảng dữ liệu |
Diễn giải chức năng |
Các trường thuộc tính chính |
| 1 |
DOCGIA |
Lưu trữ thông tin độc giả |
MaDocGia (PK), HoTen, NgaySinh, DiaChi, Email, NgayLapThe, NgayHetHan, MaLoaiDocGia, IDAccount, SDT, TongNo |
| 2 |
LOAIDOCGIA |
Danh mục loại độc giả |
MaLoaiDocGia (PK), TenLoaiDocGia |
| 3 |
SACH |
Lưu trữ thông tin sách |
MaSach (PK), TenSach, MaTheLoai, NamXuatBan, NhaXuatBan, MaTacGia, NgayNhap, TriGia, MaTinhTrang |
| 4 |
THELOAI |
Danh mục thể loại sách |
MaTheLoai (PK), TenTheLoai |
| 5 |
TACGIA |
Danh mục tác giả |
MaTacGia (PK), TenTacGia |
| 6 |
BCTKMUONSACH |
Báo cáo mượn sách theo tháng |
MaBCTKMuonSach (PK), Thang, TongSoLuotMuon |
| 7 |
CTBCTKMUONSACH |
Chi tiết thống kê mượn sách |
MaBCTKMuonSach (PK), MaTheLoai (PK), SoLuotMuon, TiLe |
| 8 |
BCTKTRATRE |
Báo cáo danh sách trả trễ |
MaBCTKTraTre (PK), Ngay |
| 9 |
CTBCTKTRATRE |
Chi tiết sách trả quá hạn |
MaBCTKTraTre (PK), MaPhieuMS (PK), MaSach (PK), SoNgayTra |
| 10 |
PHIEUMUONSACH |
Thông tin phiếu mượn sách |
MaPhieuMS (PK), MaDocGia, NgayMuon |
| 11 |
CTPHIEUMUON |
Chi tiết các cuốn sách mượn |
MaPhieuMS (PK), MaSach (PK), HanTra, TinhTrangMuon |
| 12 |
PHIEUTRASACH |
Thông tin phiếu nhận trả sách |
MaPhieuTra (PK), MaDocGia, NgayTra, TienPhatKyNay |
| 13 |
PHIEUTHUTIENPHAT |
Phiếu thu tiền phạt độc giả |
MaPhieuThuTP (PK), MaDocGia, TongNo, SoTienThu, NgayThu, ConLai |
| 14 |
THAMSO |
Bảng tham số thay đổi quy định |
MaThamSo (PK), TuoiToiDa, TuoiToiThieu, HanSuDungThe, KhoangCachXB, SoSachMuonMAX, SoNgayMuonMAX, TienPhatMotNgay |
| 15 |
TINHTRANG |
Trạng thái vật lý/lưu hành sách |
MaTinhTrang (PK), TenTinhTrang |
| 16 |
ACCOUNT |
Tài khoản đăng nhập hệ thống |
IDAccount (PK), PasswordAccount, TypeOfAccount |
| 17 |
ADMIN |
Thông tin cá nhân quản trị viên |
IDAdmin (PK), IDAccount, NameAdmin, Birthday, Address, Email, NumberPhone |
| 18 |
PERMISSION |
Danh mục quyền hạn |
IDAPer (PK), NamePer, CodeAction, Description |
| 19 |
CHITIETPHANQUYEN |
Bảng phân quyền tài khoản |
IDAccount (PK), IDPer (PK), Suspended |
Nội dung chính theo từng chương
CHƯƠNG 1: TỔNG QUAN
Chương 1 khái quát tính cấp thiết của việc tự động hóa quản lý thư viện trong bối cảnh khối lượng sách và bạn đọc tăng cao. Chương này xác định rõ mục đích xây dựng công cụ giảm thiểu thao tác thủ công, tiết kiệm thời gian, tăng cường bảo mật và đưa ra các yêu cầu nền tảng về khả năng lưu trữ, cập nhật dữ liệu liên tục cùng việc phân định nhóm đối tượng sử dụng hệ thống.
CHƯƠNG 2: XÁC ĐỊNH MÔ HÌNH HÓA YÊU CẦU PHẦN MỀM
Chương 2 trình bày chi tiết danh mục 8 yêu cầu nghiệp vụ kèm hệ thống biểu mẫu và quy định chặt chẽ:
- BM1 & QĐ1 (Lập thẻ độc giả): Tiếp nhận thông tin độc giả gồm 2 loại (X, Y). Quy định độ tuổi độc giả từ 18 đến 55 tuổi; thời hạn giá trị của thẻ độc giả là 6 tháng.
- BM2 & QĐ2 (Tiếp nhận sách mới): Ghi nhận tên sách, tác giả, nhà xuất bản, năm xuất bản, ngày nhập, trị giá. Chỉ tiếp nhận các ấn bản được xuất bản trong vòng 8 năm trở lại.
- BM3 (Tra cứu sách): Cung cấp bảng dữ liệu tìm kiếm sách theo mã, tên sách, thể loại, tác giả, trạng thái mượn/rảnh.
- BM4 & QĐ4 (Cho mượn sách): Phiếu mượn lập cho độc giả có thẻ còn hạn, không có sách mượn quá hạn và sách chưa có người mượn. Mỗi độc giả được mượn tối đa 5 quyển sách với thời gian mượn tối đa 4 ngày.
- BM5 & QĐ5 (Nhận trả sách): Ghi nhận thông tin sách trả, ngày mượn, số ngày mượn; tính tiền phạt trả trễ theo đơn giá cố định cho mỗi ngày quá hạn.
- BM6 & QĐ6 (Lập phiếu thu tiền phạt): Ghi nhận họ tên, tổng nợ, số tiền thu và số tiền còn lại. Quy định số tiền thu không được vượt quá số tiền độc giả đang nợ.
- BM7.1 & BM7.2 (Lập báo cáo): Báo cáo thống kê tình hình mượn sách theo thể loại trong tháng (số lượt mượn, tỷ lệ) và báo cáo thống kê danh sách sách trả trễ theo ngày.
- QĐ8 (Thay đổi quy định): Cho phép người quản trị tùy chỉnh linh hoạt các tham số: độ tuổi min/max, thời hạn thẻ (QĐ1); số lượng/tên thể loại, khoảng cách năm xuất bản (QĐ2); số sách mượn tối đa, số ngày mượn tối đa (QĐ4); mức tiền phạt một ngày trễ (QĐ5).
Chương 2 cũng xác lập các bảng yêu cầu phi chức năng:
- Yêu cầu tiến hóa: Bảng tham số và bảng trách nhiệm tương ứng của người dùng và phần mềm khi thay đổi quy định.
- Yêu cầu hiệu quả: Đạt tốc độ xử lý lập thẻ 200 thẻ/giờ; tra cứu toàn bộ danh mục sách trong vòng 2 giờ; nghiệp vụ nhập sách và thay đổi quy định phản hồi tức thì trên cấu hình phần cứng Pentium III 533 MHz, RAM 128MB.
- Yêu cầu tiện dụng: Tiếp nhận độc giả cần tối đa 7 phút hướng dẫn; tiếp nhận sách và đổi quy định cần 5 phút hướng dẫn; chức năng tra cứu sách thiết kế để người dùng không cần hướng dẫn vẫn sử dụng được.
- Yêu cầu tương thích: Tiếp nhận dữ liệu từ file Excel và xuất dữ liệu ra phần mềm WinFax độc lập phiên bản.
- Yêu cầu bảo mật: Phân chia ma trận quyền hạn giữa Quản trị hệ thống (Admin) và Thủ thư; chức năng phân quyền chỉ dành riêng cho Admin; thủ thư thực hiện lập thẻ, nhập sách; cả hai nhóm đều có quyền tra cứu và đổi quy định.
- Yêu cầu an toàn: Cung cấp chức năng phục hồi thông tin sách đã xóa tạm thời, chức năng hủy thật sự và ràng buộc không cho phép xóa trực tiếp sách sau khi vừa nhập.
CHƯƠNG 3: MÔ HÌNH HÓA
Chương 3 xây dựng sơ đồ luồng dữ liệu (DFD) chi tiết cho 6 ca sử dụng trọng tâm:
- Lập thẻ độc giả: Dòng dữ liệu $D_1$ (thông tin cá nhân) được đối soát với $D_3$ (danh sách loại độc giả, tuổi tối thiểu/tối đa, thời hạn thẻ); tính toán ngày hết hạn, lưu dữ liệu $D_4$ xuống bộ nhớ phụ và trả kết quả $D_6$ qua 14 bước xử lý logic.
- Tiếp nhận sách mới: Tiếp nhận dữ liệu $D_1$, kiểm tra khoảng cách năm xuất bản hợp lệ theo quy định, lưu thông tin sách mới vào CSDL.
- Tra cứu sách: Tiếp nhận tiêu chuẩn tìm kiếm (mã sách, tên sách, thể loại, tác giả, năm XB, số lượt mượn); lọc dữ liệu và xuất danh sách sách thỏa mãn cùng trạng thái mượn.
- Mượn sách: Kiểm tra 4 điều kiện ràng buộc: thẻ còn hạn ($NgayMuon < NgayHetHan$), số lượng mượn hợp lệ ($SoSachMuon + SoSachDangMuon \le 5$), không nợ sách quá hạn ($SoSachTraTre = 0$), sách ở trạng thái rảnh; cập nhật trạng thái sách và số lượng mượn của độc giả.
- Trả sách: Kiểm tra khớp mã sách mượn, cập nhật trạng thái đã trả và ghi nhận số ngày quá hạn để tính tiền phạt nếu có.
- Thay đổi quy định: Tiếp nhận thông số mới, kiểm tra tính hợp lệ và ghi đè giá trị tham số mới vào bảng tham số hệ thống.
CHƯƠNG 4: THIẾT KẾ HỆ THỐNG
Trình bày chi tiết kiến trúc phân tầng 3 lớp (GUI, BUS, DAO) và cách thức vận hành luân chuyển dữ liệu thông qua DTO. Chương này liệt kê danh mục đầy đủ 22 lớp BUS, 22 lớp DAO và 19 thực thể DTO từ Entity Framework cùng 4 DTO mở rộng, định nghĩa luồng dữ liệu hai chiều và cơ chế bẫy lỗi tuần tự giữa các tầng.
CHƯƠNG 5: THIẾT KẾ DỮ LIỆU
Chương 5 hiện thực hóa thuật toán lập sơ đồ logic dữ liệu qua 8 bước phân tích từ yêu cầu 1 đến yêu cầu 8 theo phương pháp kép (tính đúng đắn và tính tiến hóa). Cung cấp toàn bộ đặc tả chi tiết 19 bảng cơ sở dữ liệu quan hệ, quy định rõ tên thuộc tính, kiểu dữ liệu kỹ thuật (Varchar(50), Nvarchar(100), Nvarchar(200), Date, Datetime, Int, Decimal(18,0), Float, Bit) và xác lập các thuộc tính khóa chính.
CHƯƠNG 6: THIẾT KẾ GIAO DIỆN
Trình bày sơ đồ liên kết điều hướng giữa các màn hình, danh sách hệ thống form giao diện người dùng và mô tả chi tiết các phần tử điều khiển trên từng màn hình chức năng: đăng nhập, phân quyền, quản lý danh mục, lập phiếu nghiệp vụ và kết xuất biểu mẫu báo cáo.
CHƯƠNG 7: CÀI ĐẶT VÀ KIỂM THỬ
Tổng hợp danh sách các chức năng phần mềm đã được cài đặt và đánh giá mức độ hoàn thành các chức năng nghiệp vụ, kiểm tra tính tương thích dữ liệu và kiểm thử sự chính xác của các ràng buộc logic.
CHƯƠNG 8: NHẬN XÉT VÀ KẾT LUẬN
Đưa ra các đánh giá tổng quan về kết quả đạt được của đồ án so với mục tiêu ban đầu và đề xuất các hướng phát triển hoàn thiện ứng dụng trong tương lai.
CHƯƠNG 9: TÀI LIỆU THAM KHẢO & CHƯƠNG 10: BẢNG PHÂN CÔNG CÔNG VIỆC
Liệt kê các tài liệu kỹ thuật, giáo trình môn học làm cơ sở tham chiếu và bảng phân bổ chi tiết trách nhiệm, tỷ lệ đóng góp của từng thành viên trong nhóm PKTPASS.
Kết quả và đóng góp
Kết quả kỹ thuật đạt được
Đồ án đã hiện thực hóa đầy đủ quy trình kỹ thuật phần mềm cho hệ thống quản lý thư viện với các chỉ số kỹ thuật và nghiệp vụ cụ thể:
- Chuẩn hóa thành công 8 bộ biểu mẫu và quy định nghiệp vụ thư viện ($BM_1/QĐ_1 \rightarrow BM_8/QĐ_8$).
- Xây dựng hoàn chỉnh mô hình cơ sở dữ liệu quan hệ gồm 19 bảng thực thể được chuẩn hóa.
- Phân rã và triển khai hệ thống mã nguồn theo mô hình 3 lớp tách biệt gồm 22 lớp GUI, 22 lớp BUS, 22 lớp DAO và hệ thống thực thể DTO tương ứng kết hợp Entity Framework.
- Thiết lập định mức hiệu năng: Tốc độ xử lý lập thẻ 200 thẻ/giờ, thời gian quét tra cứu toàn bộ cơ sở dữ liệu sách tối đa 2 giờ trên phần cứng định chuẩn Pentium III 533 MHz / RAM 128MB.
- Đảm bảo tính tiện dụng cao với thời gian tiếp nhận hướng dẫn nghiệp vụ chỉ từ 5 đến 7 phút.
Đóng góp kỹ thuật của đề tài
- Cơ chế tham số hóa quy định (Tính tiến hóa): Tách biệt các quy tắc nghiệp vụ dễ biến động (độ tuổi, số lượng mượn, hạn mượn, đơn giá phạt) ra khỏi mã nguồn cứng và lưu trữ tập trung tại bảng
THAMSO. Điều này cho phép người quản trị thay đổi chính sách thư viện thông qua giao diện frmThayDoiQuyDinh mà không làm phá vỡ cấu trúc dữ liệu hoặc phải biên dịch lại ứng dụng.
- Tính an toàn trong quản lý dữ liệu sách: Ứng dụng cơ chế xóa mềm kết hợp phục hồi dữ liệu (
Phục hồi / Hủy thật sự), ngăn ngừa triệt để tình trạng mất dữ liệu do thao tác xóa nhầm của thủ thư.
- Mô hình kiến trúc chuẩn mực: Cung cấp mẫu phân rã hệ thống 3-Tier kết hợp Entity Framework rõ ràng, giải quyết triệt để vấn đề phụ thuộc mã nguồn và tối ưu hóa quy trình bảo trì phần mềm.
Hạn chế và hướng nghiên cứu tiếp
Hạn chế của đồ án
- Phần mềm được thiết kế và kiểm thử trên môi trường ứng dụng Desktop truyền thống, chưa hỗ trợ giao diện nền tảng Web hoặc thiết bị di động.
- Cấu hình thử nghiệm và chỉ số hiệu năng được định chuẩn trên hệ thống phần cứng đời cũ (Pentium III, RAM 128MB).
- Các định dạng tương thích ngoại vi còn hạn chế ở tập tin Excel và phần mềm gửi fax (WinFax).
Hướng phát triển
- Mở rộng phần mềm lên nền tảng Web và ứng dụng di động để độc giả có thể trực tiếp tra cứu và đặt mượn sách trực tuyến.
- Bổ sung các phân hệ thống kê nâng cao, tích hợp công nghệ mã vạch (Barcode) hoặc RFID trong quản lý lưu thông sách.
- Nâng cấp hệ thống phân quyền chi tiết hơn và tối ưu hóa cơ chế bảo mật trên đường truyền dữ liệu.
Giá trị tham khảo
Đồ án là tài liệu tham khảo thực tế và chuẩn mực dành cho sinh viên chuyên ngành Công nghệ Phần mềm, Kỹ thuật Phần mềm và Hệ thống Thông tin khi thực hiện đồ án môn học Nhập môn Công nghệ Phần mềm hoặc các đồ án cơ sở ngành:
- Phương pháp luận thiết kế dữ liệu: Sinh viên có thể tham khảo phương pháp thiết kế dữ liệu 2 bước (tính đúng đắn và tính tiến hóa) tại Chương 5 để áp dụng giải quyết bài toán biến động yêu cầu phần mềm.
- Mẫu phân rã kiến trúc 3 lớp: Cung cấp khung tham chiếu đầy đủ về cách tổ chức tầng GUI - BUS - DAO - DTO và kết nối cơ sở dữ liệu quan hệ qua Entity Framework.
- Quy chuẩn tài liệu hóa phần mềm: Cung cấp cấu trúc biểu mẫu, quy định nghiệp vụ, sơ đồ luồng dữ liệu DFD và ma trận phân quyền hoàn chỉnh theo đúng chuẩn đào tạo của Trường Đại học Công nghệ Thông tin – ĐHQG-HCM.
Câu hỏi thường gặp
1. Phần mềm quy định độ tuổi độc giả và thời hạn của thẻ độc giả như thế nào?
Theo quy định $QĐ_1$ thuộc Biểu mẫu 1 (BM1), độc giả được cấp thẻ phải có độ tuổi từ 18 đến 55 tuổi. Độc giả được phân thành 2 loại (X và Y). Thẻ độc giả sau khi lập có thời hạn giá trị sử dụng là 6 tháng.
2. Điều kiện để một độc giả được phép mượn sách trong hệ thống là gì?
Theo quy định $QĐ_4$ (BM4), độc giả được mượn sách khi thỏa mãn đồng thời 4 điều kiện: thẻ độc giả còn hạn sử dụng ($NgayMuon < NgayHetHan$); không có sách đang mượn bị quá hạn ($SoSachTraTre = 0$); sách yêu cầu mượn hiện đang ở trạng thái rảnh (chưa có người khác mượn); và tổng số sách mượn không vượt quá 5 quyển với thời gian mượn tối đa là 4 ngày.
3. Quy định về việc tiếp nhận sách mới được thiết lập ra sao?
Theo quy định $QĐ_2$ (BM2), thư viện chỉ tiếp nhận các đầu sách có năm xuất bản trong khoảng cách 8 năm trở lại so với thời điểm nhập sách. Các thông tin bắt buộc thu thập gồm: Tên sách, Thể loại, Tác giả, Năm xuất bản, Nhà xuất bản, Ngày nhập và Trị giá quyển sách.
4. Hệ thống được tổ chức theo kiến trúc nào và gồm những thành phần cụ thể nào?
Hệ thống được thiết kế theo kiến trúc 3 lớp (3-Tier Architecture) gồm: Lớp trình diễn (Presentation Layer / GUI - 22 form giao diện), Lớp xử lý nghiệp vụ (Business Logic Layer / BUS - 22 lớp nghiệp vụ) và Lớp truy xuất dữ liệu (Data Access Layer / DAO - 22 lớp truy xuất). Dữ liệu được luân chuyển giữa các tầng thông qua đối tượng chuyển giao dữ liệu (DTO) gồm 19 bảng thực thể tạo từ Entity Framework (model.edmx) và 4 lớp DTO tùy biến.
5. Người quản trị có thể thay đổi những quy định nghiệp vụ nào trong phần mềm?
Theo quy định $QĐ_8$ và bảng THAMSO, người quản trị có thể thay đổi: độ tuổi tối thiểu, độ tuổi tối đa, thời hạn giá trị của thẻ (QĐ1); số lượng và tên các thể loại sách, khoảng cách năm xuất bản hợp lệ (QĐ2); số lượng sách mượn tối đa và số ngày mượn tối đa (QĐ4); cùng mức tiền phạt khi trả trễ một ngày (QĐ5).
Kết luận
Đồ án môn học "Quản Lý Thư Viện" của nhóm tác giả Trần Anh Thắng, Nguyễn Phi Khang và Trương Công Tấn Phát đã giải quyết hoàn chỉnh bài toán tin học hóa công tác quản trị thư viện theo quy trình kỹ thuật phần mềm tiêu chuẩn. Hệ thống được mô hình hóa chi tiết từ 8 bộ yêu cầu nghiệp vụ, hiện thực hóa trên kiến trúc 3 lớp (GUI - BUS - DAO - DTO) và cơ sở dữ liệu quan hệ 19 bảng với công nghệ Entity Framework. Điểm nổi bật của công trình là giải pháp tham số hóa các quy định nghiệp vụ, mang lại tính tiến hóa cao và khả năng thích ứng linh hoạt trước sự thay đổi chính sách quản lý thư viện trong thực tiễn.