Bối cảnh và vấn đề nghiên cứu
Đồ án được thực hiện trong bối cảnh thương mại điện tử và kinh doanh trực tuyến đang mở rộng mạnh mẽ tại Việt Nam. Nhóm tác giả xác định hai nhóm vấn đề song song tồn tại: phía người mua gặp khó khăn trong việc tìm kiếm và mua sách một cách thuận tiện, trong khi phía các nhà bán sách chịu áp lực trong quản lý danh mục, giá cả, tồn kho và cập nhật thông tin sản phẩm theo phương pháp thủ công.
Mục tiêu của đồ án bao gồm ba hướng chính:
- Xây dựng một website bán sách trực tuyến cho phép khách hàng tìm kiếm, xem thông tin và đặt mua sách qua mạng.
- Xây dựng hệ thống quản trị (Admin) hỗ trợ quản lý sản phẩm, đơn hàng, khách hàng và thống kê doanh thu.
- Tối ưu hóa quy trình quản lý bán hàng, giảm chi phí quảng cáo và vận hành thủ công cho cửa hàng.
Đối tượng nghiên cứu gồm: khách hàng, nhà cung cấp và đối tác kinh doanh; tài liệu quản lý công ty; quy trình quản lý bán hàng, sản phẩm và nhân sự.
Phạm vi nghiên cứu:
- Thời gian: từ 12/01/2024 đến 03/2024.
- Nội dung: tập trung nghiên cứu JavaScript, HTML, CSS; phân tích thiết kế hướng đối tượng; và xây dựng website bán sách trên môi trường ngôn ngữ ASP.
Cơ sở lý thuyết và phương pháp
Đồ án thuộc ngành Công nghệ phần mềm, tiếp cận theo hướng thiết kế và xây dựng hệ thống phần mềm, không có khung lý thuyết định lượng hay mô hình hàn lâm đặt ra. Nền tảng kiến thức nền mà nhóm xác định gồm: phân tích thiết kế hệ thống, phân tích thiết kế hướng đối tượng, hệ quản trị cơ sở dữ liệu, ngôn ngữ lập trình (Java, C#), HTML/CSS và JavaScript.
Phương pháp thực hiện:
- Tìm hiểu và tổng hợp tài liệu liên quan (JavaScript, HTML, CSS, quy trình bán hàng trực tuyến).
- Phân tích và lựa chọn giải pháp kỹ thuật phù hợp.
- Tham khảo ý kiến người có kinh nghiệm trong lĩnh vực phát triển phần mềm.
- Thực nghiệm xây dựng và vận hành hệ thống.
Nguồn dữ liệu: Nhóm thực hiện khảo sát hiện trạng thực tế và khảo sát người dùng (được đề cập trong Chương II) nhằm xác định yêu cầu khách hàng trước khi tiến hành phân tích hệ thống.
Đối tượng sử dụng hệ thống được phân thành ba nhóm:
| Nhóm |
Vai trò |
| Người quản trị (Admin) |
Cập nhật thông tin, cấp quyền tài khoản, đảm bảo an toàn hệ thống |
| Khách hàng (Customer) |
Mua hàng, quản lý giỏ hàng, tìm kiếm sản phẩm |
| Khách vãng lai (Guest) |
Xem thông tin sản phẩm |
Nội dung chính theo từng chương
Chương I — Ý tưởng sản phẩm (Conceit)
Chương này ghi lại quá trình hình thành ý tưởng của từng thành viên trong nhóm trước khi thống nhất đề tài chung. Bốn ý tưởng cá nhân được đề xuất:
| Thành viên |
Ý tưởng đề xuất |
| Thái Bá Hưng |
Website quản lý bán sách |
| Võ Hoàng Diễn |
Phần mềm quản lý quán café |
| Lê Ngô Quang Đạo |
Website quản lý nhà trọ |
| Nguyễn Minh Toàn |
Phần mềm quản lý thư viện |
Sau khi đánh giá ý tưởng, nhóm chọn phát triển website bán sách — ý tưởng của thành viên Thái Bá Hưng — do phạm vi triển khai rộng hơn và tính ứng dụng thực tiễn cao hơn. Nhóm ước tính sản phẩm có thể phục vụ 5.000 người dùng hưởng lợi (theo đánh giá chung của cả bốn thành viên), với thời gian phát triển ước tính từ 3 đến 6 tháng.
Chương II — Phân tích hệ thống (Design)
Chương này trình bày toàn bộ kết quả phân tích yêu cầu và thiết kế chức năng. Nhóm thực hiện khảo sát hiện trạng thực tế và khảo sát người dùng, từ đó xác định yêu cầu khách hàng, xây dựng phạm vi và mục đích dự án.
Phần cốt lõi của chương là mô tả use case với biểu đồ use case tổng quát và 18 use case chi tiết, bao gồm đặc tả luồng sự kiện chính, luồng thay thế, điều kiện trước/sau, cùng biểu đồ tuần tự và biểu đồ hoạt động cho từng ca sử dụng. Các use case được phân chia theo nhóm tác nhân:
Nhóm use case phía khách hàng và khách vãng lai:
- Đăng ký, Đăng nhập, Đăng xuất, Cập nhật tài khoản
- Yêu cầu hỗ trợ, Tìm kiếm, Xem thông tin sách
- Thêm vào giỏ hàng, Cập nhật số lượng trong giỏ hàng, Xóa sách khỏi giỏ hàng
- Đặt hàng, Xem thông tin đơn hàng
Nhóm use case phía người quản trị (Admin):
- Quản lý đơn hàng, Quản lý phương thức thanh toán
- Quản lý khách hàng, Quản lý yêu cầu
- Thống kê doanh thu theo tháng/năm
Chương III — Thiết kế hệ thống (Implement)
Chương này trình bày lược đồ cơ sở dữ liệu, thiết kế kiến trúc bảng và thiết kế prototype giao diện. Hệ thống cơ sở dữ liệu gồm 13 bảng có quan hệ với nhau:
| Tên bảng |
Mô tả |
| phan_quyen |
Loại tài khoản trong hệ thống |
| khach_hang |
Dữ liệu tài khoản khách hàng |
| admin |
Dữ liệu tài khoản quản trị |
| tac_gia |
Dữ liệu tác giả |
| tua_sach |
Dữ liệu tựa sách (liên kết NXB, tác giả, thể loại) |
| sach |
Dữ liệu sách (số lượng tồn, số lượng nhập) |
| the_loai |
Thể loại sách |
| nxb |
Nhà xuất bản |
| danh_gia |
Đánh giá của khách hàng (số sao, nội dung) |
| pt_thanhtoan |
Phương thức thanh toán |
| chi_tiet_hoa_don |
Chi tiết hóa đơn (trạng thái, người nhận, địa chỉ) |
| hoa_don |
Hóa đơn (số lượng, tỉ lệ khuyến mãi, tỉ lệ thuế, tổng tiền) |
| khuyen_mai / chi_tiet_khuyen_mai |
Thông tin khuyến mãi theo từng sản phẩm |
Phần thiết kế prototype được thực hiện bằng phần mềm Mockup, bao gồm 13 màn hình với đặc tả chi tiết từng field (tên trường, kiểu dữ liệu, mục tiêu tương tác): trang chủ, đăng ký, đăng nhập, chi tiết sách, giỏ hàng, thanh toán, đặt hàng, chi tiết tác giả, chi tiết nhà xuất bản, và các giao diện quản trị (thống kê, quản lý sách, quản lý đơn hàng, quản lý tài khoản).
Chương IV — Vận hành và kiểm thử
Chương này trình bày giao diện hệ thống sau khi triển khai thực tế. Phía người dùng bao gồm: Trang chủ, Tin tức, Tuyển dụng, Giới thiệu, Liên hệ, Đăng ký, Đăng nhập, Thông tin sách, Thanh toán, Tìm kiếm, Thông tin khách hàng, Lịch sử đặt hàng. Phía Admin bao gồm: Thống kê doanh thu, Quản lý sản phẩm, Quản lý khách hàng, Quản lý đơn hàng.
Thiết kế và triển khai
Hệ thống website bán sách được xây dựng theo mô hình phân lớp với các thành phần chính:
- Ngôn ngữ và công nghệ front-end: HTML, CSS, JavaScript — nhóm tự học trong quá trình thực hiện đồ án song song với kiến thức đã có về Java và C#.
- Môi trường phát triển: ASP (đề cập trong phần ý nghĩa lý luận của đồ án).
- Hệ quản trị cơ sở dữ liệu: Sử dụng kiểu dữ liệu
nvarchar, int, date — phù hợp với hệ quản trị SQL Server hoặc tương đương; cấu trúc bảng có khóa chính (PK), khóa ngoại (FK) và ràng buộc auto_increment.
- Kiến trúc dữ liệu: 13 bảng quan hệ; thiết kế tách biệt
tua_sach (thông tin ấn phẩm) và sach (thông tin tồn kho) giúp quản lý nhiều phiên bản của cùng một tựa sách.
- Thanh toán: Hệ thống hỗ trợ hai phương thức — thanh toán online và thanh toán trực tiếp (offline), quản lý qua bảng
pt_thanhtoan.
- Kiểm thử: Thực hiện theo hướng kiểm thử giao diện thực tế (manual UI testing) — nhóm chạy từng màn hình và ghi nhận kết quả trong Chương IV. Không có tài liệu kiểm thử tự động được đề cập.
Kết quả và đóng góp
Kết quả đạt được theo ghi nhận của nhóm:
- Hoàn thành nghiên cứu và ứng dụng HTML, JavaScript, CSS vào xây dựng website thực nghiệm.
- Phía Admin: triển khai được các chức năng thống kê doanh thu, quản lý sản phẩm, quản lý khách hàng, quản lý đơn hàng, quản lý phương thức thanh toán.
- Phía khách hàng và khách vãng lai: hệ thống giúp tiếp cận sách dễ dàng hơn và cung cấp các ưu đãi từ cửa hàng.
Đóng góp về mặt lý luận: Bản thuyết minh và chương trình được nhóm xác định là tài liệu tham khảo cho sinh viên và giảng viên quan tâm đến lĩnh vực xây dựng ứng dụng Web quản lý, đặc biệt trên nền ASP.
Đóng góp về mặt thực tiễn: Góp phần tối ưu hóa quy trình quản lý cho các công ty và cửa hàng sách quy mô nhỏ và vừa, giảm chi phí quảng cáo truyền thống.
Hạn chế và hướng nghiên cứu tiếp
Nhóm tự ghi nhận các hạn chế sau trong phần kết luận:
- Phân tích chưa sâu: Một số vấn đề đặt ra ban đầu chưa được phân tích đầy đủ.
- Chức năng chưa hoàn chỉnh: Không phải toàn bộ chức năng dự kiến đã được triển khai.
- Tối ưu hóa còn hạn chế: Một số chức năng của phần mềm chưa được tối ưu về mặt hiệu năng và logic.
- Giao diện: Giao diện phần mềm được nhóm tự đánh giá là chưa đủ thẩm mỹ.
Hướng phát triển trong tương lai được nhóm xác định:
- Nghiên cứu sâu hơn về HTML, CSS, JavaScript.
- Hoàn thành toàn bộ các chức năng đã đặt ra.
- Tối ưu hóa giao diện và các chức năng của hệ thống.
Giá trị tham khảo
Đồ án phù hợp làm tài liệu tham khảo cho các nhóm đối tượng sau:
- Sinh viên năm 2–3 ngành Công nghệ phần mềm, Hệ thống thông tin đang tìm hiểu quy trình phân tích và thiết kế hệ thống theo hướng đối tượng, đặc biệt là cách xây dựng use case và đặc tả luồng sự kiện.
- Sinh viên thực hiện đồ án CDIO tại các trường đại học có chương trình đào tạo theo mô hình CDIO — đồ án cung cấp mẫu cấu trúc tài liệu từ giai đoạn Conceit đến Implement và vận hành.
- Sinh viên nghiên cứu thiết kế cơ sở dữ liệu quan hệ cho hệ thống thương mại điện tử quy mô nhỏ — phần thiết kế kiến trúc bảng với 13 bảng và đặc tả từng field là phần có giá trị tra cứu rõ ràng.
- Người làm đề tài về website bán hàng nói chung có thể tham khảo cách nhóm tổ chức phân quyền người dùng ba cấp và thiết kế bảng hóa đơn có tích hợp khuyến mãi và thuế.
Phần đáng tham khảo nhất là Chương II (đặc tả 18 use case với biểu đồ tuần tự và biểu đồ hoạt động) và Chương III (lược đồ cơ sở dữ liệu và đặc tả prototype giao diện).
Câu hỏi thường gặp
1. Hệ thống có bao nhiêu nhóm người dùng và quyền hạn của từng nhóm là gì?
Hệ thống có ba nhóm: Admin (quản trị toàn hệ thống, cấp quyền tài khoản, thống kê doanh thu), Customer (đăng ký tài khoản, mua hàng, quản lý giỏ hàng, xem lịch sử đơn hàng), và Guest (chỉ xem thông tin sản phẩm, không đặt hàng được).
2. Cơ sở dữ liệu của hệ thống bao gồm những bảng nào và bảng nào đóng vai trò trung tâm?
Hệ thống gồm 13 bảng. Bảng tua_sach đóng vai trò trung tâm, liên kết với nxb (nhà xuất bản), tac_gia (tác giả) và the_loai (thể loại). Bảng sach quản lý tồn kho thực tế và liên kết với tua_sach, trong khi hoa_don và chi_tiet_hoa_don ghi nhận thông tin giao dịch.
3. Hệ thống hỗ trợ những phương thức thanh toán nào và được quản lý như thế nào?
Hệ thống hỗ trợ thanh toán online và thanh toán trực tiếp (offline). Quản trị viên có thể quản lý và chỉnh sửa phương thức thanh toán qua use case "Quản lý phương thức thanh toán"; dữ liệu được lưu trong bảng pt_thanhtoan.
4. Sau khi khách hàng đặt hàng, trạng thái đơn hàng được xử lý như thế nào?
Theo đặc tả use case Đặt Hàng, sau khi hệ thống xác nhận thông tin, hóa đơn chuyển sang trạng thái "chờ duyệt". Người quản trị sau đó có thể phê duyệt hoặc từ chối đơn hàng thông qua giao diện Quản lý đơn hàng (Admin) với hai nút Approve và Cancel.
5. Nhóm đề xuất ý tưởng nào trước khi chọn đề tài website bán sách, và tiêu chí lựa chọn là gì?
Bốn thành viên đề xuất bốn ý tưởng: website bán sách, phần mềm quản lý quán café, website quản lý nhà trọ, và phần mềm quản lý thư viện. Nhóm đánh giá theo các tiêu chí: số người hưởng lợi, khả năng thu hút đầu tư, độ khó phát triển và thời gian cần thiết. Ý tưởng website bán sách được chọn với ước tính 5.000 người hưởng lợi và thời gian phát triển 3–6 tháng.
Kết luận
Đồ án CDIO 3 của nhóm sinh viên Đại học Duy Tân trình bày đầy đủ vòng đời phát triển một website thương mại điện tử bán sách quy mô nhỏ, từ phân tích ý tưởng, khảo sát người dùng, đặc tả use case đến thiết kế cơ sở dữ liệu, prototype giao diện và vận hành thực tế. Hệ thống được thiết kế phục vụ ba nhóm tác nhân với 18 ca sử dụng và cơ sở dữ liệu 13 bảng quan hệ, đáp ứng các nghiệp vụ cốt lõi của một nền tảng bán sách trực tuyến. Nhóm thẳng thắn ghi nhận các phần chưa hoàn thiện và đề ra hướng cải thiện cụ thể, tạo nền tảng cho các phiên bản phát triển tiếp theo.