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

Trong xu thế chuyển đổi số và phát triển mạnh mẽ của Công nghệ Thông tin, việc ứng dụng tin học vào công tác quản lý kinh doanh đã trở thành yêu cầu thiết yếu nhằm giảm thiểu sức người, tiết kiệm chi phí, tối ưu hóa thời gian và khắc phục triệt để các nhược điểm của phương thức quản lý bằng sổ sách truyền thống. Quản lý thủ công thường bộc lộ nhiều bất cập như chiếm dụng không gian lưu trữ tài liệu, dễ thất lạc dữ liệu, tỷ lệ sai sót số liệu cao và gây khó khăn lớn cho việc tra cứu, tìm kiếm thông tin nhanh chóng.

Đề tài "Xây dựng phần mềm quản lý cửa hàng bán máy tính HC" được thực hiện xuất phát từ yêu cầu quản lý thực tế tại Cửa hàng máy tính HC — một đơn vị chuyên kinh doanh bán lẻ các dòng máy tính mới (100%), máy tính đã qua sử dụng (độ mới 96% – 99%) và cung cấp dịch vụ sửa chữa phần cứng tại thị trường miền Bắc và Hà Nội. Việc mở rộng phương thức kinh doanh cả trực tiếp lẫn trực tuyến đòi hỏi cửa hàng phải sở hữu một công cụ quản lý chuyên biệt, chính xác và đồng bộ.

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

  1. Quản lý thông tin chi tiết các mặt hàng và dòng máy tính kinh doanh (mã hàng, loại, xuất xứ, hãng sản xuất, số lượng, giá bán, ghi chú).
  2. Quản lý toàn diện quy trình nhập và xuất hàng hóa, kiểm soát chặt chẽ số lượng và thời gian phát sinh giao dịch.
  3. Kiểm soát lượng hàng tồn kho tại từng thời điểm nhằm hỗ trợ lập kế hoạch kinh doanh và nhập hàng chính xác.
  4. Quản lý hồ sơ nhân sự, bảng lương và thông tin khách hàng phục vụ công tác chăm sóc khách hàng thân thiết.
  5. Thống kê, tổng hợp doanh thu, hóa đơn bán lẻ, phiếu nhập/xuất kho theo tuần, tháng, quý phục vụ công tác điều hành của cấp quản lý.

Đố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, quản lý kho, quản lý nhân sự, đối tác và công tác kế toán - thống kê tại cửa hàng bán lẻ máy tính.
  • Phạm vi nghiên cứu: Xây dựng ứng dụng phần mềm quản lý chạy trên môi trường máy tính để bàn (Desktop Application) cho Cửa hàng máy tính HC; thời gian triển khai kế hoạch dự án và phân tích từ tháng 10/2022 đến tháng 12/2022 tại Khoa Công nghệ Thông tin, Trường Đại học Điện Lực.

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

Đề tài áp dụng các nền tảng lý thuyết phát triển phần mềm và công cụ phân tích thiết kế hệ thống theo tiêu chuẩn công nghệ phần mềm:

  • Khung lý thuyết và công nghệ: Nền tảng .NET Framework, mô hình phát triển phần mềm hướng đối tượng (OOP), ngôn ngữ lập trình C# (C Sharp) kết hợp công nghệ xây dựng giao diện người dùng Windows Forms. Hệ thống sử dụng hệ quản trị cơ sở dữ liệu quan hệ Microsoft SQL Server 2012 để tổ chức lưu trữ và xử lý truy vấn qua thủ tục lưu trữ (Stored Procedures).
  • Phương pháp phân tích và mô hình hóa: Sử dụng ngôn ngữ mô hình hóa thống nhất UML (Unified Modeling Language) để trực quan hóa kiến trúc hệ thống, bao gồm: Biểu đồ ca sử dụng (Use Case Diagram), Biểu đồ phân rã chức năng (Functional Decomposition Diagram), Biểu đồ luồng dữ liệu (Data Flow Diagram - DFD) mức ngữ cảnh, Biểu đồ hoạt động (Activity Diagram) và Biểu đồ trình tự (Sequence Diagram).
  • Phương pháp quản lý dự án: Áp dụng mô hình cấu trúc phân rã công việc (Work Breakdown Structure - WBS), phương pháp ước lượng chi phí, thời gian và nhân lực theo từng giai đoạn vòng đời dự án.
  • Phương pháp kiểm thử phần mềm: Kết hợp phương pháp kiểm thử hộp đen (Black box testing) và kiểm thử hộp trắng (White box testing). Trong đó, các kỹ thuật kiểm thử hộp đen trọng tâm bao gồm Phân vùng tương đương (Equivalence Partitioning) và Phân tích giá trị biên (Boundary Value Analysis - BVA) dựa trên quy trình mô hình thác nước (Waterfall Model).
  • Nguồn dữ liệu: Dữ liệu khảo sát thực tế từ cơ cấu tổ chức, biểu mẫu chứng từ, hóa đơn bán hàng, phiếu nhập kho và danh mục sản phẩm của Cửa hàng máy tính HC.

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

Chương 1: Khảo sát hiện trạng và mô tả bài toán

Chương này tập trung khảo sát hoạt động thực tế tại Cửa hàng máy tính HC, nêu rõ các gói sản phẩm và dịch vụ sửa chữa phần cứng. Tác giả phân tích đặc tả chi tiết các luồng nghiệp vụ chính của cửa hàng:

  • Quy trình bán hàng: Nhân viên tư vấn sản phẩm, kế toán/thu ngân lập hóa đơn (ngày mua, mã hàng, tên hàng, đơn vị, số lượng, đơn giá, thành tiền, tổng tiền) và bàn giao cho khách hàng.
  • Quy trình nhập hàng: Kế toán kiểm tra số lượng tồn kho, thông báo quản lý lập đơn nhập từ nhà cung cấp có xuất xứ rõ ràng và lưu phiếu chuyển kho.
  • Quy trình quản lý nhân viên và khách hàng: Quản lý thông tin định danh, lịch sử giao dịch và phân quyền chức năng.
  • Xác định yêu cầu hệ thống: Hệ thống phải đảm bảo các yêu cầu chức năng (thêm, sửa, xóa, tìm kiếm, đăng nhập bảo mật, theo dõi xuất - nhập - tồn, sao lưu phục hồi dữ liệu) và các yêu cầu phi chức năng (tốc độ xử lý nhanh, bảo mật dữ liệu, giao diện thân thiện, tương thích hệ điều hành).

Chương 2: Quản lý dự án

Chương 2 thiết lập kế hoạch triển khai dự án hoàn chỉnh thông qua việc ước lượng ba nguồn lực cốt lõi:

  • Ước lượng chi phí: Phân bổ chi phí dự toán cho từng công đoạn như khảo sát (1.000 VNĐ), khởi tạo (2.000 VNĐ), lập kế hoạch phạm vi (1.000 VNĐ), thiết kế giao diện (3.000 VNĐ), viết mã module (4.000 VNĐ), kiểm thử và sửa lỗi (2.000 VNĐ).
  • Ước lượng thời gian: Dự toán tổng thời gian theo từng hạng mục công việc (khảo sát: 2 ngày; mô tả kiến trúc: 5 ngày; viết code module: 5 ngày; kiểm thử: 3 ngày; hoàn thiện và bàn giao: các mốc 1 ngày).
  • Ước lượng nhân sự: Phân bổ nhân sự thực hiện độc lập cho từng gói nhiệm vụ phân tích, thiết kế, lập trình, kiểm thử và chuyển giao.
  • Lập lịch và theo dõi tiến độ: Bản kế hoạch triển khai chi tiết từ ngày 20/10/2022 đến ngày 19/12/2022 gồm 8 nhóm công việc chính (Khảo sát, Phân tích thiết kế, Lập CSDL, Xây dựng đăng nhập, Xây dựng chức năng hệ thống, Kiểm thử, Cài đặt phần mềm, Tích hợp và bảo trì).
Nhóm công việc Nhiệm vụ chính Thời gian bắt đầu Thời gian kết thúc
Công việc 1 Khảo sát dự án, phân tích yêu cầu, lập kế hoạch phạm vi 20/10/2022 25/10/2022
Công việc 2 Phân tích quy trình nghiệp vụ, lập sơ đồ Use Case, Activity 01/11/2022 04/11/2022
Công việc 3 Phân tích đối tượng, xây dựng thuộc tính và thiết lập CSDL 05/11/2022 16/11/2022
Công việc 4 Thiết kế form và lập trình chức năng đăng nhập 18/11/2022 22/11/2022
Công việc 5 Thiết kế form, viết Stored Procedures, code chức năng 23/11/2022 30/11/2022
Công việc 6 Kiểm thử giao diện, kiểm thử nhập liệu và toàn hệ thống 01/12/2022 06/12/2022
Công việc 7 Viết báo cáo module và biên soạn tài liệu hướng dẫn sử dụng 07/12/2022 08/12/2022
Công việc 8 Lập kế hoạch bảo trì phần mềm và kết thúc dự án 09/12/2022 19/12/2022

Chương 3: Phân tích

Tác giả tiến hành xác định các tác nhân (Actors) tham gia hệ thống gồm: Chủ cửa hàng/Người quản lý (quản lý toàn quyền, nhân viên, mua bán, mở/đóng hệ thống) và Nhân viên kế toán/Thu ngân (bán hàng, nhập hàng, lập báo cáo thống kê). Nội dung phân tích mô hình hóa chi tiết:

  • Xây dựng Biểu đồ Use Case tổng quát, Biểu đồ phân rã chức năng và Biểu đồ luồng dữ liệu ngữ cảnh.
  • Đặc tả chi tiết ca sử dụng Đăng nhập: Biểu đồ Use Case, Biểu đồ hoạt động và Biểu đồ trình tự kiểm tra tính hợp lệ của tài khoản người dùng.
  • Đặc tả ca sử dụng Quản lý hệ thống / Quản lý kho: Luồng sự kiện thêm, sửa, xóa, tìm kiếm sản phẩm máy tính kèm các biểu đồ hoạt động và biểu đồ trình tự tương ứng.
  • Phân tích ca sử dụng Quản lý nhân viên và Báo cáo thống kê.

Chương 4: Thiết kế giao diện

Chương này mô tả thiết kế chi tiết hệ thống giao diện và cơ sở dữ liệu lưu trữ:

  • Thiết kế form giao diện người dùng: Bao gồm Giao diện đăng nhập, Giao diện chính (Main Form), Giao diện danh mục nhân viên, Giao diện danh mục khách hàng, Giao diện danh mục nhà cung cấp, Giao diện quản lý hóa đơn bán và Giao diện quản lý đơn nhập hàng.
  • Thiết kế cơ sở dữ liệu: Xây dựng mô hình dữ liệu quan hệ và thiết lập cấu trúc cho 7 bảng dữ liệu thành phần (Bảng Máy tính, Bảng Hóa đơn nhập, Bảng Hóa đơn bán, Bảng Hãng sản phẩm, Bảng Nơi sản xuất, Bảng Khách hàng, Bảng Nhân viên).

Chương 5: Lập trình

Trình bày môi trường và công nghệ lập trình được lựa chọn:

  • Môi trường phát triển tích hợp (IDE): Microsoft Visual Studio 2019 hỗ trợ kéo thả thiết kế và tự động sinh mã nguồn.
  • Công nghệ giao diện: Windows Forms trên nền tảng .NET Framework.
  • Ngôn ngữ lập trình: C# (hướng đối tượng hiện đại, thực thi trên Common Language Infrastructure - CLI).
  • Hệ quản trị cơ sở dữ liệu: Microsoft SQL Server 2012 đáp ứng khả năng lưu trữ, truy xuất dữ liệu an toàn và thực thi các Stored Procedures.

Chương 6: Kiểm thử phần mềm

Trình bày lý thuyết và triển khai kiểm thử thực tế cho phần mềm:

  • Định nghĩa và mục tiêu: Đảm bảo phần mềm thỏa mãn đặc tả thiết kế, phát hiện lỗi tiềm ẩn; chi phí kiểm thử chiếm khoảng 40% công sức và từ 30% trở lên tổng thời gian phát triển dự án.
  • Phương pháp và kỹ thuật: Phân tích phương pháp kiểm thử hộp đen (test trên giao diện người dùng) và hộp trắng (kiểm tra cấu trúc mã nguồn qua framework). Trọng tâm áp dụng kỹ thuật Phân vùng tương đương (chia lớp dữ liệu hợp lệ/không hợp lệ) và Phân tích giá trị biên (BVA) tại các điểm giới hạn của dữ liệu đầu vào.
  • Mô hình kiểm thử: Áp dụng mô hình thác nước qua 4 giai đoạn nối tiếp: Phân tích yêu cầu -> Phân tích thiết kế hệ thống -> Lập trình và kiểm thử đơn vị -> Cài đặt và bảo trì.
  • Thiết kế bảng Test Case: Xây dựng bảng kịch bản kiểm thử (Test Code) xác định mã test, mục đích, các bước thực hiện và kết quả mong muốn.

Chương 7: Tích hợp và bảo trì

Trình bày quy trình lắp ráp hoàn chỉnh các module độc lập thành một hệ thống đồng bộ, chạy thử nghiệm toàn diện, kế hoạch bàn giao, phân loại các kiểu bảo trì phần mềm và đề xuất các phương án cải tiến hệ thống trong tương lai.

Thiết kế và triển khai

Hệ thống được thiết kế và triển khai theo mô hình ứng dụng hai lớp (2-tier Desktop Application) đồng bộ giữa giao diện client Windows Forms và hệ cơ sở dữ liệu SQL Server 2012.

Cấu trúc cơ sở dữ liệu quan hệ

Hệ thống lưu trữ được chuẩn hóa thành 7 bảng dữ liệu liên kết chặt chẽ:

STT Tên bảng dữ liệu Mục đích lưu trữ
1 Bảng dữ liệu Máy Tính (TV) Lưu trữ thông tin chi tiết về sản phẩm: mã hàng, tên sản phẩm, số lượng, giá bán, hãng sản xuất, nơi sản xuất, ghi chú.
2 Bảng dữ liệu Hóa đơn nhập Lưu thông tin các đợt nhập hàng: mã phiếu nhập, ngày nhập, mã nhà cung cấp, nhân viên phụ trách, tổng tiền nhập.
3 Bảng dữ liệu Hóa đơn bán Lưu thông tin chứng từ bán hàng: mã hóa đơn, ngày lập, thông tin khách hàng, nhân viên bán lẻ, chi tiết thành tiền.
4 Bảng dữ liệu Hãng sản phẩm Quản lý danh mục các thương hiệu máy tính được phân phối tại cửa hàng.
5 Bảng dữ liệu Nơi sản xuất Quản lý thông tin xuất xứ nguồn gốc của sản phẩm nhập kho.
6 Bảng dữ liệu Khách hàng Lưu trữ hồ sơ định danh: mã khách hàng, họ tên, số điện thoại, ngày sinh, địa chỉ, email phục vụ chăm sóc khách hàng.
7 Bảng dữ liệu Nhân viên Lưu trữ thông tin nhân sự: mã nhân viên, họ tên, giới tính, ngày sinh, địa chỉ, chức vụ, bảng tính lương theo tháng.

Quy trình kiểm thử và hoàn thiện phần mềm

Quy trình kiểm thử được triển khai xuyên suốt theo mô hình thác nước, kết hợp kiểm thử giao diện và kiểm thử luồng dữ liệu:

  • Kiểm thử giao diện: Đánh giá bố cục sắp xếp các form điều khiển, tính tiện dụng của các nút chức năng (Thêm, Sửa, Xóa, Tìm kiếm, Đăng nhập, Báo cáo).
  • Kiểm thử logic nhập xuất dữ liệu: Áp dụng kỹ thuật phân vùng tương đương và giá trị biên để kiểm tra việc nhập dữ liệu kiểu số (đơn giá, số lượng), dữ liệu chuỗi (mã hàng, số điện thoại) và định dạng ngày tháng.
  • Kiểm thử tích hợp hệ thống: Lắp ráp các module riêng biệt vào ứng dụng chính, kiểm tra tính toàn vẹn dữ liệu khi thực thi Stored Procedures trên SQL Server 2012 và khắc phục triệt để các lỗi phát sinh.

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

  • Kết quả đạt được:

    • Xây dựng hoàn chỉnh phần mềm "Quản lý cửa hàng bán máy tính HC" trên nền tảng C# .NET và SQL Server 2012 với đầy đủ 7 phân hệ chức năng: Đăng nhập phân quyền, Quản lý sản phẩm máy tính, Quản lý nhân viên, Quản lý khách hàng, Quản lý nhà cung cấp, Quản lý đơn nhập kho, Quản lý hóa đơn bán lẻ và Báo cáo thống kê doanh thu.
    • Hoàn thành đầy đủ hồ sơ phân tích thiết kế hệ thống theo chuẩn UML (biểu đồ use case tổng quát và chi tiết, biểu đồ hoạt động, biểu đồ trình tự, mô hình dữ liệu quan hệ).
    • Hoàn thiện kế hoạch quản lý dự án chi tiết, phân rã công việc (WBS) gồm 8 nhóm nhiệm vụ cụ thể kéo dài từ ngày 20/10/2022 đến ngày 19/12/2022.
    • Xây dựng hệ thống kịch bản kiểm thử (Test Case) dựa trên kỹ thuật phân vùng tương đương và phân tích giá trị biên.
  • Đóng góp thực tiễn:

    • Cung cấp giải pháp phần mềm chuyên biệt hóa cho mô hình cửa hàng bán lẻ máy tính, thay thế hoàn toàn phương pháp ghi chép sổ sách thủ công.
    • Giảm thiểu sai sót số liệu trong quá trình thanh toán, theo dõi công nợ, quản lý nhân sự và kiểm soát tồn kho tức thời.

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

  • Hạn chế:

    • Phần mềm được xây dựng dưới dạng ứng dụng Desktop (Windows Forms), dữ liệu hoạt động phụ thuộc vào hệ cơ sở dữ liệu cục bộ hoặc mạng nội bộ, chưa hỗ trợ truy cập đa nền tảng qua môi trường Web hay ứng dụng di động.
    • Quy trình phát triển dựa trên mô hình thác nước (Waterfall), dẫn đến nhược điểm là các sai sót từ khâu phân tích/thiết kế ban đầu chỉ được phát hiện đầy đủ ở giai đoạn thử nghiệm cuối cùng của dự án.
  • Hướng phát triển tiếp theo:

    • Cải tiến và tối ưu hóa giao diện người dùng theo hướng hiện đại, thân thiện hơn.
    • Mở rộng chức năng quản lý đồng bộ với kênh bán hàng trực tuyến (Online) trên môi trường Internet.
    • Nâng cấp tính năng tự động sao lưu, phục hồi dữ liệu định kỳ trên máy chủ đám mây để nâng cao tính an toàn và bảo mật hệ thống.

Giá trị tham khảo

Báo cáo đồ án là tài liệu tham khảo thực tế cho:

  • Sinh viên ngành Công nghệ thông tin, Công nghệ phần mềm: Tham khảo cấu trúc hoàn chỉnh của một đồ án môn học Lập trình .NET, từ khâu khảo sát nghiệp vụ, phân tích thiết kế hệ thống bằng UML đến thiết kế giao diện Windows Forms và kiểm thử phần mềm.
  • Người học và nghiên cứu về Quản lý dự án phần mềm: Cung cấp mẫu phân tích ước lượng dự án cụ thể theo ba chiều kích (chi phí, thời gian, nhân lực) và bảng phân rã lịch trình WBS chi tiết cho một dự án phát triển phần mềm vừa và nhỏ.

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

1. Đề tài sử dụng những công nghệ và công cụ chính nào để xây dựng phần mềm?
Phần mềm được phát triển trên môi trường Microsoft Visual Studio 2019, sử dụng ngôn ngữ lập trình hướng đối tượng C# kết hợp nền tảng Windows Forms (.NET Framework). Cơ sở dữ liệu của hệ thống được quản trị trên Microsoft SQL Server 2012 và xử lý truy vấn thông qua Stored Procedures.

2. Cơ sở dữ liệu của phần mềm quản lý cửa hàng máy tính HC gồm những bảng nào?
Hệ thống gồm 7 bảng dữ liệu quan hệ: Bảng dữ liệu Máy Tính (TV), Bảng dữ liệu Hóa đơn nhập, Bảng dữ liệu Hóa đơn bán, Bảng dữ liệu Hãng sản phẩm, Bảng dữ liệu Nơi sản xuất, Bảng dữ liệu Khách hàng và Bảng dữ liệu Nhân viên.

3. Các kỹ thuật kiểm thử nào được áp dụng trong quá trình thử nghiệm phần mềm?
Đồ án áp dụng phương pháp kiểm thử hộp đen và kiểm thử hộp trắng theo mô hình thác nước. Trong đó, kỹ thuật kiểm thử hộp đen sử dụng hai phương pháp chính là Phân vùng tương đương (Equivalence Partitioning) và Phân tích giá trị biên (Boundary Value Analysis - BVA) để thiết kế các kịch bản kiểm thử (Test Case).

4. Kế hoạch quản lý dự án của nhóm tác giả được tổ chức trong khung thời gian nào?
Dự án được phân rã thành 8 nhóm công việc chính và thực hiện trong khoảng thời gian từ ngày 20/10/2022 đến ngày 19/12/2022, trải qua các giai đoạn từ khảo sát yêu cầu, phân tích thiết kế, xây dựng cơ sở dữ liệu, lập trình module, kiểm thử toàn hệ thống, viết tài liệu đến tích hợp và bàn giao.

5. Những tác nhân (Actor) nào tham gia tương tác trực tiếp với hệ thống?
Hệ thống xác định hai nhóm tác nhân chính: Chủ cửa hàng / Người quản lý (toàn quyền quản lý hoạt động mua bán, quản lý thông tin nhân viên, giám sát doanh thu và đóng/mở hệ thống) và Nhân viên kế toán / Thu ngân (thực hiện nghiệp vụ bán hàng, nhập kho, in hóa đơn và lập báo cáo thống kê định kỳ).

Kết luận

Đồ án "Xây dựng phần mềm quản lý cửa hàng bán máy tính HC" đã giải quyết thành công bài toán số hóa quy trình quản lý bán hàng và kho vận cho mô hình bán lẻ thiết bị công nghệ. Báo cáo thể hiện quy trình phát triển phần mềm chặt chẽ từ khảo sát hiện trạng, lập kế hoạch quản lý dự án, mô hình hóa phân tích UML đến hiện thực hóa giao diện trên C# .NET và SQL Server 2012. Đây là tài liệu học thuật có giá trị thực tiễn cao cho sinh viên chuyên ngành Công nghệ phần mềm trong việc củng cố kỹ năng lập trình ứng dụng và quản lý vòng đời dự án phần mềm.