Bối cảnh và vấn đề nghiên cứu
Sự phát triển mạnh mẽ của khoa học công nghệ trong lĩnh vực giao thông vận tải đã thúc đẩy việc tiếp cận và ứng dụng các phương tiện tự hành tiên tiến, đặc biệt là ô tô bay và thiết bị bay không người lái (drone). Nhận thấy những tiềm năng và lợi thế vận hành từ các dòng phương tiện này, mô hình doanh nghiệp vận tải chuyên nghiệp đặt ra định hướng chuyển đổi từ hạ tầng phương tiện đường bộ truyền thống sang cung cấp dịch vụ di chuyển và giao nhận hàng hóa bằng phương tiện bay không người lái. Xu hướng này trực tiếp đặt ra yêu cầu xây dựng một hệ thống phần mềm hoàn chỉnh nhằm quản lý, điều phối và giám sát toàn bộ hoạt động vận hành của đội phương tiện.
Mục tiêu chính của đề tài là xây dựng tài liệu đặc tả yêu cầu, phân tích và thiết kế hướng đối tượng (OOAD) cho "Hệ thống Quản lý Phương tiện bay", phục vụ cho cả hai nhóm đối tượng người dùng chính là Khách hàng và Quản trị viên.
Nhiệm vụ nghiên cứu được phân định thành các nội dung cụ thể:
- Xác định phạm vi nghiệp vụ, mô hình hóa yêu cầu chức năng thông qua các ca sử dụng (Use Case) và thiết lập các yêu cầu phi chức năng (tính tin cậy, hiệu năng, bảo mật, khả năng vận hành).
- Phân tích kiến trúc mức cao, trừu tượng hóa các thực thể cốt lõi trong miền bài toán, hiện thực hóa các ca sử dụng qua hệ thống biểu đồ tuần tự phân tích (Analysis Sequence Diagrams) và khung nhìn các lớp tham gia (View Of Participating Classes - VOPC).
- Làm mịn kiến trúc, phân chia các gói thành phần (Packages), thiết kế hệ thống con (Subsystem), chi tiết hóa biểu đồ tuần tự thiết kế (Design Sequence Diagrams), thiết kế lớp chi tiết và mô hình hóa cơ sở dữ liệu.
Đối tượng nghiên cứu là hệ thống phần mềm quản lý và điều phối phương tiện bay không người lái nội địa. Phạm vi nghiên cứu tập trung vào giai đoạn phân tích và thiết kế phần mềm theo học phần Phân tích và Thiết kế Hướng đối tượng (mã học phần INT3310 1) tại Trường Đại học Công nghệ – Đại học Quốc gia Hà Nội năm 2022, dưới sự hướng dẫn của PGS. Trương Ninh Thuận.
Cơ sở lý thuyết và phương pháp
Đề tài áp dụng các nguyên lý và phương pháp luận kỹ thuật phần mềm chuẩn mực trong phân tích và thiết kế hệ thống hướng đối tượng:
- Khung lý thuyết và mô hình: Áp dụng quy trình phân tích thiết kế hướng đối tượng (OOAD) với Ngôn ngữ mô hình hóa thống nhất (UML). Hệ thống được tổ chức theo mô hình kiến trúc phân tầng (Layered Architecture) kết hợp với mẫu kiến trúc MVC (Model - View - Controller).
- Phương pháp đặc tả yêu cầu: Xây dựng bảng thuật ngữ miền vấn đề (Glossary), lược đồ ca sử dụng tổng thể (Use Case Diagram), đặc tả chi tiết từng ca sử dụng (luồng chính, luồng ngoại lệ, tiền điều kiện, hậu điều kiện) và bản đặc tả bổ sung (Supplementary Specification) cho các yêu cầu phi chức năng.
- Phương pháp phân tích và thiết kế:
- Giai đoạn phân tích: Chuyển đổi từ ca sử dụng sang biểu đồ tương tác mức phân tích, xây dựng khung nhìn các lớp tham gia (VOPC) và lập bảng ánh xạ lớp phân tích với cơ chế phân tích.
- Giai đoạn thiết kế: Làm mịn kiến trúc thành 3 tầng chức năng (Application, Business Services, Middleware), thiết kế hệ thống con giao tiếp cơ sở dữ liệu (
Database Subsystem), xây dựng biểu đồ tuần tự mức thiết kế, thiết kế chi tiết các lớp (thuộc tính, thao tác) và thiết kế cơ sở dữ liệu quan hệ.
- Nguồn dữ liệu: Dữ liệu nghiệp vụ mô phỏng từ quy trình đặt chuyến/vận chuyển hàng hóa bằng phương tiện bay, luồng tín hiệu định vị thời gian thực từ chip điều khiển gắn trên phương tiện và dữ liệu giao dịch từ nhà cung cấp dịch vụ thanh toán trực tuyến bên thứ ba.
Thiết kế và triển khai
Hệ thống Quản lý Phương tiện bay được thiết kế hoàn chỉnh về mặt kiến trúc, cơ chế xử lý dữ liệu và phân bố vật lý:
1. Kiến trúc phân tầng và mẫu thiết kế
Hệ thống áp dụng mẫu kiến trúc MVC kết hợp phân tầng mức cao:
- Tầng Ứng dụng (Application Package): Chứa các giao diện và thành phần điều khiển cụ thể phục vụ trực tiếp cho từng trường hợp sử dụng của người dùng.
- Tầng Dịch vụ nghiệp vụ (Business Services Package): Đóng gói các lớp nghiệp vụ cốt lõi, xử lý logic dùng chung cho toàn bộ hệ thống (tính toán chi phí, điều phối chuyến đi, xử lý trạng thái phương tiện).
- Tầng Middleware (Middleware Package): Cung cấp các dịch vụ hạ tầng, giao tiếp mạng, phân tán và quản lý truy xuất dữ liệu độc lập với tầng ứng dụng.
+-------------------------------------------------------+
| Application Package |
| (UI Client, Web Admin, Use Case Specific Controllers) |
+-------------------------------------------------------+
|
v
+-------------------------------------------------------+
| Business Services Package |
| (Core Domain Entities: Customer, Vehicle, Order...) |
+-------------------------------------------------------+
|
v
+-------------------------------------------------------+
| Middleware Package |
| (Database Subsystem, Security, Payment Gateway APIs) |
+-------------------------------------------------------+
2. Các chỉ số yêu cầu phi chức năng kỹ thuật
Văn bản xác lập các thông số kỹ thuật ràng buộc đối với hệ thống:
| Thuộc tính chất lượng |
Ràng buộc kỹ thuật định lượng |
| Hiệu năng (Performance) |
Hỗ trợ 2.000 người dùng đồng thời thao tác trên CSDL; độ trễ thao tác CSDL $\le 5$ giây; độ trễ xử lý giao dịch $\le 30$ giây. |
| Độ tin cậy (Reliability) |
Khả dụng 24/7, đạt tỉ lệ uptime 99% (thời gian ngừng hoạt động - downtime không quá 87 giờ 36 phút/năm); vận hành ổn định trong giờ cao điểm và ngày lễ. |
| Khả năng vận hành đồng thời |
Khi có 2 khách hàng cùng đặt 1 phương tiện, hệ thống chỉ chấp nhận giao dịch cho 1 khách hàng duy nhất. |
| Bảo mật (Security) |
Mã hóa mật khẩu phía client trước khi gửi lên máy chủ; xác thực 2 bước bằng OTP qua SMS/Email (hết hạn sau 3 phút); tự động hủy đơn sau 3 phút nếu không hoàn tất thanh toán; đường dẫn kích hoạt tài khoản hết hạn sau 10 phút. |
| Giao diện đa nền tảng |
Khách hàng truy cập qua PC, Laptop, Máy tính bảng, Điện thoại di động; Quản trị viên sử dụng giao diện Web chuyên dụng. |
Nội dung chính theo từng chương
Chương 1: Đặc tả yêu cầu
Chương này tập trung mô tả bối cảnh bài toán, xây dựng bảng định nghĩa thuật ngữ, thiết lập các yêu cầu phi chức năng và đặc tả chi tiết 15 ca sử dụng chính của hệ thống:
- Bảng thuật ngữ miền vấn đề: Định nghĩa chuẩn xác 8 khái niệm trung tâm gồm: Người dùng, Khách hàng, Quản trị viên, Tài khoản (Account với ID duy nhất), Đơn hàng (Order), Phương tiện (ô tô bay và drone), Nhà cung cấp dịch vụ thanh toán (bên thứ ba), Người dùng khách.
- Đặc tả chi tiết các ca sử dụng:
- Đăng ký tài khoản: Người dùng khách nhập thông tin (họ tên, email, SĐT, mật khẩu). Hệ thống kiểm tra trùng lặp email và gửi link kích hoạt có thời hạn 10 phút.
- Đăng nhập: Xác thực email/SĐT và mật khẩu. Cung cấp quy trình khôi phục mật khẩu thông qua mã OTP (thời hạn 3 phút) gửi về email/SĐT.
- Thay đổi thông tin khách hàng: Bao gồm hai luồng độc lập là thay đổi thông tin cá nhân (sửa/xóa họ tên, sửa email/SĐT, thêm/sửa/xóa danh sách địa chỉ) và thay đổi mật khẩu (nhập mật khẩu cũ, mật khẩu mới, xác thực qua OTP).
- Đặt chuyến: Khách hàng chọn điểm đi, điểm đến, mục đích (chở người, vận chuyển hàng), số chỗ tối thiểu. Hệ thống tìm kiếm các phương tiện khả dụng ở gần nhất, tính toán thời gian đón và chi phí, chuyển sang thanh toán. Khi phương tiện tới nơi đón, chip trên phương tiện sẽ truyền tín hiệu và gửi ảnh chụp vị trí đón về ứng dụng của khách hàng.
- Xem thông tin đơn hàng: Khách hàng theo dõi danh sách đơn hàng được phân thành hai trạng thái "Đang đặt" và "Thực hiện thành công".
- Xem thông tin phương tiện & Theo dõi vị trí: Cho phép khách hàng xem thông tin xe đang đặt; Quản trị viên xem danh sách toàn bộ phương tiện và định vị vị trí trực tiếp trên bản đồ thông qua tín hiệu chip.
- Thanh toán & Kiểm tra thông tin thanh toán: Khách hàng thanh toán qua ví điện tử, ATM hoặc thẻ tín dụng (thời gian xác nhận tối đa 3 phút). Quản trị viên tra cứu, lọc và kiểm tra chi tiết giao dịch thanh toán.
- Đánh giá, phản hồi & Xem phản hồi: Khách hàng chấm điểm số sao (bắt buộc) và nhập nhận xét chi tiết sau chuyến đi; sau khi hoàn tất, hệ thống cập nhật phương tiện về trạng thái Khả dụng và điều hướng xe về bãi đỗ. Quản trị viên xem báo cáo số sao trung bình, phân bổ đánh giá 1-5 sao và danh sách chi tiết (phân trang 20 phản hồi/trang trong vòng 2 tháng).
- Quản lý phương tiện (Đăng ký, Sửa, Xóa, Theo dõi tình trạng): Quản trị viên quản lý thông tin xe (hãng, model, năm sản xuất, ID chip, hình ảnh, khu vực). Nếu xóa phương tiện đang bận, hệ thống đưa vào hàng đợi và chỉ xóa sau khi phương tiện hoàn thành nhiệm vụ. Quản lý 3 trạng thái của phương tiện: Khả dụng (Available), Bận (Busy), Không khả dụng (Not available).
- Xóa tài khoản khách hàng: Quản trị viên tìm kiếm theo ID và thực hiện xóa tài khoản khỏi hệ thống.
+--------------------+
| Khách hàng (User) |
+--------------------+
/ | \
/ | \
+---------------+ | +---------------+
| | |
v v v
[ Đăng ký / Đăng nhập ] [ Đặt chuyến ] [ Thanh toán ]
| | |
| v |
| [ Theo dõi / Đánh giá ] |
| |
================================================================================
| |
v v
[ Quản lý tài khoản ] [ Quản lý phương tiện ] [ Quản lý thanh toán ]
^ ^ ^
| | |
+---------------+ | +---------------+
\ | /
+---------------------+
| Quản trị viên (Admin)|
+---------------------+
Chương 2: Phân tích ca sử dụng
Chương này chuyển hóa các đặc tả ca sử dụng thành các mô hình phân tích cấu trúc và hành vi:
- 10 Trừu tượng chính (Key Abstractions):
- Account: Quản lý thông tin định danh, xác thực và phân quyền.
- Customer: Kế thừa từ Account, đại diện người sử dụng dịch vụ vận tải/giao hàng.
- Administrator: Kế thừa từ Account, thực hiện chức năng quản trị hệ thống.
- Vehicle: Thực thể lưu trữ dữ liệu phương tiện, liên kết với ID chip điều khiển.
- Order: Quản lý thông tin đơn đặt, lộ trình, thời gian và trạng thái chuyến đi.
- Payment Transaction: Thực thể lưu vết giao dịch thanh toán trung gian.
- Payment Method: Cấu hình các phương thức và cổng thanh toán bên thứ ba.
- Notification: Đối tượng sinh thông báo sự kiện gửi tới người dùng.
- Feedback: Bản ghi đánh giá chất lượng dịch vụ của khách hàng.
- Statistics: Thực thể phục vụ tổng hợp, phân tích số liệu vận hành.
- Hiện thực hóa ca sử dụng: Xây dựng hoàn chỉnh 15 biểu đồ tuần tự phân tích (Analysis Sequence Diagrams) tương ứng với 15 ca sử dụng, cùng 15 khung nhìn các lớp tham gia (VOPC) thể hiện rõ mối quan hệ giữa các lớp Boundary, Control và Entity.
- Cơ chế phân tích (Analysis Mechanisms): Tổng hợp bảng ánh xạ lớp phân tích với các cơ chế phân tích (Persistency, Security, Distribution, Legacy Interface).
Chương 3: Thiết kế ca sử dụng
Chương này tinh chỉnh mô hình phân tích sang mô hình thiết kế hướng đối tượng chi tiết, sẵn sàng cho việc lập trình:
- Làm mịn kiến trúc và thiết kế hệ thống con:
- Phân rã hệ thống thành 3 packages:
Application, Business Services, Middleware và xác định quan hệ phụ thuộc giữa chúng.
- Thiết kế hệ thống con
Database Subsystem và định nghĩa các interface truy xuất dữ liệu nghiệp vụ.
- Thiết lập bảng ánh xạ giữa các lớp phân tích và thành phần thiết kế, ánh xạ cơ chế thiết kế (Design Mechanisms) sang cơ chế thực hiện (Implementation Mechanisms).
- Mô tả kiến trúc thực thi và phân tán: Mô hình hóa sự tương tác giữa client đa nền tảng, web server ứng dụng, chip phần cứng định vị và máy chủ cơ sở dữ liệu.
- Thiết kế ca sử dụng và thiết kế lớp:
- Xây dựng hệ thống biểu đồ tuần tự mức thiết kế (Design Sequence Diagrams) cho toàn bộ 15 ca sử dụng.
- Xây dựng biểu đồ thiết kế lớp (Class Design) chi tiết cho từng ca sử dụng, chỉ rõ kiểu dữ liệu của thuộc tính, chữ ký phương thức (parameters, return types) và các mối quan hệ kết tập, phụ thuộc.
- Thiết kế cơ sở dữ liệu: Xây dựng lược đồ cơ sở dữ liệu vật lý toàn hệ thống, ánh xạ toàn bộ các thực thể thiết kế (Account, Customer, Administrator, Vehicle, Order, PaymentTransaction, Feedback) thành các bảng quan hệ với khóa chính (PK), khóa ngoại (FK) và các ràng buộc toàn vẹn.
Kết quả và đóng góp
-
Kết quả kỹ thuật đạt được:
- Xây dựng hoàn chỉnh tài liệu OOAD chuẩn hóa cho hệ thống quản lý phương tiện bay, bao gồm 1 sơ đồ ca sử dụng tổng thể, 15 đặc tả ca sử dụng chi tiết kèm luồng chính/ngoại lệ.
- Hoàn thiện 15 biểu đồ tuần tự phân tích, 15 biểu đồ VOPC, mô hình 3 gói kiến trúc mức cao, 15 biểu đồ tuần tự thiết kế và 15 biểu đồ thiết kế lớp chi tiết.
- Xây dựng lược đồ cơ sở dữ liệu quan hệ hoàn chỉnh đáp ứng các chỉ tiêu hiệu năng (hỗ trợ 2.000 người dùng đồng thời, độ trễ CSDL $\le 5$ giây).
-
Giải pháp nghiệp vụ đề xuất:
- Cơ chế điều phối tự động dựa trên tín hiệu chip gắn trên phương tiện bay: tự động xác nhận vị trí đón, gửi ảnh chụp bãi đón cho khách hàng, tự động chuyển trạng thái sang
Busy khi nhận chuyến và điều hướng xe về bãi đỗ chuyển sang Available khi kết thúc đánh giá.
- Thuật toán giải quyết tranh chấp tài nguyên vận tải: kiểm soát đồng thời khi nhiều khách hàng cùng chọn 1 phương tiện tại một thời điểm, đảm bảo chỉ 1 giao dịch hợp lệ được xác lập.
- Quy trình kiểm soát an toàn giao dịch: thời gian chờ thanh toán giới hạn 3 phút, mã OTP xác thực có hiệu lực 3 phút, link kích hoạt tài khoản có hiệu lực 10 phút.
Hạn chế và hướng nghiên cứu tiếp
- Hạn chế: Báo cáo học thuật tập trung hoàn toàn vào pha Phân tích và Thiết kế hệ thống (OOAD), chưa bao gồm việc triển khai mã nguồn thực tế (Source code), chưa tiến hành thử nghiệm kết nối phần cứng thực nghiệm với module chip định vị trên phương tiện bay vật lý, và chưa đo kiểm thực tế tải 2.000 người dùng trên hạ tầng máy chủ phân tán.
- Hướng nghiên cứu tiếp: Tác giả đề xuất xây dựng cơ chế tiếp nhận phản hồi của người dùng qua mô-đun Feedback để liên tục nâng cấp hệ thống trong các phiên bản tiếp theo; hiện thực hóa mã nguồn các tầng kiến trúc và tích hợp API thanh toán cũng như giao thức truyền thông dữ liệu viễn thông từ chip bay.
Giá trị tham khảo
Tài liệu là nguồn 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, Hệ thống thông tin: Học tập phương pháp lập tài liệu phân tích thiết kế hướng đối tượng (OOAD), cách vẽ và liên kết các biểu đồ UML chuẩn mực (Use Case, Sequence Diagram, VOPC, Class Diagram) cho học phần INT3310 hoặc các đồ án chuyên ngành tương đương.
- Nhà phát triển hệ thống vận tải thông minh: Tham khảo cấu trúc nghiệp vụ điều phối phương tiện bay/drone, mô hình trạng thái phương tiện (
Available, Busy, Not available) và giải pháp tích hợp cổng thanh toán bên thứ ba.
- Nội dung đáng tham khảo nhất: Khung nhìn các lớp tham gia (VOPC) và sự ánh xạ xuyên suốt từ biểu đồ tuần tự phân tích sang biểu đồ tuần tự thiết kế và thiết kế lớp chi tiết.
Câu hỏi thường gặp
1. Phương tiện bay trong hệ thống được quản lý qua những trạng thái nào?
Phương tiện bay (ô tô bay và drone) được quản lý qua 3 trạng thái chính:
- Khả dụng (Available): Phương tiện sẵn sàng tiếp nhận yêu cầu đặt xe hoặc vận chuyển hàng từ khách hàng.
- Bận (Busy): Phương tiện đang trong quá trình thực hiện tác vụ của khách hàng.
- Không khả dụng (Not available): Phương tiện gặp sự cố kỹ thuật, đang trong quá trình bảo trì, hoặc bị khách hàng báo cáo thực hiện sai tác vụ.
2. Các yêu cầu phi chức năng về hiệu năng và độ tin cậy được quy định ra sao?
- Hiệu năng: Hệ thống có khả năng hỗ trợ tối đa 2.000 người dùng thao tác đồng thời trên cơ sở dữ liệu; thời gian phản hồi thao tác CSDL không quá 5 giây; độ trễ xử lý các giao dịch không quá 30 giây.
- Độ tin cậy: Hệ thống hoạt động 24/7 với độ khả dụng đạt 99% (tổng thời gian downtime trong một năm không vượt quá 87 giờ 36 phút) và bảo đảm duy trì hoạt động liên tục trong các khung giờ cao điểm, ngày cuối tuần và ngày lễ.
3. Quy trình bảo mật khi đăng nhập và quên mật khẩu được thiết kế như thế nào?
- Khi đăng nhập, mật khẩu của người dùng được mã hóa tại phía máy khách trước khi gửi về máy chủ; nếu nhập sai thông tin quá số lần quy định, tài khoản sẽ bị tạm khóa.
- Khi quên mật khẩu, người dùng yêu cầu cấp lại qua nút chức năng, hệ thống sẽ tạo và gửi mã OTP về số điện thoại hoặc email. Người dùng phải nhập chính xác mã OTP trong vòng 3 phút trước khi mã hết hạn; nếu xác thực thành công, hệ thống sẽ tạo mật khẩu mới, cập nhật vào CSDL và gửi lại cho người dùng.
4. Kiến trúc mức cao của hệ thống được phân chia thành những tầng nào?
Kiến trúc hệ thống được phân rã thành 3 tầng chức năng:
- Tầng Ứng dụng (Application): Chứa các thành phần giao diện người dùng và lớp điều khiển tương tác trực tiếp với Khách hàng và Quản trị viên.
- Tầng Dịch vụ (Services): Chứa các thực thể trừu tượng chính và logic nghiệp vụ phục vụ chung cho toàn bộ các ca sử dụng.
- Tầng Middleware: Chứa các dịch vụ giao tiếp, bảo mật và hệ thống con cơ sở dữ liệu (
Database Subsystem) hỗ trợ kết nối và quản lý dữ liệu trên môi trường phân tán.
Kết luận
Báo cáo bài tập lớn của Nhóm 09 thuộc học phần Phân tích và Thiết kế Hướng đối tượng (Trường Đại học Công nghệ – ĐHQGHN) đã hoàn thành toàn diện việc đặc tả yêu cầu, phân tích ca sử dụng và thiết kế chi tiết Hệ thống Quản lý Phương tiện bay. Bản thiết kế giải quyết thấu đáo các bài toán nghiệp vụ từ quản lý người dùng, đặt chuyến, định vị giám sát phương tiện qua chip phần cứng, đến xử lý thanh toán trực tuyến và phản hồi dịch vụ. Toàn bộ tài liệu tuân thủ chặt chẽ phương pháp luận OOAD và quy chuẩn mô hình hóa UML, tạo cơ sở kỹ thuật vững chắc cho việc lập trình và triển khai ứng dụng thực tế.