Bối cảnh và vấn đề nghiên cứu
Trong xu thế ứng dụng công nghệ thông tin vào công tác vận hành thương mại, mô hình bán lẻ tại các cửa hàng tạp hóa và siêu thị mini đang đối mặt với yêu cầu hiện đại hóa để thay thế các quy trình thủ công truyền thống. Tại nhiều cơ sở kinh doanh quy mô vừa và nhỏ, việc quản lý hàng hóa, doanh thu và kiểm soát xuất - nhập kho vẫn chủ yếu dựa trên sổ sách, biên nhận viết tay hoặc bảng tính cá nhân. Phương thức này bộc lộ nhiều bất cập như tốn kém thời gian ghi chép, dễ nhầm lẫn khi đối chiếu công nợ, khó khăn trong việc tra cứu tồn kho tức thời và lập báo cáo tài chính định kỳ.
Khóa luận thực hiện nghiên cứu thực tiễn tại Siêu thị MiNi Kim Ngân (địa chỉ tại xã Tam Xuân 2, huyện Núi Thành, tỉnh Quảng Nam). Cơ sở có quy mô nhân sự gồm 6 người (1 chủ cửa hàng kiêm kế toán và 5 nhân viên), hoạt động liên tục từ 5h00 đến 22h00 hàng ngày. Toàn bộ khâu kiểm đếm, ghi sổ thanh toán, lập đơn hàng và tổng kết doanh số tại đây trước đó đều thực hiện bằng giấy bút và máy tính bỏ túi. Đồng thời, tác giả nhận định rằng phần lớn các phần mềm quản lý bán hàng thông thường trên thị trường hiện nay chưa tích hợp tính năng nhận diện khuôn mặt trong phân quyền truy cập, thiếu giải pháp phân tán dữ liệu và chưa áp dụng mã hóa bảo mật thông tin bằng khóa bí mật. Từ bối cảnh thực tế đó, đề tài "Xây dựng phần mềm Quản lý siêu thị MiNi kết hợp nhận diện" được thực hiện.
Mục tiêu nghiên cứu của đề tài gồm 3 nội dung được đánh số cụ thể:
- Hiểu rõ về quá trình nhận diện khuôn mặt.
- Phân tích, thiết kế và xây dựng được hệ thống quản lý Siêu Thị MiNi.
- Kết hợp được nhận diện khuôn mặt vào trong phần mềm.
Đối tượng và phạm vi nghiên cứu:
- Đối tượng nghiên cứu: Phân tích và thiết kế hệ thống thông tin theo phương pháp hướng đối tượng; quy trình nghiệp vụ bán lẻ và kỹ thuật nhận diện thị giác máy tính.
- Phạm vi nghiên cứu: Xây dựng phần mềm quản lý dành riêng cho các cửa hàng, siêu thị mini quy mô vừa và nhỏ, thử nghiệm tại Siêu thị MiNi Kim Ngân (Núi Thành, Quảng Nam); mốc thời gian hoàn thành khóa luận là tháng 05 năm 2022.
Cơ sở lý thuyết và phương pháp
Khóa luận dựa trên các khối kiến thức lý thuyết về kỹ thuật phần mềm, hệ quản trị cơ sở dữ liệu, an toàn thông tin và thị giác máy tính:
- Ngôn ngữ lập trình C# và nền tảng .NET: C# được Anders Hejlsberg phát triển từ năm 2001 thuộc Microsoft, là ngôn ngữ hướng đối tượng thuần túy hỗ trợ đóng gói, kế thừa, đa hình và trừu tượng. Quá trình thực thi của C# trải qua các giai đoạn: mã nguồn được trình biên dịch chuyển thành ngôn ngữ trung gian MSIL (Microsoft Intermediate Language) lưu trong tệp thực thi (.exe), sau đó trình biên dịch Just In Time (JIT Compiler) của .NET Framework chuyển đổi MSIL thành mã máy khi vận hành.
- Hệ quản trị cơ sở dữ liệu Microsoft SQL Server 2019: Là hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) dùng ngôn ngữ truy vấn T-SQL tiêu chuẩn, hỗ trợ quản lý các giao dịch kinh doanh, lưu trữ có cấu trúc và kết nối ổn định với các ứng dụng Windows Forms.
- Tổng quan về nhận diện khuôn mặt (Face Recognition): Là lĩnh vực thuộc thị giác máy tính (Computer Vision) và sinh trắc học (Biometrics). Quá trình nhận diện gồm 4 bước kỹ thuật cơ bản:
- Phát hiện khuôn mặt (Face detection): Định vị khuôn mặt từ ảnh hoặc luồng video và cắt phần mặt (face cropping).
- Tiền xử lý ảnh (Preprocessing): Căn chỉnh khuôn mặt (face image alignment) và chuẩn hóa ánh sáng (illumination normalization).
- Trích chọn đặc trưng (Feature extraction): Áp dụng các thuật toán như mẫu nhị phân cục bộ (Local Binary Pattern - LBP) hoặc Gabor wavelets để trích xuất véc-tơ đặc trưng.
- Nhận diện (Recognition): Xác định danh tính theo bài toán 1 - N (Identification) hoặc xác thực tính trùng khớp giữa hai khuôn mặt theo bài toán 1 - 1 (Verification).
Khóa luận cũng ghi nhận các khó khăn cố hữu của bài toán nhận diện: góc chụp (chụp nghiêng, xoay), biểu cảm, sự che khuất (kính, râu), sự thay đổi ánh sáng, điều kiện lão hóa theo thời gian và bài toán mở rộng quy mô dữ liệu.
- Thư viện thị giác máy tính OpenCV và EmguCV: OpenCV là thư viện mã nguồn mở C++ chứa hơn 2.500 thuật toán tối ưu hóa. EmguCV đóng vai trò là .NET wrapper đa nền tảng cho phép mã nguồn C# gọi trực tiếp các giải thuật xử lý ảnh và nhận dạng khuôn mặt từ OpenCV.
- Lý thuyết mã hóa khóa bí mật (Mã hóa đối xứng): Phương pháp sử dụng chung một khóa duy nhất cho cả quá trình mã hóa (bên gửi) và giải mã (bên nhận), tiêu biểu là tiêu chuẩn DES (Data Encryption Standard) do IBM phát triển năm 1977.
Phương pháp nghiên cứu thực tế được triển khai:
- Phương pháp khảo sát và phỏng vấn: Thiết lập kế hoạch khảo sát sơ bộ và phỏng vấn trực tiếp chủ cơ sở Siêu thị MiNi Kim Ngân (ngày 01/05/2021, thời lượng 30 phút) nhằm thu thập số liệu vận hành, biểu mẫu hóa đơn xuất - nhập và các quy tắc quản lý doanh thu.
- Phương pháp phân tích hệ thống hướng đối tượng (OOAD): Sử dụng chuẩn mô hình hóa UML để xây dựng sơ đồ use case tổng quát, các sơ đồ tuần tự (sequence diagrams), sơ đồ cộng tác (collaboration diagrams) và sơ đồ chuyển trạng thái (state machine diagrams) cho từng thực thể.
Thiết kế và triển khai
Hệ thống được phát triển dưới dạng phần mềm ứng dụng Desktop (Windows Forms) trên nền tảng .NET, áp dụng mô hình phân tách logic ba lớp:
- Tầng giao diện (GUI): Xây dựng hệ thống bảng nhập liệu, hộp thoại tương tác, màn hình tích hợp camera thu nhận hình ảnh và hệ thống đồ thị thống kê doanh thu.
- Tầng xử lý nghiệp vụ (BUS - Business Logic Layer): Kiểm tra tính hợp lệ của dữ liệu, điều phối logic nghiệp vụ xuất nhập hàng, tính toán chiết khấu và thực hiện thuật toán xử lý ảnh nhận diện.
- Tầng truy cập dữ liệu (DAO - Data Access Object Layer): Đóng gói các câu truy vấn T-SQL kết nối và tương tác trực tiếp với cơ sở dữ liệu Microsoft SQL Server 2019.
| Nhóm chức năng (Mô hình Ri) |
Mã định danh |
Mô tả chi tiết các tác vụ kỹ thuật |
| Quản lý hệ thống |
R1 |
Đăng nhập bằng mật khẩu (R1.1), đăng nhập bằng nhận diện khuôn mặt qua webcam (R1.2), đổi mật khẩu (R1.3). |
| Quản lý sản phẩm |
R2 |
Thêm sản phẩm thủ công, thêm sản phẩm bằng tệp Excel, tìm kiếm và cập nhật thông tin sản phẩm. |
| Quản lý loại sản phẩm |
R3 |
Thêm thủ công, nhập dữ liệu từ tệp Excel, tìm kiếm, sửa đổi và xóa loại sản phẩm. |
| Quản lý kho hàng |
R4 |
Cập nhật thông tin kho, nhập dữ liệu kho từ Excel, tìm kiếm vị trí kho và theo dõi hàng xuất - nhập. |
| Chương trình khuyến mãi |
R5 |
Quản lý danh mục khuyến mãi, thêm mới, sửa, xóa và liên kết mặt hàng khuyến mãi. |
| Quản lý nhân viên & Lương |
R6, R10 |
Thêm/sửa/tìm kiếm nhân viên, nhập danh sách từ Excel, cập nhật bảng tính lương, xóa bảng lương tháng. |
| Quản lý đối tác |
R7, R8, R9 |
Quản lý thông tin nhà cung cấp (R7), phân loại nhóm khách hàng (R8), quản lý hồ sơ khách hàng (R9). |
| Hóa đơn nhập - xuất |
R11, R12 |
Tạo hóa đơn, thêm/sửa/xóa chi tiết dòng hàng, in ấn biểu mẫu hóa đơn và quản lý công nợ hóa đơn. |
| Báo cáo và thống kê |
R13 |
Thống kê số dư - tiêu thụ, doanh số ngoài kho, lượng tiền thu chi, lợi nhuận, công nợ hai chiều. |
Phân quyền người dùng (Actors) trong hệ thống gồm:
- Người quản lý (Chủ siêu thị): Có toàn quyền cấu hình nhân sự, tính toán tiền lương, thiết lập biểu giá, theo dõi công nợ nhà cung cấp, duyệt hóa đơn và khai thác tất cả các biểu mẫu báo cáo thống kê chuyên sâu.
- Nhân viên: Thực hiện lập hóa đơn nhập hàng, hóa đơn bán lẻ (xuất hàng), cập nhật danh mục khách hàng, tìm kiếm vị trí hàng hóa trong kho và thực hiện thanh toán tại quầy.
- Khách hàng: Tác nhân thụ hưởng tương tác ngoại vi (mua sắm, kiểm tra hóa đơn thanh toán).
Hệ thống thiết kế 15 lớp đối tượng nghiệp vụ (Classes/Objects) gồm: Loại hàng, Mặt hàng, Người dùng, Nhân viên, Lương, Phiếu xuất, Chi tiết phiếu xuất, Phiếu nhập, Chi tiết phiếu nhập, Loại khách hàng, Khách hàng, Nhà cung cấp, Kho, Chương trình khuyến mãi, Chương trình khuyến mãi_Mặt hàng.
Yêu cầu môi trường vận hành (Phi chức năng):
- Hệ điều hành: Microsoft Windows 7, Windows 8, Windows 10.
- Hệ quản trị cơ sở dữ liệu: Microsoft SQL Server 2019.
- Phần cứng: Dung lượng ổ đĩa khả dụng tối thiểu 100 MB, trang bị camera máy tính để phục vụ luồng nhận diện khuôn mặt.
Nội dung chính theo từng chương
Chương 1: Cơ sở lý thuyết
Chương 1 trình bày tổng quan về các nền tảng kỹ thuật được lựa chọn. Tác giả đi sâu vào các mục tiêu thiết kế của C# theo chuẩn ECMA, phân tích quy trình biên dịch thông qua mã trung gian MSIL và cơ chế Just In Time Compiler. Đối với cơ sở dữ liệu SQL Server, chương phân tích tính năng quản trị dữ liệu, báo cáo BI và công cụ SQL Server Management Studio. Trọng tâm của chương là lý thuyết nhận diện khuôn mặt trong thị giác máy tính: cấu trúc 4 bước (phát hiện, tiền xử lý, trích chọn đặc trưng, nhận dạng), phân tích ưu thế của phương pháp tiếp cận cục bộ (Local Binary Pattern) so với phương pháp tiếp cận toàn cục (PCA, LDA), cùng các hạn chế khi khuôn mặt bị che khuất hoặc biến đổi góc chụp. Chương kết thúc bằng phần giới thiệu thư viện OpenCV, wrapper EmguCV và nguyên lý mã hóa khóa bí mật đối xứng (chuẩn DES).
Chương 2: Khảo sát và phân tích hệ thống
Chương 2 mô tả chi tiết hiện trạng kinh doanh tại Siêu thị MiNi Kim Ngân. Tác giả lập bảng chi tiết kế hoạch phỏng vấn (thời gian 30 phút, ngày 01/05/2021) với chủ cửa hàng, ghi lại mẫu phiếu phỏng vấn 9 câu hỏi xoay quanh cách lưu trữ sổ sách, hình thức thanh toán tiền mặt và biểu mẫu hóa đơn nhập - xuất. Từ dữ liệu thu thập, chương đưa ra yêu cầu bài toán và phân rã thành mô hình chức năng Ri (từ R1 đến R13). Phần phân tích hệ thống được cụ thể hóa bằng hệ thống sơ đồ UML: sơ đồ use case tổng quát, danh mục 15 thực thể nghiệp vụ, đặc tả kịch bản tương tác (đăng nhập bằng khuôn mặt, thêm sản phẩm, tìm kiếm kho, cập nhật nhân viên, thống kê số dư), kèm theo hệ thống sơ đồ tuần tự (sequence diagrams), sơ đồ cộng tác (collaboration diagrams) và sơ đồ chuyển trạng thái (state machine diagrams) của các lớp dữ liệu.
Chương 3: Thiết kế và cài đặt hệ thống
Chương 3 trình bày kết quả thiết kế cơ sở dữ liệu quan hệ, mối quan hệ ràng buộc khóa chính - khóa ngoại giữa các bảng nghiệp vụ và cấu trúc giao diện tương tác. Tác giả xây dựng các mẫu giao diện hộp thoại, giao diện nhập liệu dạng điền và dạng câu hỏi đóng, tích hợp chức năng đọc tệp Excel. Phần cài đặt mã nguồn minh họa các đoạn mã quan trọng bằng C#: đoạn mã thực hiện thuật toán mã hóa khóa bí mật, đoạn mã điều khiển camera phát hiện khuôn mặt và nhận dạng người dùng thông qua EmguCV. Về mặt hiển thị, chương đưa ra danh sách các màn hình giao diện thực tế của phần mềm: giao diện đăng nhập bảo mật bằng khuôn mặt, quản lý hóa đơn xuất/nhập, hệ thống báo cáo lợi nhuận, thống kê dòng tiền và biểu đồ sản phẩm bán chạy.
Kết quả và đóng góp
Khóa luận hoàn thành việc xây dựng ứng dụng phần mềm Windows Forms hoàn chỉnh phục vụ công tác bán lẻ tại siêu thị mini, kết nối đồng bộ với cơ sở dữ liệu SQL Server 2019.
Các kết quả chức năng cụ thể được ghi nhận trong văn bản gồm:
- Tự động hóa chu trình bán lẻ: Xóa bỏ quy trình ghi sổ tay truyền thống; số hóa việc tạo hóa đơn xuất, hóa đơn nhập, quản lý công nợ khách hàng và nhà cung cấp, hỗ trợ in hóa đơn trực tiếp và nhập danh mục sản phẩm số lượng lớn thông qua tệp Excel.
- Tích hợp xác thực sinh trắc học: Triển khai thành công chức năng đăng nhập tài khoản bằng camera thông qua nhận diện khuôn mặt kết hợp thư viện EmguCV, song song với cơ chế đăng nhập mật khẩu truyền thống và đổi mật khẩu.
- Hệ thống thống kê đa chiều: Cung cấp 10 hình thức báo cáo - thống kê dưới cả hai dạng trực quan (dạng biểu đồ và dạng bảng dữ liệu chi tiết), bao gồm: lượng tiền ra vào trong ngày, số dư và số lượng tiêu thụ hàng hóa, lương nhân viên, sản phẩm theo nhà cung cấp, thống kê lợi nhuận theo tháng, sản phẩm bán chạy, công nợ hóa đơn nhập, công nợ hóa đơn xuất, danh sách hàng nhập chưa về kho và theo dõi doanh số ngoài kho.
So sánh đóng góp với các công trình nghiên cứu trước được tác giả nêu trong văn bản:
| Công trình nghiên cứu trước |
Tác giả & Đơn vị thực hiện |
Giới hạn kỹ thuật mà khóa luận chỉ ra |
Đóng góp mới của khóa luận này |
| Quản lý bán hàng siêu thị |
Nguyễn Đức Hồ (Viện Đại Học Mở Hà Nội) |
Chỉ dừng ở việc phân tích và thiết kế hệ thống theo hướng đối tượng thông thường, quản lý bán hàng cơ bản. |
Tích hợp thành công mô-đun nhận diện khuôn mặt bằng camera (EmguCV) vào phần đăng nhập hệ thống. |
| Quản lý bán hàng trong siêu thị |
Trần Thanh Hoa, Đậu Văn Thắng (Đại Học Bách Khoa Hà Nội) |
Chỉ tập trung vào mô hình hóa phân tích thiết kế hệ thống thông tin, chưa có xác thực sinh trắc học. |
Bổ sung phương thức bảo mật qua mã hóa khóa bí mật và tự động hóa nhập liệu hàng loạt qua Excel. |
| Phân tích thiết kế chương trình việc mua bán lẻ ở siêu thị |
Nhóm 08 (Trường Đại Học Cần Thơ, 2008 – 2009) |
Dừng lại ở cấp độ bài tập lớn/môn học về mô hình hóa UML, thiếu module nhận diện và bảo mật mở rộng. |
Xây dựng phần mềm hoàn chỉnh chạy thực tế với hệ thống thống kê 10 dạng biểu đồ/bảng tại cửa hàng Kim Ngân. |
Hạn chế và hướng nghiên cứu tiếp
Dựa trên nội dung và phạm vi nghiên cứu được tác giả trình bày trong khóa luận:
-
Hạn chế:
- Phần mềm được thiết kế và triển khai dưới dạng ứng dụng cục bộ trên môi trường máy tính Windows Forms (chạy trên hệ điều hành Windows 7/8/10), chưa phát triển phiên bản nền tảng web hoặc ứng dụng di động.
- Quá trình khảo sát và kiểm thử hệ thống chỉ thực hiện tại một cơ sở kinh doanh cụ thể là Siêu thị MiNi Kim Ngân, chưa tiến hành thử nghiệm trên mạng lưới nhiều siêu thị mini có quy mô và quy trình kế toán phức tạp hơn.
- Module nhận diện khuôn mặt sử dụng thư viện EmguCV còn phụ thuộc vào góc chụp của camera, điều kiện chiếu sáng tại quầy và độ phân giải hình ảnh, vốn là các thách thức kỹ thuật của bài toán sinh trắc học chưa được xử lý triệt để trong môi trường thiếu kiểm soát.
- Chưa hỗ trợ cơ chế cơ sở dữ liệu phân tán hoàn chỉnh giữa nhiều chi nhánh.
-
Hướng nghiên cứu tiếp:
- Tối ưu hóa thuật toán nhận diện khuôn mặt để nâng cao tính ổn định khi người dùng thay đổi biểu cảm, góc nghiêng hoặc trong điều kiện thiếu sáng.
- Nghiên cứu phát triển mở rộng hệ thống lên nền tảng đám mây hoặc web/mobile app nhằm hỗ trợ quản lý giám sát từ xa.
- Nghiên cứu triển khai cơ sở dữ liệu phân tán đồng bộ giữa nhiều cửa hàng trong cùng một chuỗi bán lẻ.
Giá trị tham khảo
Báo cáo khóa luận có giá trị tham khảo rõ ràng cho các nhóm đối tượng:
- Sinh viên ngành Công nghệ thông tin và Kỹ thuật phần mềm: Là tài liệu mẫu về quy trình phát triển phần mềm chuẩn mực từ khâu điều tra thực tế, lập phiếu phỏng vấn nghiệp vụ, đến phân tích thiết kế hướng đối tượng (OOAD) sử dụng công cụ mô hình hóa UML (use case, sequence, collaboration, state chart).
- Lập trình viên C# / .NET: Cung cấp tài liệu tham khảo thực tế về cách tích hợp thư viện EmguCV để xử lý ảnh số và nhận dạng khuôn mặt trên ứng dụng Windows Forms, cũng như giải pháp kết nối tầng dữ liệu với Microsoft SQL Server 2019.
- Chủ cơ sở hoặc nhà phát triển phần mềm bán lẻ quy mô vừa và nhỏ: Cung cấp tài liệu khảo sát chi tiết về các biểu mẫu quản lý luồng hàng (hóa đơn xuất/nhập, kiểm soát công nợ, tính lương nhân viên theo ca và quản lý doanh số ngoài kho).
Câu hỏi thường gặp
Khóa luận khảo sát dữ liệu thực tế tại đơn vị nào và quy mô nhân sự tại đó ra sao?
Nghiên cứu khảo sát thực tế tại Siêu thị MiNi Kim Ngân, có địa chỉ tại xã Tam Xuân 2, huyện Núi Thành, tỉnh Quảng Nam. Cơ sở này do cô Kim Ngân làm chủ kiêm kế toán, có 5 nhân viên (1 nhân viên đứng quầy thu ngân, 2 nhân viên soạn hàng đưa khách, 2 nhân viên phụ trách giao hàng và đi mua hàng). Vào các ngày thường, siêu thị duy trì 1 chủ cửa hàng và 2 nhân viên trực; các dịp lễ sẽ thuê thêm nhân viên làm theo ca. Siêu thị hoạt động từ 5h00 đến 22h00.
Chức năng nhận diện khuôn mặt trong khóa luận được triển khai bằng công nghệ nào?
Chức năng nhận dạng khuôn mặt được lập trình trên ngôn ngữ C# kết hợp thư viện EmguCV (thư viện cross-platform .NET wrapper của OpenCV). Cơ chế xử lý lấy luồng hình ảnh trực tiếp từ camera/webcam của máy tính, thực hiện phát hiện khuôn mặt (face detection), cắt vùng mặt (face cropping) và so khớp đặc trưng để xác thực quyền truy cập tại màn hình đăng nhập hệ thống.
Hệ thống phân rã các yêu cầu chức năng theo mô hình nào và gồm bao nhiêu nhóm chính?
Hệ thống chuẩn hóa các yêu cầu chức năng thành mô hình ký hiệu Ri, gồm 13 nhóm chức năng lớn từ R1 đến R13: Quản lý hệ thống (R1), Quản lý sản phẩm (R2), Quản lý loại sản phẩm (R3), Quản lý kho (R4), Quản lý chương trình khuyến mãi (R5), Quản lý nhân viên (R6), Quản lý nhà cung cấp (R7), Quản lý loại khách hàng (R8), Quản lý khách hàng (R9), Quản lý lương nhân viên (R10), Quản lý hóa đơn nhập (R11), Quản lý hóa đơn xuất (R12) và Báo cáo thống kê (R13).
Yêu cầu kỹ thuật phi chức năng để triển khai phần mềm là gì?
Phần mềm yêu cầu môi trường vận hành gồm hệ điều hành Microsoft Windows 7, Windows 8 hoặc Windows 10; hệ quản trị cơ sở dữ liệu Microsoft SQL Server 2019; dung lượng bộ nhớ ổ đĩa trống tối thiểu đạt 100 MB và máy tính cần tích hợp thiết bị thu hình (camera) để thực hiện nhận diện sinh trắc học.
Kết luận
Khóa luận tốt nghiệp "Xây dựng phần mềm Quản lý siêu thị MiNi kết hợp nhận diện" của sinh viên Lê Trần Kim Thảo đã giải quyết trọn vẹn bài toán tin học hóa hoạt động quản lý bán hàng cho mô hình siêu thị mini vừa và nhỏ dựa trên khảo sát thực tế tại cơ sở Kim Ngân (Quảng Nam). Đề tài kết hợp phương pháp phân tích thiết kế hướng đối tượng chặt chẽ bằng chuẩn UML với kiến trúc 3 lớp trên nền tảng C# và Microsoft SQL Server 2019. Điểm mới của công trình nằm ở việc tích hợp thành công mô-đun nhận diện khuôn mặt qua EmguCV và cơ chế mã hóa bảo mật thông tin, tạo nên một giải pháp quản lý bán lẻ có tính ứng dụng thực tiễn rõ rệt.