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

Trong những năm gần đây, tình trạng sử dụng rượu bia và điều khiển phương tiện giao thông tiếp tục là một trong những nguyên nhân hàng đầu gây ra tai nạn giao thông tại Việt Nam. Trước thực trạng đó, nhóm sinh viên Khoa Công Nghệ Thông Tin, Trường Đại học Duy Tân (Đà Nẵng) đã đề xuất và triển khai đồ án xây dựng một website hỗ trợ dịch vụ lái xe hộ khi say, nhằm cung cấp một giải pháp kỹ thuật thiết thực cho nhu cầu xã hội đang ngày càng tăng cao này.

Ý tưởng xuất phát từ thành viên Dương Công An, người nhận thấy rằng dịch vụ đặt tài xế lái xe thay cho người say rượu đang ngày càng phát triển, nhưng chưa có một nền tảng web hoàn chỉnh được xây dựng có hệ thống theo quy trình CDIO. Ý tưởng này sau đó được nhóm lựa chọn sau quá trình đánh giá và so sánh với bốn ý tưởng cá nhân khác, bao gồm: website bán quần áo qua mạng, website quản lý và dịch vụ chăm sóc thú cưng trung tâm cứu hộ động vật, dịch vụ thiết kế web tùy chỉnh, và website bán hàng điện tử.

Mục tiêu và nhiệm vụ của dự án được xác định như sau:

  1. Xây dựng một website có khả năng kết nối người dùng có nhu cầu sử dụng dịch vụ lái xe hộ với đội ngũ tài xế.
  2. Hỗ trợ đặt tài xế nhanh chóng và thanh toán linh hoạt (trực tuyến hoặc trực tiếp).
  3. Thống kê và báo cáo chi tiết theo thời gian phục vụ quản trị hệ thống.
  4. Tối ưu hóa thời gian đặt tài xế, hỗ trợ chăm sóc khách hàng chu đáo.

Phạm vi nghiên cứu và triển khai:

  • Thời gian thực hiện: từ ngày 25/01/2024 đến ngày 20/3/2024.
  • Không gian: nền tảng web, hướng đến người dùng tại Việt Nam, hệ thống hoạt động hoàn toàn bằng tiếng Việt.
  • Đối tượng sử dụng: khách hàng có nhu cầu đặt tài xế, đội ngũ lái xe hộ, và quản trị viên hệ thống.

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

Đồ án được thực hiện theo khung phương pháp luận CDIO (Conceive – Design – Implement – Operate), một mô hình giáo dục công nghệ kỹ thuật được áp dụng tại Trường Đại học Duy Tân. Ba giai đoạn chính được thực hiện tuần tự là: đề xuất ý tưởng (Conceive), thiết kế hệ thống (Design) và xây dựng hệ thống (Implement).

Về mặt phân tích và thiết kế hệ thống, nhóm sử dụng phương pháp phân tích thiết kế hướng đối tượng (Object-Oriented Analysis and Design) kết hợp với mô hình hóa UML (Unified Modeling Language), bao gồm:

  • Biểu đồ usecase (Use Case Diagram) để mô tả yêu cầu chức năng.
  • Biểu đồ hoạt động (Activity Diagram) để mô tả luồng xử lý nghiệp vụ.
  • Biểu đồ tuần tự (Sequence Diagram) để mô tả tương tác giữa các thành phần theo thời gian.

Nguồn dữ liệu của hệ thống được thiết kế dựa trên hệ quản trị cơ sở dữ liệu quan hệ, với các bảng dữ liệu được đặc tả chi tiết bao gồm: HOADON, KHACHHANG, TAIXE, PAY, và CHITIETDON. Kiến thức chuyên ngành nền tảng được 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, và hệ quản trị cơ sở dữ liệu.


Nội dung chính theo từng phần

Phần 1: Ý tưởng sản phẩm (Conceive)

Phần này trình bày quá trình hình thành ý tưởng của từng thành viên và quá trình đánh giá, lựa chọn ý tưởng chung của cả nhóm. Mỗi thành viên đề xuất một ý tưởng riêng biệt kèm theo đánh giá về: kiến thức chuyên ngành cần thiết, đối tượng hưởng lợi, ước tính số người sử dụng, khả năng thu hút đầu tư, tuổi thọ sản phẩm trên thị trường, độ khó phát triển và thời gian phát triển dự kiến.

Kết quả đánh giá nhóm đối với ý tưởng được chọn (website hỗ trợ lái xe hộ khi say) cho thấy:

Tiêu chí Kết quả đánh giá
Ước tính người hưởng lợi 5.000 người
Ước tính người sẵn sàng trả tiền 300 người
Khả năng thu hút đầu tư Khá
Tuổi thọ dự kiến trên thị trường 5 năm
Độ khó phát triển Cao
Thời gian phát triển ước tính 1 năm

Nhóm xác định phạm vi nội dung triển khai gồm bốn điểm chính: hỗ trợ đặt tài xế nhanh chóng, thanh toán trực tuyến hoặc trực tiếp, thống kê báo cáo chi tiết theo thời gian, và tối ưu hóa thời gian đặt tài xế.

Phần 2: Thiết kế hệ thống (Design)

Phần này xác định các tác nhân (Actor) của hệ thống và mô hình hóa toàn bộ yêu cầu thông qua biểu đồ usecase, biểu đồ hoạt động và biểu đồ tuần tự.

Các tác nhân của hệ thống:

Tác nhân Vai trò
Admin hệ thống Quản lý và điều hành toàn bộ website
Khách vãng lai Truy cập xem thông tin dịch vụ, đăng ký tài khoản
Thành viên (Khách hàng đã đăng ký) Đặt dịch vụ, quản lý tài khoản, phản hồi và đánh giá
Lái xe hộ Xác nhận đơn đặt dịch vụ, quản lý chuyến đi

Yêu cầu chức năng được mô hình hóa thành 10 usecase:

STT Mã usecase Tên usecase Tác nhân
1 UC01 Đăng ký tài khoản Khách vãng lai
2 UC02 Đăng nhập Thành viên, Lái xe hộ, Admin
3 UC03 Tìm kiếm Thành viên, Khách vãng lai
4 UC04 Đặt dịch vụ Thành viên
5 UC05 Quản lý tài khoản Thành viên, Lái xe hộ
6 UC06 Phản hồi và đánh giá Thành viên
7 UC07 Thống kê Admin hệ thống
8 UC08 Quản lý hệ thống Admin hệ thống
9 UC09 Xác nhận đặt dịch vụ Lái xe hộ
10 UC10 Quản lý chuyến đi Lái xe hộ

Yêu cầu phi chức năng được đặc tả rõ ràng: thời gian xử lý dưới 6 giây, số lượng người truy cập đồng thời tối đa từ 100–200 người, hiệu suất thời gian hoạt động đạt 99%, giao diện thân thiện và tương thích thiết bị di động, hệ thống vận hành hoàn toàn bằng tiếng Việt, có phân quyền chi tiết cho từng loại người dùng.

Với mỗi usecase, nhóm xây dựng đặc tả đầy đủ gồm: mã usecase, tên, tác nhân, mô tả, điều kiện trước và luồng sự kiện chi tiết giữa tác nhân và hệ thống. Toàn bộ 41 hình vẽ UML (usecase, biểu đồ hoạt động, biểu đồ tuần tự) được lập với 29 bảng đặc tả kèm theo.

Phần 3: Xây dựng hệ thống (Implement)

Phần này trình bày kết quả hiện thực hóa thiết kế thành sản phẩm web hoàn chỉnh, bao gồm lựa chọn và thiết kế cơ sở dữ liệu, cùng toàn bộ thiết kế giao diện người dùng.

Thiết kế cơ sở dữ liệu gồm 5 bảng chính được đặc tả:

Bảng Vai trò
HOADON Lưu thông tin hóa đơn dịch vụ
KHACHHANG Lưu thông tin khách hàng
TAIXE Lưu thông tin tài xế lái xe hộ
PAY Lưu thông tin thanh toán
CHITIETDON Lưu chi tiết từng đơn đặt dịch vụ

Thiết kế giao diện bao gồm 13 màn hình chính được xây dựng và đặc tả:

  • Giao diện trang chủ
  • Giao diện đăng nhập / đăng ký
  • Giao diện quản lý tài khoản (xem thông tin, sửa thông tin, đổi mật khẩu)
  • Giao diện quản lý người dùng dành cho Admin (xem, thêm, sửa, xóa người dùng)
  • Giao diện tìm kiếm
  • Giao diện thống kê

Thiết kế và triển khai

Hệ thống website được xây dựng theo kiến trúc web truyền thống với ba lớp tác nhân (khách vãng lai, thành viên/lái xe hộ, admin), tương tác với hệ thống thông qua các form giao diện và cơ sở dữ liệu quan hệ. Luồng nghiệp vụ cốt lõi của hệ thống là quy trình đặt dịch vụ: thành viên chọn dịch vụ → hiển thị form thanh toán → xác nhận thanh toán thành công → hệ thống tìm kiếm tài xế → hiển thị thông tin tài xế lái xe hộ cho khách hàng. Ở phía tài xế, luồng tương ứng là: nhận thông báo đơn → xác nhận đặt dịch vụ → quản lý chuyến đi trong suốt quá trình thực hiện.

Mỗi giao diện được đặc tả bằng bảng mô tả chi tiết (từ Bảng 17 đến Bảng 29), bao gồm mục đích, các thành phần hiển thị và hành vi tương tác, đảm bảo nhất quán giữa thiết kế và triển khai thực tế. Toàn bộ cơ sở dữ liệu được thiết kế với 5 bảng quan hệ, phản ánh đầy đủ các thực thể nghiệp vụ: khách hàng, tài xế, đơn hàng, hóa đơn và thanh toán.


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

Kết thúc dự án trong vòng gần hai tháng (25/01/2024 – 20/3/2024), nhóm hoàn thành một website hỗ trợ dịch vụ lái xe hộ khi say với các thành phần sau:

  • 10 usecase được phân tích, đặc tả và mô hình hóa đầy đủ bằng UML (41 hình vẽ, 29 bảng đặc tả).
  • 5 bảng cơ sở dữ liệu được thiết kế và đặc tả chi tiết: HOADON, KHACHHANG, TAIXE, PAY, CHITIETDON.
  • 13 màn hình giao diện được xây dựng và đặc tả, phủ toàn bộ luồng nghiệp vụ từ đăng ký đến đặt dịch vụ và quản trị.

Hệ thống đáp ứng các yêu cầu phi chức năng đã đề ra, bao gồm thời gian xử lý dưới 6 giây, hỗ trợ 100–200 người dùng đồng thời, giao diện thân thiện và hoạt động bằng tiếng Việt. Đóng góp của đồ án là xây dựng một nền tảng kỹ thuật hoàn chỉnh theo quy trình CDIO cho một bài toán thực tế chưa được giải quyết trong phạm vi học thuật tại Đại học Duy Tân, đồng thời minh chứng khả năng ứng dụng phương pháp phân tích thiết kế hướng đối tượng vào một nghiệp vụ dịch vụ cụ thể.


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

Do phạm vi dự án ngắn (khoảng 8 tuần thực hiện) và được thực hiện trong môi trường học thuật, hệ thống có một số giới hạn nhất định. Tài liệu không đề cập đến kết quả kiểm thử (testing), quy trình triển khai (deployment) hay đánh giá hiệu năng thực tế của hệ thống. Số lượng người dùng đồng thời tối đa được xác định ở mức 100–200 người, phù hợp với giai đoạn thử nghiệm nhưng chưa đủ cho triển khai thương mại quy mô lớn.

Hướng phát triển tiếp theo có thể bao gồm: tích hợp bản đồ và định vị GPS để theo dõi chuyến đi theo thời gian thực, bổ sung cổng thanh toán trực tuyến (như VNPay, Momo), phát triển ứng dụng di động (mobile app) song song với nền tảng web, và mở rộng khả năng phục vụ số lượng người dùng đồng thời lớn hơn.


Giá trị tham khảo

Đồ án này có giá trị tham khảo chính cho các đối tượng sau:

  • Sinh viên ngành Công nghệ thông tin, Công nghệ phần mềm đang thực hiện đồ án theo mô hình CDIO, đặc biệt ở giai đoạn phân tích yêu cầu và thiết kế UML. Phần đặc tả 10 usecase với đầy đủ biểu đồ hoạt động và biểu đồ tuần tự là tài liệu mẫu thực hành tốt.
  • Sinh viên năm 3–4 đang học các học phần Phân tích thiết kế hệ thống, Phân tích thiết kế hướng đối tượng, hoặc Hệ quản trị cơ sở dữ liệu muốn xem ví dụ ứng dụng thực tế.
  • Nhóm thực hiện đề tài tương tự về dịch vụ đặt xe, dịch vụ giao nhận, hoặc bất kỳ hệ thống kết nối người dùng với nhà cung cấp dịch vụ theo mô hình hai phía (two-sided marketplace).

Phần đáng tham khảo nhất là Phần 2 (Thiết kế hệ thống) với bộ 29 bảng đặc tả usecase và 41 hình vẽ UML, cùng cấu trúc phân quyền bốn tác nhân (khách vãng lai, thành viên, lái xe hộ, admin) có thể tái sử dụng cho các hệ thống dịch vụ tương tự.


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

1. Hệ thống có bao nhiêu loại người dùng và mỗi loại có quyền gì? Hệ thống gồm bốn tác nhân: Khách vãng lai (chỉ xem thông tin và đăng ký), Thành viên (đặt dịch vụ, phản hồi, quản lý tài khoản cá nhân, tìm kiếm), Lái xe hộ (xác nhận đặt dịch vụ, quản lý chuyến đi, quản lý tài khoản, đăng nhập), và Admin hệ thống (quản lý hệ thống, thống kê, đăng nhập).

2. Quy trình đặt dịch vụ lái xe hộ diễn ra như thế nào theo đặc tả usecase UC04? Thành viên đã đăng nhập chọn chức năng đặt dịch vụ → hệ thống hiển thị form đặt dịch vụ → thành viên chọn dịch vụ → hệ thống hiển thị form thanh toán → nếu thanh toán thất bại thì quay lại; nếu thành công thì hệ thống xác nhận và tìm người lái xe hộ → hiển thị thông tin người lái xe hộ cho khách hàng.

3. Cơ sở dữ liệu của hệ thống gồm những bảng nào và bảng nào lưu thông tin thanh toán? Cơ sở dữ liệu gồm 5 bảng: HOADON (hóa đơn), KHACHHANG (khách hàng), TAIXE (tài xế), PAY (thanh toán), và CHITIETDON (chi tiết đơn hàng). Thông tin thanh toán được lưu tại bảng PAY (Bảng 15, trang 69).

4. Yêu cầu phi chức năng nào liên quan đến hiệu năng hệ thống được xác định trong đồ án? Đồ án xác định ba yêu cầu phi chức năng về hiệu năng: thời gian xử lý dưới 6 giây, số lượng người truy cập tối đa từ 100 đến 200 người đồng thời, và hiệu suất thời gian hoạt động đạt 99%.

5. Chức năng Thống kê (UC07) dành cho ai và cho phép xem những thông tin gì? Chức năng Thống kê dành riêng cho Admin hệ thống, yêu cầu điều kiện đăng nhập thành công với quyền admin. Admin có thể chọn các thông tin cần thống kê như số lượng người sử dụng, doanh thu và các chỉ số tương tự; hệ thống truy vấn cơ sở dữ liệu và hiển thị kết quả thống kê theo yêu cầu.


Kết luận

Đồ án CDIO "Xây dựng website hỗ trợ dịch vụ lái xe hộ khi say" của nhóm sinh viên Khoa Công Nghệ Thông Tin, Đại học Duy Tân (2024) là một sản phẩm học thuật hoàn chỉnh theo chuẩn CDIO, trình bày đầy đủ từ giai đoạn hình thành ý tưởng đến thiết kế UML và xây dựng giao diện thực tế. Hệ thống hướng đến giải quyết một nhu cầu xã hội thực tế thông qua nền tảng web với bốn nhóm người dùng phân quyền rõ ràng và 10 usecase nghiệp vụ được đặc tả chi tiết. Với bộ tài liệu phân tích thiết kế hệ thống gồm 41 hình vẽ UML và 29 bảng đặc tả, đồ án cung cấp nền tảng tham khảo phù hợp cho sinh viên ngành CNTT đang học và thực hành phân tích thiết kế hướng đối tượng.