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

Trong chuỗi cung ứng hiện đại, hoạt động quản lý vận tải và giao nhận hàng hóa giữ vai trò điều phối lưu thông hàng hóa giữa các địa phương. Tuy nhiên, qua khảo sát thực tế của tác giả, công tác điều hành tại các doanh nghiệp logistics vẫn đối mặt với nhiều rào cản:

  • Sự thiếu đồng bộ và thiếu phối hợp giữa các đơn vị quản lý vận tải.
  • Sự thiếu hụt thông tin và dữ liệu chính xác, cản trở việc lập kế hoạch vận hành và ra quyết định.
  • Khó khăn trong việc kiểm soát, giám sát hành trình vận chuyển định kỳ, dẫn đến nguy cơ chậm xử lý vi phạm, gian lận hoặc sự cố phát sinh.
  • Mức độ ứng dụng công nghệ thông tin chuyên sâu trong quản lý vận tải còn hạn chế.
  • Khó khăn trong việc cập nhật và tuân thủ các quy định pháp luật giao thông đường bộ do hệ thống văn bản pháp quy thay đổi liên tục.

Văn bản trích dẫn ba báo cáo ngành để phản ánh thực trạng số hóa trong lĩnh vực logistics:

Tổ chức khảo sát Năm công bố Dữ liệu ghi nhận
Deloitte Insights 2022 45% trong số 500 doanh nghiệp logistics tham gia khảo sát gặp áp lực tài chính khi đầu tư công nghệ mới.
Accenture 2021 Hơn 60% doanh nghiệp logistics bị tấn công mạng; 30% trong số đó đối mặt nguy cơ mất dữ liệu quan trọng hoặc gián đoạn hoạt động.
Gartner 2020 Chỉ 30% doanh nghiệp logistics tích hợp hệ thống quản lý vận chuyển với hệ thống quản lý kho và quản lý đơn hàng.

Khóa luận cũng khảo sát hai giải pháp phần mềm hiện có trên thị trường:

  • Xlogis: Cung cấp tính năng giám sát, xếp xe, quản lý lương, nhiên liệu, công nợ, hậu cần đội xe. Ưu điểm là chính sách giá 5 USD/người dùng; nhược điểm là giao diện người dùng (UI) còn thô sơ và giới hạn số lượng tài khoản sử dụng tối đa từ 3 đến 5 người.
  • BestGear: Hỗ trợ quản lý đơn hàng, điều phối, doanh thu, chi phí, nhiên liệu, phương tiện và ứng dụng di động cho tài xế; nhược điểm là giao diện còn thô sơ.

Từ bối cảnh đó, khóa luận xác định 5 mục tiêu nghiên cứu cụ thể:

  1. Xây dựng hệ thống quản lý vận tải hỗ trợ lập kế hoạch, theo dõi, điều phối đơn hàng và cung cấp báo cáo trực quan.
  2. Phát triển giao diện người dùng thân thiện, tạo nền tảng cộng tác giữa doanh nghiệp, nhà vận chuyển và các đối tác.
  3. Tích hợp công cụ tra cứu và quản lý văn bản pháp quy trong lĩnh vực vận tải, an toàn hàng hóa, hợp đồng, thuế và thông quan.
  4. Nâng cao độ chính xác, tính đồng bộ của dữ liệu nhằm hỗ trợ tự động hóa điều phối trong chuỗi cung ứng.
  5. Thiết kế hệ thống linh hoạt, có khả năng thích ứng với biến động vận hành của doanh nghiệp logistics.

Khóa luận xác lập phạm vi và đối tượng nghiên cứu như sau:

  • Phạm vi môi trường: Ứng dụng di động trên hệ điều hành Android; ứng dụng web đa nền tảng; hệ thống máy chủ vận hành bằng Spring Boot, FastAPI, NestJs.
  • Phạm vi chức năng: Xác thực người dùng; quản lý địa điểm, garage; quản lý tuyến đường; quản lý hàng hóa; quản lý phương tiện vận tải; quản lý đơn hàng vận tải; thay đổi và theo dõi quá trình vận chuyển; xem lịch sử đơn hàng; kiểm tra trạng thái phương tiện trước chuyến đi; quản lý thanh toán và công nợ; thống kê đơn hàng; quản lý và phân quyền mô hình đa người thuê (Multi-tenant).
  • Đối tượng sử dụng: Tài xế, Người quản lý đơn vị vận tải, Người tra cứu luật, Người quản lý hệ thống đa người dùng.

Cơ sở lý thuyết và phương pháp nghiên cứu

Khung lý thuyết và mô hình ứng dụng

Đề tài dựa trên các nguyên lý kỹ thuật phần mềm và kiến trúc hệ thống phân tán:

  • Lập trình hướng đối tượng (OOP): Tối ưu hóa khả năng tái sử dụng mã nguồn và quản lý cấu trúc đối tượng nghiệp vụ.
  • Thiết kế hướng miền (Domain-Driven Design - DDD): Phân định ranh giới nghiệp vụ giữa các phân hệ vận tải, phân quyền và quản lý người thuê.
  • Kiến trúc phần mềm đa người thuê (Multi-tenant): Tách biệt dữ liệu và cấu hình giữa các doanh nghiệp sử dụng chung hạ tầng dịch vụ.
  • Mô hình Bản thể học (Ontology): Ứng dụng kết quả từ bài báo khoa học "Ontology-based Solution for Building an Intelligent Searching System on Traffic Law Documents" để cấu trúc hóa tri thức pháp luật giao thông đường bộ phục vụ tra cứu ngữ nghĩa.

Phương pháp nghiên cứu và thực hiện

Nhóm tác giả áp dụng quy trình công nghệ phần mềm tuần tự gồm 8 bước:

  1. Bước 1: Tìm hiểu nghiệp vụ logistics, khảo sát hiện trạng và xác định các rào cản vận hành.
  2. Bước 2: Phân tích quy trình nghiệp vụ giao nhận vận tải.
  3. Bước 3: Đặc tả yêu cầu người dùng và yêu cầu hệ thống.
  4. Bước 4: Phân tích, thiết kế cơ sở dữ liệu và kiến trúc hệ thống.
  5. Bước 5: Thiết kế giao diện người dùng (UI/UX) cho web và thiết bị di động.
  6. Bước 6: Kiểm thử chức năng và sửa lỗi phần mềm.
  7. Bước 7: Đóng gói và triển khai hệ thống.
  8. Bước 8: Hoàn thiện tài liệu kỹ thuật và báo cáo khóa luận.

Nguồn dữ liệu

  • Dữ liệu khảo sát từ các báo cáo chuyên ngành quốc tế (Deloitte, Accenture, Gartner).
  • Dữ liệu văn bản quy phạm pháp luật giao thông đường bộ và logistics tại Việt Nam.
  • Dữ liệu nghiệp vụ vận tải mô phỏng: thông tin tuyến đường, tọa độ địa lý, garage, tải trọng phương tiện và đơn hàng giao nhận.

Thiết kế và triển khai hệ thống

Kiến trúc công nghệ phân tầng

Hệ thống được thiết kế theo mô hình phân tán, phân chia trách nhiệm cho các công nghệ chuyên biệt:

Phân hệ / Tầng Công nghệ sử dụng Vai trò kỹ thuật theo văn bản
Giao diện Web ReactJs (JavaScript), Redux Xây dựng giao diện tương tác động cho Người quản lý vận tải và Quản trị viên hệ thống multi-tenant; Redux quản lý trạng thái UI.
Giao diện Di động Kotlin (Android SDK) Ứng dụng cho tài xế; tích hợp Google Maps API để giám sát vị trí phương tiện và điều hướng.
Dịch vụ Vận tải Spring Boot (Java) Vận hành logic nghiệp vụ vận tải cốt lõi; sử dụng Spring Data JPA và Hibernate ORM để ánh xạ và tạo cấu trúc cơ sở dữ liệu tự động.
Dịch vụ Xác thực FastAPI (Python) Xây dựng RESTful API cho chức năng xác thực và phân quyền; tích hợp chuẩn OpenAPI/Swagger và JSON Web Token (JWT).
Dịch vụ Multi-tenant NestJs (NodeJS/TypeScript) Quản lý vòng đời và hạ tầng của các bên thuê; ứng dụng kiến trúc module, Dependency Injection, kết nối ORM (TypeORM, Sequelize).
Cơ sở dữ liệu quan hệ PostgreSQL Quản trị dữ liệu giao dịch có cấu trúc, đảm bảo tính toàn vẹn ACID (Atomicity, Consistency, Isolation, Durability).
Cơ sở dữ liệu phi quan hệ MongoDB Lưu trữ phân tán tài liệu NoSQL, hỗ trợ mở rộng qua cơ chế Replica Set và Sharding.
Đóng gói & Ảo hóa Docker, Docker Compose Đóng gói toàn bộ phụ thuộc vào các container độc lập, thiết lập môi trường triển khai nhất quán và cô lập dịch vụ đa người thuê.

Thiết kế Use-case và Phân quyền

Hệ thống phân chia 3 nhóm tác nhân chính với 21 use-case chi tiết:

  • Người quản lý vận tải: Đăng nhập, đăng ký, quản lý nhân viên, quản lý địa điểm giao nhận, quản lý garage, quản lý tuyến đường, quản lý hàng hóa, quản lý phương tiện, quản lý đơn hàng vận tải, xem thống kê vận tải (tổng đơn hàng, phương tiện, doanh thu, lợi nhuận, công nợ).
  • Tài xế: Đăng nhập ứng dụng Android, chọn đơn hàng sắp tới (Upcoming job), kiểm tra xác nhận an toàn phương tiện trước chuyến đi (Healthcheck), cập nhật trạng thái vận chuyển qua từng chặng (Delivery), xem lịch sử giao hàng theo ngày qua giao diện lịch (Calendar).
  • Người quản lý hệ thống Multi-tenant: Đăng nhập hệ thống quản trị, xem danh sách tenant, khởi tạo tenant mới, xem chi tiết thông tin tenant và cập nhật trạng thái hoạt động của bên thuê.

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

Giới thiệu chung

Trình bày tính cấp thiết của việc hiện đại hóa công tác điều hành vận tải logistics, lý do cần tích hợp tra cứu văn bản pháp luật, mục tiêu nghiên cứu, phạm vi hệ thống (web, di động Android, micro-services) và phương pháp luận 8 bước triển khai đề tài.

Chương 1. Công nghệ sử dụng

Trình bày lý do lựa chọn từng ngôn ngữ và nền tảng:

  • Java: Đa nền tảng, bảo mật, thư viện phong phú, hỗ trợ đa luồng để vận hành Spring Boot.
  • Kotlin: Cú pháp súc tích, an toàn mã nguồn, tương thích hoàn toàn với Java, tối ưu cho ứng dụng Android của tài xế.
  • Python: Hỗ trợ phát triển API nhanh gọn với FastAPI, chuẩn OpenAPI và tài liệu Swagger tích hợp.
  • JavaScript & TypeScript: Đảm bảo tính tương tác cao trên Web (ReactJs) và kiến trúc máy chủ module hóa (NestJs).
  • Hệ quản trị CSDL & Triển khai: Phân tích ưu thế của PostgreSQL về giao dịch ACID, MongoDB về lưu trữ phi quan hệ phân tán linh hoạt và Docker trong việc cô lập container phục vụ triển khai hạ tầng.

Chương 2. Thiết kế hệ thống

Chi tiết hóa kiến trúc hệ thống thông qua các sơ đồ phân tích kỹ thuật:

  • Mô hình Use-case: Xây dựng sơ đồ Use-case cho 3 nhóm người dùng và 21 bảng đặc tả chi tiết (điều kiện tiên quyết, điều kiện sau, luồng sự kiện chính và luồng ngoại lệ).
  • Sơ đồ trình tự và tiến trình: Phác thảo các luồng đăng nhập, tạo/tìm kiếm tài xế, quản lý hàng hóa, tạo tuyến đường, ghép phương tiện vận chuyển, giao đơn cho tài xế và tài xế xác nhận hoàn tất đơn hàng.
  • Thiết kế kiến trúc và UI: Mô tả cấu trúc ứng dụng Android, kiến trúc Back-end, sơ đồ thực thể liên kết (ERD) và hệ thống giao diện mẫu: từ UI tạo đơn hàng, danh sách garage, màn hình kiểm tra an toàn phương tiện (Healthcheck), màn hình bản đồ cảnh báo vị trí đến màn hình quản trị tenant.

Chương 3. Hệ thống quản lý Multi-tenant

Trình bày các mô hình triển khai dịch vụ phần mềm cho nhiều bên thuê độc lập:

  • Phân tích các loại kiến trúc đa người thuê và thành phần cốt lõi để tách biệt hạ tầng, dịch vụ và dữ liệu giữa các doanh nghiệp.
  • Quy trình quản lý vòng đời của một tenant qua 4 trạng thái:
    • New: Trạng thái mới tạo, cho phép chuyển sang Active hoặc Remove.
    • Active: Đang hoạt động, cho phép chuyển sang Suspended hoặc Remove.
    • Suspended: Bị tạm ngưng, cho phép kích hoạt lại Active hoặc Remove.
    • Removed: Trạng thái đã bị gỡ bỏ khỏi hệ thống.
  • Cấu hình thông tin tenant bao gồm: thông tin định danh (tên tenant, chủ sở hữu, liên hệ), thông tin thanh toán (ngân hàng, số tài khoản), thông tin kiến trúc (tên miền domain, key-pair, secret key) và thông tin cơ sở dữ liệu độc lập (database name, username, password).

Chương 4. Hệ thống tra cứu văn bản pháp quy

  • Trình bày giải pháp giải quyết trở ngại pháp lý trong logistics dựa trên bài báo khoa học "Ontology-based Solution for Building an Intelligent Searching System on Traffic Law Documents".
  • Quy trình xây dựng gồm: thu thập văn bản quy phạm pháp luật, phân tích cấu trúc định dạng văn bản, mô hình hóa dữ liệu thành cơ sở tri thức (Knowledge Base) dựa trên Ontology và xây dựng mô hình tìm kiếm thông tin giúp doanh nghiệp tra cứu nhanh các quy định vận tải, an toàn hàng hóa, thuế và thủ tục thông quan.

Tổng kết

Đánh giá tổng thể mức độ hoàn thành đồ án so với mục tiêu đề ra và nghiệm thu các thành phần phần mềm đã xây dựng.


Kết quả và đóng góp của đề tài

Kết quả chính

  • Xây dựng hoàn chỉnh hệ thống đa phân hệ: Phát triển thành công ứng dụng Web dành cho người quản lý vận tải và quản trị tenant (bằng ReactJs), cùng ứng dụng di động dành cho tài xế (bằng Android Kotlin tích hợp Google Maps).
  • Hệ thống Backend đa dịch vụ: Phân tách và triển khai thành công 3 dịch vụ chuyên biệt: Spring Boot quản lý nghiệp vụ vận tải, FastAPI quản lý xác thực và NestJs quản lý mô hình đa người thuê.
  • Tích hợp cơ chế Multi-tenant: Cho phép quản lý độc lập thông tin kết nối, tài khoản cơ sở dữ liệu và vòng đời trạng thái của từng đơn vị vận tải thuê hệ thống.
  • Tích hợp mô hình tri thức pháp luật: Ứng dụng cấu trúc Ontology hỗ trợ người dùng tra cứu các quy định điều hành đường bộ, an toàn hàng hóa và thông quan.

Đóng góp kỹ thuật

  • Kết hợp bài toán quản lý logistics thực tế với công cụ tra cứu tri thức pháp quy chuyên ngành trên cùng một nền tảng vận hành.
  • Cung cấp thiết kế đặc tả chi tiết (21 use-case, quy trình trình tự, sơ đồ thực thể) cho hệ thống điều hành đội xe và đơn hàng vận tải.
  • Hiện thực hóa việc ứng dụng container Docker để cô lập môi trường và cấu hình CSDL riêng cho từng khách hàng doanh nghiệp trong kiến trúc Multi-tenant.

Hạn chế và hướng phát triển tiếp

Căn cứ vào phần tổng kết và phạm vi nghiên cứu, các hạn chế và hướng phát triển được tác giả xác định gồm:

  • Thiếu thuật toán tối ưu hóa lộ trình: Hệ thống hiện chưa tích hợp chức năng tự động gợi ý và tối ưu hóa tuyến đường vận chuyển theo thời gian thực.
  • Chưa có phân hệ CRM: Hệ thống chưa tích hợp phân hệ quản trị quan hệ khách hàng (Customer Relationship Management) để theo dõi tương tác với chủ hàng.
  • Giới hạn nền tảng di động: Ứng dụng di động mới chỉ hoàn thiện trên hệ điều hành Android, chưa hỗ trợ người dùng thiết bị iOS.
  • Tối ưu hóa hiệu năng: Cần tiếp tục tinh chỉnh các luồng xử lý nghiệp vụ và cải thiện hiệu năng tương tác giữa các dịch vụ backend khi số lượng bên thuê gia tăng.

Giá trị tham khảo

Tài liệu khóa luận có giá trị tham khảo chuyên môn cho các đối tượng sau:

  • Sinh viên ngành Kỹ thuật Phần mềm và Công nghệ Thông tin: Tham khảo phương pháp xây dựng đồ án tốt nghiệp kỹ sư; cách phân tích yêu cầu nghiệp vụ qua use-case; cách kết hợp các ngôn ngữ (Java, Kotlin, Python, JavaScript/TypeScript) trong một hệ thống phân tán.
  • Kỹ sư phát triển phần mềm doanh nghiệp: Tham khảo cách thức thiết kế phân hệ quản lý Multi-tenant (tách biệt CSDL, domain, secret key) và quy trình điều khiển vòng đời tài khoản bên thuê.
  • Người nghiên cứu hệ thống thông tin logistics: Tham khảo mô hình tích hợp dữ liệu pháp quy giao thông đường bộ dựa trên cấu trúc Ontology vào phần mềm vận hành thực tế.

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

1. Hệ thống phân chia trách nhiệm cho các framework backend như thế nào?

Dịch vụ backend được chia thành 3 thành phần độc lập: Spring Boot (Java) phụ trách toàn bộ logic nghiệp vụ vận tải và quản lý đơn hàng; FastAPI (Python) chuyên trách dịch vụ xác thực tài khoản và phân quyền sử dụng JWT; NestJs (NodeJS) quản lý hạ tầng và cấu hình của hệ thống đa người thuê (Multi-tenant).

2. Một tenant mới khi được tạo trên hệ thống cần những thông tin kỹ thuật gì?

Theo bảng đặc tả Tạo tenant, người quản lý hệ thống cần thiết lập 4 nhóm thông tin: thông tin định danh (tên tenant, tên chủ sở hữu, địa chỉ, số điện thoại, email); thông tin thanh toán (ngân hàng thụ hưởng, số tài khoản); thông tin kiến trúc kỹ thuật (domain, key-pair, secret key); và thông tin cấu hình cơ sở dữ liệu riêng (database name, username, mật khẩu).

3. Quy trình thực hiện đơn hàng của tài xế trên ứng dụng di động gồm các bước nào?

Tài xế đăng nhập vào ứng dụng Android THLogistic, chọn đơn hàng được giao tại màn hình "Upcoming job", thực hiện kiểm tra an toàn phương tiện tại màn hình "Healthcheck" rồi nhấn bắt đầu. Trong quá trình di chuyển, tài xế cập nhật trạng thái tại màn hình "Delivery" theo từng chặng thông qua nút "Next" và theo dõi vị trí trên bản đồ cho đến khi hoàn tất đơn hàng.

4. Tính năng tra cứu văn bản pháp quy trong khóa luận được xây dựng dựa trên cơ sở nào?

Tính năng tra cứu được xây dựng dựa trên bài báo khoa học "Ontology-based Solution for Building an Intelligent Searching System on Traffic Law Documents". Giải pháp sử dụng mô hình Bản thể học (Ontology) để phân tích cấu trúc, tổ chức cơ sở tri thức từ các văn bản luật giao thông đường bộ và logistics, phục vụ truy vấn ngữ nghĩa chính xác cho doanh nghiệp.

5. Khóa luận sử dụng các hệ quản trị cơ sở dữ liệu nào và vai trò của từng loại là gì?

Hệ thống kết hợp hai cơ sở dữ liệu: PostgreSQL là CSDL quan hệ đảm bảo giao dịch ACID và lưu trữ dữ liệu nghiệp vụ có cấu trúc (nhân viên, xe, garage, đơn hàng); MongoDB là CSDL phi quan hệ (NoSQL) phân tán, hỗ trợ lưu trữ dữ liệu phi cấu trúc với khả năng mở rộng thông qua Sharding và Replica Set.


Kết luận

Khóa luận tốt nghiệp của sinh viên Lê Hoàng Thịnh và Võ Đức Trung Hiếu đã giải quyết bài toán quản lý vận tải logistics thông qua việc kết hợp nền tảng điều hành đơn hàng với công cụ tra cứu văn bản pháp quy chuyên ngành. Bằng việc ứng dụng kiến trúc phân tán kết hợp Spring Boot, FastAPI, NestJs cùng ứng dụng di động Android Kotlin và giao diện ReactJs, hệ thống đã đáp ứng các quy trình nghiệp vụ giao nhận cốt lõi. Mô hình quản trị đa người thuê (Multi-tenant) được thiết kế cho phép cô lập dữ liệu và cấu hình riêng biệt cho từng doanh nghiệp vận tải, định hình một giải pháp kỹ thuật có tính ứng dụng thực tế.