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

Trong bối cảnh nền kinh tế số và thương mại phát triển nhanh chóng, các doanh nghiệp đối mặt với thách thức ngày càng lớn trong khâu vận hành chuỗi cung ứng và quản lý kho bãi. Việc duy trì quy trình kiểm soát hàng tồn kho thủ công hoặc rời rạc dễ dẫn đến sai lệch dữ liệu, chậm trễ xử lý đơn hàng và phát sinh chi phí vận hành. Báo cáo đề tài "Phân tích thiết kế hệ thống quản lý kho" của nhóm tác giả thuộc Khoa Công nghệ Thông tin, Trường Đại học Ngoại ngữ - Tin học Thành phố Hồ Chí Minh (HUFLIT) được thực hiện nhằm giải quyết bài toán tối ưu hóa quy trình luân chuyển, cất giữ và kiểm soát hàng hóa thông qua việc ứng dụng công nghệ thông tin.

Văn bản xác định rõ 5 mục tiêu nghiên cứu và thiết kế cụ thể:

  1. Hiểu rõ yêu cầu của hệ thống: Xác định, phân tích chi tiết các yêu cầu chức năng, giao diện người dùng và định hướng mở rộng tính năng trong tương lai.
  2. Tối ưu hóa quy trình làm việc: Đánh giá quy trình quản lý kho hiện tại, nhận diện điểm nghẽn và cải thiện hiệu suất vận hành thông qua phần mềm tự động hóa.
  3. Thiết kế giao diện người dùng (UI) dễ sử dụng: Xây dựng giao diện trực quan, thân thiện nhằm giảm thiểu sự phức tạp và nâng cao hiệu quả thao tác của các bộ phận.
  4. Đảm bảo tính linh hoạt và mở rộng: Thiết kế kiến trúc hệ thống có khả năng thích ứng, mở rộng quy mô khi phát sinh nghiệp vụ mới mà không làm thay đổi cấu trúc nền tảng.
  5. Đảm bảo tính bảo mật và an toàn: Thiết lập cơ chế kiểm soát truy cập phân quyền, mã hóa dữ liệu và bảo vệ tài nguyên thông tin của doanh nghiệp.

Đối tượng nghiên cứu của đồ án là quy trình vận hành nghiệp vụ kho hàng, bao gồm tiếp nhận hàng hóa, kiểm tra chất lượng (QA), định vị lưu kho, bổ sung tồn kho, chọn hàng (picking) và xử lý giao dịch đơn hàng. Phạm vi nghiên cứu tập trung vào việc mô hình hóa hệ thống quản lý kho (Warehouse Management System - WMS) đa nền tảng (Web và Mobile), áp dụng cho các doanh nghiệp bán lẻ và phân phối tại thị trường Việt Nam, hoàn thành báo cáo vào ngày 29 tháng 3 năm 2023.


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

Đồ án áp dụng phương pháp phân tích và thiết kế hướng đối tượng (OOAD) kết hợp sử dụng ngôn ngữ mô hình hóa thống nhất (UML) để đặc tả toàn bộ hành vi, cấu trúc và trạng thái của hệ thống. Nhóm tác giả đã tiến hành khảo sát đối chuẩn hai hệ thống phần mềm thương mại tương tự phổ biến tại Việt Nam nhằm rút ra yêu cầu nghiệp vụ thực tế:

Tiêu chí so sánh Phần mềm Sapo POS Phần mềm KiotViet
Ưu điểm - Giao diện thân thiện, phù hợp doanh nghiệp vừa và nhỏ.
- Tích hợp đa kênh bán hàng (cửa hàng, website, thương mại điện tử).
- Quản lý tồn kho đơn giản, báo cáo phân tích hiệu suất kinh doanh tốt.
- Hỗ trợ nhiều phương thức thanh toán.
- Giao diện trực quan, dễ tiếp cận.
- Tích hợp đa kênh bán hàng linh hoạt.
- Công cụ báo cáo, phân tích dữ liệu chi tiết hỗ trợ ra quyết định.
- Dịch vụ hỗ trợ khách hàng đa kênh (trực tuyến, điện thoại, email).
Nhược điểm - Tính năng bị giới hạn so với các giải pháp POS cao cấp.
- Gặp khó khăn khi tích hợp hệ sinh thái quản lý ngoài.
- Tốc độ hỗ trợ khách hàng có lúc chưa kịp thời.
- Tính phí phát sinh đối với một số tính năng nâng cao.
- Khả năng tùy chỉnh theo yêu cầu chuyên biệt còn hạn chế.
- Hiệu suất và độ ổn định suy giảm khi xử lý khối lượng dữ liệu lớn.

Phương pháp mô hình hóa kỹ thuật bao gồm:

  • Mô hình hóa chức năng: Biểu đồ Use Case tổng quát và 4 biểu đồ Use Case phân rã theo vai trò tác nhân.
  • Mô hình hóa hành vi động: Biểu đồ hoạt động (Activity Diagram), Biểu đồ tuần tự (Sequence Diagram), Biểu đồ trạng thái (State Chart Diagram).
  • Mô hình hóa cấu trúc tĩnh: Biểu đồ lớp (Class Diagram) và Biểu đồ quan hệ thực thể (ERD).
  • Nguồn dữ liệu: Dữ liệu chuẩn hóa từ các tiêu chuẩn quản lý kho như Thông báo vận chuyển trước (ASN), trao đổi dữ liệu điện tử (EDI), mã vạch pallet/thùng carton và phương pháp vị trí thông minh (Smart Slotting).

Thiết kế và triển khai

Hệ thống được thiết kế theo mô hình kiến trúc nhiều tầng (Multi-tier Architecture) hướng dịch vụ web kết hợp cơ sở dữ liệu phi quan hệ, tối ưu hóa cho khả năng xử lý bất đồng bộ và mở rộng tải:

1. Kiến trúc ngăn xếp công nghệ (Tech Stack)

  • Web Frontend: Xây dựng trên nền tảng thư viện React.js kết hợp Redux để quản lý trạng thái luồng dữ liệu tập trung; giao diện sử dụng HTML5/CSS3 và JavaScript.
  • Web Backend: Phát triển bằng môi trường thực thi Node.js với framework Express.js để xây dựng hệ thống RESTful API xử lý logic nghiệp vụ. Sử dụng middleware Passport.js cho quá trình xác thực/phân quyền và thư viện Mongoose ODM để tương tác, ánh xạ dữ liệu với cơ sở dữ liệu.
  • Cơ sở dữ liệu: Hệ quản trị cơ sở dữ liệu NoSQL MongoDB (phiên bản MongoDB Community Edition 4), cho phép lưu trữ tài liệu JSON linh hoạt đối với danh mục hàng hóa, nhân sự và đơn hàng.
  • Nền tảng di động (Định hướng môi trường vận hành): Hỗ trợ tích hợp ứng dụng di động qua môi trường phát triển Android Studio (ngôn ngữ Java/Kotlin) và Xcode/IntelliJ IDEA (ngôn ngữ Swift/Objective-C).

2. Môi trường phát triển và cấu hình hạ tầng triển khai

  • Môi trường phát triển cục bộ: Hệ điều hành Windows 10, công cụ soạn thảo Visual Studio Code, môi trường Node.js.
  • Môi trường triển khai đám mây: Hạ tầng máy chủ ảo Amazon Web Services (AWS) chạy hệ điều hành Ubuntu 20.04 LTS.
  • Dịch vụ máy chủ Web & Điều hướng: Sử dụng Nginx làm Web Server xử lý nội dung tĩnh và phân phối tải vòng ngoài, kết hợp HAProxy làm Reverse Proxy Server để cân bằng tải và bảo vệ dịch vụ backend.

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

Phân tích yêu cầu

Chương này tập trung xác định bài toán, khảo sát thực tế và phân rã các yêu cầu người dùng thành 6 nhóm phạm vi: Quản lý hàng tồn kho (SKU, giá, số lượng), Quản lý trạng thái kho (đầy, trống, đang xử lý), Quản lý nhà cung cấp, Quản lý đơn đặt hàng và nhập hàng, Quản lý thanh toán/hóa đơn, và Quản lý người dùng.

Nhóm tác giả phân loại 4 nhóm tác nhân (Actors) vận hành chính trong hệ thống:

  • Quản lý kho hàng: Chịu trách nhiệm giám sát toàn bộ hoạt động kho, tuyển dụng, đào tạo, phân công công việc, đánh giá hiệu suất nhân viên và kiểm soát danh mục kho.
  • Nhân viên kho hàng: Thực hiện quy trình nhận hàng từ đơn vị vận chuyển, dán mã vạch pallet, kiểm tra chất lượng sản phẩm (QA), cất hàng vào vị trí chỉ định và soạn hàng theo đơn.
  • Nhân viên quản lý dữ liệu kho hàng: Phân tích báo cáo, kiểm tra dữ liệu tồn kho, vận hành thuật toán Smart Slotting để tối ưu vị trí lưu trữ và kết nối số liệu sản xuất/lắp ráp.
  • Khách hàng: Truy cập hệ thống, tìm kiếm sản phẩm, tạo đơn đặt hàng sỉ/lẻ, thực hiện thanh toán trực tuyến, theo dõi tiến trình đơn hàng, yêu cầu thay đổi, hủy hoặc hoàn trả hàng.

Hệ thống thiết lập ma trận phân quyền chi tiết (User vs Function) cho 31 ca sử dụng (từ UC1 đến UC31), thể hiện rõ phạm vi truy cập của từng nhóm vai trò:

Nhóm chức năng Mã Use Case Tên Use Case Khách hàng Nhân viên kho Quản lý kho NV Quản lý dữ liệu
Hệ thống chung UC1, UC2, UC3 Đăng nhập, Đăng ký, Đăng xuất X X X X
UC4, UC5 Xem, Sửa thông tin cá nhân X X X X
Quản trị nhân sự UC6, UC7, UC8 Thêm, Tìm kiếm, Xem thông tin nhân viên X
UC9, UC10 Phân việc, Xóa nhân viên X
Quản lý sản phẩm UC11, UC12, UC13 Thêm, Sửa, Xóa sản phẩm X X
Vận hành kho bãi UC14, UC15 Quản lý tồn kho, Nhận hàng X X
UC16, UC17, UC18 Tạo mã đơn, Kiểm tra đơn hàng, Báo cáo tình trạng X
UC19, UC20, UC21 Cất hàng, Xác định hàng, Kiểm tra vị trí kho X
UC22, UC23 Xem thông tin đơn hàng, Bổ sung tồn kho X X X X
UC24, UC25 Chọn hàng, Smart Slotting X X
Giao dịch khách hàng UC26, UC27 Đặt hàng, Thanh toán X
UC28, UC29 Theo dõi đơn hàng, Thay đổi đơn hàng X
UC30, UC31 Hủy đơn hàng (Hủy thanh toán), Trả hàng X

Chương cũng xây dựng kịch bản chi tiết cho từng Use Case gồm: Tiền điều kiện (Pre-condition), Hậu điều kiện (Post-condition), Luồng sự kiện chính (Standard flow), Luồng rẽ nhánh (Alternative flow) và Xử lý tình huống lỗi (Error situations). Tiêu biểu như quy tắc bảo mật tại UC1 quy định hệ thống sẽ khóa đăng nhập tài khoản trong 10 phút nếu người dùng nhập sai thông tin quá 5 lần liên tiếp.

Thiết kế hệ thống

Chương này chuyển hóa các yêu cầu chức năng thành các mô hình kỹ thuật phần mềm:

  • Biểu đồ hoạt động (Activity Diagrams): Mô hình hóa các luồng xử lý nghiệp vụ tuần tự và song song cho các tác vụ: Đăng nhập, Thêm nhân viên, Thêm/Sửa sản phẩm, Nhận hàng, Tạo mã đơn, Chọn hàng, Cất hàng, Tìm kiếm hàng, Đặt hàng và Thay đổi đơn hàng.
  • Biểu đồ tuần tự (Sequence Diagrams): Mô tả sự tương tác truyền thông điệp theo thời gian giữa các lớp đối tượng giao diện (Boundary/UI), lớp xử lý logic (Controller) và lớp dữ liệu (Database/Model) cho các tiến trình: Đăng nhập, Phân công nhân viên, Nhận hàng, Tạo mã đơn, Đặt hàng và Thay đổi đơn hàng.
  • Biểu đồ trạng thái (State Chart Diagrams): Xác định vòng đời và các bước chuyển đổi trạng thái của các thực thể cốt lõi trong các nghiệp vụ Cất hàng, Chọn hàng và Kiểm tra vị trí ô chứa trong kho.
  • Thiết kế dữ liệu tĩnh: Biểu diễn cấu trúc Class Diagram và lược đồ quan hệ thực thể ERD phục vụ cài đặt cơ sở dữ liệu MongoDB.

Giao diện và các chức năng đã hoàn thành

Chương trình bày thiết kế trực quan các màn hình chức năng chính của hệ thống:

  • Màn hình Đăng nhập (Authentication UI).
  • Màn hình Trang chủ dành cho Quản lý (Dashboard cho quản lý nhân sự, kho và mức tồn).
  • Màn hình Trang chủ dành cho Nhân viên kho (Hiển thị tác vụ nhận hàng, tạo mã đơn, kiểm tra vị trí).
  • Màn hình Đặt hàng và Xem thông tin cá nhân.

Văn bản phân định rõ danh mục tính năng đã hoàn thiện trong phạm vi đồ án bao gồm: Cụm tính năng tài khoản chung, Cụm tính năng Quản lý (kho, nhân viên, tồn kho), Cụm tính năng Nhân viên kho (nhận hàng, mã hóa, kiểm tra, báo cáo sự cố, cất hàng, chọn hàng, bổ sung tồn), Cụm tính năng Dữ liệu (Smart Slotting, dữ liệu sản xuất/lắp ráp) và Cụm tính năng Khách hàng (đặt hàng, thanh toán, theo dõi, sửa đổi, hủy và trả hàng).


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

Báo cáo đạt được các kết quả kỹ thuật và tài liệu cụ thể:

  • Hoàn thành bộ hồ sơ phân tích thiết kế hệ thống WMS hoàn chỉnh với 31 ca sử dụng nghiệp vụ rõ ràng, bao quát từ khâu quản trị vĩ mô đến các thao tác kho bãi vi mô.
  • Thiết kế hệ thống biểu đồ UML đa diện (Use Case, Activity, Sequence, State Chart, Class, ERD) phản ánh chính xác cấu trúc và hành vi hệ thống phần mềm.
  • Xây dựng giải pháp kiến trúc phần mềm hiện đại dựa trên nền tảng JavaScript Fullstack (React.js, Node.js/Express.js, MongoDB) cùng cấu hình hạ tầng máy chủ phân tán (AWS Ubuntu 20.04 LTS, Nginx, HAProxy).
  • Tích hợp các giải pháp nghiệp vụ tiên tiến vào tài liệu thiết kế như: chức năng Smart Slotting tối ưu vị trí lưu trữ dựa trên tần suất bán và kích thước/trọng lượng sản phẩm; quản lý tiếp nhận thông minh qua mã vạch pallet và quy trình kiểm soát chất lượng (QA).

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

Theo văn bản báo cáo, đồ án tồn tại các điểm giới hạn và đề xuất hướng nghiên cứu tiếp nối như sau:

  • Hạn chế về phạm vi chức năng: Đồ án hiện tại chưa phát triển phân hệ dành riêng cho bộ phận nhân viên giao nhận vận chuyển (logistics/shipping) và bộ phận quản lý chăm sóc quan hệ khách hàng chuyên sâu (CRM).
  • Hướng phát triển phần mềm: Bổ sung module chức năng tương tác cho Nhân viên vận chuyển và Nhân viên quản lý khách hàng.
  • Hướng ứng dụng công nghệ nâng cao: Tích hợp công nghệ IoT (Internet of Things) để giám sát điều kiện bảo quản kho và tự động định vị hàng hóa qua RFID/cảm biến; tích hợp AI (Trí tuệ nhân tạo) để dự báo nhu cầu lưu kho và tối ưu hóa thuật toán Smart Slotting; nghiên cứu áp dụng Blockchain nhằm tăng cường bảo mật dữ liệu và nâng cao tính minh bạch trong truy xuất nguồn gốc chuỗi cung ứng.

Giá trị tham khảo

Tài liệu là nguồn tham khảo hữu ích cho sinh viên chuyên ngành Công nghệ thông tin, Kỹ thuật phần mềm và Hệ thống thông tin quản lý đang thực hiện các học phần Phân tích thiết kế hệ thống hoặc đồ án tốt nghiệp về phần mềm quản lý:

  • Tham khảo phương pháp xây dựng đặc tả Use Case chi tiết với đầy đủ các luồng chính, luồng phụ và kịch bản lỗi chuẩn mực.
  • Tham khảo cách kết hợp đồng bộ các loại biểu đồ UML để mô hình hóa một bài toán quản trị chuỗi cung ứng phức tạp.
  • Tham khảo mô hình kiến trúc công nghệ Fullstack React - Node.js - MongoDB cùng cấu hình hạ tầng AWS, Nginx và HAProxy trong các dự án web quy mô doanh nghiệp.

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

1. Hệ thống quản lý kho trong đề tài phân chia quyền hạn cho bao nhiêu nhóm tác nhân (Actors)?
Hệ thống phân chia quyền hạn cho 4 nhóm tác nhân chính: Quản lý kho hàng (quản trị nhân sự và tổng thể kho), Nhân viên kho hàng (thực hiện nghiệp vụ nhận hàng, kiểm tra chất lượng, cất hàng, chọn hàng), Nhân viên quản lý dữ liệu kho hàng (phân tích số liệu, vận hành Smart Slotting) và Khách hàng (đặt hàng, thanh toán, quản lý đơn hàng).

2. Tính năng Smart Slotting (UC25) có vai trò gì trong hệ thống?
Smart Slotting là chức năng dành cho Nhân viên quản lý dữ liệu kho hàng, có nhiệm vụ phân tích tần suất bán hàng, khối lượng và kích thước sản phẩm để định vị chính xác vị trí lưu trữ tối ưu trong kho, giúp tiết kiệm không gian và rút ngắn thời gian di chuyển khi lấy hàng hoặc cất hàng.

3. Ngăn xếp công nghệ (Tech Stack) được thiết kế cho hệ thống gồm những thành phần nào?
Hệ thống sử dụng React.js và Redux cho Web Frontend; Node.js kết hợp Express.js, Passport.js và Mongoose cho Web Backend; hệ quản trị MongoDB Community Edition 4 cho Cơ sở dữ liệu; triển khai trên máy chủ đám mây AWS chạy Ubuntu 20.04 LTS cùng Nginx (Web Server) và HAProxy (Proxy Server).

4. Kịch bản ca sử dụng Đăng nhập (UC1) xử lý như thế nào khi người dùng nhập sai thông tin nhiều lần?
Theo đặc tả UC1, nếu người dùng nhập sai thông tin đăng nhập quá 5 lần, hệ thống sẽ tự động chuyển sang trạng thái lỗi, hiển thị trang quên mật khẩu và thực hiện khóa chức năng đăng nhập đối với tài khoản đó trong vòng 10 phút.

5. Những chức năng nào được nhóm tác giả xác định là hướng mở rộng phát triển trong tương lai?
Đồ án chỉ rõ 2 nhóm chức năng tiềm năng cần tiếp tục xây dựng là: Chức năng dành cho nhân viên vận chuyển và Chức năng dành cho nhân viên quản lý khách hàng, đồng thời định hướng tích hợp công nghệ IoT, AI và Blockchain vào hệ thống WMS.


Kết luận

Đồ án "Phân tích thiết kế hệ thống quản lý kho" của nhóm sinh viên Trường Đại học Ngoại ngữ - Tin học TP.HCM đã hoàn thành một công trình phân tích thiết kế phần mềm bài bản và có tính hệ thống cao. Bằng việc kết hợp phương pháp luận UML hướng đối tượng với ngăn xếp công nghệ Web hiện đại (React.js, Node.js, MongoDB), tài liệu đã bao quát đầy đủ 31 quy trình nghiệp vụ cốt lõi từ quản lý hàng tồn, cất/chọn hàng đến tối ưu vị trí lưu kho. Đây là tài liệu thiết kế học thuật hoàn chỉnh, đáp ứng tốt yêu cầu thực tiễn và tạo tiền đề vững chắc cho việc lập trình, triển khai hệ thống WMS thực tế.