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

Thành phố Hải Phòng là một trong những trung tâm kinh tế trọng điểm với hệ thống cảng biển phát triển mạnh mẽ, kéo theo nhu cầu lưu thông, thông thương hàng hóa trong nước và quốc tế tăng cao. Tuy nhiên, hoạt động vận hành tại phần lớn các doanh nghiệp vận tải trên địa bàn vẫn tồn tại nhiều bất cập:

  • Quá trình theo dõi luồng thông tin vận chuyển, đơn hàng, khách hàng và doanh thu chủ yếu được thực hiện bằng phương pháp thủ công trên sổ sách, giấy tờ hoặc sử dụng nhiều phần mềm đơn lẻ, thiếu tính tập trung.
  • Quy trình phân tán dẫn đến tình trạng dữ liệu thiếu đồng nhất, tốc độ xử lý nghiệp vụ chậm, chứng từ giấy tờ khó bảo quản lâu dài và phát sinh nhiều chi phí quản lý không cần thiết.

Nhằm giải quyết những hạn chế trên, đề tài "Xây dựng phần mềm quản lý hệ thống doanh nghiệp vận tải tại Hải Phòng" được thực hiện bởi sinh viên Lê Quang Vũ (lớp CT1802, ngành Công nghệ thông tin, Trường Đại học Quản lý và Công nghệ Hải Phòng), dưới sự hướng dẫn của TS. Lê Văn Phùng (Viện Công nghệ thông tin, Viện Hàn lâm Khoa học và Công nghệ Việt Nam).

Đề tài đặt ra các nhiệm vụ nghiên cứu cụ thể được đánh số theo văn bản giao nhiệm vụ:

  1. Đặc tả chính xác các hoạt động nghiệp vụ vận tải của doanh nghiệp.
  2. Phân tích và thiết kế hệ thống theo phương pháp có cấu trúc đầy đủ trên cả hai phương diện: Dữ liệu và Xử lý.
  3. Viết chương trình thử nghiệm quản lý hệ thống doanh nghiệp vận tải, theo ngôn ngữ lập trình tự chọn, dựa trên các yêu cầu thiết kế hệ thống đã xây dựng.
  4. Đảm bảo đồ án tốt nghiệp đạt chuẩn chất lượng học thuật và thực tiễn.

Về đối tượng và phạm vi nghiên cứu:

  • Đối tượng nghiên cứu: Quy trình xử lý nghiệp vụ vận tải bao gồm tiếp nhận đơn, phân loại hàng hóa, điều phối giao nhận, tính cước phí, quản lý hồ sơ đối tác và lập bảng kê theo dõi.
  • Phạm vi không gian và đơn vị khảo sát: Nghiên cứu và chạy thử nghiệm trực tiếp tại Công ty TNHH Chuyển phát nhanh Sắc Việt – Savie Express (Mã số thuế: 0200807062) tại Hải Phòng; kết hợp dữ liệu thực tế trong quá trình thực tập tại Công ty TNHH Công nghệ và Dịch vụ Viễn thông Nam Việt và Công ty Cổ phần Đầu tư Tài chính và Công nghệ DataTech.
  • Phạm vi chức năng: Hệ thống tập trung giải quyết các bài toán về quản lý đơn hàng, quản lý khách hàng, quản lý nhân viên, cấu hình bảng giá, phụ phí và bảng kê khai thác. Do mảng tài chính - kế toán có quy mô nghiệp vụ rất rộng nên tác giả giới hạn tách độc lập, không đưa vào phạm vi xử lý trực tiếp của phần mềm. Mô hình vận chuyển áp dụng cơ chế 2 điểm đầu - cuối kết hợp liên kết đơn vị vận chuyển thứ ba.
  • Phạm vi thời gian: Đề tài được giao ngày 31/10/2022 và hoàn thành vào ngày 18/02/2023.

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

Đồ án xây dựng trên nền tảng phương pháp luận phân tích thiết kế hệ thống thông tin hướng cấu trúc kết hợp bộ công nghệ phát triển web hiện đại:

1. Khung lý thuyết và mô hình kỹ thuật

  • Lý thuyết phân tích thiết kế hệ thống: Vận dụng tài liệu chuẩn mực gồm "Kỹ thuật phân tích và thiết kế hệ thống thông tin hướng cấu trúc" (Lê Văn Phùng, 2014) và "Phân tích và thiết kế hệ thống thông tin quản lý" (Nguyễn Văn Vị, 2002). Hệ thống được chuẩn hóa qua Biểu đồ ngữ cảnh, Biểu đồ phân rã chức năng (BFD), Biểu đồ luồng dữ liệu (DFD) các mức và Mô hình thực thể liên kết (ERD).
  • Nền tảng Back-end: Ngôn ngữ lập trình C# hướng đối tượng thuần túy (kế thừa, đóng gói, đa hình, trừu tượng), hoạt động trên nền .NET với cơ chế biên dịch mã nguồn thành ngôn ngữ trung gian MSIL (Microsoft Intermediate Language) trước khi thực thi qua máy ảo CLR (Common Language Runtime).
  • Framework ứng dụng: ASP.NET Core hợp nhất MVC và Web API, tối ưu hóa kiến trúc modular dựa trên các gói NuGet, tích hợp sẵn máy chủ Kestrel web server và hỗ trợ kỹ thuật Dependency Injection (DI), Tag Helpers, xử lý phiên làm việc thông qua Cookie và Session.
  • Hệ quản trị cơ sở dữ liệu: CSDL phi quan hệ MongoDB (NoSQL Document-oriented) lưu trữ dưới dạng BSON/JSON, kiến trúc schema-less linh hoạt, không yêu cầu các thao tác JOIN phức tạp, tối ưu cho các tập dữ liệu có thuộc tính động và mở rộng theo thời gian.
  • Nền tảng Front-end: HTML5, CSS (mô hình hộp Box Model gồm Margin, Border, Padding), JavaScript (xử lý tương tác sự kiện client-side) và Bootstrap 4 (hỗ trợ Responsive Design với phương tiếp cận Mobile-first).

2. Phương pháp nghiên cứu thực tế

  • Khảo sát quy trình nghiệp vụ: Phân tích trực tiếp luồng giao nhận, xử lý đơn hàng và tính cước thực tế tại Công ty TNHH Chuyển phát nhanh Sắc Việt.
  • Mô hình hóa dữ liệu và quy trình: Lập ma trận thực thể chức năng, phân tích dòng chảy dữ liệu qua biểu đồ DFD mức 0 và 11 biểu đồ DFD mức 1 cho từng chức năng chi tiết.
  • Phương pháp thực nghiệm phần mềm: Xây dựng mã nguồn hoàn chỉnh, cấu hình Kestrel web server kết hợp Reverse Proxy và triển khai kiểm thử giao diện chức năng với dữ liệu thực tế.

Thiết kế và triển khai

Hệ thống được tổ chức theo kiến trúc phân lớp ứng dụng web với quy trình xử lý dữ liệu chặt chẽ từ giao diện người dùng đến tầng lưu trữ NoSQL:

1. Kiến trúc hệ thống và luồng vận hành

  • Mô hình Web Server hai lớp: Hệ thống sử dụng máy chủ web tích hợp Kestrel (built-in server) đảm nhiệm việc tiếp nhận và thực thi mã nguồn C#/.NET Core. Lớp ngoài có thể kết hợp với các máy chủ Reverse Proxy (như IIS, Apache hoặc NGINX) nhằm nâng cao tính bảo mật, tối ưu hóa việc phân phối truy vấn HTTP/HTTPS và quản trị lưu lượng trước khi chuyển tiếp vào Kestrel.
  • Quản lý trạng thái và bảo mật: Cơ chế kiểm soát quyền hạn được cấu hình theo tài khoản người dùng; quản lý phiên làm việc giữa trình duyệt và máy chủ thông qua Session ID và Cookie lưu trữ cục bộ.
  • Nguyên tắc xóa mềm dữ liệu (Soft Delete): Để bảo toàn tính toàn vẹn dữ liệu và lịch sử vận chuyển, hệ thống không áp dụng phương thức xóa vật lý trực tiếp khỏi CSDL. Khi thực hiện thao tác xóa, hệ thống cập nhật lại cờ trạng thái dữ liệu và điều kiện tìm kiếm, gộp chung luồng xử lý xóa vào chức năng cập nhật.

2. Mô hình dữ liệu và các thực thể chính

Cơ sở dữ liệu MongoDB của hệ thống bao gồm 11 hồ sơ dữ liệu (từ mục a đến mục l) quản lý tương ứng thông qua 9 thực thể chính:

STT Tên thực thể Danh sách các thuộc tính cấu thành
1 Nhân viên Mã nhân viên, tên nhân viên, giới tính, email, địa chỉ, số điện thoại, tên đăng nhập
2 Đơn hàng Mã đơn hàng, người gửi, người nhận, tên đơn hàng, ghi chú, trọng lượng, tổng tiền, kiện hàng
3 Khách hàng Mã khách hàng, tên khách hàng, giới tính, email, địa chỉ, công ty, tên đăng nhập, số điện thoại
4 Ngành nghề Mã ngành nghề, tên ngành nghề
5 Đơn vị cung cấp Mã đơn vị cung cấp, tên đơn vị cung cấp, giá mặc định, loại đơn vị cung cấp
6 Phụ phí Mã phụ phí, tên phụ phí, loại phụ phí, Tỉnh/thành phố nhận hàng, Tỉnh/thành phố gửi hàng, kiểu tính phí, mức phí tối thiểu, mức phí tối đa
7 Bảng giá Mã bảng giá, tên bảng giá, loại bảng giá, thành phố gửi áp dụng, thành phố nhận áp dụng, mức độ quy đổi, trọng lượng tối đa, trọng lượng tối thiểu, phụ phí xăng dầu
8 Bảng kê khai thác Mã bảng kê khai thác, bưu cục đi, bưu cục đến, tổng trọng lượng, tổng tiền
9 Bảng kê cước dịch vụ Mã bảng kê cước, thời gian từ, thời gian đến, tổng tiền, thực thu, dư nợ, ngày thanh toán

3. Ma trận thực thể chức năng (CRUD Matrix)

Sự tác động giữa 11 chức năng nghiệp vụ và các hồ sơ dữ liệu được xác lập thông qua ma trận tương tác (C - Create/Tạo mới, R - Read/Đọc):

Chức năng nghiệp vụ Đơn hàng (a) Nhân viên (b) Khách hàng (c) Ngành nghề (d) Phân loại (e) ĐV cung cấp (f) Phụ phí (g) Bảng giá (h) Báo cáo (i) Bảng kê khai thác (k) Bảng kê cước (l)
1. Quản lý nhân viên C
2. Quản lý đơn hàng C R R R R
3. Quản lý khách hàng C R R
4. Quản lý ngành nghề C
5. Quản lý phân loại C
6. Quản lý ĐV cung cấp C
7. Quản lý phụ phí R C
8. Quản lý bảng giá R C
9. Báo cáo R C
10. Bảng kê khai thác R C
11. Bảng kê cước DV R R C

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

Chương 1: Tìm hiểu và lập trình Web trên nền tảng C#/.NET Core và MongoDB

Chương 1 hệ thống hóa toàn bộ kiến thức kỹ thuật nền tảng phục vụ cho việc xây dựng ứng dụng web:

  • Kiến trúc Web và Front-end: Trình bày cấu trúc World Wide Web, cơ chế hoạt động của trình duyệt (Web Browser), máy chủ web (IIS, Apache, Tomcat), trang web tĩnh và trang web động. Trình bày chi tiết cú pháp các thẻ HTML cơ bản (<head>, <body>, <table>, <img>, <a>, <input>, <textarea>, <select>, <form>), cấu trúc CSS (Selector, Declaration, Properties, Box model) và JavaScript trong tương tác sự kiện. Phân tích vai trò của framework Bootstrap 4 với lưới responsive và phương pháp thiết kế mobile-first.
  • Ngôn ngữ lập trình C#: Nêu rõ các đặc tính hướng đối tượng, cú pháp định nghĩa lớp (class), phương thức (method), biến, hằng, cùng bảng quy cách 11 kiểu dữ liệu giá trị cơ bản (byte, sbyte, short, ushort, int, uint, long, ulong, char, bool, float, double, decimal). Phân tích chu trình biên dịch từ mã nguồn C# sang mã trung gian MSIL và thực thi qua CLR.
  • Cơ sở dữ liệu MongoDB: Phân tích đặc trưng kiến trúc NoSQL Document, lược đồ linh hoạt, hỗ trợ Big Data và 15 kiểu dữ liệu BSON (String, Integer, Boolean, Double, Min/Max keys, Array, Timestamp, Object, Null, Symbol, Date Unix time, Object ID, Binary data, Code, Regular expression). Trình bày chi tiết các hàm thao tác dữ liệu: db.insert(), db.findOne(), db.skip(), db.update(), db.save() và xóa dữ liệu.
  • Nền tảng ASP.NET Core: Phân tích mô hình web server kép (Kestrel Server kết hợp Reverse Proxy), các ưu điểm về module hóa NuGet, cơ chế truyền nhận dữ liệu qua giao thức HTTP (GET, POST), cùng giải pháp quản trị phiên người dùng bằng Cookie và Session.

Chương 2: Phân tích thiết kế hệ thống

Chương 2 tập trung giải quyết bài toán nghiệp vụ cụ thể của doanh nghiệp vận tải Savie Express:

  • Mô tả bài toán nghiệp vụ: Chi tiết hóa quy trình vận tải gồm 2 hình thức tạo vận đơn (nhân viên tạo hoặc khách hàng tự tạo trực tuyến). Hàng hóa sau khi nhận về kho được phân loại, sàng lọc và tính toán chi phí (đơn nội địa áp dụng bảng giá niêm yết kết hợp phụ phí xăng dầu; đơn quốc tế tính toán theo cước bên vận chuyển thứ ba). Theo dõi hành trình giao nhận, cập nhật lịch sử trạng thái, quy trình chuyển hoàn hàng và quản lý tài liệu, hồ sơ số hóa đính kèm.
  • Mô hình hóa hệ thống:
    • Xây dựng biểu đồ ngữ cảnh xác định các luồng giao tiếp giữa hệ thống và các tác nhân ngoài.
    • Phân rã chức năng hệ thống thành 11 nhóm nghiệp vụ chính gồm 23 chức năng thành phần chi tiết (thêm, cập nhật, báo cáo).
    • Xây dựng danh mục 11 hồ sơ dữ liệu và ma trận thực thể chức năng chi tiết.
    • Thiết lập biểu đồ luồng dữ liệu DFD mức 0 và hệ thống 11 biểu đồ DFD mức 1 cho từng chức năng.
    • Xây dựng mô hình liên kết thực thể (ERD), xác định mối quan hệ giữa các thực thể và đặc tả chi tiết 9 bảng dữ liệu.

Chương 3: Hệ thống quản lý đơn hàng cho doanh nghiệp vận tải

Chương 3 trình bày kết quả hiện thực hóa phần mềm và cấu trúc chức năng chạy thử nghiệm:

  • Môi trường thử nghiệm và phân cấp chức năng: Thiết lập môi trường chạy ứng dụng, xây dựng sơ đồ phân cấp chức năng hoàn chỉnh từ tầng quản trị hệ thống đến các tác vụ của nhân viên và khách hàng.
  • Hiện thực hóa giao diện người dùng: Triển khai hệ thống 24 màn hình giao diện chuẩn hóa (từ Hình 20 đến Hình 43 trong văn bản):
    • Màn hình Đăng nhập, Trang chủ và Cấu hình hệ thống.
    • Giao diện Quản trị danh mục: Quản lý nhân viên, Đổi mật khẩu, Nhật ký người dùng, Quản lý khách hàng, Quản lý ngành nghề, Quản lý phân loại, Quản lý đơn vị cung cấp, Quản lý phụ phí, Quản lý bảng giá vận chuyển.
    • Giao diện Nghiệp vụ cốt lõi: Quản lý đơn hàng (theo dõi trạng thái, phát hiện lỗi đơn), Thông tin chi tiết đơn hàng, In vận đơn và In nhãn dán đơn hàng phục vụ dán kiện hàng.
    • Giao diện Thống kê và Báo cáo: Báo cáo danh sách khách hàng, Giao diện Bảng kê khai thác (bản cơ bản và chi tiết), Bảng kê cước sử dụng dịch vụ (bản cơ bản và chi tiết), Thống kê giao - nhận đơn hàng, Báo giá khách hàng và chức năng xuất file báo giá (file export).

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

  • Kết quả xây dựng hệ thống: Đồ án đã thiết kế và lập trình thành công hệ thống phần mềm hoàn chỉnh phục vụ quản lý doanh nghiệp vận tải với 11 phân hệ chức năng nghiệp vụ, 9 cấu trúc thực thể dữ liệu NoSQL, cùng 24 màn hình giao diện xử lý nghiệp vụ thực tế.
  • Giải pháp và đề xuất ứng dụng:
    • Ứng dụng mô hình tính giá tự động dựa trên bảng giá định tuyến kết hợp phụ phí xăng dầu và chính sách ưu đãi riêng cho từng nhóm khách hàng.
    • Chuẩn hóa tính năng in nhãn dán đơn hàng và bảng kê khai thác bưu cục, hỗ trợ nhân viên kho và giao nhận kiểm soát chính xác tải trọng và lộ trình kiện hàng.
    • Thiết lập bảng kê cước dịch vụ chi tiết giúp theo dõi tổng tiền, số tiền thực thu, dư nợ và lịch sử các đợt thanh toán của khách hàng.
    • Áp dụng nguyên tắc xóa mềm giúp bảo toàn toàn bộ dữ liệu lịch sử vận đơn và thông tin đối soát.
  • Đóng góp về mặt thực tiễn: Thay thế hoàn toàn phương thức quản lý rời rạc bằng giấy tờ hoặc các phần mềm riêng lẻ trước đây tại Savie Express bằng một hệ thống cơ sở dữ liệu tập trung, giúp giảm thiểu sai sót trong tính cước, rút ngắn thời gian xử lý đơn hàng và tăng cường khả năng truy xuất lịch sử giao nhận.

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

  • Hạn chế:
    • Hệ thống chưa tích hợp phân hệ quản lý tài chính - kế toán chuyên sâu (do phạm vi phân hệ này quá rộng nên tác giả đã chủ động tách thành hệ thống độc lập).
    • Quy trình vận hành hiện tại mới chỉ giải quyết bài toán vận chuyển theo mô hình 2 điểm đầu - cuối kết hợp bên thứ ba, chưa hỗ trợ tự động định tuyến các mạng lưới vận chuyển đa trạm trung chuyển phức tạp.
    • Phạm vi thử nghiệm thực tế mới tập trung tại mô hình chuyển phát nhanh Savie Express trên địa bàn Hải Phòng.
  • Hướng phát triển tiếp:
    • Nghiên cứu tích hợp hoặc kết nối đồng bộ dữ liệu với phân hệ tài chính - kế toán độc lập.
    • Xây dựng API tích hợp trực tiếp với hệ thống của các đơn vị vận chuyển thứ ba để tự động lấy mã vận đơn và cập nhật trạng thái thời gian thực.
    • Nâng cấp thuật toán tự động tối ưu hóa lộ trình và chi phí vận chuyển đa phương thức.

Giá trị tham khảo

Tài liệu đồ án mang lại giá trị tham khảo thiết thực cho các nhóm đối tượng:

  • Sinh viên ngành Công nghệ thông tin, Hệ thống thông tin quản lý và Kỹ thuật phần mềm: Là tài liệu tham khảo hoàn chỉnh về cấu trúc một đồ án tốt nghiệp, từ các bước khảo sát bài toán thực tế, mô hình hóa DFD/ERD theo phương pháp hướng cấu trúc đến thiết kế CSDL NoSQL MongoDB.
  • Lập trình viên và người phát triển ứng dụng Web: Cung cấp tài liệu tham khảo hữu ích về việc xây dựng ứng dụng quản lý trên nền tảng C# / ASP.NET Core kết hợp MongoDB, kỹ thuật cấu hình Kestrel web server và thiết kế giao diện Bootstrap 4 cho bài toán logistics.
  • Cán bộ quản lý tại các doanh nghiệp vận tải, chuyển phát: Tham khảo mô hình phân rã nghiệp vụ quản lý đơn hàng, quy trình tính cước, cấu hình phụ phí và cách thức tổ chức bảng kê khai thác bưu cục trong thực tế.

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

1. Phạm vi bài toán quản lý vận tải trong đồ án bao gồm và loại trừ những phân hệ nào?

Hệ thống tập trung giải quyết các phân hệ: Quản lý đơn hàng, quản lý khách hàng, quản lý nhân viên, quản lý ngành nghề, quản lý phân loại, quản lý đơn vị cung cấp, quản lý phụ phí, quản lý bảng giá vận chuyển, báo cáo thống kê, quản lý bảng kê khai thác và quản lý bảng kê cước sử dụng dịch vụ. Hệ thống chủ động loại trừ mảng Quản lý tài chính - kế toán do đây là nghiệp vụ có quy mô rất rộng, được tách thành bài toán độc lập.

2. Doanh nghiệp vận tải nào được lựa chọn làm địa bàn khảo sát và thử nghiệm thực tế?

Hệ thống được khảo sát quy trình và chạy thử nghiệm trực tiếp tại Công ty TNHH Chuyển phát nhanh Sắc Việt – Savie Express (Mã số thuế: 0200807062) tại Hải Phòng, với đặc thù vận chuyển chặng giữa thông qua đơn vị thứ ba.

3. Nguyên tắc xóa dữ liệu được hệ thống áp dụng như thế nào?

Hệ thống vận hành dựa trên nguyên tắc xóa mềm (Soft Delete). Dữ liệu không bị xóa vật lý trực tiếp khỏi cơ sở dữ liệu MongoDB mà chỉ thay đổi trạng thái và cập nhật lại điều kiện tìm kiếm, giúp chức năng xóa được gộp chung trong luồng cập nhật và bảo lưu trọn vẹn lịch sử dữ liệu.

4. Cơ sở dữ liệu MongoDB trong đồ án quản lý những thực thể chính nào?

Hệ thống quản lý 9 thực thể chính bao gồm: Nhân viên, Đơn hàng, Khách hàng, Ngành nghề, Đơn vị cung cấp, Phụ phí, Bảng giá, Bảng kê khai thác và Bảng kê cước sử dụng dịch vụ.

5. Kiến trúc máy chủ web trong phần mềm được triển khai theo mô hình nào?

Phần mềm sử dụng mô hình web server tích hợp Kestrel của ASP.NET Core để trực tiếp thực thi ứng dụng, kết hợp cơ chế Reverse Proxy (thông qua IIS, Apache hoặc NGINX) nhằm tiếp nhận yêu cầu từ client, nâng cao hiệu năng và đảm bảo an toàn hệ thống.


Kết luận

Đồ án tốt nghiệp của sinh viên Lê Quang Vũ đã giải quyết trọn vẹn nhiệm vụ phân tích, thiết kế và xây dựng phần mềm quản lý hệ thống doanh nghiệp vận tải tại Hải Phòng dựa trên khảo sát thực tế tại Savie Express. Đề tài kết hợp hiệu quả phương pháp luận phân tích hướng cấu trúc với nền tảng công nghệ C#/.NET Core và cơ sở dữ liệu NoSQL MongoDB để số hóa 11 phân hệ nghiệp vụ vận hành cốt lõi. Kết quả nghiên cứu không chỉ đáp ứng đầy đủ các yêu cầu kỹ thuật của một đồ án kỹ sư CNTT mà còn mang tính ứng dụng thực tiễn cao trong việc nâng cao hiệu quả quản lý vận tải địa phương.