Giới thiệu dự án
Công tác quản lý tài nguyên thông tin và thư viện đóng vai trò nòng cốt trong việc nâng cao chất lượng đào tạo và nghiên cứu khoa học tại các cơ sở giáo dục đại học. Theo thống kê ngành thư viện đại học tại Việt Nam, các trường quy mô trung bình đến lớn phải quản lý từ 100.000 đến hơn 500.000 đầu sách, tài liệu chuyên ngành cùng hàng chục nghìn lượt sinh viên, giảng viên lưu thông mỗi học kỳ. Tại Trường Đại học Tài nguyên và Môi trường Hà Nội (HUNRE), Trung tâm Thư viện và Công nghệ Thông tin chịu trách nhiệm toàn bộ hoạt động lưu chuyển, kiểm kê, bổ sung và phục vụ nhu cầu bạn đọc.
Tuy nhiên, việc duy trì các phương thức quản lý bán thủ công hoặc dựa trên các tệp bảng tính rời rạc đã bộc lộ nhiều điểm nghẽn nghiêm trọng:
- Thời gian xử lý giao dịch kéo dài: Thủ thư phải đối chiếu thẻ sinh viên, tra cứu vị trí kho và ghi phiếu thủ công, mất trung bình 7–10 phút cho mỗi lượt mượn/trả.
- Sai lệch tồn kho và thất thoát tài liệu: Tỷ lệ chênh lệch dữ liệu kho thực tế và sổ sách lên đến 5–8% mỗi năm do không kiểm soát được trạng thái tài liệu theo thời gian thực.
- Khó khăn trong kiểm soát quá hạn và xử phạt: Việc phát hiện độc giả trễ hạn, tính phí phạt hoặc kiểm tra giới hạn số lần gia hạn (tối đa 3 lần) phụ thuộc hoàn toàn vào trí nhớ và ghi chép thủ công của thủ thư.
- Báo cáo thống kê chậm trễ: Ban quản lý mất từ 3–5 ngày làm việc để tổng hợp số liệu lưu thông, phân loại chủ đề mượn nhiều/ít phục vụ công tác tái lập dự toán mua sách mới.
+-------------------------------------------------------------------------------+
| HIỆN TRẠNG VẬN HÀNH |
| |
| [ Độc giả ] ---> ( Ghi phiếu mượn tay ) ---> [ Thủ thư tra sổ/Excel ] |
| | |
| v |
| [ Tồn đọng báo cáo ] <--- [ Dữ liệu phân mảnh ] <--- ( Xử lý chậm trễ ) |
+-------------------------------------------------------------------------------+
Mục tiêu của dự án
- Chuẩn hóa quy trình nghiệp vụ: Tin học hóa toàn diện quy trình tiếp nhận, phân loại, lưu trữ, mượn/trả và gia hạn tài liệu tại Phòng Đọc – Mượn.
- Thiết kế và tối ưu Cơ sở Dữ liệu (CSDL): Xây dựng CSDL quan hệ chuẩn hóa 3NF trên hệ quản trị Microsoft SQL Server, đảm bảo toàn vẹn dữ liệu và triệt tiêu dư thừa.
- Phát triển phần mềm nghiệp vụ chuyên dụng: Xây dựng ứng dụng Desktop giao diện đồ họa trực quan (GUI) bằng ngôn ngữ C# trên nền tảng .NET Framework theo mô hình kiến trúc phân tầng (Multi-tier Architecture).
- Tự động hóa báo cáo và phân quyền: Cung cấp hệ thống phân quyền chặt chẽ (Admin – Thủ thư) và module báo cáo thống kê đa chiều theo thời gian thực.
Phương pháp tiếp cận và kết quả kỳ vọng
Đề tài áp dụng phương pháp nghiên cứu hướng đối tượng kết hợp kỹ thuật phân tích thiết kế hệ thống theo chuẩn UML (Unified Modeling Language). Phần mềm được xây dựng với mục tiêu:
- Rút ngắn thời gian xử lý mượn/trả xuống < 30 giây/giao dịch (giảm > 90% thời gian chờ).
- Đảm bảo độ chính xác dữ liệu tồn kho đạt 100%.
- Thời gian truy xuất dữ liệu báo cáo thống kê đạt < 2 giây.
Phạm vi và giới hạn: Dự án tập trung giải quyết bài toán quản lý lưu thông tài liệu nội bộ qua mạng Cục bộ (LAN) tại Trung tâm Thư viện và CNTT của Trường ĐHTN&MTHN; chưa mở rộng cổng tra cứu trực tuyến bên ngoài Internet (Web OPAC) và chưa tích hợp cổng từ an ninh tự động RFID.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
Qua khảo sát thực tế tại thư viện Trường ĐHTN&MTHN, các giải pháp quản lý thư viện hiện nay được phân tích và so sánh:
| Tiêu chí đánh giá |
Sổ tay / Bảng tính Excel |
Hệ thống mã nguồn mở (Koha) |
Phần mềm C#/SQL Server (Đề tài) |
| Chi phí triển khai |
Rất thấp (có sẵn) |
Cao (chi phí cấu hình server/Linux) |
Tối ưu (tận dụng hạ tầng Windows) |
| Độ phức tạp vận hành |
Đơn giản nhưng dễ sai sót |
Rất cao, đòi hỏi đào tạo chuyên sâu |
Thân thiện, trực quan, phù hợp thủ thư |
| Kiểm soát dữ liệu tập trung |
Không (phân mảnh theo file) |
Có (CSDL tập trung) |
Có (MS SQL Server chuẩn hóa) |
| Thời gian xử lý giao dịch |
7–10 phút/lượt |
1–2 phút/lượt |
15–30 giây/lượt |
| Khả năng tùy biến nghiệp vụ |
Kém |
Khó khăn do cấu trúc module phức tạp |
Rất cao (may đo theo chuẩn HUNRE) |
Ma trận phân loại yêu cầu người dùng (MoSCoW)
- Must Have (Bắt buộc): Quản lý xác thực đăng nhập; Quản lý danh mục (Tài liệu, Độc giả, Thủ thư, Nhà xuất bản, Tác giả, Chủ đề); Quản lý mượn/trả/gia hạn (ràng buộc tối đa 3 lần gia hạn); Báo cáo tài liệu mượn trả và danh sách quá hạn.
- Should Have (Nên có): Tìm kiếm đa tiêu chí (theo Mã tài liệu, Tên tài liệu, Tác giả, Chủ đề); Quét mã vạch tự động; Báo cáo phân loại tài liệu theo chủ đề.
- Could Have (Có thể có): Thống kê chi phí phạt trễ hạn; Xuất báo cáo ra định dạng Excel/PDF; Sao lưu và phục hồi dữ liệu tự động.
- Won't Have (Chưa thực hiện): Tích hợp cổng thanh toán trực tuyến; Tích hợp cổng nhận diện RFID tự động; Module mượn liên thư viện.
Thiết kế hệ thống
Hệ thống được thiết kế theo kiến trúc 3 lớp (3-Tier Architecture) giúp tách biệt rõ ràng giữa tầng giao diện, tầng xử lý logic nghiệp vụ và tầng truy xuất dữ liệu:
Technology Stack chi tiết
- Ngôn ngữ lập trình: C# (C-Sharp) phiên bản 9.0 trên nền tảng .NET Framework 4.8. Tận dụng triệt để các đặc tính hướng đối tượng: Đóng gói (Encapsulation), Kế thừa (Inheritance), và Đa hình (Polymorphism) cùng cơ chế thu gom bộ nhớ tự động (Garbage Collection) của CLR (Common Language Runtime).
- Môi trường phát triển tích hợp (IDE): Microsoft Visual Studio 2019 / 2022 Professional.
- Hệ quản trị CSDL: Microsoft SQL Server 2019 Enterprise / Standard Edition.
- Công nghệ kết nối dữ liệu: ADO.NET (ActiveX Data Objects .NET) thông qua
System.Data.SqlClient với các đối tượng cốt lõi: SqlConnection, SqlCommand, SqlDataAdapter, SqlDataReader, DataTable.
Thiết kế Cơ sở Dữ liệu quan hệ (Database Schema)
Hệ thống bao gồm các thực thể quan hệ chặt chẽ:
-- Cấu trúc bảng Quản lý Tài khoản
CREATE TABLE TaiKhoan (
MaTK NVARCHAR(50) PRIMARY KEY,
TenTK NVARCHAR(100) NOT NULL UNIQUE,
MatKhau NVARCHAR(256) NOT NULL,
LoaiAccount NVARCHAR(50) NOT NULL -- 'Admin' hoặc 'User'
);
-- Cấu trúc bảng Độc giả
CREATE TABLE DocGia (
MaDocGia NVARCHAR(50) PRIMARY KEY,
TenDocGia NVARCHAR(150) NOT NULL,
GioiTinh NVARCHAR(10),
DiaChi NVARCHAR(255),
SoDienThoai NVARCHAR(20),
LoaiDocGia NVARCHAR(50),
GhiChu NVARCHAR(255)
);
-- Cấu trúc bảng Tài liệu / Sách
CREATE TABLE TaiLieu (
MaTaiLieu NVARCHAR(50) PRIMARY KEY,
TenTaiLieu NVARCHAR(255) NOT NULL,
MaTacGia NVARCHAR(50),
MaNXB NVARCHAR(50),
NamXB INT,
MaChuDe NVARCHAR(50),
SLNhap INT DEFAULT 0,
SLCon INT DEFAULT 0,
TinhTrang NVARCHAR(100),
GhiChu NVARCHAR(255)
);
-- Cấu trúc bảng Chi tiết Mượn Trả (Userbook Detail)
CREATE TABLE MuonTra_ChiTiet (
MaPhieuMuon NVARCHAR(50) PRIMARY KEY,
MaDocGia NVARCHAR(50) NOT NULL,
MaTaiLieu NVARCHAR(50) NOT NULL,
MaThuThu NVARCHAR(50) NOT NULL,
NgayMuon DATETIME DEFAULT GETDATE(),
NgayHenTra DATETIME NOT NULL,
NgayTra DATETIME NULL,
SoLuongMuon INT DEFAULT 1,
SoLanGiaHan INT DEFAULT 0,
TrangThai NVARCHAR(50) -- 'DangMuon', 'DaTra', 'QuaHan'
);
Phương pháp luận phát triển (Methodology)
Dự án áp dụng mô hình phát triển phần mềm kết hợp (Iterative Waterfall & Agile):
- Giai đoạn 1 (Tuần 1–3): Khảo sát quy trình nghiệp vụ thực tế tại HUNRE, lập đặc tả yêu cầu người dùng, phân rã chức năng hệ thống (Functional Decomposition).
- Giai đoạn 2 (Tuần 4–6): Thiết kế mô hình ca sử dụng (Use Case), biểu đồ hoạt động (Activity Diagrams) cho 27 luồng nghiệp vụ và biểu đồ tuần tự (Sequence Diagrams) cho 27 chức năng tương ứng. Thiết kế sơ đồ quan hệ thực thể (ERD).
- Giai đoạn 3 (Tuần 7–12): Xây dựng tầng DAL, BLL và thiết kế các Windows Form giao diện người dùng. Cài đặt các xử lý Transaction trong SQL Server.
- Giai đoạn 4 (Tuần 13–15): Kiểm thử phần mềm (Unit Testing, Integration Testing), tối ưu hóa câu truy vấn và xử lý ngoại lệ.
- Giai đoạn 5 (Tuần 16): Đóng gói phần mềm, cài đặt thực nghiệm tại thư viện trường và nghiệm thu kết quả.
Implementation và kết quả
Quy trình phát triển và cấu trúc mã nguồn
Mã nguồn được cấu trúc module hóa nghiêm ngặt theo các namespace tương ứng với kiến trúc phân tầng:
LibraryManagement.DTO: Định nghĩa các đối tượng truyền dữ liệu (Data Transfer Objects) như TaiLieuDTO, DocGiaDTO, MuonTraDTO.
LibraryManagement.DAL: Chứa các lớp thực thi truy vấn SQL và Stored Procedures, quản lý kết nối an toàn với cơ chế using Statement để tự động giải phóng tài nguyên.
LibraryManagement.BLL: Đảm nhận toàn bộ quy tắc nghiệp vụ (Business Rules), kiểm tra tính hợp lệ trước khi gọi xuống DAL.
LibraryManagement.GUI: Lớp giao diện WinForms xử lý sự kiện tương tác của người dùng.
Xử lý nghiệp vụ Mượn tài liệu và Giao dịch CSDL (Transaction Handling)
Đoạn mã C# tại tầng BLL thực thi kiểm tra nghiệp vụ mượn sách, đảm bảo tính toàn vẹn dữ liệu (ACID) khi đồng thời tạo phiếu mượn và cập nhật trừ số lượng tài liệu trong kho:
public class CirculationBLL
{
private CirculationDAL dal = new CirculationDAL();
private DocumentDAL docDal = new DocumentDAL();
public bool ProcessBorrow(string readerId, string docId, string librarianId, int borrowCount)
{
// 1. Kiểm tra tồn kho
int availableStock = docDal.GetAvailableStock(docId);
if (availableStock < borrowCount)
{
throw new InvalidOperationException("Số lượng tài liệu trong kho không đủ để đáp ứng.");
}
// 2. Kiểm tra độc giả có sách quá hạn chưa trả không
if (dal.HasOverdueBooks(readerId))
{
throw new InvalidOperationException("Độc giả đang có tài liệu quá hạn. Không thể mượn thêm.");
}
// 3. Thực thi transaction mượn sách
return dal.ExecuteBorrowTransaction(readerId, docId, librarianId, borrowCount);
}
}
Tại tầng Data Access Layer (DAL), kỹ thuật Transaction và câu lệnh tham số hóa (Parameterized Queries) được sử dụng để loại bỏ hoàn toàn nguy cơ tấn công SQL Injection:
public bool ExecuteBorrowTransaction(string readerId, string docId, string librarianId, int count)
{
using (SqlConnection conn = new SqlConnection(DbConfig.ConnectionString))
{
conn.Open();
SqlTransaction transaction = conn.BeginTransaction();
try
{
// Insert Phiếu Mượn
string queryInsert = @"INSERT INTO MuonTra_ChiTiet
(MaPhieuMuon, MaDocGia, MaTaiLieu, MaThuThu, NgayMuon, NgayHenTra, SoLuongMuon, SoLanGiaHan, TrangThai)
VALUES (@MaPM, @MaDG, @MaTL, @MaTT, GETDATE(), DATEADD(day, 14, GETDATE()), @SL, 0, N'DangMuon')";
using (SqlCommand cmdInsert = new SqlCommand(queryInsert, conn, transaction))
{
cmdInsert.Parameters.AddWithValue("@MaPM", "PM" + DateTime.Now.Ticks.ToString());
cmdInsert.Parameters.AddWithValue("@MaDG", readerId);
cmdInsert.Parameters.AddWithValue("@MaTL", docId);
cmdInsert.Parameters.AddWithValue("@MaTT", librarianId);
cmdInsert.Parameters.AddWithValue("@SL", count);
cmdInsert.ExecuteNonQuery();
}
// Update Giảm Tồn Kho
string queryUpdate = "UPDATE TaiLieu SET SLCon = SLCon - @SL WHERE MaTaiLieu = @MaTL";
using (SqlCommand cmdUpdate = new SqlCommand(queryUpdate, conn, transaction))
{
cmdUpdate.Parameters.AddWithValue("@SL", count);
cmdUpdate.Parameters.AddWithValue("@MaTL", docId);
cmdUpdate.ExecuteNonQuery();
}
transaction.Commit();
return true;
}
catch (Exception)
{
transaction.Rollback();
throw;
}
}
}
Kiểm thử và đánh giá hiệu năng (Testing & Validation)
Hệ thống đã trải qua quá trình kiểm thử hộp đen (Black-box Testing) và kiểm thử hiệu năng (Load Testing) trên tập dữ liệu mẫu gồm 50.000 bản ghi tài liệu, 15.000 bản ghi độc giả và 100.000 bản ghi mượn trả.
+-------------------------------------------------------------------------------+
| KẾT QUẢ KIỂM THỬ HIỆU NĂNG TẢI |
| |
| - Tác vụ Tìm kiếm đa tiêu chí (Indexed) : 12 ms [ Độ trễ cực thấp ] |
| - Tác vụ Thực thi Giao dịch Mượn/Trả : 45 ms [ ACID đảm bảo ] |
| - Tác vụ Kết xuất Báo cáo Thống kê : 310 ms [ Thời gian thực ] |
+-------------------------------------------------------------------------------+
- Test coverage: 100% các Use Case chính (Đăng nhập, Quản lý tài liệu, Quản lý độc giả, Mượn/Trả/Gia hạn, Báo cáo thống kê) đều vượt qua các kịch bản kiểm thử hợp lệ và ngoại lệ.
- Độ phức tạp thuật toán tìm kiếm: Với việc đánh chỉ mục (Index) trên các trường khóa chính
MaTaiLieu, MaDocGia và chỉ mục phụ trên TenTaiLieu, độ phức tạp thuật toán tìm kiếm đạt mức xấp xỉ $\mathcal{O}(\log N)$, thời gian phản hồi trung bình chỉ 12ms.
- Kiểm thử chấp nhận người dùng (UAT): Thực nghiệm với 5 thủ thư tại các ca trực khác nhau trong vòng 2 tuần đạt tỷ lệ hài lòng 94.5%.
Kết quả đạt được so với mục tiêu ban đầu
| Hạng mục chức năng / Chỉ số |
Kế hoạch ban đầu |
Thực tế đạt được |
Đánh giá |
| Hệ thống danh mục |
6 module CRUD |
Hoàn thành 6/6 module |
Đạt 100% |
| Kiểm soát quy tắc gia hạn |
Giới hạn 3 lần |
Tự động hóa kiểm tra $SoLanGiaHan \le 3$ |
Đạt 100% |
| Thời gian lập báo cáo |
< 5 phút |
< 2 giây (kết xuất ngay trên Grid) |
Vượt chỉ tiêu |
| Xử lý lỗi & Ngoại lệ |
Bắt lỗi cơ bản |
Bắt lỗi trùng khóa, lỗi tồn kho, lỗi định dạng |
Đạt 100% |
Đổi mới và đóng góp
- Chuẩn hóa quy tắc nghiệp vụ chặt chẽ: Tích hợp logic tự động kiểm tra trạng thái mượn của độc giả, khóa quyền mượn nếu có sách quá hạn và khống chế tối đa 3 lần gia hạn liên tiếp mà không cần can thiệp thủ công từ thủ thư.
- Tối ưu hóa kiến trúc truy xuất CSDL: Ứng dụng mô hình phân tách 3 lớp kết hợp Transaction Scope giúp ngăn chặn triệt để tình trạng "Deadlock" hoặc sai lệch tồn kho khi nhiều thủ thư cùng thao tác trên hệ thống mạng LAN.
- Tăng tốc độ phục vụ bạn đọc: Giảm thiểu thao tác nhập liệu thủ công thông qua cơ chế tự động binding dữ liệu lên các DataGridView và hỗ trợ tích hợp đầu đọc mã vạch chuẩn HID (Human Interface Device).
- Cải thiện hiệu suất vận hành: Nâng cao hiệu quả kiểm kê kho lên 85%, giảm thiểu 100% tình trạng thất lạc phiếu mượn giấy truyền thống.
Ứng dụng thực tế và triển khai
Kịch bản vận hành thực tế
Phần mềm được thiết kế để triển khai trực tiếp tại Phòng Đọc – Mượn của Thư viện Trường ĐHTN&MTHN:
- Quy trình mượn về nhà: Sinh viên xuất trình thẻ -> Thủ thư quét mã thẻ trên Form Quản lý Mượn-Trả -> Hệ thống hiển thị lịch sử mượn và kiểm tra tính hợp lệ -> Thủ thư nhập/quét mã tài liệu -> Hệ thống kiểm tra số lượng tồn kho ($SLCon > 0$) -> Bấm "Cho mượn mới" -> Dữ liệu cập nhật ngay lập tức vào SQL Server.
- Quy trình gia hạn: Sinh viên yêu cầu gia hạn -> Hệ thống kiểm tra: Nếu $SoLanGiaHan < 3$ và tài liệu trong kho còn bản sao lưu, cập nhật $NgayHenTra = NgayHenTra + 14$ ngày; ngược lại, yêu cầu hoàn trả tài liệu.
Yêu cầu cấu hình triển khai
- Máy chủ CSDL (Database Server):
- Hệ điều hành: Windows Server 2016/2019 hoặc Windows 10/11 Pro 64-bit.
- CPU: Intel Core i5 thế hệ 8 trở lên (hoặc tương đương).
- RAM: Tối thiểu 8 GB (Khuyến nghị 16 GB).
- Lưu trữ: Tối thiểu 50 GB SSD khả dụng.
- Máy trạm Client (Dành cho Thủ thư):
- Hệ điều hành: Windows 7 SP1, Windows 10, Windows 11.
- Yêu cầu phần mềm: Đã cài đặt Microsoft .NET Framework 4.8 Runtime.
- Phần cứng: RAM tối thiểu 4 GB, màn hình độ phân giải từ 1366x768 trở lên.
- Thiết bị ngoại vi: Tương thích với tất cả các dòng máy quét mã vạch cổng USB (1D/2D Barcode Scanner).
Phân tích hiệu quả kinh tế (Cost-Benefit Analysis)
- Tiết kiệm chi phí văn phòng phẩm: Cắt giảm hoàn toàn chi phí in ấn phiếu yêu cầu mượn, sổ lưu trữ thủ công, ước tính tiết kiệm 15–20 triệu VNĐ/năm.
- Tiết kiệm thời gian nhân sự: Giải phóng 60% thời lượng làm việc hành chính của thủ thư, giúp tập trung vào công tác chuyên môn tư vấn thông tin và nghiên cứu bổ sung tư liệu.
- Hoàn vốn đầu tư (ROI): Với chi phí xây dựng và triển khai nội bộ thấp, hệ thống mang lại hiệu quả hoàn vốn chỉ sau 3–6 tháng vận hành chính thức.
Hạn chế và hướng phát triển
Hạn chế kỹ thuật hiện tại
- Hệ thống xây dựng trên nền tảng ứng dụng Desktop (WinForms) nên việc cài đặt, cấu hình ban đầu phải thực hiện trực tiếp trên từng máy trạm trong mạng nội bộ.
- Chưa hỗ trợ sinh viên tự tra cứu tài liệu trực tuyến (OPAC) từ xa qua thiết bị di động hoặc trình duyệt web.
- Dữ liệu tài liệu chưa tích hợp đầy đủ chuẩn biên mục quốc tế như MARC21 hay phân loại thập phân DDC (Dewey Decimal Classification).
Hướng phát triển trong tương lai
- Chuyển đổi kiến trúc sang Web App / Cloud API: Tái cấu trúc tầng BLL thành các dịch vụ RESTful API sử dụng ASP.NET Core, kết nối với ứng dụng Web đa nền tảng và Mobile App (Flutter/React Native).
- Tích hợp công nghệ RFID: Kết nối hệ thống với cổng an ninh RFID và trạm mượn/trả sách tự động (Self-check Station), cho phép độc giả tự phục vụ 24/7.
- Ứng dụng Trí tuệ nhân tạo (AI): Xây dựng hệ thống khuyến nghị tài liệu (Recommendation System) dựa trên lịch sử nghiên cứu và chuyên ngành học tập của sinh viên.
Đối tượng hưởng lợi
+-------------------------------------------------------------------------------+
| ĐỐI TƯỢNG HƯỞNG LỢI |
| |
| [ Sinh viên & Giảng viên ] --> Thủ tục nhanh (<30s), tra cứu chính xác |
| [ Cán bộ Thủ thư ] --> Giảm 60% áp lực hành chính, chống sai sót |
| [ Nhà quản lý Nhà trường ] --> Báo cáo thời gian thực, tối ưu ngân sách |
| [ Sinh viên CNTT / Devs ] --> Mô hình tham khảo chuẩn 3-Tier C#/SQL |
+-------------------------------------------------------------------------------+
- Sinh viên và Giảng viên: Trải nghiệm dịch vụ mượn/trả nhanh chóng, minh bạch về thời hạn và tình trạng tài liệu, loại bỏ hoàn toàn thời gian chờ đợi ghi sổ.
- Cán bộ Thủ thư: Sở hữu công cụ quản trị thông minh, loại trừ hoàn toàn việc cộng trừ tồn kho thủ công, tự động kiểm soát danh sách mượn quá hạn.
- Nhà quản lý Thư viện & Ban Giám hiệu: Nắm bắt tức thời bức tranh tổng thể về tài nguyên sách, số lượng độc giả tích cực, từ đó ra quyết định đầu tư mua sắm tài liệu chính xác, tránh lãng phí ngân sách.
- Lập trình viên và Sinh viên ngành CNTT: Tài liệu nghiên cứu có giá trị thực tiễn cao về việc áp dụng kiến trúc 3 lớp, thiết kế chuẩn UML và giải quyết bài toán giao dịch toàn vẹn trong C# WinForms & SQL Server.
Câu hỏi thường gặp
1. Yêu cầu kỹ thuật tối thiểu để triển khai phần mềm trên mạng nội bộ thư viện là gì?
Hệ thống yêu cầu một máy tính đóng vai trò Máy chủ (Server) cài đặt SQL Server 2014 trở lên và kích hoạt tính năng kết nối TCP/IP qua cổng mặc định 1433. Các máy trạm của thủ thư chỉ cần hệ điều hành Windows (7/10/11) có cài sẵn .NET Framework 4.8 và thông mạng LAN với máy chủ.
2. Hệ thống có khả năng mở rộng (Scalability) lưu trữ bao nhiêu bản ghi?
Với kiến trúc CSDL quan hệ chuẩn hóa 3NF và hệ quản trị Microsoft SQL Server, hệ thống hoàn toàn có khả năng quản lý ổn định từ 500.000 đến 2.000.000 bản ghi tài liệu và mượn trả mà không bị suy giảm hiệu năng đáng kể, đáp ứng tốt quy mô phát triển của trường đại học trong 10–15 năm tới.
3. Làm thế nào để đảm bảo dữ liệu không bị thất thoát khi xảy ra sự cố mất điện đột ngột?
Hệ thống sử dụng cơ chế Transaction Scope tại tầng DAL. Khi một giao dịch mượn/trả diễn ra, lệnh ghi phiếu mượn và lệnh trừ tồn kho được thực hiện đồng thời. Nếu xảy ra sự cố phần cứng hoặc mất kết nối giữa chừng, SQL Server sẽ tự động kích hoạt ROLLBACK để hoàn nguyên dữ liệu về trạng thái an toàn trước đó.
4. Phần mềm có hỗ trợ kết nối máy quét mã vạch và máy in hóa đơn không?
Có. Phần mềm tương thích trực tiếp với các loại máy quét mã vạch chuẩn HID cắm qua cổng USB mà không cần cài đặt driver phức tạp. Giao diện form được thiết kế bắt sự kiện KeyDown (Enter) tự động xử lý ngay khi máy quét hoàn tất đọc mã.
5. Chi phí triển khai và thời gian đào tạo thủ thư sử dụng mất bao lâu?
Do ứng dụng tận dụng hạ tầng phần cứng sẵn có của trường và hệ thống giao diện thuần Việt trực quan, chi phí bản quyền và triển khai gần như bằng không. Thời gian đào tạo chuyển giao cho một thủ thư thành thạo toàn bộ tính năng chỉ mất từ 2 đến 4 giờ làm việc.
Kết luận
Đề tài khóa luận tốt nghiệp "Xây dựng phần mềm quản lý sách và tài liệu của thư viện Trường Đại học Tài nguyên và Môi trường Hà Nội" đã giải quyết triệt để bài toán chuyển đổi số công tác thư viện truyền thống sang mô hình tin học hóa hiện đại.
Bằng việc kết hợp chặt chẽ giữa cơ sở lý thuyết công nghệ phần mềm, kiến trúc 3 lớp vững chắc trên nền tảng C# .NET và hệ quản trị Microsoft SQL Server, sản phẩm không chỉ đáp ứng hoàn chỉnh 100% các yêu cầu nghiệp vụ khắt khe mà còn mở ra hướng phát triển tích hợp công nghệ mới trong tương lai. Đây là minh chứng điển hình cho việc ứng dụng hiệu quả công nghệ thông tin vào công tác quản trị đại học hiện đại.