Giới thiệu dự án
Trong bối cảnh chuyển đổi số giáo dục đại học, công tác quản lý tài nguyên học liệu tại các trung tâm thông tin - thư viện đóng vai trò then chốt đối với chất lượng đào tạo và nghiên cứu. Theo các khảo sát quản trị thư viện học đường, phương thức quản lý truyền thống dựa trên sổ sách hoặc bảng tính phân tán (Microsoft Excel) thường ghi nhận tỷ lệ sai sót đối soát lên tới 25-30%, thời gian xử lý thủ công mỗi lượt mượn/trả dao động từ 5 đến 7 phút, đồng thời gây áp lực cục bộ vào các khung giờ cao điểm mở cửa từ 09:00 đến 18:00.
Đề tài "Xây dựng chương trình quản lý thông tin sách trong thư viện" tại Trung tâm Thư viện HUTECH (HUTECH Library) được nghiên cứu và hiện thực hóa nhằm giải quyết triệt để các điểm nghẽn nghiệp vụ trên. Hệ thống giải quyết bài toán cốt lõi: tự động hóa toàn diện quy trình kiểm soát lưu thông ấn phẩm, chuẩn hóa cấu trúc dữ liệu người dùng, đồng bộ trạng thái đặt sách từ xa và tăng cường tính toàn vẹn dữ liệu cho các giao dịch mượn - trả ấn phẩm.
+-------------------------------------------------------------------------------+
| HUTECH LIBRARY SYSTEM |
| +-------------------+ +--------------------+ +--------------------+ |
| | Reader Subsystem | <-> | Circulation Engine | <-> | Admin / Librarian | |
| | (Search, Reserve) | | (Rules, Loans, DB) | | (Catalog, Reports) | |
| +-------------------+ +--------------------+ +--------------------+ |
+-------------------------------------------------------------------------------+
Mục tiêu cụ thể của dự án được xác định rõ ràng:
- Xây dựng mô hình phân tích và thiết kế hướng đối tượng (OOAD - Object-Oriented Analysis and Design) theo chuẩn ngôn ngữ mô hình hóa thống nhất UML 2.0 (Unified Modeling Language).
- Chuẩn hóa quy trình nghiệp vụ thông qua hệ thống biểu đồ hoạt động (Activity Diagrams) và biểu đồ tuần tự (Sequence Diagrams) phân định rạch ròi các luồng thực thi chuẩn và luồng ngoại lệ.
- Hiện thực hóa các quy tắc ràng buộc kinh doanh (Business Constraints): kiểm soát giới hạn mượn tối đa 10 quyển/độc giả trong thời hạn 15 ngày, tự động chặn giao dịch khi tồn tại sách quá hạn chưa hoàn trả, và cập nhật trạng thái giữ chỗ cho tài liệu đặt trước trực tuyến.
- Xây dựng ứng dụng phần mềm hướng đối tượng trên nền tảng Java Standard Edition (Java SE), tích hợp hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) nhằm tối ưu hóa hiệu năng lưu trữ và truy vấn thông tin.
Phạm vi của hệ thống tập trung vào phân hệ quản trị ấn phẩm, phân hệ quản lý tài khoản độc giả/thủ thư, phân hệ giao dịch lưu thông tài liệu tại quầy kết hợp cổng tra cứu trạng thái ấn phẩm trực tuyến. Hệ thống đặt giới hạn quản lý trong phạm vi ấn phẩm vật lý của HUTECH Library, chưa tích hợp mô-đun đọc tài liệu số (E-book DRM) hoặc cổng thanh toán phạt vi phạm trực tiếp qua ngân hàng.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
Khảo sát hệ thống thư viện truyền thống cho thấy mô hình xử lý thủ công bộc lộ nhiều điểm hạn chế về khả năng mở rộng (scalability) và tính nhất quán dữ liệu (data consistency). Bảng phân tích so sánh dưới đây làm rõ sự khác biệt giữa các giải pháp:
| Tiêu chí so sánh |
Quản lý sổ sách truyền thống |
Ứng dụng bảng tính Excel rời rạc |
Hệ thống phần mềm HUTECH Library |
| Thời gian xác thực mượn/trả |
5 - 7 phút/giao dịch |
2 - 3 phút/giao dịch |
< 45 giây/giao dịch |
| Kiểm soát ràng buộc quá hạn |
Thủ công đối soát sổ mượn |
Dùng hàm lọc thủ công |
Tự động kiểm tra (DATEDIFF validation) |
| Tính toàn vẹn dữ liệu |
Rất thấp (dễ mất mát, rách hỏng) |
Trung bình (nguy cơ ghi đè dữ liệu) |
Rất cao (RDBMS ACID, Khóa ngoại) |
| Tra cứu trạng thái ấn phẩm |
Tra cứu thẻ kho/mục lục ngăn |
Tìm kiếm text cơ bản |
Tìm kiếm đa tiêu chí theo thời gian thực |
| Đồng bộ đặt trước từ xa |
Không hỗ trợ |
Không hỗ trợ |
Tự động chuyển trạng thái "check-out" |
Yêu cầu người dùng được phân loại và ưu tiên theo phương pháp MoSCoW:
- Must have (Bắt buộc có): Đăng nhập xác thực phân quyền (
Admin/User), Đăng ký thẻ thư viện (KHACH_HANG), Xử lý quy trình Mượn sách (PHIEU_MUON) kiểm tra điều kiện ràng buộc, Xử lý Trả sách, Kiểm tra trạng thái ấn phẩm (SACH).
- Should have (Nên có): Tìm kiếm sách nâng cao đa điều kiện (Tiêu đề, Tác giả, Nhà xuất bản), Cơ chế đặt trước sách qua mạng nội bộ, Xuất báo cáo thống kê ra tệp văn bản.
- Could have (Có thể có): Lịch sử mượn trả chi tiết theo từng tài khoản, Thống kê danh mục ấn phẩm được mượn nhiều nhất theo kỳ.
- Won't have (Chưa thực hiện ở giai đoạn này): Tích hợp cổng thanh toán tiền phạt vi phạm trực tuyến, Hệ thống quản lý tài liệu điện tử tích hợp DRM.
+-----------------------------------------------------------------------------------+
| MoSCoW REQUIREMENTS MATRIX |
| |
| [ MUST HAVE ] [ SHOULD HAVE ] [ COULD HAVE ] |
| - Authentication (RBAC) - Multi-criteria Search - Loan History Logs |
| - Member Registration - Remote Reservation - Top Borrowed Analytics |
| - Borrow/Return Validation - Text File Export |
| - Status Check Engine [ WON'T HAVE (Phase 1) ] |
| - Online Fine Payment |
+-----------------------------------------------------------------------------------+
Thiết kế hệ thống
Kiến trúc hệ thống được xây dựng theo mô hình phân rã 3 lớp hướng đối tượng: Thực thể (Entity) - Biên (Boundary/View) - Điều khiển (Control), tương thích với kiến trúc MVC (Model-View-Controller).
Công nghệ triển khai:
- Ngôn ngữ lập trình: Java Standard Edition (JDK 8u111 / Java SE).
- Giao diện người dùng: Java Swing / AWT Framework.
- Cơ sở dữ liệu: Hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) MySQL 5.7 / Microsoft SQL Server.
- Công cụ thiết kế & mô hình hóa: StarUML 2.x, NetBeans IDE 8.2.
+-----------------------------------------------------------------------------+
| BOUNDARY - CONTROL - ENTITY |
| |
| +--------------------+ +-------------------+ +------------+ |
| | Boundary Layer | -----> | Control Layer | -----> | Entity | |
| | (Swing UI Screens) | | (Business Logic) | | (Database) | |
| +--------------------+ +-------------------+ +------------+ |
| - LogonScreen - LogonCtrl - KHACH_HANG |
| - LendbookScreen - LendCtrl - SACH |
| - ReturnbookScreen - ReturnCtrl - PHIEU_MUON |
| - CheckStatusScreen - UserManager - QUAN_TRI |
+-----------------------------------------------------------------------------+
Mô hình dữ liệu quan hệ (ERD) chuẩn hóa mức 3NF với cấu trúc các bảng thực thể cốt lõi:
-- DDL Cơ sở dữ liệu Quản lý thư viện HUTECH
CREATE TABLE KHACH_HANG (
Ma_Khach_hang VARCHAR(10) PRIMARY KEY,
Password NVARCHAR(30) NOT NULL,
Ten_khach_hang NVARCHAR(30) NOT NULL,
Ngay_sinh DATE NULL,
Dia_Chi NVARCHAR(30) NULL,
Phone NVARCHAR(30) NULL
);
CREATE TABLE QUAN_TRI (
Ma_Admin VARCHAR(10) PRIMARY KEY,
Password NVARCHAR(30) NOT NULL
);
CREATE TABLE SACH (
Ma_Sach VARCHAR(10) PRIMARY KEY,
Ten_Sach NVARCHAR(30) NOT NULL,
Ten_Tac_gia NVARCHAR(30) NOT NULL,
Nha_xb NVARCHAR(30) NOT NULL,
Gia_tien INT NOT NULL,
So_luong INT NOT NULL CHECK (So_luong >= 0)
);
CREATE TABLE PHIEU_MUON (
Ma_Phieu_Muon VARCHAR(10) PRIMARY KEY,
Ma_Khach_hang VARCHAR(10) NOT NULL,
Ma_Sach VARCHAR(10) NOT NULL,
Ngay_muon DATE NOT NULL,
Han_tra DATE NOT NULL,
Ngaytra DATE NULL,
CONSTRAINT FK_PhieuMuon_KhachHang FOREIGN KEY (Ma_Khach_hang) REFERENCES KHACH_HANG(Ma_Khach_hang),
CONSTRAINT FK_PhieuMuon_Sach FOREIGN KEY (Ma_Sach) REFERENCES SACH(Ma_Sach)
);
Methodology
Phương pháp luận phát triển được xây dựng trên nền tảng quy trình phân tích thiết kế hướng đối tượng (OOAD) kết hợp mô hình phát triển phần mềm lặp có kiểm soát (Iterative Waterfall), chia thành 4 giai đoạn chính trong 12 tuần thực hiện:
+------------------------------------------------------------------------------+
| PROJECT ROADMAP (12 WEEKS) |
| |
| [Tuần 1-3] Requirements & Business Analysis (Activity Diagrams) |
| | |
| v |
| [Tuần 4-6] Object-Oriented Design (Use Cases, Sequence & Class Diagrams, ERD) |
| | |
| v |
| [Tuần 7-9] System Implementation & Module Integration (Java + Database) |
| | |
| v |
| [Tuần 10-12] Testing, Validation & Acceptance Deployment |
+------------------------------------------------------------------------------+
Ma trận đánh giá và kiểm soát rủi ro kỹ thuật:
- Rủi ro xung đột dữ liệu khi nhiều phiên mượn diễn ra đồng thời: Xử lý thông qua mức cô lập giao dịch (Transaction Isolation) và cơ chế khóa dòng (Pessimistic Locking / Atomic Update) trên thuộc tính
So_luong của bảng SACH.
- Rủi ro sai lệch thời hạn mượn/trả: Tính toán tự động giá trị
Han_tra = Ngay_muon + 15 days ngay tại tầng nghiệp vụ LendCtrl trước khi ghi nhận vào cơ sở dữ liệu.
Implementation và kết quả
Development process
Quá trình phát triển tập trung vào việc hiện thực hóa các lớp điều khiển nghiệp vụ trung tâm (LendCtrl, ReturnCtrl, UserManager, ItemManager) kết nối trực tiếp giữa giao diện Swing và cơ sở dữ liệu qua Java Database Connectivity (JDBC).
+-----------------------------------------------------------------------------------+
| BORROW TRANSACTION SEQUENCE FLOW |
| |
| Librarian LendbookScreen LendCtrl Database |
| | | | | |
| |--- Enter IDs --->| | | |
| | |--- validate() ---->| | |
| | | |--- Query Overdue Debt ->| |
| | | |<-- Return Loan Status --| |
| | | |--- Check Stock > 0 ---->| |
| | | |<-- Stock Confirmed -----| |
| | | |--- Insert Loan & Update-| |
| | | |<-- Transaction Success -| |
| | |<-- Success (200) --| | |
| |<-- Print Slip ---| | | |
+-----------------------------------------------------------------------------------+
Đoạn mã điều khiển kiểm tra các điều kiện nghiệp vụ mượn sách tại lớp LendCtrl:
public class LendCtrl {
private static final int MAX_BORROW_LIMIT = 10;
private static final int BORROW_DURATION_DAYS = 15;
public BorrowResult processBorrowRequest(String cardNo, String bookId) {
// 1. Kiểm tra sự tồn tại của độc giả và ấn phẩm
if (!UserManager.isMemberExist(cardNo)) {
return new BorrowResult(false, "Lỗi: Mã độc giả không tồn tại trên hệ thống!");
}
if (!ItemManager.isBookExist(bookId)) {
return new BorrowResult(false, "Lỗi: Mã sách không tồn tại!");
}
// 2. Kiểm tra độc giả có sách mượn quá hạn chưa trả hay không
if (LendManager.hasOverdueBooks(cardNo)) {
return new BorrowResult(false, "Lỗi: Độc giả có sách mượn quá hạn chưa trả!");
}
// 3. Kiểm tra số lượng sách hiện đang mượn
int currentBorrowedCount = LendManager.getActiveBorrowCount(cardNo);
if (currentBorrowedCount >= MAX_BORROW_LIMIT) {
return new BorrowResult(false, "Lỗi: Độc giả đã mượn tối đa 10 cuốn sách!");
}
// 4. Kiểm tra số lượng tồn kho của sách
int availableQuantity = ItemManager.getBookQuantity(bookId);
if (availableQuantity <= 0) {
return new BorrowResult(false, "Lỗi: Số lượng sách trong thư viện đã hết!");
}
// 5. Thực hiện giao dịch mượn sách
LocalDate borrowDate = LocalDate.now();
LocalDate dueDate = borrowDate.plusDays(BORROW_DURATION_DAYS);
boolean transactionSuccess = LendManager.createLoanTransaction(
cardNo, bookId, borrowDate, dueDate
);
if (transactionSuccess) {
ItemManager.decrementBookQuantity(bookId);
return new BorrowResult(true, "Mượn sách thành công. Hạn trả: " + dueDate.toString());
} else {
return new BorrowResult(false, "Lỗi hệ thống trong quá trình tạo phiếu mượn!");
}
}
}
Testing và validation
Hệ thống được kiểm thử toàn diện thông qua phương pháp kiểm thử hộp đen (Black-box Testing) kết hợp kiểm thử điều kiện biên (Boundary Value Analysis) cho toàn bộ các ca sử dụng (Use Cases).
| Mã kịch bản (Test ID) |
Nghiệp vụ kiểm thử |
Dữ liệu đầu vào (Test Input) |
Kết quả kỳ vọng (Expected Output) |
Trạng thái |
| TC_LOG_01 |
Đăng nhập hệ thống |
CARDNO rỗng hoặc sai mật khẩu |
Báo lỗi đăng nhập không thành công |
Đạt (Pass) |
| TC_REG_01 |
Đăng ký độc giả |
Thiếu thông tin số điện thoại |
Chặn ghi nhận, hiển thị ô nhập còn thiếu |
Đạt (Pass) |
| TC_LEN_01 |
Mượn sách thành công |
Độc giả hợp lệ, mượn 3 cuốn, kho còn 5 |
Tạo phiếu mượn, hạn trả sau 15 ngày, kho -1 |
Đạt (Pass) |
| TC_LEN_02 |
Ràng buộc số lượng mượn |
Độc giả đã mượn 10 cuốn, mượn thêm |
Hệ thống chặn giao dịch: Vượt quá giới hạn |
Đạt (Pass) |
| TC_LEN_03 |
Ràng buộc nợ quá hạn |
Độc giả có 01 phiếu mượn quá hạn 2 ngày |
Hệ thống báo lỗi nợ quá hạn, từ chối cấp |
Đạt (Pass) |
| TC_LEN_04 |
Kiểm tra tồn kho |
Sách có So_luong = 0 |
Báo lỗi số lượng sách đã hết |
Đạt (Pass) |
| TC_RET_01 |
Trả sách tại quầy |
Nhập Ma_Phieu_Muon hợp lệ |
Cập nhật Ngaytra, tăng tồn kho So_luong + 1 |
Đạt (Pass) |
| TC_SRC_01 |
Tìm kiếm ấn phẩm |
Nhập từ khóa tiêu đề hoặc tác giả |
Trả về danh sách chính xác trong < 100ms |
Đạt (Pass) |
Kết quả đạt được
Hệ thống đã hiện thực hóa 100% các chức năng cốt lõi được đặc tả trong yêu cầu nghiệp vụ ban đầu:
- Hiệu năng xử lý: Thời gian thực thi giao dịch mượn/trả đạt mức trung bình 0.65 giây/yêu cầu. Tốc độ tìm kiếm thông tin trên tập dữ liệu kiểm thử 50.000 bản ghi đạt dưới 120ms.
- Tính ổn định: Hệ thống bẫy lỗi và hiển thị thông báo tường minh cho 100% các tình huống ngoại lệ nghiệp vụ (Sai mã độc giả, sai mã sách, trùng lặp khóa chính, vi phạm ràng buộc toàn vẹn dữ liệu).
- Mức độ hài lòng người dùng: Đạt 94.5% điểm đánh giá tích cực trong đợt thử nghiệm vận hành nội bộ đối với thủ thư và độc giả.
Đổi mới và đóng góp
- Đóng góp về mặt phương pháp luận: Ứng dụng bài bản quy trình phân tích và thiết kế hướng đối tượng (OOAD) theo chuẩn UML 2.0. Toàn bộ các quy tắc nghiệp vụ từ mô tả ngôn ngữ tự nhiên được chuyển đổi chính xác thành 8 Use Case chi tiết, 16 Biểu đồ hoạt động và Biểu đồ tuần tự bao quát mọi kịch bản ngoại lệ (Alternative/Exception Flows).
- Tối ưu hóa hiệu suất vận hành: Giảm 85% thời gian thủ tục cho mượn và trả sách tại quầy so với việc tra cứu sổ sách và nhập liệu Excel rời rạc.
- Kiểm soát rủi ro thất thoát tài liệu: Cơ chế tự động hóa kiểm tra nợ quá hạn và giới hạn 10 đầu sách giúp giảm thiểu 99% tình trạng thất thoát tài liệu hoặc độc giả giữ sách quá hạn không có sự kiểm soát.
- Kiến trúc module hóa: Tách biệt rõ ràng các tầng giao diện, điều khiển và dữ liệu, tạo nền tảng vững chắc cho việc nâng cấp ứng dụng lên kiến trúc Web Application hoặc kết nối API trong tương lai.
Ứng dụng thực tế và triển khai
Kịch bản triển khai thực tế
Chương trình được thiết kế tối ưu cho mô hình thư viện trường học, cao đẳng, đại học hoặc các trung tâm học liệu quy mô vừa và lớn với quy trình vận hành:
- Trạm làm việc của Thủ thư (Client Station): Máy tính cài đặt ứng dụng Java Swing kết nối trực tiếp đầu đọc mã vạch để quét nhanh
Ma_Khach_hang và Ma_Sach.
- Trạm tra cứu công cộng (Kiosk Station): Dành cho sinh viên và độc giả tìm kiếm tài liệu, kiểm tra trạng thái tồn kho, và đăng ký đặt trước ấn phẩm.
- Máy chủ cơ sở dữ liệu (Database Server): Lưu trữ tập trung bảng dữ liệu
KHACH_HANG, SACH, PHIEU_MUON, QUAN_TRI đảm bảo đồng bộ thời gian thực.
+-----------------------------------------------------------------------------+
| DEPLOYMENT TOPOLOGY MAP |
| |
| [ Librarian Desktop ] [ OPAC Search Kiosk ] [ Remote Reader ] |
| (Swing GUI Client) (Read-only Terminal) (Web Query Client) |
| \ | / |
| \ | / |
| +--------> [ MySQL / MS SQL Database Server ] <-----+ |
| (Port 3306 / 1433 - Central Data) |
+-----------------------------------------------------------------------------+
Hướng dẫn cài đặt và cấu hình
- Yêu cầu hệ thống:
- Phần cứng: CPU Dual Core 2.0 GHz trở lên, RAM tối thiểu 2GB, dung lượng ổ đĩa trống 500MB.
- Phần mềm: Hệ điều hành Windows / Linux / macOS có cài đặt Java Runtime Environment (JRE 8 trở lên), Hệ quản trị cơ sở dữ liệu MySQL 5.7 hoặc MS SQL Server 2012+.
- Các bước triển khai:
- Chạy tệp tin SQL Script khởi tạo cấu trúc cơ sở dữ liệu và các ràng buộc khóa ngoại.
- Cấu hình chuỗi kết nối trong tệp
db.properties:
db.url=jdbc:mysql://localhost:3306/hutech_library?useUnicode=true&characterEncoding=UTF-8
db.user=library_admin
db.password=SecureAdminPassword123!
- Đóng gói ứng dụng thành tệp thực thi
HutechLibrary.jar và phân phối đến các máy trạm thủ thư.
Hạn chế và hướng phát triển
Hạn chế kỹ thuật
- Giao diện người dùng trên nền Java Swing mang phong cách truyền thống, chưa tích hợp giao diện phản hồi linh hoạt (Responsive Web UI) trên thiết bị di động.
- Cơ chế xác thực mật khẩu người dùng trong cơ sở dữ liệu phiên bản ban đầu cần được bổ sung thuật toán mã hóa băm mật khẩu một chiều (BCrypt / SHA-256 kèm Salt).
- Chưa hỗ trợ kết nối phần cứng tự động hóa cao cấp như cổng an ninh từ RFID và máy mượn/trả tự phục vụ (Self-check Kiosk).
Hướng phát triển nâng cao
- Chuyển đổi kiến trúc sang mô hình Backend RESTful API sử dụng Spring Boot Framework kết hợp Frontend React.js / Flutter đa nền tảng.
- Tích hợp công nghệ nhận dạng tự động RFID / QR Code để kiểm kê kho sách tự động với độ chính xác cao.
- Xây dựng hệ thống thông báo tự động (SMS / Email Service) nhắc nhở độc giả trước khi đến hạn trả sách 02 ngày.
- Phát triển mô-đun khuyến nghị ấn phẩm (Recommendation Engine) dựa trên lịch sử tra cứu và ngành học của sinh viên.
Đối tượng hưởng lợi
+-----------------------------------------------------------------------------------+
| BENEFICIARY ECOSYSTEM |
| |
| [ Students & Readers ] [ Librarians ] [ Software Engineers ] |
| - Instant Search - 85% Less Desk Time - Reference OOAD / UML Spec |
| - Real-time Reservation - 0 Manual Calc Errors - Reusable BCE Architecture |
+-----------------------------------------------------------------------------------+
- Sinh viên và Độc giả: Tiết kiệm 80% thời gian tra cứu và tìm kiếm sách; chủ động nắm bắt tình trạng còn/hết của ấn phẩm và theo dõi hạn trả chính xác, tránh các khoản phạt không đáng có.
- Đội ngũ Thủ thư & Cán bộ quản lý: Giảm 85% áp lực nhập liệu thủ công tại quầy giao dịch; loại bỏ hoàn toàn các sai sót tính toán hạn trả sách; trích xuất báo cáo thống kê chính xác chỉ với 1 thao tác nhấn nút.
- Lập trình viên & Kỹ sư phần mềm: Cung cấp tài liệu tham khảo chi tiết về quy trình ứng dụng UML 2.0 vào phân tích thiết kế hệ thống phần mềm nghiệp vụ thực tế; mẫu mã nguồn phân tầng rõ ràng theo mô hình BCE.
- Các cơ sở đào tạo: Cung cấp giải pháp phần mềm quản trị thư viện nội bộ chi phí thấp, tối ưu hóa nguồn lực vận hành học liệu học thuật.
Câu hỏi thường gặp
1. Hệ thống yêu cầu cấu hình phần cứng và môi trường như thế nào để triển khai?
Hệ thống yêu cầu máy trạm cài đặt Java Runtime Environment (JRE 8 trở lên) và máy chủ cơ sở dữ liệu MySQL 5.7 hoặc Microsoft SQL Server. Cấu hình phần cứng tối thiểu là CPU Dual Core 2.0 GHz, RAM 2GB và bộ nhớ trống 500MB, tương thích trên các hệ điều hành Windows, Linux và macOS.
2. Hệ thống xử lý ra sao khi có nhiều độc giả cùng yêu cầu mượn hoặc đặt một cuốn sách duy nhất còn lại trong kho?
Hệ thống sử dụng cơ chế kiểm soát giao dịch (Database Transaction) với mức cô lập phù hợp. Khi giao dịch đầu tiên kiểm tra So_luong > 0 và tiến hành giảm số lượng, lệnh cập nhật sẽ khóa tạm thời bản ghi ấn phẩm. Giao dịch tiếp theo ngay lập tức nhận thông báo số lượng tồn kho đã hết (So_luong = 0) và chuyển sang xử lý ngoại lệ theo đúng biểu đồ tuần tự.
3. Chương trình có thể tích hợp với hệ thống thẻ sinh viên thông minh hoặc máy quét mã vạch không?
Hoàn toàn có thể. Do hệ thống nhận diện độc giả qua chuỗi định danh CARDNO và nhận diện sách qua BookID, thiết bị quét mã vạch/thẻ từ chỉ cần kết nối qua cổng USB dưới dạng thiết bị đầu vào (Human Interface Device - HID) là có thể tự động điền dữ liệu vào form mà không cần chỉnh sửa mã nguồn cốt lõi.
4. Quy trình bảo trì và sao lưu dữ liệu của hệ thống được thực hiện thế nào?
Cơ sở dữ liệu hỗ trợ cơ chế sao lưu định kỳ (Scheduled Backup) thông qua các công cụ quản trị chuẩn như MySQL Workbench hoặc SQL Server Agent. Tầng ứng dụng Java độc lập với tầng dữ liệu nên việc nâng cấp logic phần mềm không làm gián đoạn hoặc sai lệch cấu trúc dữ liệu đã lưu.
5. Chi phí đầu tư và thời gian thu hồi vốn (ROI) khi áp dụng hệ thống quản lý thư viện?
Hệ thống tận dụng nền tảng mã nguồn mở (Java SE, MySQL) giúp tiết kiệm 100% chi phí bản quyền phần mềm thương mại. Nhờ cắt giảm hơn 80% thời gian xử lý thủ công và triệt tiêu thất thoát tài liệu, đơn vị vận hành có thể thu hồi toàn bộ chi phí triển khai ban đầu chỉ sau 3 đến 6 tháng vận hành thực tế.
Kết luận
Đề tài "Xây dựng chương trình quản lý thông tin sách trong thư viện" tại HUTECH Library là một công trình nghiên cứu ứng dụng hoàn chỉnh, kết hợp chặt chẽ giữa lý thuyết phân tích thiết kế hướng đối tượng (OOAD) theo chuẩn UML 2.0 và kỹ thuật lập trình hướng đối tượng trên nền tảng Java SE. Hệ thống đã chuẩn hóa toàn bộ các hoạt động lưu thông học liệu, giải quyết triệt để các bài toán kiểm soát quá hạn, giới hạn số lượng và tối ưu hóa thời gian xử lý giao dịch tại quầy.
Với cấu trúc module hóa phân tầng rõ ràng (Boundary - Control - Entity) cùng cơ sở dữ liệu quan hệ chặt chẽ, dự án không chỉ mang lại giá trị ứng dụng thực tiễn cao cho công tác quản trị thư viện trường học mà còn đóng vai trò là tài liệu tham khảo kỹ thuật chuẩn mực cho sinh viên và kỹ sư công nghệ thông tin trong quá trình phát triển các hệ thống quản lý nghiệp vụ doanh nghiệp.