Bối cảnh và vấn đề nghiên cứu
Trong bối cảnh công nghệ thông tin phát triển và trở thành ngành mũi nhọn thúc đẩy các lĩnh vực kinh tế - xã hội, việc ứng dụng mạng Internet vào đời sống thường nhật ngày càng trở nên phổ biến. Người tiêu dùng có xu hướng chuyển đổi từ phương thức mua sắm trực tiếp sang các giao dịch trực tuyến nhằm tiết kiệm thời gian và công sức.
Đối với thị trường kinh doanh sách, phương thức phân phối truyền thống bộc lộ một số điểm hạn chế: khách sắm phải đến trực tiếp các hiệu sách hoặc siêu thị để kiểm tra sự tồn tại của đầu sách mong muốn, dẫn đến tính thụ động trong quá trình tìm kiếm và mua hàng. Đồng thời, vào thời điểm thực hiện đề tài (tháng 12 năm 2021), hạ tầng thanh toán điện tử và mô hình thương mại điện tử cho ngành sách tại Việt Nam vẫn đang trong giai đoạn từng bước hoàn thiện và chuyển đổi số.
Đề tài "Xây dựng phần mềm quản lý bán sách bằng MySQL, HTML5, ..." được nhóm sinh viên Khoa Công nghệ Thông tin – Trường Đại học Sài Gòn (gồm các sinh viên: Nguyễn Quốc Vương, Hoàng Minh Trí, Lý Nhật Khánh, Hoàng Đăng Khoa, Nguyễn Hữu Đức, Trương Vũ Nghi; dưới sự hướng dẫn của giảng viên Phan Nguyệt Minh) thực hiện nhằm giải quyết các nhiệm vụ nghiên cứu và phát triển cụ thể sau:
- Nghiên cứu mô hình mua bán và quản lý sách trực tuyến nhằm thay thế phương thức vận hành thủ công.
- Xác định các yêu cầu nghiệp vụ, yêu cầu phi chức năng (bảo mật, hiệu năng, an toàn, tiện dụng, khả năng tiến hóa) phục vụ công tác quản lý và vận hành hệ thống bán sách.
- Thiết kế mô hình ca sử dụng (Use Case), mô hình dữ liệu và quy trình xử lý cho các nhóm tác nhân khác nhau.
- Hiện thực hóa phần mềm ứng dụng web hỗ trợ toàn diện các nhóm đối tượng: Quản trị viên hệ thống (Admin), Quản lý, Nhân viên kho/bán hàng và Khách hàng trực tuyến.
- Đối tượng nghiên cứu: Quy trình nghiệp vụ bán sách, quản lý xuất - nhập kho, theo dõi đơn hàng, quản trị người dùng và tương tác người dùng trên nền tảng web.
- Phạm vi nghiên cứu:
- Không gian: Áp dụng cho mô hình cửa hàng/doanh nghiệp kinh doanh sách trực tuyến tại Việt Nam.
- Thời gian: Đồ án được hoàn thành và báo cáo vào tháng 12 năm 2021.
Cơ sở lý thuyết và phương pháp
Đồ án áp dụng quy trình phát triển phần mềm chuẩn mực kết hợp với các kỹ thuật phân tích và thiết kế hệ thống hướng đối tượng:
- Quy trình phát triển phần mềm: Đề tài áp dụng mô hình tiến trình hợp nhất RUP (Rational Unified Process). Quy trình được triển khai theo vòng đời 4 pha lặp:
- Pha khởi đầu (Inception): Tập trung vào mô hình hóa nghiệp vụ, xác định tầm nhìn dự án, thu thập yêu cầu của các bên liên quan và thiết lập kiến trúc sơ bộ.
- Pha xây dựng phác thảo (Elaboration): Thực hiện phân tích và thiết kế chi tiết, xác định các lớp đối tượng, hệ thống con và mô hình cơ sở dữ liệu.
- Pha xây dựng (Construction): Tiến hành hiện thực hóa mã nguồn (Implementation) và kiểm thử hệ thống (Test).
- Pha chuyển giao (Transition): Lập kế hoạch triển khai, biên soạn tài liệu hướng dẫn sử dụng, tài liệu cài đặt và đào tạo người dùng cuối.
- Phương pháp phân tích và mô hình hóa:
- Sử dụng biểu đồ Use Case và kịch bản chi tiết để mô hình hóa tương tác giữa các tác nhân và hệ thống.
- Phân rã yêu cầu thành các bảng trách nhiệm (Responsibility Matrix) để phân định rõ ràng giữa hành vi người dùng và phản hồi của phần mềm.
- Sử dụng biểu đồ tiến độ Gantt (Activity Bar Chart) nhằm quản lý và theo dõi tiến độ các giai đoạn thực hiện đề tài.
- Công cụ hỗ trợ quản lý dự án: Microsoft Excel, Microsoft Word.
Thiết kế và triển khai hệ thống
Hệ thống được thiết kế với kiến trúc ứng dụng web đa tầng phục vụ bốn phân quyền tác nhân chính. Các công nghệ và hạ tầng kỹ thuật được sử dụng trong đồ án bao gồm:
- Công nghệ nền tảng và ngôn ngữ: HTML5, CSS3, JavaScript, Bootstrap cho giao diện người dùng; PHP cho xử lý logic phía máy chủ; hệ quản trị cơ sở dữ liệu MySQL; công cụ đồ họa Adobe Photoshop hỗ trợ thiết kế giao diện web.
- Yêu cầu hạ tầng phần cứng thử nghiệm: Máy tính trang bị CPU Intel Pentium IV 2.4 GHz, RAM 1 GB, dung lượng đĩa cứng tối thiểu 100 GB.
- Kiến trúc dữ liệu và xử lý:
- Hệ thống dữ liệu quan hệ quản lý thông tin sách, đơn đặt hàng, lịch phát hành sách, tài khoản người dùng, giỏ hàng và danh mục thể loại.
- Tích hợp 2 phương thức thanh toán: Trả trước (yêu cầu thông tin tài khoản ngân hàng) và Trả sau (thanh toán tiền mặt khi nhận hàng qua đơn vị vận chuyển bên thứ ba).
| Nhóm thông số kỹ thuật |
Quy định / Chỉ số thiết kế trong đồ án |
| Tốc độ xử lý nghiệp vụ sách |
Thêm/Cập nhật sách: 1 lượt / 0,5 giây; Xóa/Tìm kiếm: Ngay lập tức |
| Công suất xử lý đơn đặt |
Đặt sách: 500 lần / giờ; Hủy đặt sách: 200 lần / giờ |
| Xử lý tài khoản |
Đổi mật khẩu: Ngay lập tức; Khôi phục mật khẩu qua email: Trong vòng 5 phút |
| Bảo mật đăng nhập |
Tự động khóa tài khoản khi người dùng nhập sai mật khẩu 5 lần liên tiếp |
| Chỉ tiêu bảo trì & sửa lỗi |
Thời gian định vị và sửa lỗi trung bình: 10 - 15 phút, không làm gián đoạn chức năng khác; Thời gian chuyển đổi hệ quản trị CSDL: Tối đa 2 ngày |
Nội dung chính theo từng chương
Chương 1: Tổng quan về đề tài
Chương 1 thiết lập khung quản lý dự án và hệ thống hóa toàn bộ các bảng đặc tả yêu cầu, bảng trách nhiệm cho từng chức năng chính của phần mềm:
- Quy trình RUP và tiến độ dự án: Mô tả chi tiết bốn giai đoạn của tiến trình RUP và phân bổ công việc qua biểu đồ thanh tiến độ Gantt (xác định phạm vi, thiết kế, kiểm tra, sửa lỗi, viết tài liệu).
- Hệ thống yêu cầu nghiệp vụ và bảng trách nhiệm:
- Quản lý sách và lịch phát hành: Xây dựng các biểu mẫu (BM1) và quy định cập nhật, thêm mới, xóa và tìm kiếm đầu sách. Thiết lập cơ chế ghi nhận thông tin ngày phát hành, thông báo và hoàn tiền cho khách hàng trong trường hợp đơn đặt trước bị hủy.
- Quản lý đặt sách: Xây dựng quy trình tiếp nhận và hủy đặt trước sách theo quy định (QD1, QD2), chỉ cho phép hủy khi đơn hàng chưa chuyển sang trạng thái đã bán.
- Quản lý tài khoản: Thiết lập các quy định ràng buộc người dùng như độ tuổi tối thiểu khi đăng ký (QD1: trên 18 tuổi), quy tắc đổi mật khẩu (QD2: mật khẩu mới không được trùng mật khẩu cũ), và cơ chế xác thực cấp lại mật khẩu qua email.
- Các nhóm yêu cầu phi chức năng: Thiết lập ma trận phân quyền chi tiết giữa Quản trị hệ thống, Quản lý, Nhân viên và Khách hàng; chuẩn hóa các tiêu chí tiện dụng (thời gian học cách sử dụng dưới 5 phút, tỷ lệ phạm lỗi thao tác dưới 5%).
Chương 2: Phân tích và thiết kế hệ thống
Chương 2 đi sâu vào việc mô tả chi tiết các phân hệ chức năng, xây dựng mô hình Use Case tổng quát và kịch bản tương tác:
- Mô tả chi tiết các phân hệ chức năng:
- Chức năng quản lý bán hàng: Tìm kiếm sản phẩm theo từ khóa tên hoặc lọc theo thể loại (Khoa học, Văn học, Truyện tranh...), nhà cung cấp; sắp xếp theo mức độ liên quan, sách mới nhất, lượt đánh giá, số lượng bán, giá tăng/giảm; hiển thị chi tiết sản phẩm kèm tỷ lệ giảm giá; quản lý giỏ hàng và xử lý luồng đặt hàng.
- Chức năng quản lý người dùng: Đăng ký thông tin (tên đăng nhập, mật khẩu, họ tên, điện thoại, email, địa chỉ giao hàng), đăng nhập và cập nhật hồ sơ cá nhân.
- Chức năng quản lý kho: Dành cho Admin và Nhân viên, bao gồm nhập kho sách mới (tên, thể loại, giá, nhà xuất bản, mô tả, hình ảnh, số lượng, trạng thái ẩn/hiện), cập nhật thông tin sách, xóa các đầu sách ngừng sản xuất, xuất kho và ghi nhận lịch sử xuất hàng.
- Chức năng báo cáo thống kê: Thống kê sản phẩm bán chạy/bán chậm theo khoảng thời gian $t$, tính toán doanh thu bán hàng, thống kê số lượng đơn hàng theo biểu đồ và bảng số liệu.
- Mô hình Use Case và kịch bản:
- Module dành cho người quản lý: Gồm các Use Case Quản lý nhân viên (thêm, sửa quyền Quản lý/Nhân viên, khóa tài khoản, xóa), Quản lý thành viên, Quản lý sản phẩm, Quản lý đơn hàng, Thống kê doanh số, Xử lý đặt hàng online và tự động lập hóa đơn.
- Module dành cho thành viên và khách xem: Gồm các Use Case Đăng ký, Đăng nhập, Xem trang chủ, Tìm kiếm/lọc sản phẩm, Thêm bình luận đánh giá, Quản lý giỏ hàng, Cập nhật thông tin cá nhân.
- Đặc tả kịch bản Use Case: Trình bày chi tiết luồng sự kiện chính, các luồng rẽ nhánh/sự kiện phụ, tiền điều kiện và hậu điều kiện cho từng Use Case (như kịch bản Quản lý nhân viên, Thống kê thành viên, Quản lý sản phẩm).
Chương 3: Thiết kế và hiện thực trang web
Chương 3 trình bày kết quả hiện thực hóa hệ thống từ bản vẽ phân tích sang các thành phần giao diện và cấu trúc dữ liệu:
- Sơ đồ lớp đối tượng và Cơ sở dữ liệu: Thiết kế sơ đồ lớp phản ánh cấu trúc thực thể trong hệ thống và hiện thực các bảng dữ liệu quan hệ trên MySQL.
- Thiết kế xử lý và giao diện người dùng:
- Giao diện người dùng cuối: Hiện thực các màn hình Đăng ký, Đăng nhập, Trang danh mục sản phẩm, Trang chi tiết sản phẩm, Quản lý thông tin tài khoản, Giỏ hàng và Thanh toán, Chi tiết lịch sử đơn hàng.
- Giao diện quản trị (Back-end): Hiện thực Trang quản trị tổng thể dành cho Quản trị viên (Admin) và Trang tác nghiệp chuyên biệt dành cho Nhân viên nhằm quản lý kho hàng và xử lý đơn đặt.
Kết quả và đóng góp
- Kết quả kỹ thuật đạt được:
- Xây dựng hoàn chỉnh một ứng dụng web thương mại điện tử phục vụ quản lý và kinh doanh sách với đầy đủ các phân hệ chức năng từ giao diện người mua đến bảng điều khiển quản trị.
- Thiết lập thành công cơ chế quản lý vòng đời sách: từ khâu thông báo lịch phát hành, tiếp nhận đặt trước, nhập kho, bày bán, xử lý đơn hàng đến thống kê doanh thu.
- Phân định rõ ràng 4 cấp tác nhân trong hệ thống với ma trận phân quyền bảo mật chặt chẽ.
- Đóng góp về mặt phương pháp:
- Ứng dụng quy trình RUP vào đề tài giúp văn bản hóa một cách khoa học toàn bộ hệ thống biểu mẫu, quy định ràng buộc, bảng trách nhiệm giữa người dùng và phần mềm.
- Cung cấp tài liệu phân tích Use Case và kịch bản chi tiết làm cơ sở cho việc kiểm thử và mở rộng phần mềm.
Hạn chế và hướng nghiên cứu tiếp
Theo nội dung trình bày tại phần tổng kết của báo cáo, đề tài còn tồn tại một số hạn chế:
- Hạn chế:
- Khâu thanh toán trả trước trực tuyến mới dừng lại ở mức tiếp nhận thông tin tài khoản ngân hàng, chưa tích hợp cổng thanh toán trực tuyến tự động (như các cổng Payment Gateway chuyên dụng).
- Nghiệp vụ xác nhận thanh toán khi nhận hàng (COD) vẫn phụ thuộc vào phần mềm thứ ba của nhân viên giao hàng (Shipper) và yêu cầu cập nhật thủ công từ nhà cung cấp.
- Trình độ lý luận và kinh nghiệm thực tiễn của nhóm tác giả còn giới hạn, dẫn đến việc một số luồng xử lý chưa bao quát hết mọi tình huống phát sinh trong môi trường kinh doanh thực tế.
- Hướng phát triển tiếp theo:
- Hoàn thiện tích hợp API thanh toán điện tử trực tiếp và dịch vụ vận chuyển tự động.
- Chuẩn bị dữ liệu và hoàn thiện sâu hơn các module để nâng cấp thành bài báo cáo tốt nghiệp trong giai đoạn tiếp theo.
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 ngành Công nghệ thông tin và Kỹ thuật phần mềm: Tham khảo phương pháp xây dựng tài liệu đặc tả yêu cầu phần mềm theo chuẩn quy trình RUP, cách lập bảng trách nhiệm nghiệp vụ và thiết kế kịch bản Use Case.
- Người phát triển ứng dụng web bán hàng: Tham khảo quy trình phân tích luồng dữ liệu cho hệ thống bán lẻ trực tuyến, cấu trúc giao diện tương tác và mô hình phân quyền giữa Quản trị viên, Quản lý, Nhân viên và Khách hàng.
Câu hỏi thường gặp
1. Hệ thống quy định điều kiện gì đối với tài khoản khi đăng ký thành viên mới và đổi mật khẩu?
Khi đăng ký tài khoản mới, hệ thống áp dụng quy định QD1: người dùng phải đủ từ 18 tuổi trở lên. Đối với chức năng đổi mật khẩu, quy định QD2 bắt buộc mật khẩu mới không được trùng với mật khẩu cũ đã sử dụng.
2. Cơ chế bảo mật chống dò mật khẩu của phần mềm được thiết kế như thế nào?
Hệ thống thiết lập cơ chế kiểm tra tự động tại màn hình đăng nhập: nếu tài khoản nhập sai mật khẩu liên tiếp 5 lần, phần mềm sẽ tự động khóa tài khoản để bảo vệ an toàn cho hệ thống.
3. Khách hàng có thể tìm kiếm và sắp xếp sách theo những tiêu chí cụ thể nào?
Khách hàng có thể tìm kiếm sách theo từ khóa tên hoặc lọc theo thể loại (Khoa học, Văn học, Truyện tranh...) và nhà cung cấp. Danh sách kết quả có thể được sắp xếp theo: mức độ liên quan, sách mới nhất, số lượt đánh giá, sách mua nhiều, giá từ thấp đến cao hoặc giá từ cao đến thấp.
4. Hệ thống phân chia quyền hạn giữa Quản trị hệ thống, Quản lý và Nhân viên như thế nào trong nghiệp vụ quản lý sách?
Theo bảng ma trận bảo mật và phân quyền: Quản trị hệ thống nắm toàn quyền (phân quyền, thêm, sửa, xóa, tìm kiếm sách và thay đổi quy định); Quản lý và Nhân viên được cấp quyền tìm kiếm sách và thao tác nghiệp vụ theo chức năng được chỉ định sau khi xác thực tên và mật khẩu.
5. Quy trình phát triển phần mềm RUP trong đồ án gồm những pha nào?
Quy trình RUP trong đồ án được chia thành 4 pha lặp: Pha khởi đầu (Inception), Pha xây dựng phác thảo (Elaboration), Pha xây dựng (Construction), và Pha chuyển giao (Transition).
Kết luận
Báo cáo đồ án "Xây dựng phần mềm quản lý bán sách bằng MySQL, HTML5, ..." của nhóm sinh viên Trường Đại học Sài Gòn đã hoàn thành việc nghiên cứu, phân tích và hiện thực hóa một hệ sinh thái bán sách trực tuyến hoàn chỉnh. Đề tài vận dụng bài bản quy trình RUP kết hợp cùng các công nghệ web phổ biến (PHP, MySQL, HTML5, Bootstrap) để giải quyết bài toán kinh doanh sách điện tử và đặt hàng từ xa. Mặc dù còn hạn chế ở khâu tự động hóa thanh toán trực tuyến, hệ thống đã đặt nền móng vững chắc về mặt cấu trúc dữ liệu, phân quyền tác nhân và kịch bản nghiệp vụ cho các ứng dụng quản lý bán lẻ.