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

Trong bối cảnh chuyển đổi số và sự tăng trưởng của thương mại điện tử, các nền tảng đấu giá trực tuyến đã trở thành phương thức giao dịch quan trọng, mở ra nhiều cơ hội kinh doanh nhưng cũng đặt ra không ít thách thức kỹ thuật. Việc tổ chức các phiên đấu giá trực tuyến đòi hỏi nền tảng phải giải quyết triệt để các vấn đề phức tạp như:

  • Đảm bảo tính công bằng và minh bạch trong quá trình trả giá, ngăn chặn các hành vi gian lận điển hình như bid sniping (đặt giá phút chót nhằm thao túng kết quả) và bid shielding (đặt giá ảo ở mức cao rồi rút lui để người cùng nhóm hưởng lợi với mức giá thấp).
  • Tối ưu hóa trải nghiệm người dùng thông qua giao diện trực quan, đa nền tảng (tương thích trên cả máy tính để bàn và thiết bị di động), cung cấp đầy đủ thông tin sản phẩm và lịch sử giao dịch.
  • Đảm bảo tính sẵn sàng, tốc độ phản hồi theo thời gian thực và năng lực xử lý đồng thời khối lượng lớn giao dịch tài chính trong các phiên đấu giá cao điểm.

Đồ án môn học "Phân tích và thiết kế hệ thống đấu giá Online" được thực hiện bởi Nhóm sinh viên 16 dưới sự hướng dẫn của TS. Trương Ninh Thuận tại Khoa Công nghệ Thông tin, Trường Đại học Công nghệ – Đại học Quốc gia Hà Nội (tháng 1/2025).

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

  1. Thu thập, chuẩn hóa thuật ngữ và đặc tả toàn diện các yêu cầu chức năng, phi chức năng của hệ thống đấu giá trực tuyến.
  2. Xây dựng mô hình ca sử dụng (Use Case), biểu đồ hoạt động (Activity Diagram), biểu đồ tuần tự (Sequence Diagram) và khung nhìn lớp tham gia (View of Participating Classes - VOPC) cho toàn bộ 16 ca sử dụng theo phương pháp hướng đối tượng.
  3. Thiết kế kiến trúc tổng thể, phân rã các hệ thống con (Subsystems), thiết lập các cơ chế phân tích - thiết kế kỹ thuật (Persistence, Distribution, Security) và mô hình hóa cơ sở dữ liệu quan hệ cho toàn bộ hệ thống.

Phạm vi nghiên cứu tập trung vào quy trình nghiệp vụ đấu giá trực tuyến, quản lý tài khoản người dùng, xét duyệt sản phẩm và phiên đấu giá của quản trị viên, cơ chế nộp phí cọc/hồ sơ, tham gia trả giá thời gian thực và giao tiếp giữa các bên thông qua ứng dụng web.


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

Đồ án ứng dụng phương pháp Phân tích và Thiết kế Hướng đối tượng (Object-Oriented Analysis and Design - OOAD) kết hợp Ngôn ngữ Mô hình hóa Thống nhất (Unified Modeling Language - UML) để chuẩn hóa tài liệu kỹ thuật từ giai đoạn thu thập yêu cầu đến thiết kế chi tiết.

Các mô hình, tiêu chuẩn kỹ thuật và cơ chế cài đặt được sử dụng trong hệ thống gồm:

  • Ngôn ngữ mô hình hóa: Sử dụng hệ thống biểu đồ UML bao gồm Biểu đồ Ca sử dụng (Use Case Diagram), Biểu đồ Hoạt động (Activity Diagram), Biểu đồ Tuần tự (Sequence Diagram), Biểu đồ Lớp (Class Diagram), Biểu đồ Gói (Package Diagram) và Sơ đồ Phân tán (Deployment Diagram).
  • Cơ chế lưu trữ dữ liệu (Persistence Mechanisms): Nghiên cứu và mô hình hóa hai giải pháp lưu trữ đối tượng gồm hệ quản trị cơ sở dữ liệu hướng đối tượng ObjectStore OODBMS và hệ quản trị cơ sở dữ liệu quan hệ thông qua giao diện JDBC RDBMS.
  • Cơ chế phân tán (Distribution Mechanism): Sử dụng kỹ thuật triệu gọi phương thức từ xa Java RMI (Remote Method Invocation) để kết nối và truyền thông giữa các thành phần phân tán trong hệ thống.
  • Tiêu chuẩn an toàn và bảo mật (Security Standards):
    • Tiêu chuẩn bảo mật dữ liệu thẻ thanh toán PCI DSS (Payment Card Industry Data Security Standard) và giao thức mã hóa dữ liệu truyền tải HTTPS cho toàn bộ giao dịch tài chính.
    • Cơ chế băm mật khẩu người dùng bằng thuật toán MD5 trước khi lưu trữ vào cơ sở dữ liệu.
    • Tuân thủ các nguyên tắc bảo vệ quyền riêng tư và dữ liệu cá nhân theo định hướng GDPR (General Data Protection Regulation).
    • Áp dụng các giải pháp phòng chống các lỗ hổng bảo mật ứng dụng web phổ biến như SQL Injection, Cross-Site Scripting (XSS) và Cross-Site Request Forgery (CSRF).

Phương pháp nghiên cứu chính được triển khai là phân tích - tổng hợp yêu cầu nghiệp vụ sàn thương mại điện tử, phân rã hệ thống theo kiến trúc 3 lớp (Boundary - Control - Entity), thiết kế các hệ thống con độc lập và xây dựng mô hình dữ liệu quan hệ phục vụ cài đặt.


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

Báo cáo phân tích và thiết kế có dung lượng 148 trang, được cấu trúc thành các nội dung chính như sau:

Chương 1. Đặc tả yêu cầu

Chương này thiết lập nền tảng nghiệp vụ cho toàn bộ hệ thống, mở đầu bằng bảng định nghĩa các khái niệm cốt lõi: Actor (Khách hàng - Visitor, Người dùng - User, Quản trị viên - Admin, Hệ thống thanh toán - Payment System), Use Case, Trigger, Pre-Condition, Post-Condition, Basic Flow, Alternative Flow, Exception Flow, Business Rules và Non-Functional Requirements.

Hệ thống xác định 16 ca sử dụng chính (từ UC1 đến UC16), bao quát toàn bộ chu trình hoạt động của sàn đấu giá:

Mã UC Tên Ca sử dụng Tác nhân (Actor) thực hiện
UC1 Đăng kí Khách hàng
UC2 Tìm kiếm phiên đấu giá Khách hàng, Người dùng, Quản trị viên
UC3 Xem chi tiết phiên đấu giá Khách hàng, Người dùng, Quản trị viên
UC4 Đăng nhập Người dùng, Quản trị viên
UC5 Thêm thẻ ngân hàng Người dùng, Hệ thống thanh toán
UC6 Nộp phí đấu giá Người dùng, Hệ thống thanh toán
UC7 Thêm sản phẩm đấu giá Người dùng
UC8 Cập nhật sản phẩm đấu giá Người dùng
UC9 Xóa sản phẩm đấu giá Người dùng
UC10 Admin duyệt tài khoản đăng ký Quản trị viên
UC11 Admin quản lí phiên đấu giá / sản phẩm Quản trị viên
UC12 Admin quản lí tài khoản Quản trị viên
UC13 Xem lịch sử đấu giá cá nhân Người dùng
UC14 Tham gia chat Người dùng
UC15 Tham gia đấu giá sản phẩm Người dùng
UC16 Xem lịch sử trả giá trong phiên Người dùng

Mỗi ca sử dụng được tài liệu hóa chi tiết qua bảng đặc tả (mô tả, tiền điều kiện, hậu điều kiện, luồng sự kiện chính/thay thế/ngoại lệ, quy tắc nghiệp vụ, yêu cầu phi chức năng) kèm theo một biểu đồ hoạt động (Activity Diagram) tương ứng từ trang 10 đến trang 56.

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

Chương 2 thực hiện chuyển đổi từ yêu cầu nghiệp vụ sang mô hình phân tích hướng đối tượng:

  • Kiến trúc mức cao và các lớp trừu tượng: Xác định cấu trúc hệ thống và phân loại các lớp phân tích thành các lớp biên (Boundary/Interface), lớp điều khiển (Control) và lớp thực thể (Entity).
  • Hiện thực hóa ca sử dụng (Use Case Realization): Xây dựng 16 biểu đồ tuần tự phân tích (Analysis Sequence Diagrams) nhằm mô tả tương tác giữa các đối tượng trong việc thực hiện chức năng của từng ca sử dụng.
  • Khung nhìn các lớp tham gia (View of Participating Classes - VOPC): Thiết lập 16 biểu đồ lớp tham gia tương ứng cho từng ca sử dụng (từ trang 57 đến trang 93), chỉ rõ các thuộc tính, phương thức phân tích và mối quan hệ giữa các lớp.
  • Mô tả cơ chế phân tích: Xây dựng bảng ánh xạ các lớp phân tích tới các cơ chế phân tích kỹ thuật (Persistence, Distribution, Security, Legacy Interface).

Thiết kế và triển khai

Phần thiết kế hệ thống chuyển hóa mô hình phân tích thành mô hình thiết kế cụ thể, chuẩn bị trực tiếp cho việc lập trình và tích hợp hệ thống.

1. Phân rã hệ thống con (Subsystems Design)

Hệ thống được chia thành 3 hệ thống con chuyên trách với các giao diện (interface) tường minh:

  • Databasesubsystem: Đóng gói toàn bộ logic truy xuất dữ liệu, cung cấp các hàm khởi tạo kết nối, đọc, thêm mới, cập nhật và xóa bản ghi khỏi cơ sở dữ liệu.
  • Usersubsystem: Đảm nhiệm việc quản trị danh tính người dùng, xác thực tài khoản, kiểm tra quyền truy cập và duy trì trạng thái đăng nhập.
  • Paymentsubsystem: Đóng gói logic giao tiếp với API hệ thống ngân hàng bên ngoài, thực hiện xác thực thông tin thẻ thanh toán, khởi tạo giao dịch, gửi mã OTP và xử lý các khoản nộp phí tham gia đấu giá.

2. Các cơ chế thiết kế và cài đặt

Tài liệu phân tích và mô hình hóa chi tiết cấu trúc lớp và biểu đồ tuần tự cho các cơ chế kỹ thuật nền tảng:

  • Cơ chế lưu trữ đối tượng (ObjectStore OODBMS): Mô hình hóa biểu đồ lớp tổng quan, biểu đồ lớp chi tiết và 6 biểu đồ tuần tự tương ứng với các tác vụ: Tạo mới dữ liệu, Xóa dữ liệu, Đọc dữ liệu, Cập nhật dữ liệu, Khởi tạo CSDL, Đóng CSDL.
  • Cơ chế lưu trữ quan hệ (JDBC RDBMS): Mô hình hóa biểu đồ lớp và 5 biểu đồ tuần tự cho các tác vụ: Đọc dữ liệu, Tạo mới dữ liệu, Cập nhật CSDL, Xóa dữ liệu, Khởi tạo CSDL.
  • Cơ chế phân tán (RMI Distribution): Mô hình hóa biểu đồ lớp và biểu đồ tuần tự thiết lập kết nối từ xa giữa các thành phần client và server.
  • Cơ chế bảo mật (Security Mechanism): Mô hình hóa biểu đồ lớp và biểu đồ tuần tự thiết lập bảo mật người dùng, phân quyền và kiểm soát phiên.

3. Thiết kế chi tiết lớp và cơ sở dữ liệu

  • Làm mịn biểu đồ tuần tự: Tinh chỉnh và chi tiết hóa toàn bộ 16 biểu đồ tuần tự ở mức thiết kế, bổ sung đầy đủ các tham số truyền nhận, kiểu dữ liệu trả về và đối tượng thuộc các hệ thống con.
  • Thiết kế lớp chi tiết: Xây dựng cấu trúc lớp thiết kế hoàn chỉnh cho 16 ca sử dụng, xác định rõ kiểu dữ liệu của thuộc tính, tầm vực truy cập (public, private, protected) và chữ ký phương thức (method signature).
  • Mô hình kiến trúc thực thi và phân tán: Biểu diễn cấu trúc đóng gói phụ thuộc giữa các package và sơ đồ phân tán hệ thống thực thi trên môi trường mạng.
  • Thiết kế cơ sở dữ liệu: Hoàn thiện lược đồ cơ sở dữ liệu quan hệ (trang 148), xác định các thực thể, khóa chính, khóa ngoại và ràng buộc toàn vẹn dữ liệu cho toàn bộ hệ thống đấu giá.

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

Đồ án đã xây dựng thành công bộ tài liệu kỹ thuật hoàn chỉnh về phân tích và thiết kế hệ thống đấu giá trực tuyến. Các thông số kỹ thuật, quy tắc nghiệp vụ và ràng buộc hệ thống định lượng được chuẩn hóa trong văn bản gồm:

Hạng mục / Chức năng Ràng buộc nghiệp vụ & Thông số kỹ thuật
Xác thực & Bảo mật đăng nhập Mật khẩu người dùng bắt buộc mã hóa băm bằng thuật toán MD5.
Khóa tài khoản 30 phút nếu nhập sai thông tin đăng nhập 5 lần liên tiếp.
Thời gian chờ (timeout) cho màn hình đăng nhập dưới 60 giây.
Liên kết thẻ thanh toán Bắt buộc sử dụng kết nối bảo mật HTTPS và tuân thủ tiêu chuẩn PCI DSS.
Khóa tài khoản trong 1 ngày nếu nhập sai thông tin thẻ và mã CVV 3 lần liên tiếp.
Nộp phí tham gia đấu giá Mã xác thực OTP có hiệu lực trong vòng 2 phút kể từ khi gửi.
Thời gian phản hồi xác minh OTP không vượt quá 5 giây.
Năng lực xử lý đạt mức 1.000 giao dịch thanh toán đồng thời trong giờ cao điểm.
Đăng và quản lý sản phẩm Mỗi người dùng chỉ được phép đăng tối đa 1 sản phẩm mỗi ngày.
Chỉ cho phép cập nhật/xóa sản phẩm trước khi có lượt đấu giá/đăng ký đầu tiên hoặc trong vòng 1 giờ kể từ lúc đăng.
Mọi sản phẩm đăng mới hoặc cập nhật đều phải qua kiểm duyệt của Quản trị viên.
Quản trị hệ thống (Admin) Hỗ trợ tối thiểu 5 quản trị viên thao tác quản lý đồng thời mà không suy giảm hiệu năng.
Tài khoản bị khóa phải tự động đăng xuất khỏi thiết bị trong vòng 20 giây.
Gửi thông báo qua số điện thoại/email trong vòng 60 giây khi tài khoản bị xóa.
Hiệu năng & Vận hành Độ sẵn sàng của hệ thống (Uptime) đạt mức 99.9%.
Cập nhật giá đấu và trạng thái phiên đấu giá theo thời gian thực (real-time).

Về mặt học thuật và kỹ thuật, đồ án đóng góp một khung tài liệu mẫu hoàn chỉnh theo chuẩn quy trình công nghệ phần mềm hướng đối tượng, thể hiện rõ tính liên kết và truy vết (traceability) từ khâu đặc tả yêu cầu, mô hình hóa ca sử dụng, phân tích tương tác đối tượng cho đến phân rã hệ thống con và thiết kế cơ sở dữ liệu chi tiết.


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

  • Hạn chế: Tài liệu dừng lại ở phạm vi hồ sơ phân tích và thiết kế kỹ thuật chi tiết (Analysis & Design Specification), chưa bao gồm mã nguồn hoàn thiện toàn bộ hệ thống (full-stack implementation) và số liệu đo kiểm hiệu năng thực tế (benchmark testing) trên môi trường vận hành thực tế.
  • Hướng nghiên cứu tiếp: Đúng như định hướng tại phần đặt vấn đề của tài liệu, các giai đoạn phát triển tiếp theo có thể nghiên cứu tích hợp:
    1. Ứng dụng Trí tuệ nhân tạo (AI) và Học máy (Machine Learning) để dự đoán xu hướng giá sản phẩm, gợi ý mức giá tối ưu và tự động phát hiện các mẫu hành vi gian lận (bid sniping, bid shielding).
    2. Ứng dụng công nghệ chuỗi khối (Blockchain) nhằm tăng cường tính minh bạch, bất biến của lịch sử trả giá và nâng cao mức độ an toàn cho các giao dịch đấu giá trực tuyến.

Giá trị tham khảo

Tài liệu là nguồn tư liệu tham khảo hữu ích cho:

  • Sinh viên ngành Công nghệ thông tin, Kỹ thuật phần mềm và Hệ thống thông tin: Sử dụng làm tài liệu mẫu chuẩn về phương pháp luận phân tích và thiết kế hướng đối tượng (OOAD), cách thức xây dựng các biểu đồ UML (Use Case, Activity, Sequence, Class, Package, Deployment) và kỹ thuật ánh xạ từ lớp phân tích sang lớp thiết kế.
  • Nhóm phát triển phần mềm thương mại điện tử: Tham khảo bộ đặc tả yêu cầu chi tiết, các quy tắc nghiệp vụ chặt chẽ trong quy trình đấu giá trực tuyến, cơ chế tích hợp cổng thanh toán tuân thủ chuẩn PCI DSS và mô hình phân rã các hệ thống con chuyên biệt.

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

1. Hệ thống xử lý như thế nào khi người dùng nhập sai thông tin đăng nhập hoặc thông tin thẻ ngân hàng?

Theo quy tắc nghiệp vụ trong tài liệu:

  • Khi người dùng nhập sai thông tin đăng nhập liên tiếp 5 lần, hệ thống sẽ tự động khóa tài khoản trong 30 phút và gửi thông báo cảnh báo đến số điện thoại hoặc email đã đăng ký.
  • Khi người dùng nhập sai thông tin thẻ ngân hàng và mã bảo mật CVV liên tiếp 3 lần trong ca sử dụng UC5, hệ thống sẽ khóa tài khoản trong vòng 1 ngày.

2. Các yêu cầu phi chức năng nào được đặt ra cho quy trình nộp phí tham gia đấu giá (UC6)?

Ca sử dụng UC6 quy định: toàn bộ giao dịch phải chạy trên giao thức HTTPS và tuân thủ tiêu chuẩn bảo mật thanh toán PCI DSS; mã xác thực OTP chỉ có giá trị trong vòng 2 phút; thời gian phản hồi xác minh OTP không vượt quá 5 giây; và hệ thống phải có năng lực xử lý đồng thời lên đến 1.000 giao dịch thanh toán tại thời điểm cao điểm.

3. Người dùng có những quyền hạn và ràng buộc gì khi đăng tải, chỉnh sửa hoặc xóa sản phẩm đấu giá?

  • Đăng sản phẩm (UC7): Mỗi người dùng chỉ được phép đăng tối đa 1 sản phẩm mỗi ngày và sản phẩm bắt buộc phải được Quản trị viên phê duyệt trước khi xuất hiện trên sàn.
  • Cập nhật sản phẩm (UC8): Người dùng chỉ có thể cập nhật thông tin sản phẩm trước khi có lượt đấu giá đầu tiên hoặc trong vòng 1 giờ kể từ lúc đăng tải (thông tin sửa đổi cũng phải qua xét duyệt).
  • Xóa sản phẩm (UC9): Người dùng chỉ được phép xóa sản phẩm trước khi có lượt đăng ký tham gia đấu giá đầu tiên hoặc trong vòng 1 giờ kể từ khi đăng.

4. Kiến trúc thiết kế của hệ thống bao gồm những hệ thống con (Subsystems) và cơ chế cài đặt chính nào?

Hệ thống được thiết kế với 3 hệ thống con chính là Databasesubsystem, Usersubsystem, và Paymentsubsystem. Các cơ chế thiết kế - cài đặt nền tảng bao gồm: cơ chế lưu trữ bền vững (Persistence) qua ObjectStore OODBMS và JDBC RDBMS, cơ chế truyền thông phân tán (Distribution) qua Java RMI, và cơ chế bảo mật (Security) đảm bảo phân quyền, mã hóa dữ liệu và phòng chống tấn công web.


Kết luận

Đồ án "Phân Tích và Thiết Kế Hệ Thống Đấu Giá Online" của Nhóm 16 (Khoa CNTT, Trường Đại học Công nghệ – ĐHQGHN) là tài liệu kỹ thuật hoàn chỉnh, chuẩn mực về phân tích và thiết kế phần mềm hướng đối tượng. Công trình đã mô hình hóa chi tiết 16 ca sử dụng, thiết lập đầy đủ các biểu đồ UML động và tĩnh, đồng thời giải quyết thấu đáo các bài toán về nghiệp vụ đấu giá, bảo mật thanh toán và kiến trúc phân tán. Đây là tài liệu tham khảo có giá trị học thuật và thực tiễn cao cho sinh viên kỹ thuật phần mềm cũng như các kỹ sư phát triển hệ thống thương mại điện tử.