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

Trong bối cảnh kinh tế phát triển và thu nhập bình quân đầu người gia tăng, nhu cầu tiêu dùng, vui chơi giải trí và mua sắm tại các đô thị lớn có xu hướng tăng trưởng nhanh chóng. Sự xuất hiện của hàng loạt cửa hàng kinh doanh với quy mô và hình thức đa dạng tạo ra áp lực cạnh tranh lớn, đòi hỏi công tác quản lý vận hành phải được tối ưu hóa nhằm đảm bảo tính thuận tiện, nhanh chóng và tiết kiệm thời gian. Trước khi công nghệ thông tin được ứng dụng phổ biến, phần lớn các cửa hàng thực hiện công tác quản trị bán hàng thông qua phương thức thủ công bằng tài liệu, sổ sách ghi chép. Phương thức này bộc lộ nhiều hạn chế như tốn kém công sức, độ chính xác không cao, dễ thất thoát dữ liệu và ảnh hưởng trực tiếp đến hiệu suất hoạt động chung.

Mặc dù các giải pháp phần mềm quản lý đã xuất hiện trên thị trường, nhiều cơ sở kinh doanh quy mô nhỏ vẫn chưa tiếp cận được hệ thống phù hợp với nhu cầu thực tế. Nhằm giải quyết bài toán này, nhóm sinh viên thuộc Khoa Công nghệ Thông tin, Trường Đại học Sài Gòn đã thực hiện đề tài "Xây dựng phần mềm quản lý bán hàng" trong khuôn khổ học phần Công nghệ phần mềm.

Đề tài xác định các mục tiêu và nhiệm vụ nghiên cứu cụ thể sau:

  1. Tiếp cận và áp dụng quy trình xây dựng phần mềm bài bản, chuyên nghiệp thông qua việc thực thi mô hình phát triển tuyến tính thác nước (Waterfall Model).
  2. Nghiên cứu sâu về nền tảng hoạch định nguồn lực doanh nghiệp mã nguồn mở Odoo (Open Source ERP) nhằm ứng dụng vào việc tổ chức quản lý dự án và xây dựng hệ thống phần mềm quản lý bán hàng.
  3. Rèn luyện, củng cố kiến thức chuyên môn và nâng cao kỹ năng tổ chức làm việc nhóm (teamwork) trong suốt chu trình phát triển sản phẩm phần mềm.

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

  • Đối tượng nghiên cứu: Quy trình nghiệp vụ bán hàng, các luồng dữ liệu quản trị tài khoản, nhân viên, sản phẩm, đối tác khách hàng, báo giá và hóa đơn trong một cửa hàng kinh doanh.
  • Phạm vi chức năng: Hệ thống tập trung giải quyết các chức năng quản lý thông tin và bán hàng cốt lõi; không đi sâu vào phân hệ quản lý chi tiết nhập xuất kho hay phân hệ điểm bán lẻ tại quầy (POS).
  • Phạm vi kỹ thuật và môi trường vận hành: Hệ thống sử dụng hệ quản trị cơ sở dữ liệu tích hợp của nền tảng Odoo, hướng tới giao diện đơn giản, thân thiện với người dùng và có khả năng vận hành linh hoạt trên mạng cục bộ (LAN) hoặc mạng diện rộng (WAN).

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

Đề tài kết hợp giữa lý thuyết phát triển phần mềm truyền thống và phương pháp phân tích thiết kế hệ thống hướng đối tượng:

  • Khung lý thuyết và mô hình phát triển phần mềm: Nhóm tác giả áp dụng Mô hình Thác nước (Waterfall Model - được giới thiệu từ năm 1970). Đây là mô hình tuần tự tuyến tính gồm 5 giai đoạn kế tiếp nhau, trong đó một giai đoạn chỉ được bắt đầu khi giai đoạn trước đó đã hoàn tất, không có sự chồng chéo giữa các pha.
  • Phương pháp xác định và ưu tiên yêu cầu: Áp dụng phương pháp MoSCoW để phân loại các mức độ ưu tiên của hệ thống, tập trung hoàn thiện chính xác các tính năng cơ bản trước khi mở rộng các tính năng phụ trợ.
  • Phương pháp phân tích và thiết kế hệ thống: Sử dụng ngôn ngữ mô hình hóa thống nhất (UML) để xây dựng hệ thống biểu đồ kỹ thuật bao gồm: Biểu đồ ca sử dụng tổng quát (Use Case Diagram), Biểu đồ tuần tự (Sequence Diagram), Biểu đồ hoạt động (Activity Diagram), Biểu đồ lớp (Class Diagram) và Sơ đồ quan hệ thực thể (ERD).
  • Công cụ hỗ trợ mô hình hóa: Sử dụng nền tảng trực tuyến Diagrams.net (draw.io) để thiết kế các loại sơ đồ phân tích luồng chức năng và kiến trúc dữ liệu.
  • Nền tảng công nghệ thực thi: Ứng dụng Odoo – hệ thống phần mềm ERP mã nguồn mở có khả năng tùy biến phân hệ và tích hợp cơ chế bảo mật.
  • Nguồn dữ liệu: Dữ liệu mẫu phục vụ kiểm thử và mô phỏng được xây dựng dựa trên thông tin thực tế của các thực thể bán hàng: thông tin phân quyền người dùng, danh mục nhân sự theo phòng ban, danh mục sản phẩm, hồ sơ liên lạc khách hàng, bảng báo giá và chứng từ hóa đơn.

Thiết kế và triển khai

Hệ thống được thiết kế theo kiến trúc phân hệ tích hợp trên nền tảng Odoo, với cơ sở dữ liệu quan hệ được ánh xạ từ các mô hình phân tích UML.

Hạng mục thiết kế Chi tiết kỹ thuật triển khai
Nền tảng cốt lõi Odoo ERP (Mã nguồn mở)
Hệ quản trị cơ sở dữ liệu Cơ sở dữ liệu tích hợp sẵn của Odoo
Môi trường hoạt động Mạng nội bộ (LAN) hoặc Mạng diện rộng (WAN)
Công cụ mô hình hóa Diagrams.net (draw.io)
Các phân hệ chức năng Đăng nhập/Xác thực, Quản lý tài khoản, Quản lý nhân sự, Quản lý sản phẩm, Quản lý khách hàng, Quản lý nhóm bán hàng, Quản lý báo giá, Quản lý hóa đơn
Tài liệu thiết kế UML Bảng đặc tả Use Case, Activity Diagram, Sequence Diagram, Class Diagram, ERD

Quy trình kiểm thử và tích hợp được hoạch định theo 2 cấp độ:

  • Kiểm tra đơn vị (Unit Testing): Tiến hành kiểm tra độc lập từng module và sửa lỗi phát sinh ngay sau giai đoạn hiện thực hóa mã nguồn.
  • Kiểm tra hệ thống (System Testing): Tích hợp toàn bộ hệ thống để đánh giá sự tương tác giữa các phân hệ, bao gồm kiểm tra trước khi có sản phẩm (Verification) và kiểm tra sau khi có sản phẩm (Validation) nhằm đảm bảo hệ thống vận hành trơn tru trước khi chuyển giao.

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

CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI

Chương này trình bày cơ sở lý luận, bối cảnh lựa chọn đề tài và phân tích toàn diện về mô hình phát triển phần mềm được áp dụng trong đồ án:

  • Lý do chọn đề tài và ý nghĩa thực tiễn: Khẳng định vai trò của việc tin học hóa hoạt động bán hàng đối với cả người sử dụng hệ thống (nâng cao hiệu suất, giảm thiểu sai sót) và sinh viên thực hiện (tích lũy kinh nghiệm phân tích, thiết kế và làm việc nhóm).
  • Phân tích 5 giai đoạn của Mô hình Thác nước (Waterfall Model):
    1. Phân tích yêu cầu (Requirements definition): Giai đoạn thu thập và làm rõ các yêu cầu về chức năng, hiệu năng và giao diện từ người dùng.
    2. Thiết kế hệ thống và phần mềm (System and software design): Chuyển đổi yêu cầu thành bản vẽ kiến trúc phần mềm tổng thể và mô hình dữ liệu chi tiết theo 3 mức độ thiết kế.
    3. Hiện thực và kiểm tra modules (Implementation and unit testing): Chuyển hóa thiết kế thành chương trình và tiến hành thử nghiệm cô lập các đoạn mã.
    4. Tích hợp và kiểm tra hệ thống (Integration and system testing): Ráp nối các đơn vị chương trình, thực hiện kiểm thử toàn diện thông qua hai cơ chế Verification và Validation.
    5. Chuyển giao và bảo trì (Operation and maintenance): Đưa phần mềm vào môi trường thực tế, khắc phục các lỗi phát sinh và tiến hành nâng cấp theo yêu cầu vận hành.
  • Đánh giá mô hình: Tác giả phân tích ưu điểm (quy trình rõ ràng, tiêu chí đầu vào/đầu ra minh bạch, dễ kiểm soát chất lượng trong dự án nhỏ) và nhược điểm (kém linh hoạt khi có thay đổi yêu cầu, chuyển giao sản phẩm muộn). Lý do chọn Waterfall thay vì Scrum là do quy mô dự án nhỏ, số lượng thành viên và thời gian thực hiện có hạn.
  • Tổng quan công nghệ: Giới thiệu cấu trúc mở của Odoo ERP và công cụ vẽ biểu đồ Diagrams.net.

CHƯƠNG II . PHÂN TÍCH HỆ THỐNG

Chương 2 là nội dung trọng tâm của báo cáo, cung cấp các đặc tả chi tiết và mô hình hóa trực quan cho 8 ca sử dụng (Use Case) chính:

Tên chức năng / Use Case Tác nhân (Actor) Mô tả tóm tắt luồng sự kiện chính
Đăng nhập Người dùng Nhập Email và mật khẩu; kiểm tra tính hợp lệ; truy cập trang chủ. Hỗ trợ luồng phụ "Đặt lại mật khẩu".
Quản lý tài khoản (người dùng) Người quản lý Xem danh sách, tạo mới tài khoản với 3 danh mục thông tin (Quyền truy cập, Tùy chỉnh cá nhân, Bảo mật tài khoản), sửa, xóa, đổi mật khẩu, tìm kiếm.
Quản lý nhân viên Người quản lý Tạo mới hồ sơ nhân viên qua 4 biểu mẫu (Thông tin cơ bản, Tab công việc, Thông tin cá nhân, Cài đặt nhân sự); thực hiện sửa, xóa, tìm kiếm theo phòng ban/công ty.
Quản lý sản phẩm Admin, Nhân viên quản lý Nhập mới dữ liệu sản phẩm đa chiều (Thông tin chung, Bán hàng, Mua hàng, Kế toán); thực hiện tìm kiếm, chỉnh sửa và xóa sản phẩm có hộp thoại xác nhận.
Quản lý khách hàng Quản lý, Nhân viên Tạo hồ sơ đối tác (Tên, địa chỉ, điện thoại, email, thông tin liên lạc, bán hàng/mua hàng, hóa đơn, ghi chú nội bộ); lọc dữ liệu theo "Bộ lọc" hoặc "Nhóm theo".
Quản lý nhóm bán hàng Người quản lý Tạo lập cơ cấu nhóm bán hàng, cập nhật thành viên, chỉnh sửa hoặc xóa nhóm phục vụ công tác phân bổ doanh số.
Quản lý báo giá Quản lý, Nhân viên Thiết lập và theo dõi các bản báo giá gửi cho đối tác khách hàng theo quy trình duyệt.
Quản lý hóa đơn Quản lý, Kế toán Tạo lập, lưu trữ và theo dõi các chứng từ hóa đơn phát sinh từ đơn hàng bán.

Song song với bảng đặc tả Use Case, chương này xây dựng hệ thống lược đồ Sequence Diagram tương ứng cho từng chức năng, lược đồ Activity Diagram cho các luồng nghiệp vụ phức tạp, cùng sơ đồ quan hệ thực thể (ERD) và Biểu đồ lớp (Class Diagram) mô tả cấu trúc dữ liệu tổng thể.

CHƯƠNG III. THAO TÁC TRÊN PHẦN MỀM ODOO

Chương này trình bày kết quả thực nghiệm và hướng dẫn quy trình thao tác người dùng trực tiếp trên giao diện của phần mềm Odoo, bao gồm các phân hệ:

  1. Quản lý đăng nhập: Giao diện đăng nhập hệ thống và xử lý cấp lại mật khẩu.
  2. Quản lý khách hàng: Thao tác tạo mới, tra cứu danh bạ và phân nhóm đối tác.
  3. Quản lý người dùng: Cấu hình thông tin tài khoản và thiết lập phân quyền truy cập.
  4. Quản lý nhân viên: Thiết lập sơ đồ tổ chức, thông tin cá nhân và phòng ban.
  5. Quản lý nhóm bán hàng: Phân chia các đội ngũ kinh doanh trên hệ thống.
  6. Quản lý sản phẩm: Quản lý danh mục hàng hóa, giá bán và cấu hình kế toán liên quan.
  7. Quản lý báo giá: Quy trình tạo lập, chỉnh sửa và xác nhận báo giá bán hàng.

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

  • Kết quả đạt được:
    • Xây dựng hoàn chỉnh hồ sơ phân tích thiết kế hệ thống hướng đối tượng bao gồm 8 Use Case đặc tả chi tiết kèm theo các kịch bản chính (Basic Course), kịch bản rẽ nhánh (Alternative Paths) và kịch bản xử lý ngoại lệ (Exception Paths).
    • Hoàn thiện hệ thống các biểu đồ thiết kế UML: Biểu đồ hoạt động, Biểu đồ tuần tự (Sequence Diagram), Biểu đồ lớp (Class Diagram) và Lược đồ quan hệ thực thể (ERD).
    • Triển khai và cấu hình thành công các chức năng quản lý bán hàng thực tế trên nền tảng Odoo ERP.
  • Đóng góp của đề tài:
    • Về mặt ứng dụng: Đề xuất một mô hình quản lý bán hàng có cấu trúc rõ ràng, hỗ trợ các cửa hàng nhỏ thay thế phương thức quản lý sổ sách truyền thống, giảm thiểu sai sót khi nhập liệu và xử lý thông tin.
    • Về mặt học thuật và đào tạo: Thể hiện quy trình vận dụng chuẩn mực mô hình Thác nước (Waterfall Model) và phương pháp MoSCoW vào một bài toán công nghệ phần mềm cụ thể.

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

  • Hạn chế:
    • Phạm vi chức năng của phần mềm mới dừng lại ở quy mô nhỏ, tập trung vào quản lý bán hàng và chưa tích hợp sâu các phân hệ phức tạp như quản lý chi tiết nhập xuất kho hàng (Inventory) hay điểm bán hàng tại quầy (POS).
    • Việc áp dụng mô hình Thác nước bộc lộ tính kém linh hoạt khi có sự thay đổi về yêu cầu trong quá trình phát triển, đồng thời sản phẩm chỉ được nhìn thấy và đánh giá hoàn chỉnh ở giai đoạn cuối của chu trình.
  • Hướng phát triển:
    • Nghiên cứu tích hợp thêm các phân hệ quản lý kho chuyên sâu và phân hệ POS bán lẻ tại quầy trên Odoo.
    • Hoàn thiện các tính năng thống kê báo cáo doanh thu tự động và mở rộng khả năng tùy biến giao diện cho các mô hình kinh doanh đặc thù.

Giá trị tham khảo

Báo cáo học phần này là tài liệu tham khảo phù hợp cho:

  • Sinh viê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 đồ án môn học hoặc khóa luận tốt nghiệp về đề tài quản lý bán hàng.
  • Người học cần tài liệu mẫu chuẩn mực về cách viết đặc tả ca sử dụng (Use Case Specification), xây dựng kịch bản luồng sự kiện (Basic, Alternative, Exception paths) và thiết kế hệ thống biểu đồ UML.
  • Các cá nhân, nhóm nghiên cứu bước đầu tìm hiểu cách thức tùy biến và khai thác các phân hệ quản trị kinh doanh trên nền tảng mã nguồn mở Odoo.

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

1. Đề tài áp dụng mô hình phát triển phần mềm nào và vì sao lại lựa chọn mô hình đó?
Nhóm tác giả lựa chọn Mô hình Thác nước (Waterfall Model - 1970). Lý do lựa chọn là vì đề tài có quy mô nhỏ, số lượng thành viên thực hiện hạn chế và thời gian có hạn, do đó tính tuần tự, rõ ràng theo từng bước của Waterfall mang lại sự ổn định và dễ quản lý hơn so với quy trình tiếp cận Scrum.

2. Nền tảng công nghệ chính được sử dụng để xây dựng phần mềm là gì?
Hệ thống sử dụng nền tảng ERP mã nguồn mở Odoo cùng hệ quản trị cơ sở dữ liệu tích hợp của Odoo. Công cụ trực tuyến Diagrams.net (draw.io) được sử dụng để vẽ và thiết kế toàn bộ hệ thống sơ đồ kỹ thuật UML.

3. Phạm vi chức năng của phần mềm bao gồm những phân hệ nào?
Phần mềm bao gồm 8 chức năng cốt lõi: Đăng nhập, Quản lý tài khoản người dùng, Quản lý nhân viên, Quản lý sản phẩm, Quản lý khách hàng, Quản lý nhóm bán hàng, Quản lý báo giá và Quản lý hóa đơn. Đề tài không tập trung nhiều vào quản lý nhập xuất kho chi tiết hay quản lý tại quầy.

4. Phương pháp MoSCoW được áp dụng trong đề tài với mục đích gì?
Phương pháp MoSCoW được sử dụng làm tiêu chí lựa chọn và phân loại nhu cầu của hệ thống, nhằm ưu tiên hoàn thiện chính xác nhất các chức năng cơ bản trước rồi mới nâng cấp dần các chức năng đi kèm.

5. Các luồng ngoại lệ (Exception Paths) được xử lý như thế nào trong đặc tả chức năng?
Văn bản đưa ra các kịch bản ngoại lệ cụ thể cho từng Use Case, ví dụ: báo lỗi "Sai tên đăng nhập/mật khẩu" hoặc "Không tìm thấy tài khoản..." ở chức năng Đăng nhập; thông báo trường thông tin bị thiếu ở Quản lý tài khoản/nhân viên; xử lý trường hợp mất kết nối mạng (E) hoặc dữ liệu không hợp lệ (E1) ở Quản lý sản phẩm; và cảnh báo lỗi "Invalid fields: Tên" ở Quản lý khách hàng khi để trống trường tên.

Kết luận

Báo cáo môn học "Xây dựng phần mềm quản lý bán hàng" của sinh viên Khoa Công nghệ Thông tin - Trường Đại học Sài Gòn đã hoàn thành đầy đủ các giai đoạn phân tích, thiết kế và thực thi hệ thống theo quy trình mô hình Thác nước chuẩn mực. Thông qua việc đặc tả chi tiết 8 Use Case nghiệp vụ và hiện thực hóa các chức năng trên nền tảng ERP Odoo, đề tài đã đưa ra giải pháp tin học hóa thiết thực cho công tác quản trị bán hàng của các cửa hàng. Đây là công trình học tập nghiêm túc, cung cấp hệ thống tài liệu phân tích thiết kế hướng đối tượng có giá trị ứng dụng và tham khảo cao cho sinh viên ngành kỹ thuật phần mềm.