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

Đề tài "Xây dựng hệ thống quản lý bán sách" (Báo cáo kết thúc môn Đồ án phần mềm) do nhóm sinh viên Khoa Công nghệ Thông tin, Trường Đại học Ngoại ngữ - Tin học Thành phố Hồ Chí Minh thực hiện vào tháng 11/2023 dưới sự hướng dẫn của ThS. Nguyễn Anh Vũ.

  • Lý do chọn đề tài và bối cảnh thực tiễn: Sự phát triển của công nghệ thông tin và mạng máy tính đã biến máy tính thành công cụ phục vụ việc nắm bắt, xử lý thông tin trong mọi lĩnh vực đời sống. Trong bối cảnh ngành dịch vụ từng bước chuyển đổi để thích nghi với tiến bộ công nghệ, việc ứng dụng tin học giúp tối ưu hóa năng suất lao động, nâng cao hiệu quả kinh doanh và giảm thiểu chi phí hao tổn. Đề tài được hình thành nhằm xây dựng một hệ thống quản lý trực tuyến cho cửa hàng bán sách, hỗ trợ quản lý các đối tượng vận hành và tạo môi trường tương tác dịch vụ với khách hàng.
  • Mục tiêu của dự án: Văn bản xác định bốn mục tiêu cụ thể:
    1. Tạo ra trải nghiệm mua sắm sách thuận tiện và tối ưu nhất: Giúp người dùng tiếp cận sách nhanh chóng từ tìm kiếm, xem chi tiết đến thanh toán và nhận hàng.
    2. Đáp ứng nhu cầu người dùng đa dạng: Cung cấp kho sách phong phú, đáp ứng sở thích đọc sách đa dạng của khách hàng.
    3. Phát triển thị trường sách số: Khuyến khích tiếp cận văn hóa đọc và đóng góp vào sự phát triển của sách điện tử.
    4. Xây dựng hình ảnh thương hiệu mạnh mẽ: Thiết kế ứng dụng trực quan, tạo dấu ấn tin cậy trong lĩnh vực kinh doanh sách trực tuyến.
  • Đối tượng và phạm vi nghiên cứu:
    • Đối tượng: Quy trình quản trị nghiệp vụ bán sách (sản phẩm sách, thể loại, tác giả, nhà xuất bản, đơn hàng, tài khoản) và luồng thao tác mua hàng trực tuyến của người dùng.
    • Phạm vi hệ thống: Triển khai ứng dụng web cho cửa hàng sách với hai nhóm tác nhân chính là Khách hàng và Quản trị viên (Admin/Nhân viên), không đòi hỏi cấu hình thiết bị phức tạp từ phía người sử dụng.

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

  • Mô hình kiến trúc phần mềm: Đồ án áp dụng mô hình kiến trúc Model-View-Controller (MVC):
    • Model: Đảm nhận việc định nghĩa các lớp dữ liệu và xử lý logic nghiệp vụ. Văn bản trình bày các công nghệ phổ biến như C# trong ASP.NET, Java (Spring Framework), Python (Flask, Django).
    • View: Xây dựng giao diện người dùng dựa trên HTML, CSS, JavaScript và cú pháp Razor (C#) kết hợp mã HTML.
    • Controller: Tiếp nhận và xử lý các luồng điều khiển, kết nối giữa Model và View.
  • Công cụ và framework phát triển:
    • Môi trường phát triển tích hợp (IDE): Microsoft Visual Studio 2022 hỗ trợ lập trình C#, C++, ASP.NET.
    • Hệ quản trị cơ sở dữ liệu: Microsoft SQL Server kết hợp công cụ quản lý đồ họa SQL Server Management Studio (SSMS) để tạo bảng, thiết lập quan hệ và truy vấn dữ liệu.
    • Framework giao diện: Bootstrap 5 cung cấp hệ thống lưới (grid), biểu mẫu (form), nút bấm (button), bảng biểu và tương thích responsive theo phương pháp mobile-first.
  • Phương pháp phân tích và thiết kế hệ thống:
    • Phương pháp hướng đối tượng sử dụng ngôn ngữ mô hình hóa UML (Unified Modeling Language) để xây dựng sơ đồ Use Case tổng quát, Use Case phân hệ, Biểu đồ lớp (Class Diagram) và Sơ đồ quy trình hoạt động (Activity/Process Flow).
    • Thiết kế cơ sở dữ liệu quan hệ với Sơ đồ quan hệ thực thể (ERD) và chuẩn hóa bảng dữ liệu trên SQL Server.
    • Phương pháp kiểm thử hộp đen (Black-box testing) thông qua việc xây dựng Test Scenario và bộ Test Case kiểm tra chức năng, kiểm tra ràng buộc dữ liệu đầu vào và kiểm thử liên kết phân hệ.

Thiết kế và triển khai hệ thống

1. Quy trình xử lý nghiệp vụ chính

  • Quy trình đặt thuê/mua sách: Khách hàng duyệt chọn sách -> Hệ thống truy vấn cơ sở dữ liệu và hiển thị chi tiết -> Khách hàng nhập thông tin nhận hàng -> Hệ thống kiểm tra thông tin và chuyển sang giao diện thanh toán -> Xác nhận thanh toán (nếu thành công: lưu đơn hàng vào DB và xuất hóa đơn điện tử; nếu thất bại: rollback dữ liệu và báo lỗi).
  • Quy trình đăng nhập: Người dùng nhập tài khoản, mật khẩu -> Hệ thống kiểm tra sự tồn tại tài khoản -> Kiểm tra tính hợp lệ của mật khẩu -> Chuyển hướng về trang chủ nếu đúng, hoặc thông báo lỗi nếu sai.
  • Quy trình quản lý sách: Quản trị viên đăng nhập -> Duyệt danh sách sách -> Thực hiện thêm sách mới (điền form, kiểm tra trùng lặp) hoặc chọn sách cần xóa/chỉnh sửa -> Cập nhật trực tiếp vào cơ sở dữ liệu.

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

Hệ thống thiết kế 11 bảng dữ liệu trên hệ quản trị SQL Server:

Tên bảng Các trường dữ liệu chính Khóa chính (PK) / Khóa ngoại (FK) Mô tả chức năng
SACH IDSach, TenSach, GiaBan, SoLuongKho, MoTa, AnhMinhHoa, NgayPhatHanh, SLXem, SLBan, IDNXB, IDTheLoai PK: IDSach
FK: IDNXB, IDTheLoai
Lưu thông tin chi tiết các đầu sách trong kho
THELOAI IDTheLoai, TenTheLoai PK: IDTheLoai Danh mục phân loại sách
TACGIA IDTG, Ten, DiaChi, Mail, GioiThieu PK: IDTG Lưu trữ lý lịch và thông tin liên hệ tác giả
VAITRO IDTG, IDSach, VaiTro PK: IDTG, IDSach Quan hệ nhiều-nhiều giữa sách và tác giả
NXB IDNXB, SDT, Mail, DiaChi, TenNXB PK: IDNXB Quản lý thông tin các nhà xuất bản
KHACHHANG IDKhachHang, Ten, DiaChi, SDT, Mail, TenDangNhap, MatKhau, NgaySinh, GioiTinh, XacThuc PK: IDKhachHang Lưu trữ hồ sơ người dùng mua hàng
QUANLI TenTaiKhoan, MatKhau PK: TenTaiKhoan Tài khoản quản trị hệ thống
DONHANG IDDonHang, NgayDat, TongTien, NgayGiao, DiaChiNhan, SDTNhan, TenNguoiNhan, NgayGuiHang, HTGiaoHang, HTThanhToan, TrangThai, IDKhachHang, Voucher PK: IDDonHang
FK: IDKhachHang
Thông tin tổng quát đơn đặt hàng
CHITIETDONHANG IDDonHang, IDSach, SL, DonGia, ThanhTien PK: IDDonHang, IDSach Chi tiết từng mặt hàng trong đơn hàng
DANHGIA IDDanhGia, IDSach, Diem, BinhLuan PK: IDDanhGia
FK: IDSach
Điểm số và nhận xét đánh giá của người dùng
VOUCHER Ma, TienGiam, SLSD PK: Ma Mã giảm giá và số lượng sử dụng

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

Chương 1: Giới thiệu

Chương 1 khái quát về kiến trúc Model-View-Controller (MVC) và các thành phần ngôn ngữ, công cụ thực hiện dự án. Báo cáo làm rõ tính năng của IDE Microsoft Visual Studio 2022, công cụ quản lý cơ sở dữ liệu SQL Server Management Studio (SSMS) và framework thiết kế giao diện Bootstrap 5. Tác giả trình bày lý do lựa chọn đề tài xuất phát từ nhu cầu số hóa kinh doanh của các nhà sách, kèm 4 mục tiêu phát triển hệ thống về trải nghiệm người dùng, sự đa dạng sản phẩm, thị trường sách và nhận diện thương hiệu.

Chương 2: Phân tích yêu cầu

Chương này mô tả phạm vi hoạt động của hệ thống phần mềm website bán sách, thiết lập mô hình tương tác giữa hai nhóm tác nhân chính:

  • Khách hàng: Thực hiện tìm kiếm, duyệt danh mục, xem chi tiết sách, quản lý giỏ hàng, đặt mua sách và theo dõi lịch sử mua hàng.
  • Admin/Nhân viên: Thực hiện đăng nhập, quản lý tài khoản người dùng, quản lý sản phẩm sách, quản lý đơn hàng, quản lý danh mục tác giả, nhà xuất bản, thể loại và xem thống kê doanh số. Mối quan hệ giữa các Use Case được chuẩn hóa qua các sơ đồ tổng quát và sơ đồ phân hệ (include, extend).

Chương 3: Yêu cầu chức năng

Chương 3 trình bày 28 bảng đặc tả Use Case chi tiết (từ IUC01 đến UC28), bao gồm:

  • Nhóm Use Case tài khoản: Xem danh sách tài khoản (IUC01), Chỉnh sửa thông tin tài khoản (IUC02, UC08), Xem chi tiết tài khoản (IUC03, UC07), Đăng nhập (IUC04), Đăng xuất (IUC05), Đăng ký (IUC06).
  • Nhóm Use Case sản phẩm & mua sắm: Xem danh sách sản phẩm (IUC09), Tìm kiếm sản phẩm (IUC10), Lọc sản phẩm (IUC11), Xem chi tiết sản phẩm (UC12), Thêm vào giỏ hàng (UC13), Xem giỏ hàng (IUC14), Đặt hàng (UC15), Chỉnh sửa giỏ hàng (UC16), Xem lịch sử đơn hàng (UC17).
  • Nhóm Use Case quản trị: Xem danh sách đơn hàng (IUC18), Cập nhật trạng thái đơn hàng (IUC19), Xem chi tiết đơn hàng (UC20), Xem doanh số bán hàng (UC21), Quản lý thể loại (UC22, UC25, UC26, UC27), Quản lý sản phẩm (UC23, UC24), Xem danh sách tác giả (UC28). Mỗi đặc tả đều quy định rõ: Mã Use Case, Tác nhân (Actor), Điều kiện tiên quyết (Pre-condition), Điều kiện kết thúc (Post-condition), Luồng sự kiện chính (Main Flow) và Luồng ngoại lệ (Exceptional Flow/Error situations).

Chương 4: Thiết kế hệ thống

Chương 4 cụ thể hóa kiến trúc hệ thống qua các sơ đồ:

  • Sơ đồ hoạt động quy trình (Activity Diagram): Quy trình đặt thuê sách, quy trình đăng nhập tài khoản, quy trình xóa sách và quy trình thêm sách mới của nhân viên.
  • Biểu đồ lớp (Class Diagram): Khai báo các lớp đối tượng (NguoiDung, DatHang, GioHang, Sach, NXB, TheLoai, TacGia, DanhGia, Voucher) cùng các thuộc tính và phương thức xử lý dữ liệu.
  • Thiết kế cơ sở dữ liệu: Sơ đồ ERD thể hiện mối quan hệ khóa chính - khóa ngoại giữa 11 thực thể dữ liệu và định nghĩa chi tiết kiểu dữ liệu, ràng buộc giá trị rỗng (Allow Nulls) trên SQL Server.

Chương 5: Thiết kế giao diện hệ thống

Chương 5 cung cấp ảnh chụp trực tiếp toàn bộ giao diện phần mềm đã lập trình:

  • Giao diện người dùng: Trang chủ với khối banner và "Top 4 sản phẩm bán chạy", Giao diện Danh mục sách theo chủ đề (Kinh tế, Văn học, Ngoại ngữ, Tâm lý, Khoa học kỹ thuật), Chi tiết sản phẩm, Form Đăng ký/Đăng nhập, Giỏ hàng có áp dụng Voucher, Lịch sử đơn hàng và Màn hình thông báo đặt hàng thành công.
  • Giao diện quản trị (Admin): Trang tổng quan quản lý, Bảng quản lý sách (danh sách, form thêm mới, xóa, sửa chi tiết), Quản lý nhà xuất bản, Quản lý tài khoản khách hàng, Quản lý tác giả, Quản lý thể loại và Quản lý/chỉnh sửa thông tin đơn hàng (trạng thái, hình thức vận chuyển VNEX).

Chương 6: Kiểm thử chức năng hệ thống

Chương 6 hệ thống hóa công tác đảm bảo chất lượng phần mềm qua 22 kịch bản kiểm thử (Test Scenario) và bộ 54 Test Case chi tiết:

  • Kiểm thử điều hướng và giao diện: Kiểm tra nút liên hệ, giỏ hàng, chuyển trang banner, nút phân trang.
  • Kiểm thử xác thực dữ liệu Form Đăng ký/Đăng nhập: Kiểm tra độ dài tên đăng nhập (<10 ký tự, >10 ký tự, >20 ký tự, <5 ký tự), kiểm tra ký tự viết hoa, ký tự số, khoảng trắng, ký tự đặc biệt, dấu tiếng Việt, định dạng email (thiếu @, đúng chuẩn @gmail.com) và tài khoản trùng lặp.
  • Kiểm thử tìm kiếm & lọc: Tìm từ khóa chính xác, từ khóa không tồn tại, từ khóa chứa ký tự đặc biệt, chứa số xen kẽ, lọc theo thể loại.
  • Kiểm thử giỏ hàng & thanh toán: Kiểm thử đặt hàng khi chưa đăng nhập và đã đăng nhập, áp dụng mã voucher giảm giá, xác nhận đơn hàng.
  • Kiểm thử liên kết phân hệ (Integration Test): Thao tác thêm/sửa/xóa sản phẩm từ tài khoản Admin và kiểm tra sự thay đổi dữ liệu hiển thị tương ứng ở phía Khách hàng.

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

  • Kết quả kỹ thuật đạt được:
    • Xây dựng hoàn chỉnh ứng dụng website bán sách theo mô hình MVC, giao diện responsive bằng Bootstrap 5.
    • Thiết lập cơ sở dữ liệu quan hệ chuẩn hóa gồm 11 bảng trên SQL Server, đáp ứng việc lưu trữ thông tin sản phẩm sách, tác giả, nhà xuất bản, đơn hàng, khách hàng, voucher và đánh giá.
    • Triển khai đầy đủ các luồng chức năng cho 2 nhóm đối tượng: Khách hàng (duyệt sách, tìm kiếm, lọc, giỏ hàng, đặt hàng, xem lịch sử) và Quản trị viên (quản lý toàn bộ danh mục dữ liệu, cập nhật trạng thái đơn hàng, theo dõi doanh số).
    • Thực hiện kiểm thử toàn diện với 22 nhóm kịch bản và 54 trường hợp kiểm thử chức năng/ràng buộc dữ liệu.
  • Tiến độ và phân công công việc: Báo cáo ghi nhận bảng phân công thực hiện theo tuần (từ Tuần 4 đến Tuần 10) với mức độ hoàn thành 100% của 6 thành viên trong nhóm đối với các hạng mục: Đặc tả Use Case, Class Diagram, Activity Diagram, Thiết kế/Xây dựng CSDL, Xây dựng trang Admin, Xây dựng trang Người dùng và Kiểm thử chức năng.

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

  • Hạn chế kỹ thuật tồn tại:
    • Chức năng áp dụng mã giảm giá (voucher) chưa được đồng bộ hoàn toàn trên giao diện người dùng, hệ thống chưa tự động trừ trực tiếp số tiền giảm giá của voucher vào tổng số tiền thanh toán của đơn hàng.
  • Hướng phát triển tiếp theo:
    • Tích hợp thêm cổng chức năng thanh toán tự động trực tuyến.
    • Bổ sung tính năng thống kê và hiển thị số lượng truy cập, lượt yêu thích của từng sản phẩm sách.
    • Hoàn thiện phân hệ đánh giá và nhận xét sách từ phía người mua.
    • Xây dựng thuật ngữ gợi ý sách thông minh cho khách hàng dựa trên lịch sử lượt đọc, nội dung hoặc thể loại tương tự.

Giá trị tham khảo

Báo cáo là tài liệu tham khảo phù hợp cho sinh viên chuyên ngành Công nghệ Thông tin, Kỹ thuật Phần mềm và Hệ thống Thông tin khi thực hiện đồ án môn học hoặc khóa luận tốt nghiệp về đề tài website thương mại điện tử / quản lý bán hàng.

Các nội dung có giá trị tham khảo cao trong văn bản gồm:

  1. Hệ thống 28 bảng đặc tả Use Case chuẩn mực, phân định rõ ràng luồng sự kiện chính và luồng xử lý ngoại lệ.
  2. Thiết kế cơ sở dữ liệu chi tiết (ERD và mô tả trường dữ liệu) cho nghiệp vụ xuất bản - kinh doanh sách (quản lý đa tác giả, nhà xuất bản, thể loại, voucher).
  3. Bảng thiết kế kịch bản kiểm thử (Test Cases) chi tiết với các trường hợp biên và kiểm tra dữ liệu biểu mẫu (validation).

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

1. Hệ thống Web bán sách được xây dựng dựa trên những công nghệ và công cụ lập trình nào?
Hệ thống được phát triển theo mô hình kiến trúc Model-View-Controller (MVC), sử dụng môi trường phát triển Microsoft Visual Studio 2022, hệ quản trị cơ sở dữ liệu Microsoft SQL Server cùng công cụ SQL Server Management Studio (SSMS), và thư viện giao diện Bootstrap 5 hỗ trợ thiết kế responsive.

2. Cơ sở dữ liệu của hệ thống gồm những bảng nào và xử lý mối quan hệ tác giả - sách ra sao?
Cơ sở dữ liệu gồm 11 bảng: SACH, THELOAI, TACGIA, VAITRO, NXB, KHACHHANG, QUANLI, DONHANG, CHITIETDONHANG, DANHGIA, VOUCHER. Mối quan hệ nhiều-nhiều giữa tác giả và sách được giải quyết thông qua bảng trung gian VAITRO (chứa IDTG, IDSach và tên vai trò).

3. Phân quyền người dùng trong hệ thống được thiết lập như thế nào?
Hệ thống phân định 2 nhóm tác nhân: Khách hàng (được đăng ký tài khoản, tìm kiếm, xem chi tiết, đặt hàng, quản lý giỏ hàng, xem lịch sử mua) và Quản trị viên/Nhân viên (quản lý sản phẩm sách, danh mục thể loại, tác giả, nhà xuất bản, tài khoản người dùng, cập nhật trạng thái đơn hàng và xem báo cáo doanh số).

4. Quy trình kiểm thử hệ thống tập trung vào những khía cạnh nào?
Kiểm thử được thực hiện qua 22 kịch bản và 54 Test Case, tập trung vào: tính năng điều hướng giao diện, kiểm tra ràng buộc định dạng dữ liệu đầu vào khi đăng ký/đăng nhập (độ dài ký tự, chữ hoa, số, ký tự đặc biệt, khoảng trắng, định dạng email), thuật toán tìm kiếm và kiểm thử tích hợp thay đổi dữ liệu giữa Admin với Khách hàng.

5. Đồ án tự đánh giá còn hạn chế kỹ thuật nào cần khắc phục?
Hạn chế chính được nhóm tác giả nêu rõ là chức năng mã giảm giá (voucher) chưa hoàn toàn đồng bộ trên giao diện, chưa tự động trừ số tiền giảm vào tổng tiền thanh toán thực tế của đơn hàng.


Kết luận

Báo cáo kết thúc môn "Đồ án phần mềm - Web bán sách" của nhóm sinh viên Trường Đại học Ngoại ngữ - Tin học TP.HCM đã hoàn thành việc phân tích, thiết kế và cài đặt một hệ thống thương mại điện tử cơ bản phục vụ kinh doanh sách. Đồ án xây dựng đầy đủ hệ thống tài liệu từ đặc tả 28 Use Case, mô hình CSDL 11 bảng trên SQL Server, thiết kế giao diện Bootstrap 5 đến bộ 54 Test Case kiểm thử chức năng. Mặc dù vẫn còn tồn tại hạn chế trong việc khấu trừ tiền tự động của voucher, báo cáo đã phản ánh rõ ràng quy trình phát triển phần mềm theo mô hình MVC và đề xuất cụ thể các định hướng hoàn thiện về thanh toán tự động cùng hệ thống gợi ý sách.