Phân tích & thiết kế phần mềm logistics - vận chuyển hàng hoá
By Paulus Loc on Tháng Năm 2, 2024
Nhu cầu vận chuyển hàng hoá, vật liệu đang được mở rộng, do đó nhiều doanh nghiệp đang cần các phần mềm vận chuyển để quản lý vận đơn.
Hiện nay trên thị trường, có rất nhiều doanh nghiệp cung cấp giải pháp phần mềm cho các hệ thống logistics. Phần nhiều trong đó, là các phần mềm SaaS (software as a service). Tuy nhiên, do đặc tính phức tạp của kinh doanh, không phải lúc nào, một phần mềm đóng gói sẵn, cũng thoả mãn được hết các nhu cầu của doanh nghiệp. Vì vậy, trong một số trường hợp, bạn có thể phải xây dựng một customize software (phần mềm theo yêu cầu riêng), để đáp ứng được hết các yêu cầu của bạn.
Trước khi thi công, lập trình phần mềm, cần có một cái nhìn toàn cảnh về các tính năng chính trong đó. Bước này gọi là phân tích và thiết kế phần mềm. Làm sao để biết được doanh nghiệp sẽ cần những tính năng nào, và phần mềm sẽ sử dụng ra sao khi nó được lập trình xong.
Bài viết dưới đây, mình xin chia sẻ, phân tích, thiết kế của một hệ thống logistic vừa phải, cụ thể. Mình sẽ chia sẽ về một kiến trúc lớn hơn,phức tạp hơn trong các bài viết tiếp theo. Nội dung bài viết này xoay quanh việc thiết kế chức năng của hệ thống, giải thích chức năng, chứ không tập trung vào việc lập trình. Việc thiết kế kiến trúc, chức năng, làm giao diện, là bước đầu tiên, cần chuẩn bị kỹ càng, chặt chẽ. Để bước lập trình, viết mã giảm thiểu được việc điều chỉnh, thay đổi.
Kiến trúc chung: Nội dung trong bài này, nói về một hệ thống đơn giản gồm 1 web vận hành và một app mobile cho người đặt đơn hàng, và một app tài xế để cập nhật trạng thái đơn hàng. Hệ thống gồm một số loại người dùng (role of users) như sau. Trong mô hình này, giả định là tài xế, phương tiện vận chuyển thuộc về công ty vận hành phần mềm. Khách hàng không tự đặt đơn hàng, mà thực hiện các bước ở ngoài (như gọi điện, liên lạc bằng email..). Operator/ admin sẽ là người tạo đơn cho khách hàng. Khách hàng sẽ nhận được update về trạng thái đơn hàng thông qua App mobile.
Người có nhu cầu đặt đơn hàng vận chuyển, là khách hàng (customer)
Người vận hành hệ thống, điều phối đơn hàng (operator, staff, admin)
Tài xế- người điều khiển phương tiện nhận-giao hàng (driver)
Các tính năng cần có của web vận hành
Đăng nhập, đăng ký, quên mật khẩu: Như mọi hệ thống, để sử dụng được phần mềm, người dùng cần đăng ký, đăng nhập để sử dụng. Giao diện minh hoạ như bên dưới
Review, xét duyệt hồ sơ: Với một số phương tiện, tài xế, khi tham gia vào hệ thống, cần xem xét hồ sơ, thông tin phương tiện (tính năng này có thể không cần thiết, có thể bỏ qua). Bên dưới là giao diện minh họa
Tạo 1 đơn vận chuyển mới: Tính năng lõi của hệ thống vận chuyển, khi tạo một đơn vận chuyển, người vận hành cần điền các thông tin bao gồm. Thông tin người gửi hàng - gồm tên, số điện thoại, địa chỉ người gửi hàng. Thông tin người nhận hàng, gồm tên, địa chỉ, số điện thoại người nhận hàng. Thông tin chi tiết đơn hàng, bao gồm gồm danh sách [mã hàng, tên hàng, số lượng, cách đóng gói, giá trị hàng, thể tích theo chiều dài x rộng x cao] (có thể cần nhiều hơn, ở đây không đề cập đến hàng lỏng vì hàng lỏng cần thiết bị chuyên dụng, phức tạp khác). Thông tin chi tiết hành trình, ở đây bao gồm địa chỉ nhận và địa chỉ giao. Một đơn hàng có thể nhận nhiều địa điểm, và giao nhiều địa điểm, nhưng trong nội dung bài này, chỉ đề cập đến 1 điểm nhận hàng, và 1 điểm, hoặc tối đa 2 điểm giao hàng
Minh hoạ các bước tạo đơn như bên dưới
Điền thông tin hàng hoá
Thêm lộ trình
Thông tin người gửi, người nhận
Tóm tắt đơn:
Quản lý danh sách đơn (chuyến): Sau khi operator tạo đơn, đơn hàng sẽ được ghi nhận trong hệ thống, đồng thời, phía mobile app của khách hàng, cũng sẽ ghi nhận được đơn này. Người vận hành điều phối đơn cho tài xế, để tài xế nhận đơn và giao hàng. Trạng thái của đơn sẽ được ghi nhận, update đồng bộ giữa App tài xế, App cho khách hàng, và web admin vận hành. Danh sách này sẽ được filter theo thời gian và trạng thái, có thể được chia thành nhiều phần, tương ứng với các trạng thái khác nhau của đơn (bắt đầu, đang đi, đã hoàn thành,đã huỷ..)
Quản lý bảng phí-giá vận chuyển: Giá cả của mỗi chuyến/ đơn sẽ phụ thuộc vào hành trình. Và mỗi hành trình luôn khác nhau. Nên có một phần để cài đặt giá, hành trình (tuyến đường) mà bên công ty vận hành hỗ trợ (ví dụ có công ty chỉ vận chuyển ở Sài Gòn thôi ). Theo thời gian, có thể sẽ phải tăng giá vận chuyển dựa trên khoảng cách của tuyến vận chuyển.
Phân quyền User: Hệ thống nên có phân quyền, để nhân viên(staff) có quyền sử dụng khác với operator và admin
Quản lý khách hàng/ tài xế:Mỗi đơn hàng được tạo luôn có người gửi, để thuận tiện, nên lưu lại thông tin khách hàng để khi cần tạo đơn, có thể trích xuất nhanh chóng.
Tài xế tham gia hệ thống thì có thể được tạo tài khoản, và cấp Id thay vì tự đăng ký, để đơn giản,trong phạm vi bài viết này, chưa cần hồ sơ tài xế, hoặc quản lý sâu hơn.
Quản lý vendor: nếu công ty vận hành, cho nhiều bên vận chuyển tham gia hệ thống, thì cần thêm phần quản lý này, các vendor vận chuyển sẽ có mã số riêng, để thuận tiện khi làm thống kê, báo cáo
Thống kê, báo cáo:Hệ thống cần có thống kê về các số liệu cơ bản theo thời gian, như số đơn vận chuyển, tổng tải trọng vận chuyển. Tuỳ vào yêu cầu riêng của doanh nghiệp mà phần thống kê báo cáo này, có thể sẽ khác nhau
Quản lý thông báo đẩy (push notification): Để quản lý thông báo, hệ thống cần có tính năng tạo, điều chỉnh và hủy thông báo đẩy, đồng thời là chế độ lập lịch cho thông báo.
Các tính năng cơ bản dành cho App cho tài xế:
Đăng nhập: Tài xế cần đăng nhập để sử dụng hệ thống
Danh sách đơn: Tài xế sẽ nhận danh sách đơn, đơn được tạo ra từ web quản trị do người vận hành tạo. Tài xế có thể update trạng thái đơn, chụp hình cách chứng từ khi cập nhật trạng thái đơn, hoặc giao hàng thành công
Thông báo đẩy: Khi có một sự kiện xảy ra, ví dụ như có đơn mới, hay update trạng thái đơn, thì sẽ có thông báo gửi đến app tài xế
Thống kê:Tài xế xem được tổng số đơn, doanh số đã chạy được, theo thời gian
Các tính năng cơ bản dành cho App khách hàng:
Đăng nhập: khách cần đăng nhập để sử dụng hệ thống
Danh sách đơn: khách sẽ nhận danh sách đơn, đơn được tạo ra từ web quản trị do người vận hành tạo. Khách xem được hình các chứng từ khi tài xế cập nhật trạng thái đơn, hoặc giao hàng thành công
Thông báo đẩy: Khi có một sự kiện xảy ra, ví dụ như có đơn giao thành công, hay update trạng thái đơn, thì sẽ có thông báo gửi đến app khách hàng
Thống kê:Khách xem được tổng số đơn, doanh số đã được vận chuyển, theo thời gian
Tạm kết
Trên đây là những thông tin phân tích mà PSA Solutions muốn chia sẻ đến bạn. Hy vọng bạn sớm phân tích và thi công hoàn thiện hệ thống logistics cho riêng bạn.
Nếu bạn cần chúng tôi hỗ trợ, email đến loc@psa.com.vn hoặc hotline: 0986.370.409
Vui lòng để lại thông tin, chúng tôi sẽ tư vấn về dự án, hỗ trợ bạn trong thời gian nhanh nhất.
Tôi nhận thức được rằng, khi gửi tin nhắn cung cấp tên, địa chỉ email, và các thông tin khác tới công ty Cổ Phần PSA Solutions là tôi gửi bởi chính tôi và tôi được quyền sử dụng các thông tin trên. Tôi hiểu và đồng ý rằng thông tin của tôi sẽ được sử dụng như trong mô tả điều khoản sử dụng thông tin ở trang "điều khoản"