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

Sự phát triển nhanh chóng của công nghệ thông tin và mạng Internet đã làm thay đổi sâu sắc thói quen tiêu dùng của xã hội. Việc tìm kiếm, đánh giá và đặt mua hàng hóa từ xa giúp người tiêu dùng tiết kiệm thời gian và tiếp cận sản phẩm một cách thuận tiện. Trong lĩnh vực xuất bản và phân phối tri thức, nhu cầu tiếp cận sách vở, tài liệu học tập của độc giả là rất lớn. Để đáp ứng xu hướng này, việc xây dựng các hệ thống thương mại điện tử chuyên ngành bán sách trực tuyến trở thành nhu cầu thiết yếu cho các đơn vị kinh doanh.

Đề tài "Xây dựng hệ thống bán sách" được thực hiện dưới dạng Báo cáo đồ án môn học Công nghệ phần mềm tại Khoa Công nghệ Thông tin, Trường Đại học Công nghệ Sài Gòn trong giai đoạn năm học 2020-2022. Đề tài do nhóm gồm 6 sinh viên thực hiện (Nguyễn Văn Sinh, Nguyễn Tấn Huy, Nguyễn Duy Lâm, Diệp Phước Đạt, Võ Hồng Quang, Lợi Siêu Kiệt) dưới sự hướng dẫn của Th.S Nguyễn Ngọc Lâm.

Mục tiêu và nhiệm vụ nghiên cứu của đề tài bao gồm:

  1. Khảo sát và thu thập yêu cầu người dùng đối với một hệ thống bán sách trực tuyến phục vụ hai nhóm đối tượng chính: khách hàng và đội ngũ nhân viên nhà sách.
  2. Xác định, chuẩn hóa và mô hình hóa toàn bộ yêu cầu chức năng cũng như yêu cầu phi chức năng của hệ thống.
  3. Thực hiện phân tích hệ thống toàn diện theo phương pháp hướng đối tượng dưới bốn góc nhìn: góc nhìn bên ngoài, góc nhìn tương tác, góc nhìn cấu trúc và góc nhìn hành vi.
  4. Thiết kế khung giao diện người dùng (UI) cho các phân hệ cốt lõi nhằm định hình cấu trúc hoạt động trước khi triển khai lập trình.

Đối tượng nghiên cứu là quy trình nghiệp vụ bán sách trực tuyến, luồng xử lý đơn hàng, quản lý kho sách, cơ chế đổi trả và tương tác hỗ trợ khách hàng. Phạm vi nghiên cứu tập trung vào pha phân tích yêu cầu (Software Requirements Specification - SRS) và thiết kế hệ thống (Software Design Document - SDD) cho một hệ thống ứng dụng web đa nền tảng.

Cơ sở lý thuyết và phương pháp phân tích hệ thống

Đồ án vận dụng các nguyên lý cốt lõi của môn học Công nghệ phần mềm và Nhập môn Web và ứng dụng, kết hợp với các tiêu chuẩn xây dựng tài liệu đặc tả yêu cầu phần mềm (SRS). Phương pháp tiếp cận chính là Phân tích và Thiết kế Hướng đối tượng (Object-Oriented Analysis and Design - OOAD) sử dụng ngôn ngữ mô hình hóa thống nhất UML (Unified Modeling Language).

Các phương pháp phân tích cụ thể được triển khai gồm:

  • Phương pháp phân tích góc nhìn bên ngoài: Sử dụng biểu đồ khối và biểu đồ hoạt động để mô tả bức tranh tổng quát về các luồng nghiệp vụ chính của hệ thống.
  • Phương pháp phân tích góc nhìn tương tác: Xây dựng biểu đồ use case tổng quát và chi tiết cho từng tác nhân (Actor), kết hợp biểu đồ tuần tự (Sequence Diagram) và bảng đặc tả chi tiết từng use case (bao gồm Actor, Trigger, Pre-condition, Basic flow, Alternative flow, Post-conditions).
  • Phương pháp phân tích góc nhìn cấu trúc: Mô hình hóa sơ đồ lớp tổng quát (Class Diagram) và mô tả chi tiết các thuộc tính, kiểu dữ liệu, phương thức của từng lớp thực thể.
  • Phương pháp phân tích góc nhìn hành vi: Xây dựng biểu đồ hoạt động (Activity Diagram) và biểu đồ trạng thái (State Diagram) tương ứng với từng chức năng nghiệp vụ cụ thể.

Nguồn dữ liệu của đề tài được xây dựng từ việc mô phỏng các quy trình vận hành thực tế của nhà sách truyền thống chuyển đổi sang mô hình trực tuyến, kết hợp các tài liệu tham khảo chuẩn về quy trình nghiệp vụ và tài liệu hướng dẫn kỹ thuật phần mềm.

Thiết kế và đặc tả hệ thống phần mềm

Phân công trách nhiệm và cấu trúc chức năng

Hệ thống được thiết kế phục vụ hai nhóm đối tượng người dùng chính với sự phân nhiệm rõ ràng cho các thành viên trong nhóm nghiên cứu:

STT Thành viên thực hiện MSSV Nhiệm vụ yêu cầu chức năng đảm nhiệm Nhiệm vụ yêu cầu phi chức năng đảm nhiệm
1 Lợi Siêu Kiệt DH52005872 Đăng nhập, Đăng ký, Cập nhật thông tin người dùng, Tạo tài khoản nhân viên Ràng buộc thời gian thanh toán (15 phút), Quy tắc miễn phí vận chuyển theo giá trị đơn hàng
2 Diệp Phước Đạt DH52004810 Xem thông tin nhân viên, Xem trạng thái hoạt động của nhân viên, Lập phiếu đổi trả, Xử lý đổi trả Tính khả dụng, bảo mật, độ tin cậy và khả năng tương thích đa thiết bị
3 Võ Hồng Quang DH52004838 Tìm kiếm sách trên hệ thống, Thêm sách vào hệ thống, Sửa thông tin sách, Xóa sách ra khỏi hệ thống Ràng buộc thời gian phản hồi tìm kiếm (3 giây), Hiển thị tổng giá tiền giỏ hàng
4 Nguyễn Văn Sinh DH52006075 Tạo tiêu chí tìm kiếm sản phẩm, Xem thông tin sách, Thêm sách vào giỏ hàng, Xóa sản phẩm ra khỏi giỏ hàng Phân loại danh mục mặt hàng hợp lý, Giải pháp sao lưu dữ liệu hệ thống tự động 24/24
5 Nguyễn Tấn Huy DH52005851 Xác nhận đơn hàng, Cập nhật tiến trình, Theo dõi tiến trình, Ghi nhận đơn hàng đã giao Tính ổn định của hệ thống (domain, hosting), Kết nối an toàn với các hệ thống khác
6 Nguyễn Duy Lâm DH52004347 Thanh toán hóa đơn, Hỗ trợ người dùng qua chatbox, Tạo mã khuyến mãi, Xem mã khuyến mãi Yêu cầu hỗ trợ người dùng (CSKH), Quy định xử lý hủy đơn hàng qua hotline

Đặc tả quy trình mua hàng và thanh toán ba bước

Quy trình thanh toán được hệ thống chuẩn hóa thông qua 3 bước liên tiếp:

  • Bước 1 - Khai báo thông tin nhận hàng: Hệ thống hiển thị biểu mẫu thông tin gồm họ tên, email, số điện thoại, địa chỉ người mua và địa chỉ nhận hàng. Đối với khách hàng đã là thành viên (đã đăng nhập), dữ liệu cá nhân được tự động điền sẵn; người dùng chỉ cần cập nhật nếu địa chỉ nhận hàng khác địa chỉ mặc định.
  • Bước 2 - Lựa chọn hình thức vận chuyển và khuyến mãi: Khách hàng chọn 1 trong 3 phương thức vận chuyển: Siêu nhanh, Nhanh, hoặc Bình thường. Chi phí và thời gian giao nhận thay đổi tùy theo phương thức. Quy tắc tính phí vận chuyển được áp dụng:
    • Đơn hàng dưới 50.000 VNĐ: Không miễn phí vận chuyển.
    • Đơn hàng khoảng 100.000 VNĐ: Giảm 50% phí vận chuyển.
    • Đơn hàng trên 200.000 VNĐ: Miễn phí hoàn toàn phí vận chuyển hoặc áp dụng mã khuyến mãi (voucher). Hệ thống tự động tính toán lại tổng giá trị thanh toán.
  • Bước 3 - Xác nhận phương thức thanh toán: Khách hàng lựa chọn hình thức Chuyển khoản hoặc Thanh toán tiền mặt khi nhận hàng (COD). Sau khi xác nhận, hệ thống gửi email thông báo kèm mã đặt hàng để khách hàng theo dõi trực tiếp trên website.

Đặc tả mô hình dữ liệu (Sơ đồ lớp)

Hệ thống được cấu trúc thành 17 lớp đối tượng phục vụ toàn bộ các luồng nghiệp vụ:

  • TacGia: Quản lý thông tin tác giả (tenTG, description, idTG).
  • inforSach: Chi tiết nội dung và tiêu đề của sách (noiDung, tieuDe).
  • LoaiSach: Phân loại danh mục sách (tenLS, idLS, phương thức taoLoaiSach()).
  • book: Thực thể sách (tenSach, maSach, loaiSach, thongtinSach, tacGia, phương thức suaSach(), xemSach()).
  • KhoSach: Quản trị kho (id, books, diaChi, soluongSach, phương thức timSach(), themSach(), xoaSach()).
  • GioHang: Quản lý giỏ hàng (Books, tongTien, phương thức themSach(), xoaSach()).
  • DonHang: Quản lý đơn hàng (Id, gioHang, khachHang, diaChiKhac, tongGiaTri, vanChuyen, maKhuyenMai, thanhToan).
  • TienTrinh: Trạng thái vận chuyển đơn hàng (donHang, tientrinh, phương thức capnhatTT(), xemTT(), ghinhanDHDaGiao()).
  • PhieuDoiTra: Xử lý đổi trả hàng (donHang, noidung).
  • HoaDon: Chứng từ thanh toán (id, ngayinHD, donHang, nguoiInHD, phương thức thanhToan()).
  • NhanVien: Tài khoản và tác vụ nhân viên (id, loaiNV, taikhoan, phương thức hoTroND(), xacNhanDH(), xulyDT()).
  • ChucVu: Định nghĩa vai trò nhân viên (id, nameCV).
  • TrangThai: Theo dõi hoạt động nhân viên (nguoiDung, trangThai, Tgian, phương thức CapnhatTT()).
  • KhachHang: Thông tin định danh khách hàng (Id, taikhoan).
  • MaKM: Quản lý mã giảm giá (maKM, tenKM, phương thức xemMa(), taoMa()).
  • NguoiDung: Lớp cơ sở thông tin cá nhân (ten, diaChi, gioiTinh, Sdt, ngaySinh, phương thức capNhatTT(), xemTT()).
  • DiaChi: Chi tiết địa chỉ hành chính (soNha, xa, huyen, tinh).
  • Account: Quản trị xác thực (id, username, password, phương thức DangNhap(), DangKy()).

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

Chương 1: Tìm hiểu đề tài

Chương 1 tập trung khảo sát bối cảnh phát triển của thương mại điện tử và nhu cầu phân phối sách trực tuyến. Tác giả xác định hai nhóm đối tượng thụ hưởng là khách hàng và nhân viên nhà sách, đồng thời phân tích chi tiết các yêu cầu nghiệp vụ:

  • Yêu cầu chức năng: Nhận diện 24 chức năng cốt lõi bao gồm đăng ký/đăng nhập, cập nhật hồ sơ, tạo tài khoản nhân viên, xem thông tin và lịch sử hoạt động nhân viên, lập và xử lý phiếu đổi trả, tìm kiếm sách đa tiêu chí (theo khu vực, tựa đề, thể loại, sách bán chạy trong tháng, sách mới xuất bản, tác giả), quản lý danh mục và kho sách (thêm/sửa/xóa), quản lý giỏ hàng, thanh toán 3 bước, tương tác hỗ trợ khách hàng, quản lý voucher khuyến mãi, xác nhận đơn hàng, cập nhật và theo dõi tiến trình vận chuyển, ghi nhận giao hàng thành công.
  • Yêu cầu phi chức năng và hạ tầng:
    • Thời gian xử lý tìm kiếm trả kết quả tối đa trong 3 giây.
    • Phiên làm việc thanh toán hoàn tất trong vòng 15 phút ngay sau khi đặt sách.
    • Quy định hủy đơn: Khách hàng không hủy trực tiếp trên website mà phải liên hệ tổng đài chăm sóc khách hàng.
    • Quy định đổi trả: Chỉ chấp nhận đổi trả ngay tại thời điểm nhân viên giao hàng đến và khách tiến hành kiểm tra sản phẩm.
    • Hạ tầng máy chủ trung tâm dự kiến: Máy chủ Linux 16 lõi (cores), bộ nhớ trong 32GB RAM, dung lượng lưu trữ 1TB HDD, hỗ trợ truy cập đa nền tảng (máy tính, điện thoại thông minh, máy tính bảng).
    • An toàn và sao lưu: Tích hợp mã Captcha khi xác thực, định hướng sao lưu tự động 24/24 trên nền tảng điện toán đám mây (AWS, Google Cloud, Azure) hoặc thiết bị lưu trữ chuyên dụng bên ngoài.

Chương 2: Phân tích hệ thống

Chương 2 chiếm dung lượng lớn nhất trong báo cáo, thể hiện chi tiết kết quả phân tích theo các mô hình chuẩn UML:

  • Góc nhìn bên ngoài: Thể hiện biểu đồ khối và các luồng biểu đồ hoạt động tổng thể về quy trình nghiệp vụ thêm, xóa, sửa sách.
  • Góc nhìn tương tác: Xây dựng biểu đồ use case tổng quát và lập bảng đặc tả chi tiết cùng biểu đồ tuần tự cho toàn bộ 24 use case. Mỗi use case được định nghĩa tường minh từ điều kiện tiên quyết, luồng sự kiện chính (Basic flow), luồng rẽ nhánh/lỗi (Alternative flow) đến trạng thái sau khi hoàn tất (Post-conditions).
  • Góc nhìn cấu trúc: Trình bày biểu đồ lớp tổng quát liên kết 17 lớp thực thể, định nghĩa chính xác kiểu dữ liệu (String, Int, Datetime, Bool, List, Enum) và các hàm thành viên.
  • Góc nhìn hành vi: Trình bày hệ thống biểu đồ hoạt động và biểu đồ trạng thái chi tiết cho từng tác vụ riêng biệt của khách hàng (đăng ký, tìm kiếm, đặt hàng, theo dõi đơn) và của các bộ phận nhân viên (nhân viên quản lý sách, nhân viên bán hàng, nhân viên giao hàng, quản trị hệ thống).
  • Đặc tả chi tiết yêu cầu phi chức năng: Phân tích sâu các khía cạnh về hiệu năng, tính ổn định (tiêu chuẩn chọn tên miền, dịch vụ hosting tại Data Center uy tín, quản trị nội dung website, tối ưu SEO), tính khả dụng, độ tin cậy và an toàn thông tin khi kết nối với hệ thống thanh toán thẻ tín dụng.

Chương 3: Thiết kế chương trình

Chương 3 trình bày các bản thiết kế giao diện đồ họa người dùng (UI Mockup) cho 6 màn hình chức năng quan trọng của hệ thống:

  1. Giao diện đăng nhập / đăng ký tài khoản.
  2. Giao diện trang chủ hiển thị danh mục sách và sản phẩm nổi bật.
  3. Giao diện chi tiết thông tin sản phẩm sách.
  4. Giao diện quản lý giỏ hàng và danh sách sản phẩm đã chọn.
  5. Giao diện trang chủ dành cho nhân viên quản lý/bán hàng.
  6. Giao diện xác nhận và quản lý đơn hàng.

Báo cáo kết thúc bằng danh mục tài liệu tham khảo gồm các nguồn tài liệu về đặc tả yêu cầu phần mềm (SRS standard, AndersenLab) và bài giảng chuyên môn của Khoa CNTT - Trường Đại học Công nghệ Sài Gòn.

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

Đồ án đã hoàn thành đầy đủ các nội dung trong giai đoạn phân tích và thiết kế hệ thống theo chuẩn quy trình công nghệ phần mềm:

  • Xây dựng hoàn chỉnh tài liệu đặc tả yêu cầu phần mềm (SRS) cho hệ thống bán sách trực tuyến với 24 trường hợp sử dụng (use case) được chuẩn hóa chi tiết.
  • Xác định và lượng hóa các chỉ số phi chức năng quan trọng (thời gian tìm kiếm $\le 3$ giây, thời gian hoàn tất đơn hàng $\le 15$ phút, hạn mức miễn phí vận chuyển theo các mốc 50.000 VNĐ, 100.000 VNĐ, 200.000 VNĐ).
  • Thiết lập mô hình dữ liệu cấu trúc gồm 17 lớp thực thể có tính liên kết chặt chẽ, bao quát đầy đủ từ thông tin danh mục, tác giả, tồn kho đến quy trình xử lý đơn hàng, thanh toán, giao vận và đổi trả.
  • Đưa ra giải pháp quản lý phân quyền rõ ràng giữa các bộ phận nhân viên (quản lý sách, bán hàng, giao vận, hỗ trợ) và cơ chế ghi nhận lịch sử hoạt động để kiểm soát rủi ro vận hành.

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

Báo cáo phản ánh một số điểm hạn chế gắn liền với phạm vi của môn học Công nghệ phần mềm:

  • Đồ án mới tập trung vào giai đoạn phân tích yêu cầu (SRS), mô hình hóa UML và thiết kế giao diện tĩnh (UI), chưa tiến hành cài đặt mã nguồn hoàn chỉnh (implementation) hay xây dựng cơ sở dữ liệu vật lý trên hệ quản trị cụ thể.
  • Nghiệp vụ hủy đơn hàng còn mang tính thủ công (buộc khách hàng phải gọi điện qua bộ phận chăm sóc khách hàng thay vì cung cấp tính năng hủy trực tiếp có điều kiện trên giao diện web).
  • Chưa có số liệu thử nghiệm tải thực tế (load testing/stress testing) trên cấu hình máy chủ Linux đã đề xuất.

Hướng phát triển tiếp theo của đề tài:

  • Hoàn thiện tài liệu thiết kế chi tiết (Software Design Document - SDD).
  • Lập trình hiện thực hóa hệ thống trên nền tảng web, kết nối cơ sở dữ liệu quan hệ và tích hợp cổng thanh toán trực tuyến bảo mật.
  • Triển khai cơ chế sao lưu tự động trên các nền tảng điện toán đám mây (AWS, Google Cloud hoặc Azure) theo đúng kiến trúc đã hoạch định.

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 và Hệ thống thông tin:

  • Cung cấp mẫu tài liệu đặc tả yêu cầu phần mềm (SRS) bài bản, bám sát phương pháp luận hướng đối tượng OOAD.
  • Cung cấp bộ kịch bản đặc tả use case, biểu đồ tuần tự, biểu đồ hoạt động và biểu đồ trạng thái chi tiết, có thể áp dụng trực tiếp cho các đồ án môn học hoặc khóa luận tốt nghiệp thuộc đề tài thương mại điện tử, bán hàng trực tuyến.
  • Minh họa cách thức chuyển đổi từ yêu cầu nghiệp vụ thực tế thành mô hình lớp (Class Diagram) hoàn chỉnh với đầy đủ thuộc tính và phương thức xử lý.

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

1. Quy trình đặt hàng và thanh toán trong hệ thống được thực hiện qua các bước nào?
Quy trình gồm 3 bước: Bước 1 là khai báo/kiểm tra thông tin người mua và địa chỉ nhận hàng; Bước 2 là chọn phương thức vận chuyển (Siêu nhanh, Nhanh, Bình thường) và áp dụng chính sách giảm/miễn phí vận chuyển hoặc mã voucher; Bước 3 là chọn hình thức thanh toán (Chuyển khoản hoặc COD) và nhận email xác nhận kèm mã đơn hàng.

2. Chính sách tính phí vận chuyển được hệ thống quy định theo các hạn mức nào?
Hệ thống tính phí theo giá trị đơn hàng: Đơn hàng dưới 50.000 VNĐ không được miễn phí vận chuyển; đơn hàng khoảng 100.000 VNĐ được giảm 50% phí vận chuyển; đơn hàng trên 200.000 VNĐ được miễn phí vận chuyển hoàn toàn.

3. Khách hàng thực hiện việc hủy đơn hàng và đổi trả sách như thế nào theo thiết kế của hệ thống?
Khách hàng không thể tự hủy đơn hàng trực tiếp trên giao diện website mà phải gọi điện trực tiếp đến bộ phận chăm sóc khách hàng. Đối với việc đổi trả, khách hàng chỉ có thể thực hiện tại thời điểm nhận hàng sau khi đồng kiểm với nhân viên giao hàng; nhân viên giao hàng sẽ lập phiếu đổi trả trên hệ thống để chuyển cho nhân viên bán hàng phê duyệt.

4. Cấu hình máy chủ trung tâm và các ràng buộc về thời gian đáp ứng được xác định ra sao?
Hệ thống được thiết kế chạy trên máy chủ Linux với cấu hình 16 lõi (cores), RAM 32GB và ổ cứng 1TB. Ràng buộc hiệu năng quy định kết quả tìm kiếm phải hiển thị trong vòng 3 giây và phiên giao dịch thanh toán phải được hoàn tất trong vòng 15 phút sau khi đặt sách.

5. Hệ thống phân chia các vai trò nhân viên và quyền hạn xử lý như thế nào?
Hệ thống phân định 4 nhóm vai trò nghiệp vụ: Nhân viên quản lý sách (quản lý thêm/xóa/sửa sách, tạo tiêu chí tìm kiếm), Nhân viên bán hàng (xác nhận đơn hàng, duyệt phiếu đổi trả, tạo mã khuyến mãi), Nhân viên giao hàng (cập nhật tiến trình vận chuyển, lập phiếu đổi trả, ghi nhận đơn giao thành công) và Quản trị/Hỗ trợ hệ thống (quản lý tài khoản nhân viên, giám sát lịch sử hoạt động, chatbox hỗ trợ người dùng).

Kết luận

Báo cáo đồ án "Xây dựng hệ thống bán sách" của nhóm sinh viên Trường Đại học Công nghệ Sài Gòn đã hoàn thành việc xây dựng bộ tài liệu đặc tả yêu cầu phần mềm (SRS) toàn diện cho một hệ thống thương mại điện tử chuyên ngành. Bằng việc ứng dụng phương pháp phân tích hướng đối tượng qua ngôn ngữ UML, đề tài đã mô hình hóa chi tiết 24 use case chức năng, 17 lớp thực thể và hệ thống các ràng buộc phi chức năng nghiêm ngặt. Đây là tài liệu kỹ thuật có cấu trúc chặt chẽ, tạo cơ sở hoàn chỉnh cho các giai đoạn thiết kế chi tiết (SDD) và triển khai lập trình hệ thống phần mềm tiếp theo.