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

Trong bối cảnh chuyển đổi số và sự phát triển của thương mại điện tử, các mô hình kinh doanh bán lẻ truyền thống đang đối mặt với yêu cầu hiện đại hóa quy trình quản lý và tiếp cận khách hàng. Ngành kinh doanh xuất bản phẩm đòi hỏi các công cụ tin học hóa nhằm khắc phục những bất cập của phương thức ghi chép sổ sách thủ công, tối ưu hóa quá trình lưu trữ danh mục, xử lý đơn hàng và tra cứu sản phẩm. Đề tài "Xây dựng ứng dụng quản lý bán sách" được thực hiện bởi nhóm sinh viên Khoa Công nghệ Thông tin, Trường Đại học Công nghệ Giao thông Vận tải (Hà Nội, 2024) dưới sự hướng dẫn của TS. Lê Chí Luận, xuất phát từ nhu cầu thực tiễn và định hướng đào tạo ứng dụng thực học – thực nghiệp.

Mục tiêu nghiên cứu và phát triển của đề tài bao gồm:

  1. Nâng cao hiệu quả kinh doanh và chuẩn hóa quy trình quản lý bán sách.
  2. Mở rộng khả năng tiếp cận khách hàng trên nền tảng di động.
  3. Cung cấp kênh thông tin sách cập nhật, tra cứu dữ liệu chính xác và trực quan.
  4. Tiết kiệm thời gian, chi phí vận hành cho nhà quản lý và giao dịch cho khách hàng.
  5. Tối ưu hóa trải nghiệm tương tác của người dùng trong việc tìm kiếm, chọn lựa và đặt mua sản phẩm.

Về giới hạn và phạm vi nghiên cứu:

  • Giới hạn chức năng: Đề tài tập trung xây dựng các chức năng nền tảng của hệ thống quản lý bán sách, bao gồm: quản lý tài khoản, danh mục sản phẩm, giỏ hàng, đặt hàng và thanh toán, hiển thị chi tiết sách, tìm kiếm – phân loại và phân hệ quản trị. Đề tài không đi sâu vào các mô hình phân tích dữ liệu kinh doanh nâng cao (BI) hay tích hợp cổng dịch vụ ngoài quy mô lớn.
  • Giới hạn quy mô dữ liệu và hệ thống: Kiến trúc cơ sở dữ liệu và ứng dụng được thiết kế ở mức độ phục vụ bài toán học tập và mô hình cửa hàng vừa/nhỏ, không xử lý phân tán quy mô lớn hay tải đồng thời hàng triệu người dùng.
  • Phạm vi bảo trì: Đề tài dừng lại ở giai đoạn thiết kế, lập trình, kiểm thử và đóng gói triển khai ban đầu, không bao gồm giai đoạn bảo trì dài hạn sau bàn giao.
  • Phạm vi khảo sát thực tế: Nghiên cứu được tiến hành dựa trên việc khảo sát thực địa tại Nhà sách Tiến Thọ (Địa chỉ: 424 Nguyễn Trãi, Thanh Xuân Trung, Thanh Xuân, Hà Nội).

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

Đề tài sử dụng phương pháp luận phân tích thiết kế hệ thống hướng đối tượng kết hợp với các kỹ thuật phát triển ứng dụng di động hiện đại:

  • Ngôn ngữ mô hình hóa thống nhất (UML): Được sử dụng để đặc tả, trực quan hóa và xây dựng tài liệu thiết kế hệ thống. Báo cáo khai thác các thành phần gồm góc nhìn (View), biểu đồ (Diagram), quan hệ (Relationship) và phần tử mô hình (Model element) nhằm xây dựng biểu đồ Use Case, biểu đồ tuần tự (Sequence Diagram), biểu đồ hoạt động (Activity Diagram), biểu đồ trạng thái (State Diagram), biểu đồ thành phần và biểu đồ triển khai.
  • Kiến trúc phần mềm Model-View-Controller (MVC): Phân chia hệ thống thành 3 thành phần độc lập: Model (quản lý cấu trúc dữ liệu, kết nối cơ sở dữ liệu), View (giao diện tiếp nhận tương tác và hiển thị thông tin), Controller (tiếp nhận yêu cầu, xử lý nghiệp vụ logic và điều phối dữ liệu giữa Model và View).
  • Ngôn ngữ lập trình và công nghệ nền tảng:
    • Java: Ngôn ngữ lập trình hướng đối tượng, độc lập nền tảng qua máy ảo JVM, hỗ trợ cơ chế dọn rác tự động (Garbage Collection) và lập trình đa luồng (Multithreading).
    • Android Jetpack: Bộ thư viện hỗ trợ kiến trúc Android gồm LiveData (quản lý dữ liệu quan sát được), ViewModel (lưu trữ dữ liệu vòng đời UI), Room (truy cập CSDL SQLite/cục bộ), Navigation (điều hướng màn hình).
    • Retrofit & Glide: Thư viện mạng Retrofit (phát triển bởi Square) dùng cho giao tiếp HTTP/RESTful API và phân tích dữ liệu JSON; Thư viện Glide hỗ trợ tối ưu hóa tải, xử lý và lưu bộ nhớ đệm (cache) hình ảnh.
    • Hệ quản trị cơ sở dữ liệu MySQL: Sử dụng để thiết kế và quản trị cấu trúc cơ sở dữ liệu quan hệ cho toàn bộ hệ thống.
  • Phương pháp thu thập dữ liệu: Khảo sát thực tế tại cơ sở kinh doanh qua 3 hình thức: phỏng vấn trực tiếp, quan sát hiện trường và nghiên cứu tài liệu quy trình. Ngày 05/09/2024, nhóm đã thực hiện phỏng vấn quản lý cửa hàng (anh Bạch Công Tử) và nhân viên bán hàng (chị Bạch Thu Phương) để thu thập thông tin về thời gian mở cửa (9h–20h), danh mục bán chạy (sách giáo khoa), nguồn thu chính, chi phí giao hàng (20.000 – 35.000 VNĐ), quy mô nhân sự (2–3 người/ca) và yêu cầu bảo mật, giao diện.

Thiết kế và triển khai

Hệ thống được thiết kế theo mô hình phân tầng chặt chẽ, kết hợp môi trường công cụ StarUML (thiết kế mô hình), XAMPP (máy chủ Apache, PHP xử lý dữ liệu trung gian, MySQL) và Android Studio (IDE phát triển ứng dụng di động client).

Phân công trách nhiệm phát triển

STT Thành viên thực hiện Nội dung phân công phụ trách Tỷ lệ hoàn thành
1 Đồng Thanh Tuấn Quản lý và chỉnh sửa tài khoản cá nhân; xem danh sách sản phẩm; tìm kiếm sản phẩm; xem trang chủ; hiển thị danh sách sản phẩm nổi bật. 27%
2 Hoàng Trần Nguyên Xem danh sách đơn hàng và xem chi tiết đơn hàng (phía người dùng); quản trị thêm, sửa, xóa sản phẩm (Admin); kiểm thử chức năng thêm, sửa, xóa sản phẩm. 25%
3 Đỗ Việt Hưng Xây dựng chức năng giỏ hàng (thêm, xem, chỉnh sửa số lượng); thanh toán sản phẩm (mua ngay) và thanh toán giỏ hàng; kiểm thử chức năng đăng nhập, đăng ký. 25%
4 Bạch Minh Tuấn Chức năng xác thực (Đăng nhập, Đăng ký, Đăng xuất); xem chi tiết sản phẩm và chi tiết đơn hàng (Admin); cập nhật trạng thái đơn hàng và quản lý đơn hàng (Admin); kiểm thử giỏ hàng, đặt hàng. 23%

Ma trận phân quyền tác nhân (Actors) và Use Case

Tác nhân (Actor) Phạm vi vai trò Danh mục Use Case được phép thực hiện
Khách xem (Guest) Người dùng chưa đăng nhập Xem chi tiết sản phẩm; xem danh mục sản phẩm; xem kiểu dáng/thể loại; tìm kiếm sản phẩm; đăng ký tài khoản; thêm vào giỏ hàng; đặt hàng (chuyển hướng xác thực).
Khách hàng (Customer) Người dùng đã có tài khoản và đăng nhập Đăng nhập; đăng xuất; quản lý thông tin cá nhân; tìm kiếm sách; xem chi tiết sách; quản lý giỏ hàng; đặt hàng; quản lý đơn hàng cá nhân; xem trạng thái đơn hàng.
Quản lý (Admin) Quản trị viên hệ thống Xác thực tài khoản Admin; quản lý danh mục sản phẩm (thêm, sửa, xóa sản phẩm); tìm kiếm sản phẩm; quản lý danh sách đơn hàng; xem chi tiết đơn hàng; cập nhật trạng thái đơn hàng.

Đánh giá so sánh hệ thống

Tiêu chí Hệ thống cũ (Quản lý thủ công/Website cũ) Hệ thống mới (Ứng dụng di động được đề xuất)
Ưu điểm Khách hàng tiếp cận sản phẩm trực quan tại quầy; tận dụng được cơ sở vật chất sẵn có. Tối ưu hóa thủ tục rườm rà; nhất quán dữ liệu quản lý nội bộ; giao diện tối ưu cho thiết bị di động; nâng cao tính bảo mật.
Hạn chế Thủ tục rườm rà, tốn thời gian; bất cập trong kiểm soát đơn hàng và tương tác khách hàng; độ bảo mật thấp. Đòi hỏi chi phí nhân công công nghệ thông tin ban đầu; thời gian phát triển có thể kéo dài do phát sinh lỗi kỹ thuật.

Kế hoạch kiểm thử phần mềm

Đồ án xây dựng các kịch bản kiểm thử (Test Cases) chi tiết cho từng phân hệ chức năng:

  • Kiểm thử chức năng đăng nhập (Bảng 3.5).
  • Kiểm thử chức năng đăng ký (Bảng 3.6).
  • Kiểm thử chức năng giỏ hàng (Bảng 3.7).
  • Kiểm thử chức năng đặt hàng (Bảng 3.8).
  • Kiểm thử chức năng thêm sản phẩm (Bảng 3.9).
  • Kiểm thử chức năng chỉnh sửa sản phẩm (Bảng 3.10).
  • Kiểm thử chức năng xóa sản phẩm (Bảng 3.11).

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

CHƯƠNG I: GIỚI THIỆU

Chương này thiết lập cơ sở khoa học và thực tiễn của đề tài. Tác giả phân tích tính tất yếu của việc số hóa quy trình kinh doanh nhà sách trong bối cảnh mua sắm trực tuyến phát triển mạnh. Nội dung chương trình bày cụ thể lý do chọn đề tài dựa trên việc giải quyết bài toán thực tế cho cửa hàng sách, phục vụ định hướng thực học – thực nghiệp của Trường Đại học Công nghệ Giao thông Vận tải. Chương I xác định rõ 5 mục tiêu cốt lõi, khoanh vùng phạm vi chức năng, đối tượng người dùng, giới hạn kỹ thuật và công bố bảng phân chia tỷ lệ hoàn thành công việc của 4 thành viên trong nhóm thực hiện.

CHƯƠNG 2: KIẾN THỨC NỀN TẢNG

Chương 2 tổng hợp toàn bộ khung lý thuyết và môi trường công nghệ áp dụng trong dự án:

  • Phân tích vai trò và cấu trúc của chuẩn mô hình hóa UML trong phát triển phần mềm hướng đối tượng.
  • Trình bày bản chất kiến trúc 3 tầng MVC, xác định cơ chế phân tách giữa xử lý dữ liệu (Model), giao diện hiển thị (View) và điều khiển luồng (Controller).
  • Giới thiệu các đặc tính kỹ thuật của ngôn ngữ Java (tính hướng đối tượng, chạy trên JVM, quản lý bộ nhớ, xử lý đa luồng).
  • Làm rõ cấu trúc các thư viện Android chuyên dụng: Android Jetpack (LiveData, ViewModel, Room, Navigation), Retrofit và Glide.
  • Trình bày tổng quan về hệ quản trị CSDL MySQL và các công cụ phát triển phần mềm phụ trợ (StarUML, XAMPP, Android Studio).

CHƯƠNG 3: PHÂN TÍCH HỆ THỐNG HỆ THỐNG

Chương 3 là phần trọng tâm về kỹ thuật phân tích nghiệp vụ:

  • Ghi nhận chi tiết kết quả khảo sát tại Nhà sách Tiến Thọ (424 Nguyễn Trãi, Thanh Xuân, Hà Nội) thông qua các biên bản phỏng vấn quản lý và nhân viên vào ngày 05/09/2024.
  • Đánh giá ưu – nhược điểm của hệ thống quản lý hiện tại và luận giải sự cần thiết của hệ thống mới.
  • Phát biểu bài toán chi tiết cho hai đối tượng người dùng chính: Khách hàng và Quản lý.
  • Xây dựng hệ thống Use Case hoàn chỉnh gồm Use Case tổng quát và 7 nhóm Use Case chi tiết (Đăng nhập – Đăng xuất, Đăng ký, Quản lý sản phẩm, Chi tiết sản phẩm, Quản lý đơn hàng, Quản lý giỏ hàng, Đặt hàng) kèm các bảng đặc tả luồng sự kiện chính/phụ.
  • Mô hình hóa hệ thống động bằng 12 biểu đồ tuần tự (Sequence Diagrams), 11 biểu đồ hoạt động (Activity Diagrams) và biểu đồ trạng thái đơn hàng.
  • Xây dựng mô hình cơ sở dữ liệu quan hệ và lược đồ cơ sở dữ liệu vật lý (tập trung vào bảng chi tiết đơn hàng, bảng tài khoản và bảng sản phẩm).

CHƯƠNG 4: THIẾT KẾ HỆ THỐNG

Chương 4 chuyển hóa kết quả phân tích sang các bản vẽ thiết kế kỹ thuật:

  • Thiết kế tổng thể: Xây dựng biểu đồ thành phần (Component Diagram) và biểu đồ triển khai (Deployment Diagram) mô tả mối quan hệ giữa ứng dụng Android client, web server trung gian và cơ sở dữ liệu.
  • Thiết kế chi tiết: Xây dựng lưu đồ thuật toán cho các tác vụ quan trọng (thuật toán đăng ký, đăng nhập, thêm sản phẩm, thêm sản phẩm vào giỏ hàng). Thiết kế cấu trúc các bảng dữ liệu chi tiết và xác lập mối liên kết khóa chính – khóa ngoại trong MySQL.

CHƯƠNG 5: XÂY DỰNG CÀI ĐẶT CHƯƠNG TRÌNH

Chương 5 trình bày việc hiện thực hóa thiết kế thành mã nguồn và kịch bản vận hành:

  • Thiết lập và khởi tạo cơ sở dữ liệu MySQL thông qua công cụ phpMyAdmin/XAMPP.
  • Lập trình các lớp đối tượng, các giao diện API tương tác và ánh xạ dữ liệu bằng Retrofit và Glide trên Android Studio.
  • Thiết lập hệ thống bảng kiểm thử phần mềm (Test Cases) từ Bảng 3.5 đến Bảng 3.11, thực hiện kiểm thử hộp đen cho các luồng sự kiện chính và ngoại lệ trên từng màn hình chức năng.

CHƯƠNG 6: KẾT QUẢ ĐẠT ĐƯỢC

Chương 6 tổng kết kết quả đầu ra của ứng dụng thông qua hệ thống giao diện thực tế:

  • Phân hệ khách hàng: Màn hình trang chủ, màn hình danh sách sản phẩm, màn hình chi tiết sản phẩm, màn hình đăng ký/đăng nhập, màn hình thông tin tài khoản cá nhân, màn hình giỏ hàng và màn hình đặt hàng/thanh toán.
  • Phân hệ quản trị (Admin): Màn hình quản lý danh sách sản phẩm, màn hình thêm/sửa sản phẩm, màn hình quản lý danh sách đơn hàng, màn hình chi tiết đơn hàng và màn hình cập nhật trạng thái đơn hàng.

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

Đồ án đã hoàn thành các mục tiêu đề ra về mặt học thuật và xây dựng sản phẩm phần mềm:

  • Kết quả kỹ thuật: Xây dựng thành công ứng dụng quản lý bán sách trên hệ điều hành Android, kết nối cơ sở dữ liệu MySQL thông qua API trung gian. Hệ thống cung cấp đầy đủ 2 nhóm giao diện riêng biệt cho người mua hàng và người quản trị.
  • Hiện thực hóa quy trình nghiệp vụ: Chuẩn hóa quy trình đặt hàng, kiểm soát số lượng giỏ hàng, cập nhật trạng thái đơn hàng (từ tiếp nhận đến hoàn tất) và quy trình CRUD (Tạo, Đọc, Cập nhật, Xóa) danh mục sách.
  • Đóng góp của đồ án: Đồ án cung cấp một tài liệu phân tích thiết kế hệ thống hoàn chỉnh từ khảo sát thực tế (tại Nhà sách Tiến Thọ) đến xây dựng mô hình UML, thiết kế cơ sở dữ liệu quan hệ và cài đặt mã nguồn ứng dụng di động. Đây là mô hình ứng dụng tiêu biểu kết hợp giữa kiến trúc phần mềm MVC và hệ sinh thái công nghệ Android (Jetpack, Retrofit, Glide).

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

Theo các giới hạn được xác định trong báo cáo:

  • Hạn chế:
    • Ứng dụng mới phục vụ mô hình kinh doanh quy mô vừa và nhỏ; chưa kiểm thử hiệu năng với tập dữ liệu lớn hoặc số lượng truy cập đồng thời cao.
    • Các phương thức thanh toán mới dừng lại ở việc xử lý logic đặt hàng và chuyển khoản cơ bản, chưa tích hợp SDK thanh toán trực tiếp của các cổng thanh toán/ví điện tử thương mại.
    • Tính năng thu mua sách cũ mới dừng lại ở mức mô tả bài toán nghiệp vụ, chưa hoàn thiện module định giá tự động và kiểm soát tồn kho sách cũ.
    • Đề tài chưa triển khai quy trình bảo trì, giám sát lỗi tự động sau khi cài đặt trên môi trường thực tế.
  • Hướng nghiên cứu tiếp:
    • Tối ưu hóa kiến trúc ứng dụng để mở rộng khả năng chịu tải và nâng cấp cơ sở dữ liệu phân tán.
    • Hoàn thiện module thu mua sách cũ và tích hợp các dịch vụ bên ngoài như cổng thanh toán trực tuyến (VNPAY, Momo) và API tính phí vận chuyển thời gian thực từ các đơn vị giao nhận.
    • Xây dựng hệ thống phân tích dữ liệu nhằm gợi ý sách tự động dựa trên lịch sử mua sắm của người dùng.

Giá trị tham khảo

Báo cáo đồ án là tài liệu tham khảo hữu ích cho:

  • Sinh viên chuyê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, đồ án phát triển phần mềm hoặc khóa luận tốt nghiệp về ứng dụng di động.
  • Người nghiên cứu quy trình phân tích thiết kế hệ thống theo mô hình hướng đối tượng: Tài liệu cung cấp hệ thống biểu đồ UML chi tiết (đặc tả Use Case, biểu đồ tuần tự, biểu đồ hoạt động và trạng thái) có tính liên kết chặt chẽ với bài toán thực tế.
  • Lập trình viên Android ở mức độ khởi đầu: Có thể tham khảo cách tổ chức cấu trúc dự án sử dụng mô hình MVC, thư viện Retrofit để xử lý kết nối API, và Glide để quản lý tài nguyên hình ảnh.

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

1. Đồ án khảo sát quy trình nghiệp vụ tại cơ sở thực tế nào?
Đồ án khảo sát thực địa tại Nhà sách Tiến Thọ (Địa chỉ: 424 Nguyễn Trãi, Thanh Xuân Trung, Thanh Xuân, Hà Nội; Website: tientho.vn) thông qua việc phỏng vấn trực tiếp quản lý cửa hàng (anh Bạch Công Tử) và nhân viên bán hàng (chị Bạch Thu Phương) vào ngày 05/09/2024.

2. Hệ thống phần mềm được xây dựng trên nền tảng công nghệ nào?
Hệ thống sử dụng ngôn ngữ lập trình Java trên môi trường Android Studio; áp dụng kiến trúc MVC; sử dụng các thư viện Android Jetpack (LiveData, ViewModel, Room, Navigation), Retrofit (xử lý API HTTP) và Glide (tải/xử lý ảnh); cơ sở dữ liệu được quản trị bằng MySQL thông qua XAMPP.

3. Hệ thống phân chia quyền hạn cho những tác nhân (Actor) nào?
Hệ thống phân định 3 tác nhân chính:

  • Khách xem (Guest): Tìm kiếm, xem danh mục, xem chi tiết sách và đăng ký tài khoản.
  • Khách hàng (Customer): Quản lý thông tin cá nhân, quản lý giỏ hàng, đặt hàng và theo dõi đơn hàng cá nhân.
  • Quản lý (Admin): Quản lý danh mục sản phẩm (thêm, sửa, xóa sách) và quản lý, cập nhật trạng thái đơn hàng.

4. Quy trình cập nhật trạng thái đơn hàng của quản trị viên (Admin) diễn ra như thế nào?
Admin truy cập trang "Quản lý đơn hàng" hoặc "Chi tiết đơn hàng", chọn "Cập nhật trạng thái". Ứng dụng sẽ gửi yêu cầu lấy trạng thái hiện tại từ CSDL, hiển thị các trạng thái tiếp theo để Admin lựa chọn. Khi Admin nhấn "Lưu", ứng dụng sẽ gửi dữ liệu cập nhật vào CSDL MySQL và điều hướng trở lại trang chi tiết đơn hàng.

5. Nhóm thực hiện đã tiến hành kiểm thử trên các chức năng cụ thể nào?
Nhóm đã thiết kế các bảng kiểm thử chức năng (từ Bảng 3.5 đến Bảng 3.11 trong báo cáo) bao gồm: kiểm thử chức năng đăng nhập, đăng ký, giỏ hàng, đặt hàng, thêm sản phẩm, chỉnh sửa sản phẩm và xóa sản phẩm.

Kết luận

Đồ án "Xây dựng ứng dụng quản lý bán sách" của nhóm sinh viên Trường Đại học Công nghệ Giao thông Vận tải đã giải quyết trọn vẹn bài toán tin học hóa hoạt động bán lẻ sách từ khảo sát thực tiễn đến cài đặt phần mềm. Dựa trên nền tảng kiến trúc MVC, ngôn ngữ Java và hệ sinh thái thư viện Android hiện đại, hệ thống đã đáp ứng đầy đủ các yêu cầu nghiệp vụ cho cả khách hàng và nhà quản lý. Đây là công trình nghiên cứu và thực nghiệm có giá trị tham khảo tốt cho sinh viên ngành Công nghệ thông tin trong phương pháp phân tích thiết kế hệ thống và phát triển ứng dụng di động.