Bối cảnh và vấn đề nghiên cứu
Trong thế kỷ 21, ngành Công nghệ thông tin (CNTT) ghi nhận sự phát triển mạnh mẽ và thâm nhập sâu rộng vào mọi hoạt động quản lý của đời sống kinh tế - xã hội. Kéo theo xu hướng này là sự gia tăng đột biến về nhu cầu sử dụng máy tính, linh kiện điện tử và các trang thiết bị vật tư công nghệ. Thị trường kinh doanh máy tính ngày càng đa dạng về mẫu mã, chủng loại, cấu hình và nguồn gốc xuất xứ, đòi hỏi quy trình phân phối và lưu thông hàng hóa phải diễn ra với khối lượng giao dịch lớn và liên tục.
Tuy nhiên, tại nhiều cửa hàng và doanh nghiệp bán lẻ hiện nay, công tác vận hành vẫn phụ thuộc chủ yếu vào các phương thức thủ công như ghi chép hóa đơn bằng sổ sách hoặc theo dõi số liệu rời rạc qua phần mềm bảng tính Excel. Thực trạng này bộc lộ nhiều hạn chế nghiêm trọng:
- Việc kiểm soát số lượng hàng nhập, hàng bán, tra cứu số lượng tồn kho và quản lý công nợ thường xuyên xảy ra sai sót, thất thoát dữ liệu.
- Quy trình tra cứu thông tin sản phẩm và tư vấn lắp ráp các bộ máy tính để bàn (PC) theo tầm giá và nhu cầu khách hàng tiêu tốn nhiều thời gian.
- Khối lượng dữ liệu quản lý gia tăng nhanh chóng khiến việc tổng hợp báo cáo thu chi, doanh số và lợi nhuận định kỳ cho ban quản lý gặp nhiều khó khăn, làm giảm hiệu suất làm việc chung của doanh nghiệp.
Xuất phát từ thực tiễn trên, nhóm sinh viên thuộc ngành Công nghệ thông tin - Ứng dụng phần mềm tại Trường Cao đẳng FPT Polytechnic Hà Nội đã thực hiện đề tài "Xây dựng phần mềm quản lý cửa hàng bán máy tính" trong khuôn khổ môn học Nhập Môn Kỹ Thuật Phần Mềm (SOF102). Mục tiêu cốt lõi của đề tài được xác định cụ thể bao gồm:
- Giúp nhân viên tư vấn thực hiện xây dựng cấu hình PC cho khách hàng nhanh chóng và chính xác.
- Giúp doanh nghiệp quản lý tập trung và đồng bộ thông tin nhân viên, khách hàng và nhà cung cấp.
- Giúp doanh nghiệp quản lý hiệu quả kho hàng, kiểm soát nhập - xuất - tồn theo mã hàng và số định danh.
- Giúp doanh nghiệp tối ưu hóa hiệu suất làm việc của các phòng ban và cắt giảm tối đa chi phí vận hành.
Phạm vi nghiên cứu và triển khai của đề tài tập trung vào việc giải quyết bài toán nghiệp vụ bán lẻ và phân phối linh kiện máy tính, hỗ trợ xây dựng cấu hình thiết bị, xử lý đơn hàng, xuất hóa đơn, quản lý kho nhiều chi nhánh và thống kê tài chính nội bộ.
Cơ sở lý thuyết và phương pháp
Khung lý thuyết và các khái niệm kỹ thuật
Đề tài dựa trên các nguyên lý kỹ thuật phần mềm tiêu chuẩn để xây dựng Bản Đặc tả Yêu cầu Phần mềm (Software Requirements Specification - SRS). Các thuật ngữ và mô hình cốt lõi được áp dụng trong tài liệu gồm:
- Cơ sở dữ liệu (Database/CSDL): Tập hợp dữ liệu có tổ chức, được lưu trữ và truy cập điện tử phục vụ lưu trữ thông tin sản phẩm, giao dịch và người dùng.
- Hệ quản trị cơ sở dữ liệu Microsoft SQL Server: Hệ quản trị CSDL quan hệ được sử dụng để quản lý dữ liệu toàn hệ thống.
- Java và Java Swing: Ngôn ngữ lập trình hướng đối tượng kết hợp với thư viện giao diện đồ họa để phát triển ứng dụng máy tính (Desktop App).
- Mô hình thực thể kết hợp (ERD - Entity Relationship Diagram): Mô hình hóa cấu trúc dữ liệu và các mối liên kết thực thể trong hệ thống.
- Mô hình Use Case và Activity Diagram (Biểu đồ hoạt động): Công cụ phân tích yêu cầu nghiệp vụ, mô tả sự tương tác giữa các tác nhân (Actor) với hệ thống và luồng xử lý chi tiết của từng nghiệp vụ.
- Chuẩn hóa dữ liệu (NF - Normal Forms): Áp dụng các dạng chuẩn 1NF, 2NF và 3NF nhằm loại bỏ dư thừa dữ liệu và đảm bảo tính toàn vẹn quan hệ.
Phương pháp nghiên cứu và thu thập dữ liệu
Nhóm tác giả đã triển khai phương pháp khảo sát thực tế thông qua hình thức gọi điện thoại phỏng vấn sâu trực tiếp cơ sở kinh doanh linh kiện máy tính để nắm bắt quy trình vận hành thực tế.
| Tiêu chí khảo sát |
Thông tin chi tiết |
| Hình thức khảo sát |
Gọi điện thoại phỏng vấn |
| Đối tượng khảo sát |
Cửa hàng linh kiện máy tính của anh Phạm Quang Dương / Công ty TNHH Máy Tính Dương Quyền |
| Địa chỉ khảo sát |
Quán Mỹ, Tân Dân, Sóc Sơn, Hà Nội (Hotline: 0918617222) |
| Thời gian khảo sát |
Từ ngày 31/10/2022 đến ngày 01/11/2022 |
| Nhân sự thực hiện |
Lập kế hoạch: Bùi Xuân Quyền, Trần Viết Thành An; Thực hiện phỏng vấn: Nguyễn Kim Tuấn Dũng |
Kết quả khảo sát cho thấy cơ sở chưa có phần mềm chuyên dụng, đang gặp bất tiện do ghi chép thủ công; hàng hóa được phân theo kệ và nhóm; linh kiện lỗi được tách riêng gửi trả hãng sản xuất; bảo hành thực hiện tức thì trừ lỗi do người dùng (cháy nổ, ẩm mốc, vào nước); thu chi được tổng hợp theo từng tháng; việc kiểm kê kho thực hiện theo mã hàng và số lượng tồn.
Phương pháp phát triển phần mềm
Dự án áp dụng phương pháp luận Agile (Agile Software Development). Tác giả đã phân tích các đặc trưng của mô hình này:
- Ưu điểm: Thích hợp cho các dự án có mục tiêu linh hoạt, cho phép điều chỉnh yêu cầu ngay cả khi kế hoạch ban đầu đã hình thành; tiếp cận theo hướng lặp (iterative), giúp rút ngắn thời gian bàn giao tính năng và đạt chất lượng tốt trong thời gian ngắn.
- Nhược điểm: Khó xác định chính xác thời hạn và chi phí cố định ngay từ đầu; đòi hỏi các thành viên tham gia tích cực vào tiến độ hằng ngày; không phù hợp với các hệ thống quy mô quá lớn có ràng buộc cứng nhắc.
Thiết kế và triển khai
Môi trường vận hành và công nghệ phát triển
Hệ thống được thiết kế để chạy trên môi trường đa nền tảng với các yêu cầu kỹ thuật và công cụ xác định:
- Công cụ lập trình và quản lý: NetBeans IDE, Microsoft SQL Server 2008+, Git/GitHub, Trello (quản trị tiến độ), Draw.io (vẽ sơ đồ).
- Ngôn ngữ và giao diện: Ngôn ngữ Java, xây dựng giao diện ứng dụng trên nền tảng Java Swing.
- Cơ sở dữ liệu: Microsoft SQL Server phiên bản từ 2008 trở lên.
- Yêu cầu phần cứng tối thiểu: CPU Intel Core i5 thế hệ thứ 5 trở lên, dung lượng RAM tối thiểu 4GB, dung lượng đĩa cứng trống (ổ C:) tối thiểu 1GB.
- Hệ điều hành tương thích: Windows XP trở lên, macOS và Linux.
- Hạ tầng kết nối: Thiết bị cài đặt ứng dụng bắt buộc phải kết nối mạng LAN cục bộ hoặc Internet để đồng bộ và truy xuất cơ sở dữ liệu.
Phân công nhân sự thực hiện dự án
Nhóm tác giả gồm 5 thành viên thuộc lớp Ứng dụng phần mềm (UDPM) được phân bổ vai trò cụ thể:
| STT |
Họ và tên |
Mã sinh viên |
Chức vụ trong dự án |
| 1 |
Bùi Xuân Quyền |
PH22714 |
Lập trình viên (Developer) |
| 2 |
Đỗ Hồng Kiên |
PH21883 |
Lập trình viên (Developer) |
| 3 |
Nguyễn Kim Tuấn Dũng |
PH22502 |
Lập trình viên (Developer) |
| 4 |
Phạm Quang Dương |
PH22671 |
Kiểm thử viên (Tester) |
| 5 |
Trần Viết Thành An |
PH22740 |
Kiểm thử viên (Tester) |
Thiết kế mô hình phân tích và giao diện hệ thống
- Phân quyền và đặc điểm tác nhân (Actor):
- Kế toán: Kiểm tra, giám sát thu/chi, quản lý phiếu nhập kho, xuất kho, kiểm kê hàng tồn, lập hóa đơn và theo dõi tổng hợp tài chính.
- Bộ phận quản lý kho: Cập nhật số lượng linh kiện hàng ngày, xử lý điều chuyển kho và nhập xuất bằng mã Serial/IMEI kèm máy quét mã vạch (barcode).
- Bộ phận bán hàng: Tư vấn khách hàng tại quầy hoặc tiếp nhận đơn hàng, chuyển tiếp đơn hàng sang kế toán để xuất hóa đơn bán lẻ hoặc bán buôn.
- Bộ phận kỹ thuật: Tiếp nhận bảo hành sản phẩm, phối hợp tư vấn xây dựng các cấu hình PC tối ưu theo ngân sách khách hàng yêu cầu.
- Mô hình Use Case và Activity Diagram: Tài liệu xây dựng Use Case tổng quát và Use Case chi tiết, kết hợp biểu đồ phân cấp chức năng. Hệ thống thiết lập 9 biểu đồ hoạt động (Activity Diagram) chi tiết cho các nghiệp vụ:
- Thêm khách hàng
- Sửa thông tin khách hàng
- Xóa khách hàng
- Tìm kiếm khách hàng
- Báo cáo thống kê
- Quản lý nhà cung cấp (NCC)
- Quản lý nhân viên (QLNV)
- Quản lý sản phẩm (QLSP)
- Quản lý hóa đơn
- Thiết kế màn hình giao diện (UI Design): Hệ thống bao gồm các giao diện chính: Màn hình Trang chủ, Giao diện Quản lý bán hàng, Màn hình Hóa đơn và Hóa đơn chi tiết, Màn hình Quản lý nhà cung cấp và Chi tiết nhà cung cấp.
Nội dung chính theo từng chương
Bản Đặc tả Yêu cầu Phần mềm (SRS) phiên bản 1.0 được cấu trúc thành 8 phần nội dung chính cùng các phụ lục đính kèm:
PHẦN 1: GIỚI THIỆU ĐỀ TÀI – HỆ THỐNG
Nội dung phần này xác định toàn bộ thông tin cơ sở của dự án:
- Lý do chọn đề tài, quy ước định dạng văn bản (phông chữ Times New Roman, cỡ chữ 12, căn lề trái), bảng giải thích thuật ngữ chuyên ngành.
- Mục tiêu và phạm vi áp dụng của hệ thống.
- Báo cáo kết quả khảo sát thực tế tại Công ty TNHH Máy Tính Dương Quyền.
- Mô tả hiện trạng quy trình nghiệp vụ: Quản lý bán lẻ (Đơn đặt hàng → Kiểm duyệt → Hóa đơn bán lẻ → Xuất kho IMEI → Công nợ/Thanh toán); Quản lý bán hàng phân phối (Đơn bán hàng SO → Kiểm tra tồn kho/công nợ → Kiểm duyệt → Chốt đơn → Lập phiếu bán buôn → Xuất hóa đơn → Cập nhật vận chuyển → Theo dõi thanh toán); Quản lý nhập kho (Kế hoạch → Đơn đặt → Duyệt → Chốt → Cập nhật hàng trên đường đi → Kiểm duyệt nhập kho → Công nợ); Quản lý chính sách giá đa chi nhánh và quản lý tài chính (sổ quỹ, ngân hàng, dòng tiền).
- Kế hoạch khởi tạo, phân công nhân sự, lựa chọn mô hình Agile và đánh giá tính khả thi.
- Quy định các ràng buộc thực thi, môi trường vận hành và các giả định phụ thuộc về mạng.
PHẦN 2: PHÂN TÍCH VÀ THIẾT KẾ
Trình bày chi tiết hệ thống hóa mô hình kỹ thuật phần mềm:
- Biểu đồ Use Case tổng quát và các Use Case phân rã theo từng phân hệ.
- Hệ thống 9 biểu đồ hoạt động (Activity Diagram) mô tả tuần tự các bước xử lý dữ liệu và điều kiện rẽ nhánh từ giao diện người dùng đến tầng dữ liệu.
- Thiết kế bố cục giao diện ứng dụng Java Swing cho từng tác vụ chính (Trang chủ, Bán hàng, Hóa đơn chi tiết, Nhà cung cấp).
PHẦN 3: DATABASE
Tập trung vào cấu trúc tầng dữ liệu của hệ thống:
- Xác định danh sách các thực thể nghiệp vụ.
- Thiết lập sơ đồ thực thể liên kết (ER/ERD) mô tả mối quan hệ giữa các bảng dữ liệu.
- Quy trình chuẩn hóa cơ sở dữ liệu qua các bước 1NF, 2NF và 3NF nhằm loại bỏ các phụ thuộc hàm không hợp lệ và hạn chế tối đa trùng lặp thông tin.
PHẦN 4: CÁC CHỨC NĂNG
Đặc tả chi tiết các nhóm tính năng phần mềm đáp ứng yêu cầu người dùng:
- Chức năng quản lý sản phẩm (danh mục, thông số kỹ thuật, linh kiện PC).
- Chức năng quản lý xuất, nhập kho (hỗ trợ Serial/IMEI).
- Chức năng bán hàng (bán lẻ tại quầy, xuất phiếu bán buôn).
- Chức năng quản lý khuyến mãi.
- Chức năng báo cáo bán hàng.
- Chức năng báo cáo tồn kho.
- Chức năng báo cáo thống kê doanh thu, tài chính.
PHẦN 5: CÁC PHI CHỨC NĂNG
Quy định các tiêu chuẩn chất lượng và ràng buộc vận hành hệ thống:
- Yêu cầu về tính sẵn sàng: Hệ thống duy trì hoạt động ổn định trong mạng nội bộ.
- Yêu cầu về an toàn và bảo mật: Phân quyền truy cập theo vai trò (kế toán, kho, bán hàng, kỹ thuật), lưu trữ dữ liệu an toàn.
- Các đặc điểm chất lượng: Khả năng mở rộng kích thước CSDL để lưu trữ khối lượng giao dịch lớn, hỗ trợ sao lưu định kỳ.
- Quy tắc nghiệp vụ kiểm tra tính hợp lệ khi xuất - nhập và lập hóa đơn.
PHẦN 6: KIỂM THỬ
Xác định kế hoạch và phương pháp kiểm thử phần mềm do hai kiểm thử viên Phạm Quang Dương và Trần Viết Thành An phụ trách, nhằm đảm bảo các luồng chức năng trên giao diện Java Swing thực thi chính xác với CSDL SQL Server.
PHẦN 7: TỔNG KẾT
Đánh giá tổng quan quá trình triển khai dự án:
- Tổng kết thời gian phát triển và mức độ hoàn thành các chức năng theo kế hoạch.
- Phân tích các khó khăn, rủi ro gặp phải trong quá trình làm việc nhóm và giải pháp khắc phục.
- Đúc kết các bài học kinh nghiệm về kỹ thuật lập trình và quản lý dự án phần mềm.
- Định hướng kế hoạch bảo trì và nâng cấp trong tương lai.
PHẦN 8: YÊU CẦU KHÁC VÀ PHỤ LỤC
Tập hợp các yêu cầu bổ sung và các mục Phụ lục (Phụ lục A: Kế hoạch trong tương lai, Phụ lục B, Phụ lục C) phục vụ việc hoàn thiện dự án.
Kết quả và đóng góp
- Xây dựng hoàn chỉnh bản đặc tả yêu cầu phần mềm: Đề tài đã hoàn thành bản tài liệu SRS phiên bản 1.0 (phê chuẩn ngày 31/10/2022) với bố cục 8 phần khoa học, chuẩn hóa toàn bộ thuật ngữ, quy ước tài liệu và mô hình phân tích cho bài toán quản lý bán máy tính.
- Hệ thống hóa toàn diện các quy trình nghiệp vụ bán lẻ và kho vận: Tài liệu đã chi tiết hóa thành công các luồng xử lý phức tạp của ngành hàng công nghệ:
- Quản lý hàng hóa theo định danh duy nhất (Serial/IMEI) và mã vạch (Barcode), giải quyết triệt để bài toán theo dõi lịch sử bảo hành linh kiện.
- Tách biệt và liên kết chặt chẽ giữa hai quy trình bán lẻ và bán buôn (phân phối SO) gắn liền với kiểm tra công nợ và tình trạng vận chuyển hàng.
- Thiết lập cơ chế đồng bộ và quản lý chính sách giá linh hoạt giữa nhiều kho và chi nhánh.
- Đóng góp về mặt giải pháp công nghệ: Thay thế toàn bộ phương thức ghi chép hóa đơn giấy và bảng tính rời rạc bằng một hệ thống cơ sở dữ liệu quan hệ được chuẩn hóa (3NF), giúp giảm thiểu thời gian tra cứu, tránh nhầm lẫn tồn kho và hỗ trợ nhân viên kỹ thuật dễ dàng cấu hình máy tính cho khách hàng.
Hạn chế và hướng nghiên cứu tiếp
Hạn chế
- Dự án được phát triển trong khuôn khổ môn học SOF102 với quy mô nhóm nhỏ, thời gian khảo sát thực tế diễn ra ngắn (từ 31/10 đến 01/11/2022 tại một cơ sở kinh doanh cụ thể).
- Ứng dụng xây dựng trên nền tảng Java Swing dành cho máy tính để bàn (Desktop App), phụ thuộc vào kết nối mạng LAN/Internet cục bộ và chưa mở rộng giao diện nền tảng web hoặc ứng dụng di động hoàn chỉnh.
- Việc áp dụng mô hình Agile trong dự án nhỏ khiến việc kiểm soát cố định chi phí và thời hạn phát triển cần sự phối hợp liên tục của tất cả thành viên.
Hướng nghiên cứu tiếp (theo Phụ lục A)
- Mở rộng cấu trúc cơ sở dữ liệu SQL Server để đáp ứng quy mô chuỗi cửa hàng lớn hơn và khối lượng giao dịch mở rộng.
- Bổ sung cơ chế tự động hóa sao lưu dữ liệu theo thời gian định sẵn lên các nền tảng lưu trữ đám mây.
- Tích hợp khả năng liên kết và chia sẻ dữ liệu với các hệ sinh thái phần mềm kế toán hoặc thương mại điện tử khác.
Giá trị tham khảo
Bản đặc tả yêu cầu phần mềm của đề tài là tài liệu tham khảo hữu ích cho:
- Sinh viên ngành Công nghệ thông tin và Ứng dụng phần mềm: Làm tài liệu mẫu về cấu trúc, quy cách trình bày một bản SRS chuẩn mực cho đồ án môn học Kỹ thuật phần mềm hoặc đồ án tốt nghiệp.
- Nhóm phát triển phần mềm quản lý bán hàng: Tham khảo quy trình phân tích nghiệp vụ bán lẻ linh kiện máy tính, cách thức xây dựng các biểu đồ Use Case, Activity Diagram (9 luồng nghiệp vụ) và mô hình hóa dữ liệu quản lý kho theo Serial/IMEI.
- Các cơ sở kinh doanh máy tính quy mô vừa và nhỏ: Nắm bắt quy chuẩn số hóa quy trình quản lý bán hàng, nhập kho, quản lý tài chính và hỗ trợ tư vấn lắp ráp máy tính.
Câu hỏi thường gặp
1. Đề tài khảo sát thực tế tại đơn vị kinh doanh nào để lấy yêu cầu nghiệp vụ?
Dự án tiến hành khảo sát thông qua phỏng vấn qua điện thoại tại cơ sở kinh doanh của anh Phạm Quang Dương - Công ty TNHH Máy Tính Dương Quyền (địa chỉ: Quán Mỹ, Tân Dân, Sóc Sơn, Hà Nội; Hotline: 0918617222) vào ngày 31/10 và 01/11/2022.
2. Hệ thống phần mềm được xây dựng bằng công nghệ và công cụ nào?
Phần mềm được phát triển trên ngôn ngữ Java với giao diện Java Swing, sử dụng hệ quản trị cơ sở dữ liệu Microsoft SQL Server 2008+, kết hợp các công cụ hỗ trợ gồm NetBeans IDE, Draw.io, Trello và GitHub.
3. Hệ thống hỗ trợ những đối tượng người dùng nào và phân quyền ra sao?
Hệ thống thiết kế cho 4 nhóm người dùng chính: Kế toán (theo dõi thu chi, kho, hóa đơn, báo cáo); Quản lý kho (nhập xuất, kiểm kê linh kiện hàng ngày); Nhân viên bán hàng (tư vấn, lên đơn bán lẻ/buôn); Nhân viên kỹ thuật (tiếp nhận bảo hành, xây dựng cấu hình PC).
4. Yêu cầu phần cứng và hệ điều hành tối thiểu để vận hành phần mềm là gì?
Hệ thống yêu cầu máy tính trang bị CPU Intel Core i5 thế hệ thứ 5 trở lên, dung lượng RAM tối thiểu 4GB, ổ cứng trống tối thiểu 1GB (ổ C:), chạy trên hệ điều hành Windows XP trở lên, macOS hoặc Linux và có kết nối mạng LAN/Internet.
5. Điểm đặc thù trong quy trình quản lý kho và bán hàng của phần mềm là gì?
Phần mềm quản lý chi tiết hàng hóa bằng số Serial/IMEI, hỗ trợ máy quét mã vạch (barcode), cho phép quản lý nhiều chi nhánh với chính sách giá riêng biệt hoặc đồng bộ, đồng thời hỗ trợ nhân viên tư vấn lắp ráp các bộ PC theo nhiều phân khúc giá.
Kết luận
Bản Đặc tả Yêu cầu Phần mềm (SRS) phiên bản 1.0 của đề tài "Quản lý cửa hàng bán máy tính" đã hoàn thành việc khảo sát, phân tích và mô hình hóa toàn diện các yêu cầu nghiệp vụ thực tế trong kinh doanh thiết bị công nghệ. Tài liệu thiết lập đầy đủ khung phân tích kỹ thuật từ Use Case, Activity Diagram, thiết kế giao diện Java Swing đến cấu trúc CSDL SQL Server chuẩn hóa. Đây là cơ sở kỹ thuật vững chắc để nhóm sinh viên triển khai xây dựng và kiểm thử phần mềm, đáp ứng tốt mục tiêu môn học Nhập Môn Kỹ Thuật Phần Mềm tại Cao đẳng FPT Polytechnic.