UBND TỈNH QUẢNG NAM TRƯỜNG ĐẠI HỌC QUẢNG NAM KHOA: TOÁN – TIN ---------- LÊ TRẦN KIM THẢO XÂY DỰNG PHẦN MỀM QUẢN LÝ SIÊU THỊ MINI KẾT HỢP NHẬN DIỆN KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC Quảng Nam, tháng 05 năm 2022 UBND TỈNH QUẢNG NAM TRƯỜNG ĐẠI HỌC QUẢNG NAM KHOA: TOÁN – TIN ---------- KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC Tên đề 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 Sinh viên thực hiện LÊ TRẦN KIM THẢO MSSV: 2118100132 CHUYÊN NGÀNH:CÔNG NGHỆ THÔNG TIN KHÓA 2018 – 2022 Cán bộ hướng dẫn ThS. Trần Thị Diệu Hiền MSCB: ……… Quảng Nam, tháng 05 năm 2022 MỤC LỤC 1. Lý do chọn đề tài ........................................................................................................................ 1 2. Mục tiêu của đề tài ..................................................................................................................... 1 3. Đối tượng và phạm vi nghiên cứu ............................................................................................... 2 4. Phương pháp nghiên cứu ............................................................................................................ 2 5. Lịch sử nghiên cứu ..................................................................................................................... 2 6. Đóng góp của đề tài .................................................................................................................... 2 7. Cấu trúc đề tài ............................................................................................................................ 2 PHẦN 2. NỘI DUNG NGHIÊN CỨU ............................................................................................... 4 CHƯƠNG 1: CƠ SỞ LÝ THUYẾT ................................................................................................... 4 1.1. Giới thiệu ngôn ngữ lập trình C# và hệ quản trị cơ sở dữ liệu SQL Server ................................... 4 1.1.1. Ngôn ngữ lập trình C# .................................................................................................... 4 1.1.1.1. Khái niệm ...................................................................................................................... 4 1.1.1.2. Mục tiêu của việc phát triển C# ...................................................................................... 4 1.1.1.3. Đặc trưng của ngôn ngữ lập trình C# .............................................................................. 5 1.1.1.4. Ưu điểm của ngôn ngữ lập trình C# ................................................................................ 5 1.1.1.5. Ứng dụng của ngôn ngữ lập trình C# .............................................................................. 6 1.1.1.6. Quá trình dịch của C#..................................................................................................... 7 1.1.2. Hệ quản trị cơ sở dữ liệu SQL Server .............................................................................. 8 1.1.2.1. Khái niệm ...................................................................................................................... 8 1.1.2.2. Các tính năng của sqlserver ............................................................................................ 8 1.2. Tổng quan về nhận diện khuôn mặt............................................................................................. 9 1.2.1. Giới thiệu về nhận diện khuôn mặt .................................................................................. 9 1.2.2. Các bước của quá trình nhận diện khuôn mặt .................................................................10 1.2.3. Những khó khăn trong bài toán nhận diện khuôn mặt .....................................................10 1.2.4. Một số lĩnh vực ứng dụng ..............................................................................................11 1.2.5. Một số thư viện hỗ trợ nhận diện khuôn mặt trong ngôn ngữ lập trình C# .......................12 1.3. Mã hóa thông tin .......................................................................................................................14 1.2.1. Giới thiệu về mã hóa thông tin .......................................................................................14 1.2.2. Mã hóa bí mật ................................................................................................................15 CHƯƠNG 2: KHẢO SÁT VÀ PHÂN TÍCH HỆ THỐNG ................................................................16 2.1. Khảo sát hệ thống ......................................................................................................................16 2.1.1. Mô tả hiện trạng của hệ thống hiện tại ............................................................................16 2.1.1.1. Giới thiệu hệ thống hiện tại ...........................................................................................16 2.1.1.2. Ưu điểm và khuyết điểm ...............................................................................................16 2.1.2. Hướng phát triển của hệ thống mới ................................................................................17 2.1.3. Lập kế hoạch khảo sát ....................................................................................................17 2.1.3.1. Khảo sát sơ bộ...............................................................................................................17 2.1.3.2. Khảo sát chi tiết ............................................................................................................18 2.1.3.3. Lập báo cáo kết quả thu được ........................................................................................22 2.1.4. Mô tả bài toán ................................................................................................................23 2.1.5. Yêu cầu chức năng.........................................................................................................24 2.1.6. Mô hình Ri ....................................................................................................................25 2.1.7. Đặc tính từng người dùng ..............................................................................................28 2.1.8. Yêu cầu phi chức năng ...................................................................................................28 2.2. Phân tích hệ thống .....................................................................................................................28 2.2.1. Phân tích chức năng .......................................................................................................28 2.2.1.1. Actor .............................................................................................................................28 2.2.1.2. Usecase .........................................................................................................................30 2.2.1.3. Object và class ..............................................................................................................35 2.2.1.4. Sơ đồ tuần tự .................................................................................................................38 2.2.1.5. Sơ đồ cộng tác...............................................................................................................41 2.2.1.6. Sơ đồ trạng thái .............................................................................................................43 2.2.1.7. Sơ đồ hoạt động ............................................................................................................47 2.2.2. Phân tích dữ liệu ............................................................................................................50 2.2.2.1. Sơ đồ E – R ...................................................................................................................50 2.2.2.2. Sơ đồ dữ liệu quan hệ ....................................................................................................51 CHƯƠNG 3: THIẾT KẾ VÀ CÀI ĐẶT HỆ THỐNG .......................................................................52 3.1. Thiết kế hệ thống .......................................................................................................................52 3.1.1. Thiết kế cơ sở dữ liệu .....................................................................................................52 3.1.2. Thiết kế chức năng.........................................................................................................60 3.1.3. Thiết kế giao diện ..........................................................................................................62 3.2. Cài đặt hệ thống ........................................................................................................................64 3.2.1. Một số đoạn code quan trọng .........................................................................................64 3.2.2. Một số giao diện của phần mềm .....................................................................................67 PHẦN 3. KẾT LUẬN VÀ KIẾN NGHỊ ............................................................................................85 PHẦN 4. TÀI LIỆU THAM KHẢO ..................................................................................................86 DANH MỤC HÌNH ẢNH Hình 2.1. Biểu mẫu hóa đơn nhập .....................................................................................................21 Hình 2.2. Biểu mẫu hóa đơn xuất ......................................................................................................22 Hình 2.3. Sơ đồ usecase tổng quát .....................................................................................................30 Hình 2.4. Sơ đồ class ........................................................................................................................37 Hình 2.5. Sơ đồ tuần tự usecase Đăng nhập .......................................................................................38 Hình 2.6. Sơ đồ tuần tự usecase Thêm sản phẩm ...............................................................................38 Hình 2.7. Sơ đồ tuần tự usecase Tìm kiếm kho ..................................................................................39 Hình 2.8. Sơ đồ tuần tự usecase Cập nhập thông tin nhân viên ...........................................................39 Hình 2.9. Sơ đồ tuần tự usecase Xóa nhà cung cấp ............................................................................40 Hình 2.10. Sơ đồ tuần tự usecase Thống kê số dư và số lượng tiêu thụ của sản phẩm .........................40 Hình 2.11. Sơ đồ cộng tác usecase Đăng nhập ...................................................................................41 Hình 2.12. Sơ đồ cộng tác usecase Thêm sản phẩm ...........................................................................41 Hình 2.13. Sơ đồ cộng tác usecase Tìm kiếm kho ..............................................................................42 Hình 2.14. Sơ đồ cộng tác usecase Cập nhập thông tin nhân viên.......................................................42 Hình 2.15. Sơ đồ cộng tác usecase Xóa nhà cung cấp ........................................................................42 Hình 2.16. Sơ đồ cộng tác usecase Thống kê số dư và số lượng tiêu thụ của sản phẩm.......................43 Hình 2.17. Sơ đồ trạng thái class Loại hàng .......................................................................................43 Hình 2.18. Sơ đồ trạng thái class Mặt hàng........................................................................................43 Hình 2.19. Sơ đồ trạng thái class Người dùng ....................................................................................44 Hình 2.20. Sơ đồ trạng thái class Nhân viên ......................................................................................44 Hình 2.21. Sơ đồ trạng thái class Lương ............................................................................................44 Hình 2.22. Sơ đồ trạng thái class Phiếu xuất ......................................................................................45 Hình 2.23. Sơ đồ trạng thái class Chi tiết phiếu xuất ..........................................................................45 Hình 2.24. Sơ đồ trạng thái class Phiếu nhập .....................................................................................45 Hình 2.25. Sơ đồ trạng thái class Chi tiết phiếu nhập .........................................................................46 Hình 2.26. Sơ đồ trạng thái class Loại khách hàng .............................................................................46 Hình 2.27. Sơ đồ trạng thái class Kho................................................................................................46 Hình 2.28. Sơ đồ hoạt động usecase Đăng nhập.................................................................................47 Hình 2.29. Sơ đồ hoạt động usecase Thêm sản phẩm .........................................................................47 Hình 2.30. Sơ đồ hoạt động usecase Tìm kiếm kho............................................................................48 Hình 2.31. Sơ đồ hoạt động usecase Cập nhập thông tin nhân viên ....................................................48 Hình 2.32. Sơ đồ hoạt động usecase Xóa nhà cung cấp ......................................................................49 Hình 2.33. Sơ đồ hoạt động usecase Thống kê số dư và số lượng tiêu thụ của sản phẩm ....................49 Hình 2.34. Sơ đồ E – R .....................................................................................................................50 Hình 2.35. Sơ đồ dữ liệu quan hệ ......................................................................................................51 Hình 3.1. Mối quan hệ giữa các bảng ................................................................................................59 Hình 3.2. Giao diện hộp thoại............................................................................................................62 Hình 3.3. Giao diện nhập dữ liệu dạng điền dữ liệu ...........................................................................63 Hình 3.4. Giao diện nhập dữ liệu dạng câu hỏi (đóng) .......................................................................63 Hình 3.5. Giao diện nhập dữ liệu kết hợp 2 dạng ...............................................................................63 Hình 3.6. Giao diện báo cáo ..............................................................................................................64 Hình 3.7. Code mã hóa bí mật trong C#.............................................................................................64 Hình 3.8. Code phát hiện khuôn mặt trong C# ...................................................................................65 Hình 3.9. Code nhận diện khuôn mặt trong C# ..................................................................................66 Hình 3.10. Code nhận diện khuôn mặt trong C# ................................................................................66 Hình 3.11. Giao diện form đăng nhập ................................................................................................67 Hình 3.12. Giao diện form đăng nhập bằng khuôn mặt ......................................................................68 Hình 3.13. Giao diện form hệ thống quản lý sản phẩm.......................................................................69 Hình 3.14. Giao diện form hệ thống báo cáo thống kê .......................................................................70 Hình 3.15. Giao diện form hệ thống quản lý hóa đơn nhập ................................................................71 Hình 3.16. Giao diện form chi tiết hóa đơn nhập hàng .......................................................................71 Hình 3.17. Giao diện form hệ thống quản lý hóa đơn xuất .................................................................72 Hình 3.18. Giao diện form chi tiết xuất hàng .....................................................................................73 Hình 3.19. Giao diện form thêm sản phẩm ........................................................................................73 Hình 3.20. Giao diện form tạo hóa đơn nhập .....................................................................................74 Hình 3.21. Giao diện form tạo hóa đơn xuất ......................................................................................74 Hình 3.22. Giao diện form cập nhập sản phẩm ..................................................................................75 Hình 3.23. Giao diện form cập nhập hóa đơn nhập ............................................................................75 Hình 3.24. Giao diện form cập nhập hóa đơn xuất .............................................................................76 Hình 3.25. Giao diện form đổi mật khẩu............................................................................................76 Hình 3.26. Giao diện form nhập file excel .........................................................................................77 Hình 3.27. Giao diện form in hóa đơn nhập .......................................................................................77 Hình 3.28. Giao diện form in hóa đơn xuất ........................................................................................77 Hình 3.29. Giao diện form thống kê lượng tiền ra vào dạng biểu đồ...................................................78 Hình 3.30. Giao diện form thống kê lượng tiền ra vào dạng bảng.......................................................78 Hình 3.31. Giao diện form thống kê số dư và số lượng tiêu thụ vào dạng biểu đồ...............................79 Hình 3.32. Giao diện form thống kê số dư và số lượng tiêu thụ vào dạng bảng ..................................79 Hình 3.33. Giao diện form thống kê lương nhân viên ........................................................................80 Hình 3.34. Giao diện form thống kê sản phẩm theo nhà cung cấp ......................................................80 Hình 3.35. Giao diện form thống kê lợi nhuận vào dạng biểu đồ ........................................................81 Hình 3.36. Giao diện form thống kê lợi nhuận vào dạng bảng ............................................................81 Hình 3.37. Giao diện form thống kê sản phẩm bán chạy vào dạng biểu đồ .........................................82 Hình 3.38. Giao diện form thống kê sản phẩm bán chạy vào dạng bảng .............................................82 Hình 3.39. Giao diện form thống kê hóa đơn nhập còn nợ .................................................................83 Hình 3.40. Giao diện form thống kê hóa đơn xuất còn nợ ..................................................................83 Hình 3.41. Giao diện form thống kê hóa đơn nhập còn chưa đến kho .................................................84 LỜI CẢM ƠN Trong suốt thời gian 4 năm học tập và rèn luyện tại Trường Đại học Quảng Nam cho đến nay, em đã nhận được rất nhiều sự quan tâm, giúp đỡ của quý Thầy Cô và bạn bè. Với lòng biết ơn sâu sắc và chân thành nhất, em xin gửi đến quý Thầy Cô ở Khoa Toán Tin – Ngành Công nghệ thông tin đã cùng với tri thức và tâm huyết của mình để truyền đạt vốn kiến thức quý báu cho chúng em trong suốt thời gian học tập tại trường. Và đặc biệt, trong năm học cuối này, em vinh dự được nằm trong top 20 sinh viên làm khóa luận tốt nghiệp. Và đề tài của em là“Xây dựng phần mềm Quản lý siêu thị MiNi kết hợp nhận diện”. Em xin chân thành cảm ơn Thạc sĩ Trần Thị Diệu Hiền đã tận tâm hướng dẫn em qua từng buổi học trên lớp cũng như những buổi nói chuyện, thảo luận về lĩnh vực sáng tạo trong nghiên cứu khoa học. Em cũng xin bày tỏ lòng biết ơn đến ban lãnh đạo của Trường Đại học Quảng Nam và các Khoa Phòng ban chức năng đã trực tiếp và gián tiếp giúp đỡ em trong suốt quá trình học tập và nghiên cứu đề tài này. Không thể không nhắc tới sự chỉ đạo của Ban lãnh đạo Công ty Cổ phần Dịch vụ xử lý số FPT nhờ có sự giúp đỡ nhiệt tình của các anh chị ở các phòng ban, đã tạo điều kiện thuận lợi nhất cho em trong suốt thời gian thực tập tại Công ty. Với điều kiện thời gian cũng như kinh nghiệm còn hạn chế của một sinh viên, bài báo cáo này không thể tránh được những thiếu sót. Em rất mong nhận được sự chỉ bảo, đóng góp ý kiến của các quý thầy cô để em có điều kiện bổ sung, nâng cao ý thức của mình, phục vụ tốt hơn công tác thực tế sau này. Em xin chân thành cảm ơn! Sinh viên Lê Trần Kim Thảo 1 PHẦN 1. MỞ ĐẦU 1. Lý do chọn đề tài Những năm gần đây các cuộc cách mạng khoa học công nghệ đang diễn ra một cách sôi động chưa từng thấy trên toàn thế giới, nó đã thúc đẩy loài người nhanh chóng bước sang một kỷ nguyên mới. Đó là một kỷ nguyên của nền văn minh dựa trên cơ sở công nghiệp trí tuệ nhân tạo. Mở đầu cho cuộc cách mạng khoa học và công nghệ thông tin hiện nay đã và đang xâm nhập vào mọi lĩnh vực hoạt động của xã hội loài người nó mang lại nhiều lợi ích cao cũng như những lợi nhuận khổng lồ và cùng với nó là sự giải quyết về công việc ngày càng nhanh chóng, mang lại hiệu quả kinh tế cao. Đời sống con người ngày càng phát triển, dẫn đến nhu cầu mua sắm và buôn bán của người dân ngày càng được nâng cao. Công việc quản lý của các chủ cửa hàng càng gặp nhiều khó khăn và phức tạp. Việc đưa ra các ứng dụng công nghệ thông tin đã giúp giảm tải công việc quản lý bằng thủ công của con người là điều rất cần thiết để giải quyết vấn đề trên. Là một chủ cửa hàng hay một người quản lý, chúng ta mong chờ đó là lợi nhuận, thương hiệu và sự phát triển hiện đại hóa lĩnh vực quản lý của cửa hàng. Mục đích cơ bản của việc xây dựng hệ thống quản lý cửa hàng nhằm phục vụ cho việc mua bán của cửa hàng, cung cấp những thông tin đầy đủ, chính xác, nhanh chóng cho cửa hàng, cho khách hàng, và đáp ứng được các yêu cầu của người tiêu dùng. Tuy nhiên, đa phần các phần mềm quản lý chưa được kết hợp nhận diện khung mặt để truy cấp phần mềm, chưa có phân tán dữ liệu và chưa có kết hợp mã hóa thông tin qua khóa bí mật. Qua nghiên cứu và quan sát nhiều cửa hàng, siêu thị MiNi nên em đã chọn đề 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” dành cho các cửa hàng, siêu thị MiNi vừa và nhỏ. 2. Mục tiêu của đề tài 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 2 3. Đối tượng và phạm vi nghiên cứu Phân tích hệ thống thông tin theo hướng đối tượng Xây dựng phần mềm quản lý Siêu Thị MiNi có kết hợp nhận diện 4. Phương pháp nghiên cứu Khảo sát Phỏng vấn Phân tích hệ thống thông tin theo hướng đối tượng 5. Lịch sử nghiên cứu Trước đây, đã có rất nhiều đề tài nghiên cứu về vấn đề này, chẳng hạn: Báo cáo thực tập tốt nghiệp với đề tài Quản lý bán hàng siêu thị của Nguyễn Đức Hồ ngành Tin Học Ứng Dụng, Viện Đại Học Mở Hà Nội Báo cáo phân tích thiết kế hệ thống thông tin với đề tài Quản lý bán hàng trong siêu thị của Trần Thanh Hoa và Đậu Văn Thắng, Trường Đại Học Bách Khoa Hà Nội Báo cáo môn học phân tích và thiết kế hướng đối tượng bằng UML với đề tài Phân tích thiết kế chương trình việc mua bán hàng ở siêu thị của nhóm 08, Trường Đại Học Cần Thơ năm 2008 – 2009 Tuy nhiên, tất cả các đề tài đó chỉ dừng ở việc phân tích và thiết kế hệ thống theo hướng đối tượng chưa có kết hợp nhận diện khuôn mặt 6. Đóng góp của đề tài Đề tài có thể giúp cho các bạn đọc hiểu rõ hơn về nhận diện khuôn mặt và kết hợp vào trong phần mềm quản lý và có thể ứng dụng trong thực tế. 7. Cấu trúc đề tài PHẦN 1. MỞ ĐẦU PHẦN 2. NỘI DUNG NGHIÊN CỨU Chương 1: Cơ sở lý thuyết Chương 2: Khảo sát và phân tích hệ thống Chương 3: Thiết kế và cài đặt hệ thống 3 PHẦN 3. KẾT LUẬN VÀ KIẾN NGHỊ PHẦN 4. TÀI LIỆU THAM KHẢO PHẦN 5. PHỤ LỤC 4 PHẦN 2. NỘI DUNG NGHIÊN CỨU CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1.1.Giới thiệu ngôn ngữ lập trình C# và hệ quản trị cơ sở dữ liệu SQL Server 1.1.1. Ngôn ngữ lập trình C# 1.1.1.1.Khái niệm C# Là một trong những ngôn ngữ lập trình theo hướng đối tượng được phát triển và ra mắt do Anders Hejlsberg phát triển vào năm 2001. Ngôn ngữ này được đầu tư bởi Microsoft và còn được xem như đối thủ “nặng ký” của Java. C# có sự kết hợp chặt chẽ cùng với .NET Framework nhằm hỗ trợ cho việc tạo ra các ứng dụng Windows Forms hoặc WPF được trở nên dễ dàng và nhanh chóng hơn. Cho tới hiện nay thì C# đang là một trong những ngôn ngữ được đông đảo người dùng ưu tiên sử dụng và dần trở thành ngôn ngữ lập trình phổ biến nhất trên thế giới. 1.1.1.2.Mục tiêu của việc phát triển C# Tiêu chuẩn ECMA liệt kê các mục tiêu của việc thiết kế ngôn ngữ C#: Ngôn ngữ được dự định là một ngôn ngữ lập trình đơn giản, hiện đại, hướng đến nhiều mục đích sử dụng, và là một ngôn ngữ lập trình hướng đối tượng. Ngôn ngữ và việc triển khai đáp ứng các nguyên tắc của ngành kỹ thuật phần mềm như kiểm tra chặt chẽ kiểu dữ liệu, kiểm tra giới hạn mảng, phát hiện các trường hợp sử dụng các biến chưa có dữ liệu, và tự động thu gom rác. Tính mạnh mẽ, sự bền bỉ, và năng suất của việc lập trình là rất quan trọng đối với ngôn ngữ này. Ngôn ngữ sẽ được sử dụng để phát triển các thành phần của phần mềm theo hướng thích hợp cho việc triển khai trong các môi trường phân tán. Khả năng di chuyển (portability) là rất quan trọng, đặc biệt là đối với những lập trình viên đã quen với C và C++. Hỗ trợ quốc tế hóa (i18n). 5 Ngôn ngữ sẽ được thiết kế để phù hợp với việc viết các ứng dụng cho cả hai hệ thống: hosted và nhúng, từ các phần mềm quy mô lớn, đến các phần mềm chỉ có các chức năng đơn giản. Mặc dù các ứng dụng C# có tính kinh tế đối với các yêu cầu về bộ nhớ và chế độ xử lý, ngôn ngữ này không cạnh tranh trực tiếp về hiệu năng và kích thước đối với ngôn ngữ C hoặc assembly. 1.1.1.3.Đặc trưng của ngôn ngữ lập trình C# Tính đơn giản: C# là một trong những loại ngôn ngữ được xây dựng dựa trên nền tảng của C++ và Java. Nhờ vậy, mà chúng hầu như đều có cấu trúc chương trình khá giống nhau. Mặc dù C# là ngôn ngữ “sinh sau đẻ muộn” nhưng nhờ có nhiều cải tiến mới nên rất phù hợp với mọi đối tượng lập trình viên. Một số cải tiến của nó đó chính là cấu trúc được rút gọn sao cho dễ nhớ và đơn giản hơn. C# là ngôn ngữ dễ sử dụng và có tính hiện đại cao. Ngôn ngữ lập trình C# được các chuyên gia nhận xét là loại ngôn ngữ thuần hướng các tố tượng. Nó bao gồm các tính như: Trừu tượng, đa hình, kế thừa và đóng gói. So với những loại ngôn ngữ lập trình khác thì C# sử dụng lượng từ khóa ít hơn rất nhiều. Nhờ đặc điểm này mà các lập trình viên đều thuận tiện hơn rất nhiều cho việc xây dựng lên các đối tượng dành riêng cho mình. 1.1.1.4.Ưu điểm của ngôn ngữ lập trình C# C# được đánh giá là ngôn ngữ lập trình có tính linh hoạt và nhiều ưu điểm nổi bật, cụ thể như sau: Quy mô của chương trình: C# thường được sử dụng để viết trên các hệ thống vi điều khiển có kích cỡ 8bit. Ngoài ra, nó còn được sử dụng trong các hệ thống trên 64bit hoặc hệ thống siêu máy tính. C# là ngôn ngữ có hiệu suất cao, có thể chạy mượt trên mọi hệ thống giới hạn về dung lượng. Bởi vì ngay từ những ngày đầu thì C# đã được thiết kế cho mục đích thay thế cho ASM trong những hệ thống có bộ nhớ hạn chế. 6 C# có khả năng thực hiện các thuật toán giúp hỗ trợ rất nhiều kiểu dữ liệu khác nhau cũng như việc chuyển đổi sẽ trở nên dễ dàng hơn. Ngôn ngữ lập trình C# còn có khả năng cung cấp thư viện chuẩn với hàm có chức năng và công cụ toán học. C# là ngôn ngữ sở hữu cú pháp rất sát với những suy nghĩ logic, nhờ vậy mà việc viết code sẽ được đơn giản hóa và nhanh chóng hơn. C# là loại ngôn ngữ lập trình rất an toàn và nó không cho phép việc chuyển đổi kiểu dữ liệu để có thể giảm tránh được những vấn đề sai lệch xảy ra. Trong C# sẽ cho kết quả trả về thuộc các hàm đa phần đều là một object. Các lỗi lập trình phổ biến như: gõ nhầm tên, viết sai cấu trúc… đều sẽ được hệ thống cảnh báo luôn mà không cần phải chờ đến lúc chạy. C# thường được đi cùng với Visual Studio và bộ đôi này được sử dụng rất nhiều cho việc xây dựng Winform, WPF, website bằng MVC.NET. Hiện nay, nó ngày càng trở nên phổ biến trong việc xây dựng nền tảng cho các ứng dụng di động. Hiện nay, việc học C# sẽ trở nên dễ dàng hơn bởi cộng đồng C# đang rất phát triển và rộng mở. Chính vì vậy, các nhà phát triển cũng như lập trình viên ngôn ngữ C# có thể hỗ trợ, giúp đỡ cùng nhau phát triển kỹ năng và kinh nghiệm về C#. 1.1.1.5.Ứng dụng của ngôn ngữ lập trình C# Phát triển web backend (ASP.NET MVC, ASP.NET core, Web API,Graph API,gPRC, Blazor sevver,Uno platform, Mono) Phát triển web front end (Blazor WebAssembly,Uno platform) Phát triển desktop app (Winform, WPF, UWP,WinUI, Mono, Uno, MAUI,Blazor desktop...) Phát triển game 2D, 3D đa nền tảng (Game engine:Unity, Monogame, Godot, Stride, CryEngine, NeoAxis..) Phát triển thực tế ảo (VR), thực tế tăng cường(AR), thực tế hỗn hợp (MR) (HoloLens,Unity,CryEngine, Oculus quest..) 7 Phát triển ứng dụng đồ họa 2D,3D đa nền tảng (2D: SkiaSharp, ImageSharp...; 3D: OpenTK, SharpDX, SharpVulkan, Vulkan.NET, Veldrid, Silk.NET..) Phát triển mobile app, IOS native, Android native (Xamarin,MAUI,Uno platform) Phát triển đám mây (Azure,AWS,Google Cloud...) Học máy và trí tuệ nhân tạo (ML.Net, TensorFlow, csiSharp..) Data science, bigdata (csiSharp, Apache Spark) Blockchain (NEO, Stratis) Microservices and containers Internet of thing (IoT,5G) Hệ thống nhúng (Raspberry pi, PLC) 1.1.1.6.Quá trình dịch của C# Người ta thường gọi C# là ngôn ngữ biên dịch bởi khi được build thì nó là trình biên dịch, trình này sẽ thực hiện chuyển đạn C# thành một trong những ngôn ngữ trung gian. C# được gọi là Microsoft Intermediate Language (MSIL) và được lưu dưới dạng một file theo thiên hướng thực thi (exe). Nếu như chạy file thực thi thì .NET Framework sẽ được gọi là Just In Time Compiler để thực hiện chuyển MSIL code trở thành ngôn ngữ của máy rồi thực hiện chương trình. Loại ngôn ngữ trung gian này thường giống với các loại ngôn ngữ máy nên bạn có thể dịch nó ra rất nhanh. Quá trình thực hiện biên dịch của ngôn ngữ C#: Bước 1: Thực hiện Click chuột phải vào project chọn build. Visual Studio sẽ thực hiện gọi trình biên dịch. Tiếp đó, mã C# sẽ được chuyển đổi để trở thành một loại ngôn ngữ trung gian Microsoft Intermediate Language (MSIL). Sau khi chương trình này kết thúc thì việc đóng gói thành file exe sẽ được thực hiện. Bước 2: Click chuột phải vào project, chọn Open folder in file explorer. Bước 3: Vào thư mục bin/debug, lúc này chương trình của bạn đã được chuyển thành dạng .exe. và file exe này có chứa mã MSIL. 8 Bước 4: Tiến hành viết nội dung cho chương trình, thông tin như sau: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace DuAn { class Program { static void Main(string[] args) { /* Nội dung bạn cần viết */ Console.WriteLine(“Xin chào”); Console.ReadKey(); } } } Thực hiện chạy file .exe vào lúc này thì MSLI đã được chuyển hướng trở thành ngôn ngữ máy. Vì vậy, thông qua Just In Time Compiler thì máy tính sẽ hiểu được các dòng lệnh mà bạn đã viết rồi xuất ra kết quả như màn hình hiển thị. 1.1.2. Hệ quản trị cơ sở dữ liệu SQL Server 1.1.2.1.Khái niệm SQL Server (viết tắt của cụm từ Structured Query Language) là một hệ thống quản lý cơ sở dữ liệu quan hệ (Relational Database Management System, viết tắt là RDBMS). SQL Server có khả năng hỗ trợ một số lượng lớn các quy trình xử lý giao dịch, ứng dụng doanh nghiệp và ứng dụng phân tích trong các công ty hoạt động trong lĩnh vực IT. Cũng giống như các hệ thống quản lý cơ sở dữ liệu qua hệ khác, SQL Server được xây dựng trên lớp SQL – là ngôn ngữ lập trình tiêu chuẩn hoá được quản trị viên cơ sở dữ liệu (DBAs) và các chuyên gia IT sử dụng để quản lý cơ sở dữ liệu và truy vấn các dữ liệu nằm bên trong. 1.1.2.2.Các tính năng của sqlserver Tính năng doanh nghiệp chuyên biệt Microsoft hiện nay đã ra mắt thêm các tính năng quản lý dữ liệu đa dạng dành cho doanh nghiệp và các công cụ phân tích SQL Server. Đi cùng với các dịch vụ Machine Learning được tích hợp lần đầu tiên trong phiên bản SQL Server 2016, các dịch vụ phân tích dữ liệu, công cụ phân tích dữ liệu, các ứng dụng trực quan hoá dữ liệu và các dịch vụ SQL Server Reporting nhằm hỗ trợ và phân phối các báo cáo BI. Tính năng quản lý Về phương diện quản trị, Microsoft SQL Server gồm các dịch vụ tích hợp SQL Server, dịch vụ SQL Server Data Quality và dịch vụ SQL Server Master. Hai 9 bộ công cụ dành riêng cho quản trị viên cơ sở dữ liệu và lập trình viên (SQL Server Data Tools) sử dụng trong việc phát triển hệ thống cơ sở dữ liệu cho SQL Server Management Studio, thực hiện nhiệm vụ triển khai, giám sát và quản lý các cơ sở dữ liệu. 1.2.Tổng quan về nhận diện khuôn mặt 1.2.1. Giới thiệu về nhận diện khuôn mặt Nhận dạng mặt người (Face recognition) là một lĩnh vực nghiên cứu của ngành thị giác máy tính (Computer Vision), và cũng được xem là một lĩnh vực nghiên cứu của ngành Sinh trắc học (Biometrics) tương tự như nhận dạng vân tay – Fingerprint recognition, hay nhận dạng mống mắt – Iris recognition. Xét về nguyên tắc chung, nhận dạng mặt có sự tương đồng rất lớn với nhận dạng vân tay và nhận dạng mống mắt, tuy nhiên sự khác biệt nằm ở bước trích chọn đặc trưng (feature extraction) của mỗi lĩnh vực. Trong khi nhận dạng vân tay và mống mắt đã đạt tới độ chín, tức là có thể áp dụng trên thực tế một cách rộng rãi thì nhận dạng mặt người vẫn còn nhiều thách thức và vẫn là một lĩnh vực nghiên cứu thú vị với nhiều người. So với nhận dạng vân tay và mống mắt, nhận dạng mặt có nguồn dữ liệu phong phú hơn (bạn có thể nhìn thấy mặt người ở bất cứ tấm ảnh, video clip nào liên quan tới con người trên mạng) và ít đòi hỏi sự tương tác có kiểm soát hơn (để thực hiện nhận dạng vân tay hay mống mắt, dữ liệu input lấy từ con người đòi hỏi có sự hợp tác trong môi trường có kiểm soát). Hiện nay các phương pháp nhận dạng mặt được chia thành nhiều hướng theo các tiêu chí khác nhau: nhận dạng với dữ liệu đầu vào là ảnh tĩnh 2D (still image based FR) là phổ biến nhất, tuy nhiên tương lai có lẽ sẽ là 3D FR (vì việc bố trí nhiều camera 2D sẽ cho dữ liệu 3D và đem lại kết quả tốt hơn, đáng tin cậy hơn), cũng có thể chia thành 2 hướng là: làm với dữ liệu ảnh và làm với dữ liệu video. Trên thực tế người ta hay chia các phương pháp nhận dạng mặt ra làm 3 loại: phương pháp tiếp cận toàn cục (global, như Eigenfaces – PCA, Fisherfaces – LDA), phương pháp tiếp cận dựa trên các đặc điểm cục bộ (local feature based, như LBP, Gabor wavelets) và phương pháp lai (hybrid, là sự kết hợp của hai 10 phương pháp toàn cục và local feature). Phương pháp dựa trên các đặc điểm cục bộ đã được chứng minh là ưu việt hơn khi làm việc trong các điều kiện không có kiểm soát và có thể nói rằng lịch sử phát triển của nhận dạng mặt (A never ending story) là sự phát triển của các phương pháp trích chọn đặc trưng (feature extractrion methods) được sử dụng trong các hệ thống dựa trên feature based. Các ứng dụng cụ thể của nhận dạng mặt dựa trên 2 mô hình nhận dạng: identification (xác định danh tính, bài toán 1 – N), và verification (xác thực danh tính, bài toán 1 – 1). Trong bài toán identification, ta cần xác định danh tính của ảnh kiểm tra, còn trong bài toán verification ta cần xác định 2 ảnh có cùng thuộc về một người hay không. 1.2.2. Các bước của quá trình nhận diện khuôn mặt Trong quy trình xử lý và đưa ra kết quả của việc nhận diện khuôn mặt cần có nhiều bước, nhưng các bước cơ bản có thể có như sau: Bước 1: Phát hiện khuôn mặt (Face detection), tức là phát hiện khuôn mặt trong ảnh, video và cắt lấy phần mặt để thực hiện nhận diện (face cropping) Bước 2: Tiền xử lý ảnh (preprocessing) bao gồm các bước căn chỉnh ảnh (face image alignment) và chuẩn hóa ánh sáng (illumination normalization). Bước 3: Trích chọn đặc trưng (feature extraction), ở bước này một phương pháp trích chọn đặc trưng nào đó (Mẫu nhị phân cục bộ - Local Binary Pattern – LBP, Gabor wavelets,…) sẽ được sử dụng với ảnh mặt để trích xuất các thông tin đặc trưng cho khuôn mặt Bước 4: Nhận diện (recognition), tức là xác định danh tính (identity) hay nhãn (label) của ảnh – đó là ai. 1.2.3. Những khó khăn trong bài toán nhận diện khuôn mặt Bài toán nhận diện khuôn mặt là bài toán đã được nghiên cứu từ những năm 70. Tuy nhiên, đây là một bài toán khó nên những nghiên cứu hiện tại vẫn chưa đạt được những kết quả mong muốn. Chính vì thế, vấn đề này vẫn đang được nhiều nhóm trên thế giới quan tâm nghiên cứu. Khó khăn của bài toán nhận diện khuôn mặt có thể kể đến như sau: 11 Tư thế chụp, góc chụp: Ảnh chụp khuôn mặt có thể thay đổi rất nhiều bởi vì góc chụp giữa camera và khuôn mặt. Chẳng hạn như: chụp thẳng, chụp chéo bên trái 45o hay chụp chéo bên phải 45o, chụp từ trên xuống, chụp từ dưới lên, v.v… Với các tư thế khác nhau, các thành phần trên khuôn mặt như mắt, mũi, miệng có thể bị khuất một phần hoặc thậm chí khuất hết. Sự xuất hiện hoặc thiếu một số thành phần của khuôn mặt: Các đặc trưng như: râu mép, râu hàm, mắt kính, v.v… có thể xuất hiện hoặc không. Vấn đề này làm cho bài toán càng trở nên khó hơn rất nhiều. Sự biểu cảm của khuôn mặt: Biểu cảm của khuôn mặt con người có thể làm ảnh hưởng đáng kể lên các thông số của khuôn mặt. Chẳng hạn, cùng một khuôn mặt một người, nhưng có thể sẽ rất khác khi họ cười hoặc sợ hãi, v.v… Sự che khuất: Khuôn mặt có thể bị che khuất bởi các đối tượng khác hoặc các khuôn mặt khác. Hướng của ảnh (pose variations): Các ảnh khuôn mặt có thể biến đổi rất nhiều với các góc quay khác nhau của trục camera. Chẳng hạn chụp với trục máy ảnh nghiêng làm cho khuôn mặt bị nghiêng so với trục của ảnh. Điều kiện của ảnh: Ảnh được chụp trong các điều kiện khác nhau về: chiếu sáng, về tính chất camera (máy kỹ thuật số, máy hồng ngoại, v.v…), ảnh có chất lượng thấp ảnh hưởng rất nhiều đến chất lượng ảnh khuôn mặt. Aging condition: Việc nhận dạng ảnh mặt thay đổi theo thời gian còn là một vấn đề khó khăn, ngay cả đối với khả năng nhận dạng của con người. Các hệ thống cực lớn (very large scale systems): Các CSDL ảnh mặt được test bởi các nhà nghiên cứu còn khá nhỏ (vài trăm tới vài chục nghìn ảnh mặt), tuy nhiên trên thực tế các CSDL có thể rất lớn, ví dụ CSDL ảnh mặt của cảnh sát của một đất nước có thể chứa từ hàng triệu tới hơn 1 tỉ ảnh… 1.2.4. Một số lĩnh vực ứng dụng Bài toán nhận diện khuôn mặt có thể áp dụng rộng rãi trong nhiều ứng dụng thực tế khác nhau. Đó chính là lý do mà bài toán này hấp dẫn rất nhiều nhóm 12 nghiên cứu trong thời gian dài. Các ứng dụng liên quan đến nhận diện khuôn mặt có thể kể như: Hệ thống phát hiện tội phạm: camera được đặt tại một số điểm công cộng như: siêu thị, nhà sách, trạm xe buýt, sân bay,v.v... Khi phát hiện được sự xuất hiện của các đối tượng là tội phạm, hệ thống sẽ gởi thông điệp về cho trung tâm xử lý. Hệ thống theo dõi nhân sự trong một đơn vị: giám sát giờ ra vào của từng nhân viên và chấm công. Hệ thống giao tiếp người máy: thay thế việc tương tác giữa người và máy theo những cách truyền thống như: bàn phím, chuột,v.v...Thay vào đó là sử dụng các giao tiếp trực quan: biểu cảm khuôn mặt, dấu hiệu, cử chỉ bằng tay (visual input, visual interaction). Hệ thống tìm kiếm thông tin trên ảnh, video dựa trên nội dung (chỉ mục theo người). Chẳng hạn như: đài truyền hình Việt Nam (VTV) có một kho dữ liệu video tin tức khá lớn cần tìm kiếm nhanh những đoạn video nào có G. Bush hoặc Bin Laden. Các hệ thống bảo mật dựa trên thông tin trắc sinh học: mặt người, vân tay,v.v... thay vì xác nhận mật khẩu, khóa,v.v... 1.2.5. Một số thư viện hỗ trợ nhận diện khuôn mặt trong ngôn ngữ lập trình C# OpenCV OpenCV viết tắt của Open Source Computer Vision được xem là một trong những thư viện mã nguồn mở hàng đầu cho việc xử lý ảnh theo thời gian thực. OpenCV (Thư viện hình ảnh máy tính nguồn mở) là thư viện phần mềm máy tính học tập và máy tính nguồn mở. OpenCV được xây dựng để cung cấp một cơ sở hạ tầng chung cho các ứng dụng thị giác máy tính và để đẩy nhanh việc sử dụng nhận thức máy trong các sản phẩm thương mại. Là một sản phẩm được cấp phép BSD, OpenCV giúp các doanh nghiệp dễ dàng sử dụng và sửa đổi. 13 Thư viện có hơn 2500 thuật toán được tối ưu hóa, bao gồm một tập hợp toàn diện các thuật toán máy học và tầm nhìn máy tính tiên tiến và hiện đại. Các thuật toán này có thể được sử dụng để phát hiện và nhận diện khuôn mặt, xác định đối tượng, phân loại hành động của con người trong video, theo dõi chuyển động của camera, theo dõi đối tượng chuyển động, trích xuất mô hình 3D của đối tượng, tạo ra các đám mây điểm 3D từ camera stereo, ghép ảnh lại với nhau để tạo ra độ phân giải cao hình ảnh của toàn cảnh, tìm hình ảnh tương tự từ cơ sở dữ liệu hình ảnh, xóa mắt đỏ khỏi hình ảnh được chụp bằng flash, theo dõi chuyển động của mắt, nhận diện phong cảnh và thiết lập điểm đánh dấu để che phủ nó bằng thực tế mở rộng, v.v. Thư viện được sử dụng rộng rãi trong các công ty, các nhóm nghiên cứu và các cơ quan chính phủ. Cùng với các công ty có uy tín như Google, Yahoo, Microsoft, Intel, IBM, Sony, Honda, Toyota sử dụng thư viện, có nhiều công ty khởi nghiệp như Applied Minds, VideoSurf và Zeitera, sử dụng rộng rãi OpenCV. Các ứng dụng được triển khai của OpenCV mở rộng phạm vi từ khâu hình ảnh đường phố, phát hiện xâm nhập trong video giám sát ở Israel, giám sát thiết bị mỏ ở Trung Quốc, giúp robot điều hướng và nhận đồ vật tại Willow Garage, phát hiện tai nạn chết đuối ở châu Âu. Tây Ban Nha và New York, kiểm tra đường băng cho các mảnh vỡ ở Thổ Nhĩ Kỳ, kiểm tra nhãn trên các sản phẩm tại các nhà máy trên khắp thế giới để phát hiện khuôn mặt nhanh chóng ở Nhật Bản. Nó có giao diện C++, Python, Java và MATLAB và hỗ trợ Windows, Linux, Android và Mac OS. OpenCV dựa chủ yếu vào các ứng dụng thị giác thời gian thực và tận dụng các hướng dẫn MMX và SSE khi có sẵn. Một giao diện CUDA và OpenCL đầy đủ tính năng đang được tích cực phát triển ngay bây giờ. Có hơn 500 thuật toán và khoảng 10 lần so với nhiều chức năng soạn hoặc hỗ trợ các thuật toán đó. OpenCV được viết tự nhiên trong C++ và có một giao diện templated hoạt động liền mạch với các container STL. 14 EmguCV EmguCV Là một cross platform .NET, một thư viện xử lý hình ảnh mạnh mẽ dành riêng cho các ngôn ngữ .NET, cho phép gọi được chức năng của OpenCV là từ .NET, Tương thích ngôn ngữ như: C#, VB, VC ++, Iron Python... Wrapper có thể được biên dịch bởi Visual Studio, Xamarin Studio và Unity. Có thể chạy trên Windows, Linux, Mac OS X, iOS, Android và Windows Phone. Lợi thế của EmguCV: EmguCV được viết hoàn toàn bằng C#, có thể chạy trên bất kỳ nền tảng hỗ trợ bao gồm iOS, Android, Windows Phone, hệ điều hành Mac OS và Linux. EmguCV có thể được sử dụng với nhiều ngôn ngữ khác nhau như C#, VB.NET, C ++ và Iron Python. Nhận dạng ảnh: nhận dạng khuôn mặt, các vật thể, ... Xử lý ảnh: khử nhiễu, điều chỉnh độ sáng, ... Nhận dạng cử chỉ. Hỗ trợ tài liệu XML và intellisense. Có thể sử dụng class Image hoặc gọi thẳng xuống các hàm của OpenCV. 1.3.Mã hóa thông tin 1.2.1. Giới thiệu về mã hóa thông tin Mã hóa thông tin là một hình thức biến đổi dữ liệu thành một dạng dữ liệu khác có ý nghĩa khác với dữ liệu trước khi bị biến đổi ban đầu, với mục đích chỉ cho phép một số người nhất định có thể đọc được dữ liệu ban đầu, thông qua việc giải mã dữ liệu sau khi biến đổi. Hay n
UBND TỈNH QUẢNG NAM TRƯỜNG ĐẠI HỌC QUẢNG NAM KHOA: TOÁN – TIN - - LÊ TRẦN KIM THẢO XÂY DỰNG PHẦN MỀM QUẢN LÝ SIÊU THỊ MINI KẾT HỢP NHẬN DIỆN KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC Quảng Nam, tháng 05 năm 2022 UBND TỈNH QUẢNG NAM TRƯỜNG ĐẠI HỌC QUẢNG NAM KHOA: TOÁN – TIN - - KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC Tên đề 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 Sinh viên thực LÊ TRẦN KIM THẢO MSSV: 2118100132 CHUYÊN NGÀNH:CÔNG NGHỆ THÔNG TIN KHÓA 2018 – 2022 Cán hướng dẫn ThS Trần Thị Diệu Hiền MSCB: ……… Quảng Nam, tháng 05 năm 2022 MỤC LỤC Lý chọn đề tài Mục tiêu đề tài Đối tượng phạm vi nghiên cứu Phương pháp nghiên cứu Lịch sử nghiên cứu Đóng góp đề tài Cấu trúc đề tài PHẦN NỘI DUNG NGHIÊN CỨU CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1.1 Gíơi thiệu ngôn ngữ lập trình C# và hệ quản trị s̉ơ dữ liệu SQL Server 1.1.1 Ngôn ngữ lập trình C# 1.1.1.1 Khái niệm 1.1.1.2 Mục tiêu c̉ua việc phát triển C# 1.1.1.3 Đặc trưng ngôn ngữ lập trình C# 1.1.1.4 Ưu điểm ngôn ngữ lập trình C# 1.1.1.5 Ứng dụng ngơn ngữ lập trình C# 1.1.1.6 Quá trình dịch C# 1.1.2 Hệ quản trị s̉ơ dữ liệu SQL Server 1.1.2.1 Khái niệm 1.1.2.2 Các tính sqlserver 1.2 Tổng quan nhận diện khuôn mặt 1.2.1 Giới thiệu nhận diện khuôn mặt 1.2.2 Các bước q trình nhận diện khn mặt 10 1.2.3 Những khó khăn tốn nhận diện khn mặt .10 1.2.4 Một số lĩnh vực ứng dụng 11 1.2.5 Một số thư viện hỗ trợ nhận diện khn mặt ngơn ngữ lập trình C# .12 1.3 Mã hóa thơng tin .14 1.2.1 Giới thiệu mã hóa thông tin .14 1.2.2 Mã hóa bí mật 15 CHƯƠNG 2: KHẢO SÁT VÀ PHÂN TÍCH HỆ THỐNG 16 2.1 Khảo sát hệ thống 16 2.1.1 Mô tả trạng hệ thống 16 2.1.1.1 Giới thiệu hệ thống 16 2.1.1.2 Ưu điểm khuyết điểm .16 2.1.2 Hướng phát triển hệ thống 17 2.1.3 Lập kế hoạch khảo sát 17 2.1.3.1 Khảo sát sơ .17 2.1.3.2 Khảo sát chi tiết 18 2.1.3.3 Lập báo cáo kết thu 22 2.1.4 Mơ tả tốn 23 2.1.5 Yêu cầu chức .24 2.1.6 Mơ hình Ri 25 2.1.7 Đặc tính người dùng 28 2.1.8 Yêu cầu phi chức 28 2.2 Phân tích hệ thống .28 2.2.1 Phân tích chức .28 2.2.1.1 Actor 28 2.2.1.2 Usecase .30 2.2.1.3 Object class 35 2.2.1.4 Sơ đồ .38 2.2.1.5 Sơ đồ cộng tác .41 2.2.1.6 Sơ đồ trạng thái .43 2.2.1.7 Sơ đồ hoạt động 47 2.2.2 Phân tích liệu 50 2.2.2.1 Sơ đồ E – R 50 2.2.2.2 Sơ đồ liệu quan hệ 51 CHƯƠNG 3: THIẾT KẾ VÀ CÀI ĐẶT HỆ THỐNG .52 3.1 Thiết kế hệ thống .52 3.1.1 Thiết kế sở liệu 52 3.1.2 Thiết kế chức .60 3.1.3 Thiết kế giao diện 62 3.2 Cài đặt hệ thống 64 3.2.1 Một số đoạn code quan trọng 64 3.2.2 Một số giao diện phần mềm .67 PHẦN KẾT LUẬN VÀ KIẾN NGHỊ 85 PHẦN TÀI LIỆU THAM KHẢO 86 DANH MỤC HÌNH ẢNH Hình 2.1 Biểu mẫu hóa đơn nhập .21 Hình 2.2 Biểu mẫu hóa đơn xuất 22 Hình 2.3 Sơ đồ usecase tổng quát .30 Hình 2.4 Sơ đồ class 37 Hình 2.5 Sơ đồ usecase Đăng nhập .38 Hình 2.6 Sơ đồ usecase Thêm sản phẩm .38 Hình 2.7 Sơ đồ usecase Tìm kiếm kho 39 Hình 2.8 Sơ đồ usecase Cập nhập thông tin nhân viên 39 Hình 2.9 Sơ đồ usecase Xóa nhà cung cấp 40 Hình 2.10 Sơ đồ usecase Thống kê số dư số lượng tiêu thụ sản phẩm .40 Hình 2.11 Sơ đồ cộng tác usecase Đăng nhập 41 Hình 2.12 Sơ đồ cộng tác usecase Thêm sản phẩm 41 Hình 2.13 Sơ đồ cộng tác usecase Tìm kiếm kho 42 Hình 2.14 Sơ đồ cộng tác usecase Cập nhập thông tin nhân viên .42 Hình 2.15 Sơ đồ cộng tác usecase Xóa nhà cung cấp 42 Hình 2.16 Sơ đồ cộng tác usecase Thống kê số dư số lượng tiêu thụ sản phẩm .43 Hình 2.17 Sơ đồ trạng thái class Loại hàng .43 Hình 2.18 Sơ đồ trạng thái class Mặt hàng 43 Hình 2.19 Sơ đồ trạng thái class Người dùng 44 Hình 2.20 Sơ đồ trạng thái class Nhân viên 44 Hình 2.21 Sơ đồ trạng thái class Lương 44 Hình 2.22 Sơ đồ trạng thái class Phiếu xuất 45 Hình 2.23 Sơ đồ trạng thái class Chi tiết phiếu xuất 45 Hình 2.24 Sơ đồ trạng thái class Phiếu nhập .45 Hình 2.25 Sơ đồ trạng thái class Chi tiết phiếu nhập 46 Hình 2.26 Sơ đồ trạng thái class Loại khách hàng 46 Hình 2.27 Sơ đồ trạng thái class Kho 46 Hình 2.28 Sơ đồ hoạt động usecase Đăng nhập .47 Hình 2.29 Sơ đồ hoạt động usecase Thêm sản phẩm .47 Hình 2.30 Sơ đồ hoạt động usecase Tìm kiếm kho 48 Hình 2.31 Sơ đồ hoạt động usecase Cập nhập thơng tin nhân viên 48 Hình 2.32 Sơ đồ hoạt động usecase Xóa nhà cung cấp 49 Hình 2.33 Sơ đồ hoạt động usecase Thống kê số dư số lượng tiêu thụ sản phẩm 49 Hình 2.34 Sơ đồ E – R .50 Hình 2.35 Sơ đồ liệu quan hệ 51 Hình 3.1 Mối quan hệ bảng 59 Hình 3.2 Giao diện hộp thoại 62 Hình 3.3 Giao diện nhập liệu dạng điền liệu 63 Hình 3.4 Giao diện nhập liệu dạng câu hỏi (đóng) .63 Hình 3.5 Giao diện nhập liệu kết hợp dạng .63 Hình 3.6 Giao diện báo cáo 64 Hình 3.7 Code mã hóa bí mật C# 64 Hình 3.8 Code phát khuôn mặt C# 65 Hình 3.9 Code nhận diện khuôn mặt C# 66 Hình 3.10 Code nhận diện khuôn mặt C# 66 Hình 3.11 Giao diện form đăng nhập 67 Hình 3.12 Giao diện form đăng nhập khuôn mặt 68 Hình 3.13 Giao diện form hệ thống quản lý sản phẩm .69 Hình 3.14 Giao diện form hệ thống báo cáo thống kê .70 Hình 3.15 Giao diện form hệ thống quản lý hóa đơn nhập 71 Hình 3.16 Giao diện form chi tiết hóa đơn nhập hàng .71 Hình 3.17 Giao diện form hệ thống quản lý hóa đơn xuất 72 Hình 3.18 Giao diện form chi tiết xuất hàng .73 Hình 3.19 Giao diện form thêm sản phẩm 73 Hình 3.20 Giao diện form tạo hóa đơn nhập .74 Hình 3.21 Giao diện form tạo hóa đơn xuất 74 Hình 3.22 Giao diện form cập nhập sản phẩm 75 Hình 3.23 Giao diện form cập nhập hóa đơn nhập 75 Hình 3.24 Giao diện form cập nhập hóa đơn xuất .76 Hình 3.25 Giao diện form đổi mật 76 Hình 3.26 Giao diện form nhập file excel 77 Hình 3.27 Giao diện form in hóa đơn nhập .77 Hình 3.28 Giao diện form in hóa đơn xuất 77 Hình 3.29 Giao diện form thống kê lượng tiền vào dạng biểu đồ 78 Hình 3.30 Giao diện form thống kê lượng tiền vào dạng bảng .78 Hình 3.31 Giao diện form thống kê số dư số lượng tiêu thụ vào dạng biểu đồ .79 Hình 3.32 Giao diện form thống kê số dư số lượng tiêu thụ vào dạng bảng 79 Hình 3.33 Giao diện form thống kê lương nhân viên 80 Hình 3.34 Giao diện form thống kê sản phẩm theo nhà cung cấp 80 Hình 3.35 Giao diện form thống kê lợi nhuận vào dạng biểu đồ 81 Hình 3.36 Giao diện form thống kê lợi nhuận vào dạng bảng 81 Hình 3.37 Giao diện form thống kê sản phẩm bán chạy vào dạng biểu đồ 82 Hình 3.38 Giao diện form thống kê sản phẩm bán chạy vào dạng bảng .82 Hình 3.39 Giao diện form thống kê hóa đơn nhập cịn nợ 83 Hình 3.40 Giao diện form thống kê hóa đơn xuất cịn nợ 83 Hình 3.41 Giao diện form thống kê hóa đơn nhập cịn chưa đến kho .84 LỜI CẢM ƠN Trong suốt thời gian năm học tập rèn luyện Trường Đại học Quảng Nam nay, em nhận nhiều quan tâm, giúp đỡ q Thầy Cơ bạn bè Với lịng biết ơn sâu sắc chân thành nhất, em xin gửi đến q Thầy Cơ Khoa Tốn Tin – Ngành Công nghệ thông tin với tri thức tâm huyết để truyền đạt vốn kiến thức quý báu cho chúng em suốt thời gian học tập trường Và đặc biệt, năm học cuối này, em vinh dự nằm top 20 sinh viên làm khóa luận tốt nghiệp Và đề tài em là“Xây dựng phần mềm Quản lý siêu thị MiNi kết hợp nhận diện” Em xin chân thành cảm ơn Thạc sĩ Trần Thị Diệu Hiền tận tâm hướng dẫn em qua buổi học lớp buổi nói chuyện, thảo luận lĩnh vực sáng tạo nghiên cứu khoa học Em xin bày tỏ lòng biết ơn đến ban lãnh đạo Trường Đại học Quảng Nam Khoa Phòng ban chức trực tiếp gián tiếp giúp đỡ em suốt trình học tập nghiên cứu đề tài Không thể không nhắc tới đạo Ban lãnh đạo Công ty Cổ phần Dịch vụ xử lý số FPT nhờ có giúp đỡ nhiệt tình anh chị phòng ban, tạo điều kiện thuận lợi cho em suốt thời gian thực tập Công ty Với điều kiện thời gian kinh nghiệm hạn chế sinh viên, báo cáo tránh thiếu sót Em mong nhận bảo, đóng góp ý kiến q thầy để em có điều kiện bổ sung, nâng cao ý thức mình, phục vụ tốt cơng tác thực tế sau Em xin chân thành cảm ơn! Sinh viên Lê Trần Kim Thảo PHẦN MỞ ĐẦU Lý chọn đề tài Những năm gần cách mạng khoa học công nghệ diễn cách sơi động chưa thấy tồn giới, thúc đẩy lồi người nhanh chóng bước sang kỷ nguyên Đó kỷ nguyên văn minh dựa sở công nghiệp trí tuệ nhân tạo Mở đầu cho cách mạng khoa học công nghệ thông tin xâm nhập vào lĩnh vực hoạt động xã hội lồi người mang lại nhiều lợi ích cao lợi nhuận khổng lồ với giải cơng việc ngày nhanh chóng, mang lại hiệu kinh tế cao Đời sống người ngày phát triển, dẫn đến nhu cầu mua sắm buôn bán người dân ngày nâng cao Công việc quản lý chủ cửa hàng gặp nhiều khó khăn phức tạp Việc đưa ứng dụng công nghệ thông tin giúp giảm tải công việc quản lý thủ công người điều cần thiết để giải vấn đề Là chủ cửa hàng hay người quản lý, mong chờ lợi nhuận, thương hiệu phát triển đại hóa lĩnh vực quản lý cửa hàng Mục đích việc xây dựng hệ thống quản lý cửa hàng nhằm phục vụ cho việc mua bán cửa hàng, cung cấp thơng tin đầy đủ, xác, nhanh chóng cho cửa hàng, cho khách hàng, đáp ứng yêu cầu người tiêu dùng Tuy nhiên, đa phần phần mềm quản lý chưa kết hợp nhận diện khung mặt để truy cấp phần mềm, chưa có phân tán liệu chưa có kết hợp mã hóa thơng tin qua khóa bí mật Qua nghiên cứu quan sát nhiều cửa hàng, siêu thị MiNi nên em chọn đề 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” dành cho cửa hàng, siêu thị MiNi vừa nhỏ Mục tiêu đề tài Hiểu rõ q trình nhận diện khn mặt Phân tích, thiết kế xây dựng hệ thống quản lý Siêu Thị MiNi Kết hợp nhận diện khuôn mặt vào phần mềm Đối tượng phạm vi nghiên cứu Phân tích hệ thống thơng tin theo hướng đối tượng Xây dựng phần mềm quản lý Siêu Thị MiNi có kết hợp nhận diện Phương pháp nghiên cứu Khảo sát Phỏng vấn Phân tích hệ thống thơng tin theo hướng đối tượng Lịch sử nghiên cứu Trước đây, có nhiều đề tài nghiên cứu vấn đề này, chẳng hạn: Báo cáo thực tập tốt nghiệp với đề tài Quản lý bán hàng siêu thị Nguyễn Đức Hồ ngành Tin Học Ứng Dụng, Viện Đại Học Mở Hà Nội Báo cáo phân tích thiết kế hệ thống thông tin với đề tài Quản lý bán hàng siêu thị Trần Thanh Hoa Đậu Văn Thắng, Trường Đại Học Bách Khoa Hà Nội Báo cáo mơn học phân tích thiết kế hướng đối tượng UML với đề tài Phân tích thiết kế chương trình việc mua bán hàng siêu thị nhóm 08, Trường Đại Học Cần Thơ năm 2008 – 2009 Tuy nhiên, tất đề tài dừng việc phân tích thiết kế hệ thống theo hướng đối tượng chưa có kết hợp nhận diện khn mặt Đóng góp đề tài Đề tài giúp cho bạn đọc hiểu rõ nhận diện khuôn mặt kết hợp vào phần mềm quản lý ứng dụng thực tế Cấu trúc đề tài PHẦN MỞ ĐẦU PHẦN NỘI DUNG NGHIÊN CỨU Chương 1: Cơ sở lý thuyết Chương 2: Khảo sát phân tích hệ thống Chương 3: Thiết kế cài đặt hệ thống PHẦN KẾT LUẬN VÀ KIẾN NGHỊ PHẦN TÀI LIỆU THAM KHẢO PHẦN PHỤ LỤC