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

Đề tài "Quản lý thư viện" (trong lời cam đoan được ghi là "Quản lý khu thư viện trường sư phạm kỹ thuật Hưng Yên") là đồ án chuyên ngành (Đồ án 2) thuộc ngành Công nghệ thông tin, chuyên ngành Kỹ thuật phần mềm tại Trường Đại học Sư phạm Kỹ thuật Hưng Yên, do sinh viên Phạm Anh Nghĩa (mã sinh viên: 10120787, lớp: 125205) thực hiện dưới sự hướng dẫn của giảng viên Nguyễn Hoàng Điệp vào năm 2022.

Theo trình bày của tác giả, công nghệ thông tin ngày càng phát triển mạnh mẽ và được ứng dụng sâu rộng trong công tác quản lý. Việc áp dụng công nghệ vào quản lý thư viện xuất phát từ yêu cầu thực tiễn nhằm khắc phục phương thức quản lý thủ công truyền thống vốn tiêu tốn nhiều thời gian, nhân lực và chi phí. Mục tiêu của việc xây dựng chương trình là hỗ trợ người quản lý vận hành các dịch vụ thư viện một cách quy củ, hiện đại và đạt hiệu quả công việc cao hơn.

Mục tiêu nghiên cứu của đồ án được phân định thành hai cấp độ cụ thể:

  1. Mục tiêu tổng quát: Tìm hiểu nghiệp vụ và các vấn đề liên quan đến công tác quản lý thư viện, bao gồm quản lý độc giả, quản lý thủ thư và quản lý sách.
  2. Mục tiêu cụ thể: Xây dựng một phần mềm quản lý hỗ trợ người quản trị khắc phục các điểm yếu của phương thức quản lý truyền thống, giảm chi phí về nhân lực và thời gian; đồng thời bảo đảm các nhóm chức năng cơ bản gồm thêm, sửa, xóa, tìm kiếm và tính toán các khoản chi phí liên quan.

Đối tượng và phạm vi nghiên cứu được xác định như sau:

  • Đối tượng nghiên cứu: Thư viện.
  • Khách thể nghiên cứu: Độc giả (người mượn), thủ thư, sách và đầu sách.
  • Phạm vi không gian: Không gian thư viện (thực tế tại Trường Đại học Sư phạm Kỹ thuật Hưng Yên).
  • Phạm vi thời gian: Căn cứ theo dữ liệu được cung cấp từ sổ ghi chép của thư viện.

Về nội dung thực hiện, tác giả xác định bốn khối công việc chính:

  1. Cập nhật thông tin: Thao tác thêm, sửa, xóa các đối tượng dữ liệu.
  2. Tìm kiếm: Tra cứu số lượng sách, thông tin độc giả và số phiếu mượn.
  3. Báo cáo và thống kê: Theo dõi tình hình số lượng sách, chất lượng sách cùng các chỉ số quản lý ghi nhận trong tài liệu (văn bản có đề cập thêm hạng mục số điện, số nước).
  4. Nghiệp vụ: Thực hiện quy trình lập phiếu mượn và phiếu trả sách.

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

Đồ án tổng hợp các cơ sở lý thuyết về quy trình kỹ thuật phần mềm, phương pháp phân tích thiết kế hướng đối tượng, nền tảng hệ điều hành di động Android và hệ quản trị cơ sở dữ liệu SQLite.

Về quy trình phát triển phần mềm, tác giả hệ thống hóa chu trình kỹ thuật bao gồm sáu giai đoạn: khảo sát xác định yêu cầu, thiết kế hệ thống (chức năng, cơ sở dữ liệu, giao diện), kiểm thử, triển khai bàn giao, bảo trì và phát triển tính năng. Đồ án xem xét hai mô hình quy trình:

  • Mô hình thác nước (Waterfall Model): Tiến trình tuần tự qua các giai đoạn thu thập yêu cầu (Requirement gathering), phân tích hệ thống (System Analysis), lập trình (Coding), kiểm thử (Testing), triển khai (Implementation) và vận hành bảo trì (Operations & Maintenance).
  • Mô hình chữ V (V-Model): Phù hợp cho các dự án quy mô vừa và nhỏ, gắn kết song song từng giai đoạn phát triển với một giai đoạn kiểm thử tương ứng nhằm phát hiện lỗi sớm.

Về phương pháp phân tích và thiết kế, tác giả áp dụng phương pháp hướng đối tượng kết hợp ngôn ngữ mô hình hóa thống nhất UML (Unified Modeling Language). Quy trình thiết kế tuân thủ năm nguyên tắc hướng đối tượng:

  1. Xác định các đối tượng và nhóm thành các lớp.
  2. Xác định mối quan hệ giữa các lớp.
  3. Tạo sơ đồ mô hình đối tượng người dùng.
  4. Xác định thuộc tính của đối tượng người dùng.
  5. Xác định các thao tác/hoạt động thực hiện trên các lớp.

Về nền tảng công nghệ, ứng dụng được định hướng xây dựng trên hệ điều hành Android:

  • Ngôn ngữ lập trình: Java được xác định là ngôn ngữ lập trình chính thức của hệ điều hành, vận hành với hiệu suất xử lý đa luồng, hỗ trợ cơ chế dọn rác bộ nhớ và bảo mật bằng các thuật toán mã hóa (khóa công khai, hàm băm một chiều). Bên cạnh đó, môi trường Android còn hỗ trợ XML cho thiết kế giao diện.
  • Công cụ phát triển: Môi trường phát triển tích hợp Android Studio do Google cung cấp.
  • Kiến trúc thành phần Android: Bao gồm Activity, Services, Content Provider, Broadcast Receiver, Intent và Intent Filter, Process và Thread.
  • Các điều khiển giao diện (UI Controls): Các điều khiển cơ bản gồm View (LinearLayout, ConstraintLayout, TableLayout), TextView, Button (Button, ImageButton), EditText (PlainText, TextPassword); các điều khiển danh mục và thời gian gồm DatePicker/DateTimePicker, GridView, ListView (bắt sự kiện ItemClick), Spinner (tương tự ComboBox, bắt sự kiện ItemSelected).

Về cơ sở dữ liệu, tác giả lựa chọn SQLite:

  • Đặc điểm: Là hệ quản trị cơ sở dữ liệu quan hệ nhúng (RDBMS), hỗ trợ chuẩn SQL-92, không chạy dưới dạng tiến trình máy chủ độc lập (Serverless), không yêu cầu cấu hình hay cấp quyền người dùng phức tạp. Toàn bộ cơ sở dữ liệu được lưu trữ trong một tệp duy nhất với dung lượng thư viện phần mềm dưới 400 KB.
  • Khả năng xử lý: Hỗ trợ mã hóa ký tự UTF-8, cơ chế giao dịch (Transaction), khung nhìn (View) và các câu lệnh truy vấn tiêu chuẩn (SELECT, INSERT, UPDATE, DELETE).

Phương pháp tiếp cận thực tế của đồ án là kết hợp khảo sát thực tế sổ sách tại hệ thống thư viện với nghiên cứu lý thuyết hướng đối tượng để thiết kế cơ sở dữ liệu, sau đó sử dụng Android Studio để xây dựng các mô-đun phần mềm.

Thiết kế và triển khai

Hệ thống được thiết kế theo các yêu cầu bài toán cụ thể và mô hình hóa chi tiết bằng các biểu đồ kỹ thuật phần mềm trước khi tiến hành cài đặt giao diện và chức năng.

Phân tích yêu cầu hệ thống

Hệ thống đáp ứng bảng yêu cầu khảo sát từ người dùng và bảng đặc tả chức năng nghiệp vụ:

STT Tên yêu cầu khách hàng Mô tả kỹ thuật
1 Đăng nhập hệ thống Xác thực tài khoản của người quản trị/thủ thư trước khi vào màn hình làm việc.
2 Hiển thị menu chức năng Cung cấp danh mục điều hướng tới các phân hệ quản lý.
3 Hiển thị các lớp đối tượng Quản lý danh sách các đối tượng: độc giả, thủ thư, sách, phiếu mượn.
4 Hiển thị chi tiết đối tượng Xem thông tin chi tiết của từng bản ghi dữ liệu được lưu trữ.
5 Menu thao tác dữ liệu Cung cấp các lệnh tương tác trên từng lớp thực thể.
6 Thao tác dữ liệu cơ bản Hỗ trợ đầy đủ bốn thao tác: thêm, sửa, xóa, tìm kiếm.
7 Quản lý dữ liệu các lớp Lưu trữ và bảo đảm tính toàn vẹn dữ liệu trong cơ sở dữ liệu.

Các yêu cầu chức năng được gom nhóm thành ba mô-đun:

  • Mô-đun quản lý nghiệp vụ: Hiển thị và quản lý bốn nhóm thực thể (độc giả, thủ thư, sách, phiếu mượn).
  • Mô-đun tìm kiếm và xử lý dữ liệu: Cho phép tra cứu thông tin theo đối tượng, chỉnh sửa dữ liệu sai sót và xóa bản ghi không còn hiệu lực.
  • Mô-đun quản lý phiếu mượn và tài chính: Hỗ trợ lập phiếu mượn, phiếu trả và thống kê chi phí trong ngày hoặc trong tháng.

Về yêu cầu phi chức năng, đồ án xác định bốn tiêu chí: giao diện trực quan, bắt mắt và thân thiện; phân định quyền hạn sử dụng theo vai trò; khả năng nâng cấp và cập nhật hệ thống trong thời gian dài; chính sách hỗ trợ vận hành và khắc phục lỗi phát sinh.

Đặc tả ca sử dụng (Use-case)

Hệ thống thiết lập biểu đồ ca sử dụng tổng quát xoay quanh tác nhân chính là thủ thư. Trong tài liệu, phần mục đích của các ca sử dụng có ghi nhận việc quản lý độc giả và tài sản sách gắn với bối cảnh ký túc xá:

  • Quản lý độc giả (Use-case 1): Cho phép thủ thư thực hiện tìm kiếm, thêm, sửa, xóa thông tin người đọc. Điều kiện tiên quyết là thủ thư đã đăng nhập vào hệ thống; dữ liệu nhập vào được kiểm tra tính hợp lệ trước khi lưu trữ hoặc ghi đè.
  • Quản lý sách (Use-case 2): Cung cấp các chức năng tra cứu đầu sách, thêm thông tin sách mới, cập nhật trạng thái sách và xóa sách khỏi cơ sở dữ liệu.
  • Quản lý thủ thư (Use-case 3): Thực hiện các thao tác quản lý hồ sơ nhân viên thư viện bao gồm thêm tài khoản, sửa thông tin, xóa hoặc tra cứu.

Các luồng sự kiện chính đều được thiết kế kèm theo các luồng sự kiện phụ (UC002-A1, UC003-A1) nhằm phát hiện thông tin nhập sai hoặc lỗi tìm kiếm không có kết quả, từ đó gửi thông báo phản hồi trên giao diện để yêu cầu người dùng thao tác lại.

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

Cơ sở dữ liệu SQLite của ứng dụng gồm bốn thực thể chính được chuẩn hóa theo cấu trúc thuộc tính và ràng buộc:

Thực thể Tên thuộc tính Kiểu dữ liệu Ràng buộc Mô tả chi tiết
Sinh viên (Độc giả) Mã đọc giả String Khóa chính Định danh duy nhất cho mỗi độc giả
Họ tên đọc giả String Khác rỗng Tên đầy đủ của người mượn
Năm sinh Date 1950 – 2004 Giới hạn độ tuổi độc giả hợp lệ
Lớp String Khác rỗng Lớp sinh hoạt của sinh viên
Giới tính String Nam hoặc Nữ Ràng buộc giá trị cố định
Số điện thoại String - Thông tin liên lạc của độc giả
Thủ thư (Nhân viên) Mã thủ thư String Khóa chính Định danh duy nhất cho nhân viên
Họ tên thủ thư String Khác rỗng Tên đầy đủ của thủ thư
Năm sinh Date 1950 – 2000 Giới hạn độ tuổi lao động hợp lệ
Chức vụ/công việc String Khác rỗng Vị trí công tác của thủ thư
Số điện thoại/Email String Khác rỗng Thông tin liên hệ công việc
Sách Mã số sách String Khóa chính Định danh duy nhất của cuốn sách
Số lượng Int Khác rỗng Tổng số bản sách hiện có
Nhà xuất bản (1) Int Khác rỗng Trong văn bản ghi ràng buộc số lượng người ở
Tình trạng String Khác rỗng Hiện trạng sách (mới, cũ, hỏng)
Nhà xuất bản (2) String Khác rỗng Tên đơn vị xuất bản sách
Phiếu mượn Mã phiếu mượn String Khóa chính Định danh duy nhất của lượt mượn
Mã đọc giả String Khóa ngoại Tham chiếu đến bảng Sinh viên
Mã số sách Int Khóa ngoại Tham chiếu đến dữ liệu sách
Thời gian mượn String Khác rỗng Thời lượng được phép mượn
Ngày mượn String Khác rỗng Thời điểm ghi nhận mượn sách
Đã trả Float >= 0 Trạng thái hoàn trả hoặc phí liên quan

Thiết kế kiến trúc và mô hình tương tác

Thiết kế hệ thống được cụ thể hóa bằng các biểu đồ tương tác UML:

  • Biểu đồ lớp phân tích (VOPC - View of Participating Classes): Xác định các lớp biên (Boundary), lớp điều khiển (Control) và lớp thực thể (Entity) tham gia thực hiện các ca sử dụng.
  • Biểu đồ tuần tự (Sequence Diagram): Mô tả chi tiết tiến trình gửi nhận thông điệp theo thời gian cho bảy nghiệp vụ: đăng nhập hệ thống, quản lý độc giả, tìm kiếm dữ liệu, thêm sách mới, lập phiếu mượn, xử lý phiếu trả và xóa dữ liệu.

Triển khai chức năng và giao diện

Hệ thống được lập trình và đóng gói giao diện trên Android Studio với các màn hình chính:

  • Màn hình đăng nhập: Tiếp nhận thông tin tài khoản thủ thư để cấp quyền truy cập.
  • Màn hình chính: Hiển thị các khối chức năng điều hướng của hệ thống thư viện.
  • Phân hệ quản lý thành viên: Tiếp nhận thông tin hồ sơ độc giả.
  • Phân hệ quản lý sách và loại sách: Cung cấp biểu mẫu thêm mới, danh sách hiển thị, chức năng chỉnh sửa thuộc tính sách và nút lệnh xóa bản ghi trực tiếp khỏi cơ sở dữ liệu SQLite.
  • Phân hệ quản lý phiếu mượn: Ghi nhận thông tin mượn - trả giữa độc giả và các đầu sách.

Về công tác kiểm tra chất lượng, tài liệu có thiết lập đề mục kiểm thử tại mục 4.2 của Chương IV nhằm rà soát tính đúng đắn của các chức năng phần mềm trên môi trường Android trước khi bàn giao.

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

Bố cục của đồ án được tổ chức thành năm chương chính với các nội dung kỹ thuật tương ứng:

CHƯƠNG I: MỞ ĐẦU

Chương mở đầu trình bày tính cấp thiết của việc tin học hóa công tác quản lý thư viện tại các trường học. Tác giả xác định mục tiêu tổng quát là tìm hiểu nghiệp vụ thư viện, mục tiêu cụ thể là xây dựng ứng dụng di động hỗ trợ thêm, sửa, xóa, tra cứu và thống kê. Chương này quy định rõ đối tượng nghiên cứu là thư viện; khách thể gồm độc giả, thủ thư và sách; phạm vi không gian tại thư viện trường và phạm vi thời gian dựa trên số liệu sổ sách lưu trữ. Phương pháp tiếp cận kết hợp khảo sát thực tế với công cụ lập trình Android Studio.

CHƯƠNG II: CƠ SỞ LÝ THUYẾT

Chương hai tập trung hệ thống hóa nền tảng lý thuyết phát triển ứng dụng di động:

  • Trình bày vòng đời phát triển phần mềm và so sánh hai mô hình: Thác nước (Waterfall) tuần tự và Mô hình chữ V (V-Model) phát triển song song với kiểm thử.
  • Trình bày phương pháp phân tích thiết kế hướng đối tượng qua ngôn ngữ UML và năm nguyên tắc xây dựng mô hình lớp.
  • Phân tích kiến trúc hệ điều hành Android, ưu thế của ngôn ngữ lập trình Java (đa luồng, bảo mật mã hóa) và môi trường Android Studio; đồng thời liệt kê chi tiết các thành phần Activity, Services, Broadcast Receiver, Content Provider.
  • Giới thiệu các thành phần điều khiển giao diện Android cơ bản và nâng cao (DatePicker, GridView, ListView, Spinner).
  • Trình bày đặc tính của hệ quản trị cơ sở dữ liệu quan hệ nhúng SQLite: không cần máy chủ, không cấu hình, kích thước tệp engine nhỏ gọn dưới 400 KB, hỗ trợ giao dịch và truy vấn SQL-92.

CHƯƠNG III: PHÂN TÍCH VÀ THIẾT KẾ

Chương này thực hiện chuyển hóa yêu cầu nghiệp vụ thành tài liệu thiết kế kỹ thuật:

  • Khảo sát và lập bảng bảy yêu cầu khách hàng cùng ba nhóm yêu cầu chức năng (quản lý, tìm kiếm/thao tác dữ liệu, quản lý phiếu mượn/chi phí) và bốn yêu cầu phi chức năng.
  • Xây dựng biểu đồ ca sử dụng tổng quát và viết đặc tả chi tiết cho ba ca sử dụng chính: Quản lý độc giả, Quản lý sách và Quản lý thủ thư, bao gồm cả luồng sự kiện chính và luồng xử lý lỗi nhập liệu.
  • Thiết kế cơ sở dữ liệu quan hệ SQLite gồm bốn bảng: Sinh viên, Thủ thư, Sách, Phiếu mượn; quy định rõ kiểu dữ liệu, khóa chính, khóa ngoại và các ràng buộc toàn vẹn.
  • Xây dựng biểu đồ lớp VOPC và hệ thống bảy biểu đồ tuần tự cho các chức năng then chốt.
  • Thiết kế layout giao diện người dùng cho các màn hình: đăng nhập, menu chính, quản lý thành viên, quản lý sách, quản lý loại sách và quản lý phiếu mượn.

CHƯƠNG IV: TRIỂN KHAI PHẦN MỀM

Chương bốn phản ánh kết quả hiện thực hóa các phân hệ chức năng trên môi trường Android:

  • Triển khai chức năng quản lý sách: Cài đặt các tác vụ thêm sách mới vào cơ sở dữ liệu (buộc chọn thể loại sách đã tồn tại), cập nhật thông tin sách và xóa sách.
  • Triển khai chức năng quản lý loại sách: Cài đặt biểu mẫu thêm thể loại, chỉnh sửa thông tin loại sách và xóa loại sách khỏi hệ thống cơ sở dữ liệu.
  • Thiết lập danh mục kiểm thử phần mềm (mục 4.2) để đánh giá sự vận hành của các mô-đun chức năng.

CHƯƠNG V: KẾT LUẬN

Chương năm là phần tổng kết toàn bộ nội dung nghiên cứu, đánh giá mức độ hoàn thành so với mục tiêu ban đầu về việc xây dựng phần mềm quản lý thư viện trên nền tảng Android.

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

Căn cứ trên các nội dung kỹ thuật được trình bày trong văn bản, đồ án đạt được các kết quả cụ thể sau:

  • Xây dựng hoàn chỉnh hồ sơ phân tích thiết kế hệ thống theo phương pháp hướng đối tượng, bao gồm biểu đồ ca sử dụng, đặc tả kịch bản sự kiện chính/phụ, biểu đồ lớp VOPC và hệ thống bảy biểu đồ tuần tự mô tả chi tiết tương tác luồng dữ liệu.
  • Thiết kế lược đồ cơ sở dữ liệu quan hệ trên SQLite gồm bốn bảng thực thể (Sinh viên, Thủ thư, Sách, Phiếu mượn) với các trường dữ liệu, khóa chính, khóa ngoại và ràng buộc miền giá trị (như năm sinh độc giả từ 1950 đến 2004, năm sinh thủ thư từ 1950 đến 2000).
  • Hiện thực hóa thành công giao diện và các mô-đun chức năng thêm, sửa, xóa đối với hai đối tượng cốt lõi là Quản lý sách và Quản lý loại sách bằng công cụ Android Studio.
  • Đóng góp tự nêu của tác giả là mang lại cho người quản lý một công cụ phần mềm nhằm tinh giản quy trình quản lý thủ công, tiết kiệm thời gian, nhân lực và hỗ trợ các thao tác nghiệp vụ chính xác hơn so với việc ghi chép sổ sách truyền thống.

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

Qua khảo sát văn bản đồ án, một số hạn chế và hướng mở được ghi nhận:

  • Sự thiếu nhất quán về dữ liệu mô tả: Văn bản xuất hiện dấu vết sao chép từ đề tài quản lý ký túc xá sang đề tài thư viện. Điều này thể hiện rõ ở mục nội dung thực hiện (ghi nhận báo cáo "số điện, số nước"), mục đích ca sử dụng ("quản lý độc giả trong ký túc", "quản lý sách trong ký túc xá"), và bảng thực thể Sách (ràng buộc của trường nhà xuất bản bị ghi là "Số người đang ở <= số người ở được").
  • Phạm vi triển khai chưa trọn vẹn: Phần triển khai mã nguồn và giao diện ở Chương IV mới chỉ thể hiện chi tiết cho phân hệ Quản lý sách và Quản lý loại sách; các phân hệ quản lý độc giả, quản lý phiếu mượn - trả và tính toán chi phí chưa được trình bày đầy đủ các bước thực thi.
  • Hướng nghiên cứu tiếp: Cần chuẩn hóa toàn bộ tài liệu đặc tả để loại bỏ các thông tin không thuộc nghiệp vụ thư viện, hoàn thiện mã nguồn cho toàn bộ các ca sử dụng còn lại, bổ sung chi tiết các ca kiểm thử (test cases) tại mục 4.2 và tích hợp cơ chế đồng bộ dữ liệu mạng thay vì chỉ lưu trữ cục bộ trên tệp SQLite đơn lẻ.

Giá trị tham khảo

Đồ án có giá trị tham khảo chuyên môn đối với:

  • Sinh viên ngành Công nghệ thông tin, Kỹ thuật phần mềm đang chuẩn bị thực hiện đồ án môn học hoặc đồ án tốt nghiệp về mảng ứng dụng di động Android.
  • Người học cần tài liệu mẫu về quy trình xây dựng ứng dụng theo phương pháp hướng đối tượng: từ việc khảo sát yêu cầu, vẽ biểu đồ ca sử dụng, viết kịch bản đặc tả sự kiện, lập biểu đồ lớp VOPC đến thiết kế biểu đồ tuần tự cho từng chức năng.
  • Tài liệu cung cấp cấu trúc tham khảo về cách thiết kế bảng dữ liệu SQLite cục bộ và cách kết nối các điều khiển giao diện (ListView, Spinner, DatePicker) trong môi trường Android Studio.

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

1. Ứng dụng trong đồ án được xây dựng chạy trên nền tảng nào và sử dụng công nghệ gì?
Phần mềm được thiết kế và triển khai để chạy trên hệ điều hành di động Android. Công cụ lập trình được sử dụng là Android Studio, ngôn ngữ lập trình chính là Java kết hợp XML cho giao diện, và hệ quản trị cơ sở dữ liệu cục bộ là SQLite.

2. Cơ sở dữ liệu SQLite của hệ thống bao gồm những thực thể nào?
Hệ thống gồm bốn thực thể chính: Sinh viên (độc giả mượn sách), Thủ thư (nhân viên quản lý), Sách (thông tin các đầu sách và số lượng) và Phiếu mượn (ghi nhận quan hệ mượn trả giữa độc giả và sách kèm theo thời gian, ngày mượn).

3. Ràng buộc về năm sinh đối với độc giả và thủ thư trong cơ sở dữ liệu được quy định ra sao?
Theo bảng chi tiết các thực thể của hệ thống, trường năm sinh của Độc giả (Sinh viên) có ràng buộc nằm trong khoảng từ năm 1950 đến 2004; trong khi đó, năm sinh của Thủ thư có ràng buộc nằm trong khoảng từ năm 1950 đến 2000.

4. Tài liệu có sự không thống nhất nào về mặt dữ liệu và nghiệp vụ không?
Có. Trong tài liệu có sự xuất hiện của các nội dung thuộc nghiệp vụ quản lý ký túc xá như: thống kê "số điện, số nước" ở Chương I, mục đích use-case ghi "quản lý trong ký túc xá" ở Chương III, và ràng buộc trường nhà xuất bản của bảng Sách bị ghi thành "Số người đang ở <= số người ở được".

5. Tại sao tác giả lại lựa chọn hệ quản trị cơ sở dữ liệu SQLite cho đồ án?
Tác giả chọn SQLite vì đây là hệ quản trị cơ sở dữ liệu quan hệ nhỏ gọn (dung lượng tệp thư viện dưới 400 KB), chạy dạng thư viện nhúng không cần cấu hình máy chủ độc lập (serverless), không yêu cầu phân quyền phức tạp, hỗ trợ chuẩn SQL-92 và hoàn toàn phù hợp với các ứng dụng di động có quy mô vừa và nhỏ.

Kết luận

Đồ án "Quản lý thư viện" của tác giả Phạm Anh Nghĩa là công trình kỹ thuật phần mềm tập trung vào việc tin học hóa nghiệp vụ quản lý thư viện trường học thông qua ứng dụng di động Android kết hợp cơ sở dữ liệu nhúng SQLite. Tài liệu đã trình bày có hệ thống các bước từ khảo sát yêu cầu, mô hình hóa hướng đối tượng bằng UML (ca sử dụng, lớp VOPC, biểu đồ tuần tự) đến triển khai giao diện và chức năng quản lý sách cơ bản trên Android Studio. Mặc dù còn bộc lộ một số hạn chế về mặt biên tập văn bản do dấu vết sao chép từ đề tài quản lý ký túc xá và việc chưa trình bày hết toàn bộ mã nguồn kiểm thử, đồ án vẫn cung cấp một khung mẫu tham khảo có giá trị về quy trình phân tích, thiết kế và phát triển ứng dụng di động cho sinh viên chuyên ngành Kỹ thuật phần mềm.