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

Trong bối cảnh công nghệ thông tin phát triển và phương pháp tiếp cận hướng đối tượng ngày càng được ứng dụng sâu rộng trong quản lý kinh doanh và thương mại điện tử, việc tin học hóa quy trình vận hành chuỗi bán lẻ trở thành yêu cầu thiết yếu. Đồ án "Phân tích và thiết kế hệ thống quản lý chuỗi cửa hàng đồ chơi trẻ em" được nhóm sinh viên Khoa Công nghệ thông tin – Trường Đại học Tôn Đức Thắng thực hiện vào năm 2021 dưới sự hướng dẫn của giảng viên Lục Minh Tuấn, nhằm mục đích áp dụng quy trình phân tích và thiết kế phần mềm vào bài toán thực tiễn của một chuỗi cửa hàng kinh doanh đồ chơi.

Vấn đề thực tiễn đặt ra trong quản lý chuỗi cửa hàng đồ chơi trẻ em bao gồm việc xử lý khối lượng lớn các mặt hàng đa dạng, quản lý tồn kho tại nhiều địa điểm, theo dõi đơn hàng tại quầy lẫn trực tuyến, bảo mật thông tin khách hàng và kiểm soát doanh thu định kỳ. Hệ thống cần giải quyết các bài toán nghiệp vụ trọng tâm sau:

  1. Mã hóa và bảo đảm tính bảo mật dữ liệu của cửa hàng, thông tin tài khoản nhân viên và dữ liệu khách hàng thành viên.
  2. Tự động hóa quá trình tổng hợp dữ liệu giao dịch để thống kê doanh thu, chi phí và lợi nhuận theo các mốc thời gian (ngày, tháng, quý, năm).
  3. Đảm bảo tính toàn vẹn dữ liệu giữa hoạt động bán lẻ tại quầy, đặt hàng trực tuyến và biến động số lượng hàng hóa trong kho.
  4. Quản lý hệ thống tích điểm, đổi điểm thành viên và điều phối các chương trình sự kiện, khuyến mãi thu hút khách hàng.

Đối tượng nghiên cứu của đồ án là toàn bộ các quy trình nghiệp vụ quản lý bán lẻ, nhập xuất kho, nhân sự, tài chính và quan hệ khách hàng trong chuỗi cửa hàng đồ chơi trẻ em. Phạm vi nghiên cứu tập trung vào giai đoạn phân tích yêu cầu nghiệp vụ, mô hình hóa các ca sử dụng (use case), thiết kế hành vi, kiến trúc hướng đối tượng và cơ sở dữ liệu quan hệ cho hệ thống tương thích nền tảng hệ điều hành Windows và các thiết bị phần cứng liên quan.

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

Đồ án vận dụng các nguyên lý cốt lõi của công nghệ phần mềm và phương pháp tiếp cận hướng đối tượng (Object-Oriented Approach):

  • Khung lý thuyết và mô hình tiếp cận: Đề tài sử dụng phương pháp luận phân tích và thiết kế hướng đối tượng (OOAD) kết hợp quy trình phân tích yêu cầu nghiệp vụ hợp nhất (Unified Process), bao gồm các giai đoạn: khám phá (discovery), phân tích (analysis), tài liệu hóa (documentation) và chuyển đổi từ yêu cầu nghiệp vụ sang mô hình thiết kế kỹ thuật. Các khái niệm cốt lõi của lập trình hướng đối tượng được áp dụng bao gồm đối tượng (object), lớp (class), tính đóng gói (encapsulation), tính kế thừa (inheritance) và quan hệ cấu trúc giữa các lớp.
  • Ngôn ngữ mô hình hóa: Ngôn ngữ mô hình hóa thống nhất UML (Unified Modeling Language) được sử dụng xuyên suốt để chuẩn hóa tài liệu thiết kế hệ thống qua nhiều góc nhìn (views):
    • Mô hình ca sử dụng (Use Case Diagram) và bảng đặc tả ca sử dụng (Use Case Specification).
    • Mô hình tương tác với sơ đồ tuần tự (Sequence Diagram).
    • Mô hình luồng điều khiển với sơ đồ hoạt động (Activity Diagram).
    • Mô hình vòng đời đối tượng với sơ đồ trạng thái (State Machine Diagram).
    • Mô hình cấu trúc tĩnh với sơ đồ lớp (Class Diagram) và mô hình thực thể quan hệ (ERD - Entity Relationship Diagram).
  • Phương pháp thu thập và xử lý thông tin: Phương pháp khảo sát quy trình thực tế tại các điểm bán lẻ, phân tích tổng hợp các luồng dữ liệu nghiệp vụ (mua hàng, nhập hàng, quản lý sự kiện, kế toán thu chi) và mô hình hóa dữ liệu quan hệ phục vụ lưu trữ cơ sở dữ liệu.

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

Chương I – Giới thiệu chung

Chương này phác thảo tổng quan hệ thống, phân tích các điểm mạnh, hạn chế cũng như định hình các luồng nghiệp vụ cơ bản:

  • Chức năng tổng quát: Cung cấp giải pháp thanh toán, kiểm soát danh mục sản phẩm tại cửa hàng và trong kho, xử lý đơn hàng, quản lý hồ sơ nhân viên, quản lý thành viên gắn bó lâu dài và phát động chương trình khuyến mãi, sự kiện.
  • Ưu điểm của hệ thống: Cho phép tra cứu, cập nhật nhanh chóng thông tin sản phẩm và nhân sự; trích xuất báo cáo doanh thu chính xác; nâng cao hiệu quả chăm sóc khách hàng và kiểm soát biến động tồn kho.
  • Nhược điểm và thách thức: Đòi hỏi thời gian làm quen khi người dùng tiếp cận hệ thống mới; phụ thuộc vào tốc độ xử lý dữ liệu và tiềm ẩn khả năng phát sinh lỗi trong quá trình vận hành phần mềm.
  • Các quy trình nghiệp vụ cốt lõi:
    • Quy trình mua hàng và thanh toán: Khách hàng được tư vấn, chọn sản phẩm, tiến hành thanh toán tại quầy qua tiền mặt, thẻ ngân hàng hoặc ví điện tử (MoMo); nhân viên tạo hóa đơn, hệ thống tự động trừ tồn kho và đồng bộ dữ liệu.
    • Quy trình nhập hàng vào kho: Khi nhận hàng từ nhà cung cấp, nhân viên quản lý sản phẩm kiểm đếm và ghi nhận thông tin vào mục quản lý kho để cập nhật số lượng mặt hàng mới.
    • Quy trình tổ chức sự kiện và khuyến mãi: Nhân viên phụ trách thiết lập sự kiện khuyến mãi trên hệ thống và phổ biến thông tin đến đội ngũ bán hàng.
    • Quy trình thống kê doanh thu: Định kỳ mỗi tháng, bộ phận kế toán căn cứ trên dữ liệu hóa đơn để tổng hợp dòng tiền thu, chi và xác định lợi nhuận.

Chương II – Phân tích yêu cầu

Chương II tập trung vào việc thiết lập các tiêu chuẩn phi chức năng, xác định phân cấp tác nhân và danh mục ca sử dụng nền tảng:

  • Đặc tả yêu cầu phi chức năng: Giao diện trực quan, tốc độ xử lý nhanh, hỗ trợ xuất báo cáo đa dạng theo ngày/tháng/năm, kiểm soát thu chi trước - trong - sau bán hàng, tương thích môi trường Windows và khả năng đáp ứng lượng người dùng đồng thời không bị quá tải.
  • Hệ thống tác nhân (Actors): Thiết lập cấu trúc phân quyền dựa trên sự kế thừa từ tác nhân chung Nhân viên:
Tác nhân Mô tả vai trò và quyền hạn Quan hệ kế thừa
Adminator Quản trị, bảo trì, nâng cấp hệ thống, phân quyền và cấp quyền tài khoản. Tác nhân độc lập
Nhân viên Tác nhân cơ sở đại diện cho toàn bộ đội ngũ nhân sự trong cửa hàng. Tác nhân cơ sở
Quản lý Kiểm soát thông tin nhân viên, giám sát tình hình kinh doanh và doanh thu. Kế thừa từ Nhân viên
Nhân viên bán hàng Thực hiện giao dịch mua bán, thanh toán tại quầy và tư vấn khách hàng. Kế thừa từ Nhân viên
Nhân viên Quản lý nhân sự Quản lý hồ sơ, phân công và thông tin chi tiết của nhân sự. Kế thừa từ Nhân viên
Nhân viên Quản lý sản phẩm Kiểm soát danh mục sản phẩm, quản lý kho bãi và luồng xuất nhập hàng. Kế thừa từ Nhân viên
Nhân viên Kế toán Quản lý đơn hàng, theo dõi thu chi và lập thống kê tài chính định kỳ. Kế thừa từ Nhân viên
Nhân viên Quản lý sự kiện Phụ trách dữ liệu khách hàng thành viên, khởi tạo sự kiện và khuyến mãi. Kế thừa từ Nhân viên
Khách hàng Đăng ký tài khoản, tra cứu sản phẩm, đặt hàng và thanh toán online/tại quầy. Tác nhân người dùng ngoài
  • Danh mục Use Case chính:
    • UC01 Đăng nhập (Quản lý, Adminator, người dùng).
    • UC02 Đăng xuất (Quản lý, Adminator, người dùng).
    • UC03 Quản lý nhân viên (Quản lý nhân sự).
    • UC04 Quản lý sản phẩm (Quản lý sản phẩm).
    • UC05 Quản lý kho (Quản lý sản phẩm).
    • UC06 Quản lý đơn hàng (Kế toán).
    • UC07 Quản lý thu chi (Kế toán).
    • UC08 Quản lý thành viên (Quản lý sự kiện).
    • UC09 Quản lý sự kiện (Quản lý sự kiện).

Chương III – Thiết kế yêu cầu

Chương này trình bày chi tiết toàn bộ các thành phần thiết kế kỹ thuật từ mức ca sử dụng chi tiết đến mô hình hóa dữ liệu:

  • Đặc tả 29 Ca sử dụng chi tiết: Xây dựng đầy đủ bảng mô tả ca sử dụng (tên, ngữ cảnh kích hoạt, tác nhân, tiền điều kiện, hậu điều kiện, luồng sự kiện chính và ngoại lệ) cho các nghiệp vụ: Đăng nhập, Đăng xuất, Đăng ký, Đổi mật khẩu, Xác nhận đơn hàng, Mua hàng tại quầy, Lập hóa đơn, In hóa đơn, Đặt hàng online, Thanh toán tại quầy, Thanh toán online, Thanh toán khi nhận hàng, Thêm/Sửa/Xóa sản phẩm, Thêm/Sửa/Xóa nhân viên, Phân quyền nhân viên, Kiểm tra hàng trong kho, Tạo phiếu nhập hàng, Xem thông tin đơn hàng, Thay đổi trạng thái đơn hàng, Xem hóa đơn, Thống kê doanh thu theo ngày/tháng/quý/năm, và Xuất báo cáo.
  • Sơ đồ tương tác (Sequence Diagrams): Mô tả trình tự trao đổi thông điệp giữa các đối tượng giao diện, điều khiển và cơ sở dữ liệu cho các chức năng: Đăng nhập, Đăng xuất, Đăng ký, Đổi mật khẩu, Thêm/Sửa/Xóa tài khoản, Phân quyền tài khoản, Thêm/Sửa/Xóa sản phẩm, Lập hóa đơn.
  • Sơ đồ hoạt động (Activity Diagrams): Thể hiện luồng tiến trình công việc cho các tác vụ phức tạp: Đăng nhập, Đăng ký (xác thực số điện thoại/mã OTP), Thanh toán online, Thêm nhân viên, Xóa sản phẩm, Tạo phiếu nhập hàng, Xuất báo cáo.
  • Sơ đồ trạng thái (State Diagrams): Xác định các chuyển trạng thái của 4 thực thể cốt lõi trong hệ thống:
    1. Trạng thái Đơn hàng: Từ tạo mới, chờ xác nhận, đã xác nhận, đang giao hàng, hoàn tất đến hủy đơn.
    2. Trạng thái Sản phẩm: Còn hàng, hết hàng, tạm ngưng kinh doanh, nhập kho mới.
    3. Trạng thái Tài khoản: Chưa kích hoạt, đang hoạt động, bị khóa, đã phân quyền.
    4. Trạng thái Thanh toán: Chờ thanh toán, đã thanh toán thành công, hoàn tiền hoặc giao dịch thất bại.
  • Sơ đồ cấu trúc dữ liệu: Xây dựng Sơ đồ lớp (Class Diagram), Mô hình thực thể liên kết (ERD) và Mô hình dữ liệu quan hệ (Relational Data Model) để làm nền tảng cho việc cài đặt hệ quản trị cơ sở dữ liệu.

Thiết kế và mô hình hóa hệ thống

Quy trình thiết kế hệ thống trong đồ án được cụ thể hóa thông qua sự phối hợp giữa mô hình hóa hành vi và mô hình hóa dữ liệu:

1. Luồng xử lý một số ca sử dụng tiêu biểu

  • Ca sử dụng Đăng ký (Use Case Đăng ký):
    • Tiền điều kiện: Khách hàng có số điện thoại hoặc email chính chủ đang hoạt động.
    • Luồng sự kiện: Người dùng chọn đăng ký $\rightarrow$ Nhập số điện thoại, mật khẩu $\rightarrow$ Hệ thống gửi mã xác nhận đến số điện thoại $\rightarrow$ Người dùng nhập mã xác nhận $\rightarrow$ Hệ thống kiểm tra, lưu thông tin vào cơ sở dữ liệu và chuyển về giao diện đăng nhập.
    • Ngoại lệ: Nếu số điện thoại không hợp lệ hoặc mã xác nhận nhập sai, hệ thống cảnh báo và yêu cầu gửi lại mã xác nhận.
  • Ca sử dụng Lập hóa đơn và Thanh toán:
    • Thanh toán tại quầy: Thu ngân tiếp nhận sản phẩm, tạo hóa đơn trên hệ thống, chọn hình thức thanh toán (tiền mặt/thẻ/ví điện tử), lưu thông tin giao dịch, cập nhật tồn kho tức thời và kích hoạt chức năng in hóa đơn.
    • Thanh toán online: Khách hàng chọn giỏ hàng $\rightarrow$ Chọn phương thức thanh toán online $\rightarrow$ Nhập thông tin thanh toán $\rightarrow$ Hệ thống xác thực với cổng thanh toán và xác nhận đơn hàng.

2. Mô hình hóa trạng thái và cấu trúc dữ liệu

  • Cơ chế kiểm soát phiên và bảo mật: Quá trình đăng nhập áp dụng cơ chế băm mật khẩu (hashing) trước khi gửi yêu cầu xác thực xuống hệ thống cơ sở dữ liệu, cấp phiên làm việc (session) và phân quyền tương ứng với vai trò của tài khoản.
  • Mô hình thực thể và cấu trúc lớp: Thiết kế phân định rõ ràng các thực thể chính gồm Tài khoản (Account), Nhân viên (Employee), Khách hàng (Customer), Sản phẩm (Product), Kho hàng (Inventory/Warehouse), Đơn vị cung cấp (Supplier), Đơn đặt hàng (Order), Hóa đơn (Invoice), Phiếu nhập hàng (Import Receipt), và Sự kiện/Khuyến mãi (Event/Promotion). Mối quan hệ giữa các thực thể đảm bảo chuẩn hóa dữ liệu, loại bỏ dư thừa và duy trì tính toàn vẹn tham chiếu.

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

Đồ án đã hoàn thành toàn diện các nhiệm vụ phân tích và thiết kế theo đề cương môn học:

  • Xây dựng hoàn chỉnh tài liệu đặc tả yêu cầu phần mềm cho hệ thống quản lý chuỗi cửa hàng đồ chơi trẻ em với 9 nhóm ca sử dụng tổng quát và 29 ca sử dụng chi tiết.
  • Thiết lập hệ thống sơ đồ UML hoàn chỉnh bao gồm 55 hình vẽ (sơ đồ use case tổng quát, sơ đồ use case phân rã, sơ đồ tuần tự, sơ đồ hoạt động, sơ đồ trạng thái, sơ đồ lớp và ERD) cùng 29 bảng đặc tả ca sử dụng chi tiết.
  • Đề xuất giải pháp phân quyền người dùng có tính kế thừa rõ ràng, giúp phân tách ranh giới trách nhiệm giữa các bộ phận (bán hàng, kho, kế toán, nhân sự, quản trị hệ thống và khách hàng).
  • Đóng góp một quy trình nghiệp vụ rõ ràng từ khâu bán hàng, nhập kho, quản lý thành viên đến báo cáo tài chính, tạo tiền đề cho giai đoạn lập trình và triển khai ứng dụng thực tế trên nền tảng Windows.

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

  • Hạn chế:
    • Đồ án dừng lại ở mức độ phân tích và thiết kế yêu cầu (báo cáo lý thuyết và tài liệu mô hình hóa), chưa đi vào chi tiết mã nguồn lập trình phần mềm thực tế hoặc triển khai thử nghiệm trên môi trường production.
    • Văn bản ghi nhận hệ thống có thể cần nhiều thời gian để người dùng làm quen khi vận hành, đồng thời tốc độ xử lý dữ liệu và khả năng phát sinh lỗi khi tích hợp khối lượng giao dịch lớn vẫn là thách thức cần được đánh giá thực nghiệm.
  • Hướng phát triển tiếp theo:
    • Cài đặt và hiện thực hóa phần mềm trên nền tảng công nghệ cụ thể dựa trên sơ đồ lớp và mô hình cơ sở dữ liệu quan hệ đã thiết kế.
    • Tích hợp thêm các cổng thanh toán điện tử thực tế và tối ưu hóa tốc độ truy vấn cơ sở dữ liệu phục vụ các chuỗi cửa hàng quy mô lớn.

Giá trị tham khảo

Tài liệu đồ án này mang lại giá trị tham khảo thiết thực 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ý khi thực hiện đồ án môn học Phân tích thiết kế yêu cầu hoặc Phân tích thiết kế hệ thống thông tin.
  • Nhóm sinh viên cần mẫu tài liệu chuẩn hóa về quy trình đặc tả Use Case, thiết kế sơ đồ tuần tự (Sequence Diagram), sơ đồ hoạt động (Activity Diagram), sơ đồ trạng thái (State Diagram) và sơ đồ thực thể liên kết (ERD).
  • Các nhà phát triển phần mềm đang tìm kiếm mô hình phân tích nghiệp vụ thực tế cho bài toán quản lý chuỗi cửa hàng bán lẻ, siêu thị đồ chơi hoặc các hệ thống bán hàng tích hợp đa kênh (quầy và online).

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

1. Đồ án do ai thực hiện, thuộc đơn vị nào và vào thời gian nào?

Đồ án được thực hiện bởi nhóm 7 sinh viên (Lương Phương Đông, Nguyễn Văn Phước, Lê Thanh Tùng, Nguyễn Thị Thanh Thảo, Quách Thịnh, Trần Minh Thông, Phạm Quốc Việt) thuộc Khoa Công nghệ thông tin – Trường Đại học Tôn Đức Thắng, dưới sự hướng dẫn của giảng viên Lục Minh Tuấn vào năm 2021 tại TP. Hồ Chí Minh.

2. Cấu trúc phân quyền tác nhân trong hệ thống được thiết kế như thế nào?

Hệ thống sử dụng cơ chế kế thừa tác nhân trong UML. Tác nhân nền tảng là Nhân viên, từ đó các tác nhân cụ thể được kế thừa bao gồm: Quản lý, Nhân viên bán hàng, Nhân viên Quản lý nhân sự, Nhân viên Quản lý sản phẩm, Nhân viên Kế toán, và Nhân viên Quản lý sự kiện. Tác nhân Adminator thực hiện quản trị toàn bộ hệ thống độc lập, còn Khách hàng là tác nhân bên ngoài tương tác với các chức năng mua sắm.

3. Hệ thống hỗ trợ những phương thức thanh toán nào?

Theo đặc tả luồng nghiệp vụ và ca sử dụng, hệ thống hỗ trợ 3 hình thức thanh toán chính:

  • Thanh toán bằng tiền mặt tại quầy.
  • Thanh toán qua thẻ ngân hàng.
  • Thanh toán qua ví điện tử (MoMo) và thanh toán trực tuyến (online) khi đặt hàng qua ứng dụng.
  • Hình thức thanh toán khi nhận hàng (COD) đối với các đơn hàng mua trực tuyến.

4. Báo cáo doanh thu của cửa hàng được phân tích và trích xuất theo những chu kỳ nào?

Trong hệ thống ca sử dụng của Chương III, chức năng thống kê doanh thu được phân rã chi tiết thành 4 ca sử dụng độc lập: Thống kê doanh thu theo ngày (UC25), Thống kê doanh thu theo tháng (UC26), Thống kê doanh thu theo quý (UC27), và Thống kê doanh thu theo năm (UC28), kết hợp cùng ca sử dụng Xuất báo cáo (UC29).

5. Hệ thống sử dụng những loại sơ đồ UML nào để mô hình hóa yêu cầu?

Hệ thống sử dụng 5 nhóm sơ đồ UML chính:

  • Sơ đồ ca sử dụng (Use Case Diagram - tổng quát và chi tiết).
  • Sơ đồ tuần tự (Sequence Diagram - thể hiện luồng thông điệp đăng nhập, phân quyền, quản lý sản phẩm, hóa đơn...).
  • Sơ đồ hoạt động (Activity Diagram - mô tả tiến trình đăng ký, thanh toán online, nhập kho...).
  • Sơ đồ trạng thái (State Diagram - cho Đơn hàng, Sản phẩm, Tài khoản, Thanh toán).
  • Sơ đồ lớp (Class Diagram) kết hợp với Mô hình thực thể liên kết (ERD) và Mô hình dữ liệu quan hệ.

Kết luận

Đồ án "Phân tích và thiết kế hệ thống quản lý chuỗi cửa hàng đồ chơi trẻ em" là một công trình học thuật hoàn chỉnh thuộc môn học Phân tích và thiết kế yêu cầu của sinh viên Trường Đại học Tôn Đức Thắng. Bằng việc vận dụng quy trình phân tích hướng đối tượng và ngôn ngữ mô hình hóa UML, nhóm tác giả đã xây dựng chi tiết toàn bộ các góc nhìn nghiệp vụ, chức năng, phi chức năng và cấu trúc dữ liệu cho một chuỗi cửa hàng bán lẻ đa kênh. Tài liệu đóng vai trò là bản thiết kế hệ thống hoàn chỉnh, đáp ứng đầy đủ tính logic và tính toàn vẹn dữ liệu để sẵn sàng chuyển giao cho giai đoạn lập trình và triển khai ứng dụng.