• Phân tích yêu cầu, đặc tả chức năng của hệ thống
Phần mềm này được áp dụng cho các cơ quan an ninh để nhận diện tội phạm và quản lý thông tin của các người dân trong một nước nên trước hết nó phải mang tính bảo mật cao và đáp ứng được các yêu cầu sau:
• Có khả năng dò tìm khuôn mặt của một người trong một tấm hình bất kỳ. • Nhận diện khuôn mặt vừa tìm được và liệt kê những khuôn mặt trong cơ sở dữ
liệu mà gần giống với nó nhất và bạn có thể xem thông tin của những khuôn mặt gần giống đó để tìm ra thông tin cần thiết.
• Đối với người có quyền cao nhất trong hệ thống sẽ có thể thao tác với cơ sở dữ liệu:
• Tìm kiếm thông tin của một người. • Thêm một người mới vào cở sở dữ liệu. • Sửa thông tin của một người.
• Xóa thông tin của người nào đó.
• Kết nối được với điện thoại để nhận ảnh cần nhận diện và gửi trả thông tin của người trong tấm ảnh đó về điện thoại. Như vậy sẽ làm cho việc nhận diện trở nên linh hoạt hơn, tiện lợi hơn.
• Yêu cầu về phần cứng
• Hệ điều hành: Chạy trên Fedora 15 (32-bit). • RAM: 516MB hoặc hơn.
• Đồ họa: Intel® G33.
• Độ phân giải: 1024x768 pixels. • Yêu cầu về phần mềm
• Ngôn ngữ lập trình: Java. • Cơ sở dữ liệu: DB2.
• Các thư viện sử dụng: OpenCV, JavaCV.
• Đặc tả chức năng phần mềm
Hình 3.1.Sơ đồ Use case tổng quát
Phần mềm này bao gồm 2 tác nhân đó là user và admin.User có tên đăng nhập và mật khẩu sẽ được đăng nhập vào hệ thống. Sau đó họ có thể nhận diện khuôn mặt từ đó có thể xem các khuôn mặt gần giống nhất với khuôn mặt được đưa vào nhận diện và thông tin về các khuôn mặt đó như: tên, ngày sinh, địa chỉ, giới tính, nơi cư trú… Admin là người có quyền cao nhất trong phần mềm này. Người đó vừa có thể thực hiện các chức năng trên, vừa có thể quản lý cơ sở dữ liệu như: thêm một người mới, sửa, xóa thông tin hoặc tìm kiếm thông tin.
• Đặc tả Use case:
UC001 - Use case Login
• Tên: Login.
• Tác nhân: User và admin.
• Điều kiện tiên quyết: User phải có tên đăng nhập và mật khẩu trước khi đăng nhập vào phần mềm, nếu đăng nhập không thành công thì nó sẽ báo lỗi.
• Điều kiện kéo theo: Sau khi đăng nhập thành công, giao diện chính của phần mềm sẽ xuất hiện.
• Mô tả: Use case Login chấp nhận user và admin đăng nhập vào phần mềm.
UC002 - Use case Recognize face
• Tên: Recognize face. • Tác nhân: User và admin.
• Điều kiện tiên quyết: User đăng nhập vào phần mềm. User tải tấm hình có người cần nhận diện lên.
• Điều kiện kéo theo: Bạn sẽ xem được những khuôn mặt gần giống nhất với khuôn mặt trong tấm hình và thông tin của những khuôn mặt đó.
• Mô tả: User đăng nhập vào phần mềm, tải ảnh lên rồi bắt đầu cho nhận diện.
Các luồng chính:
• Tải tấm hình lên.
• Dò tìm khuôn mặt trong tấm hình. • Nhận diện khuôn mặt đó.
• Liệt kê những khuôn mặt gần giống với khuôn mặt được đưa vào nhận diện nhất.
UC003 - Use case Search information
• Tên: Search information. • Tác nhân: Admin.
• Điều kiện tiên quyết: Đăng nhập vào phần mềm với quyền của một admin. • Điều kiện kéo theo: Tìm kiếm thông tin của một người theo tên hoặc id. • Mô tả: Admin muốn xem thông tin về một người nào đó.
Các luồng chính:
• Đăng nhập vào phần mềm.
• Điền tên hoặc id của người cần tìm kiếm. • Kích vào nút “Search”.
UC004 - Use case Add information
• Tên: Add information. • Tác nhân: Admin.
• Điều kiện tiên quyết: Đăng nhập vào phần mềm với quyền của một admin. Admin cần phải có các thông tin chính xác của người cần thêm vào cơ sở dữ liệu.
• Điều kiện kéo theo: Thông tin sẽ được thêm vào cơ sở dữ liệu.
• Mô tả: Admin muốn thêm thông tin về một người vào trong cơ sở dữ liệu.
Các luồng chính:
• Đăng nhập vào phần mềm.
• Kích vào nút “Add” để thêm thông tin.
UC005 - Use case Update information:
• Tên: Update information. • Tác nhân: Admin.
• Điều kiện tiên quyết: Đăng nhập vào phần mềm với quyền của một admin. Admin cần phải có thông tin cần cập nhật.
• Điều kiện kéo theo: Thông tin sẽ được cập nhật vào cơ sở dữ liệu. • Mô tả: Admin muốn cập nhật thông tin của một người.
Các luồng chính:
• Đăng nhập vào phần mềm.
• Tìm kiếm thông tin của người cần cập nhật lại. • Kích vào nút “Update” để cập nhật thông tin.
UC006 - Use case Delete information:
• Tên: Delete information. • Tác nhân: Admin.
• Điều kiện tiên quyết: Đăng nhập vào phần mềm với quyền của một admin. • Điều kiện kéo theo: Thông tin sẽ bị xóa khỏi cơ sở dữ liệu.
• Mô tả: Admin muốn xóa thông tin của một người nào đó.
Các luồng chính:
• Đăng nhập vào phần mềm. • Tìm kiếm người muốn xóa.
• Kích vào nút “Delete” để xóa thông tin.
Hình 3.2.Sơ đồ chức năng của hệ thống
Hệ thống nhận diện tội phạm bao gồm 3 chức năng chính đó là: quản lý việc nhận dạng, quản lý dữ liệu nhận dạng và quản lý nhân sự. Quản lý việc nhận dạng gồm 2 chức năng chính: phát hiện khuôn mặt và nhận diện khuôn mặt. Trong nhận diện khuôn mặt có nhận diện tại chỗ và nhận diện từ xa. Quản lý dữ liệu nhận dạng bao gồm: thêm thông tin nhận dạng, cập nhật thông tin nhận dạng và xóa thông tin nhận dạng. Quản lý nhân sự bao gồm: thêm nhân viên, cập nhật nhân viên và xóa nhân viên.
• Sơ đồ khối diễn tả nhận dạng của hệ thống
• Sơ đồ khối diễn tả đăng nhập vào hệ thống
• Sơ đồ khối diễn tả thêm một người mới vào hệ thống
Hình 3.5. Sơ đồ khối diễn tả thêm một người mới vào hệ thống
• Sơ đồ khối diễn tả tìm kiếm thông tin người trong hệ thống
Hình 3.6: Sơ đồ khối diễn tả tìm kiếm thông tin người trong hệ thống
Hình 3.7.Sơ đồ khối diễn tả chỉnh sữa thông tin người trong hệ thống
Hình 3.8.Sơ đồ khối diễn tả xóa một người khỏi hệ thống
Hình 3.9. Sơ đồ khối diễn tả thêm một nhân viên mới vào hệ thống
Hình 3.10.Sơ đồ khối diễn tả tìm kiếm thông tin nhân viên trong hệ thống
Hình 3.11.Sơ đồ khối diễn tả chỉnh sữa thông tin nhân viên trong hệ thống
Hình 3.12.Sơ đồ khối diễn tả xóa một nhân viên khỏi hệ thống
• Sơ đồ kiến trúc hệ thống
• Sơ đồ 3 lớp
Hình 3.13.Sơ đồ mô hình 3 lớp
• Mô tả sơ đồ
• Tầng trình diễn (GUI): Nhập liệu và trình bày dữ liệu, ở đây có thể bao gồm các bước kiểm tra dữ liệu trước khi gọi tầng nghiệp vụ.
• Tầng nghiệp vụ (Bussiness Logic): Kiểm tra các yêu cầu nghiệp vụ trước khi cập nhật dữ liệu.
• Tầng truy cập cơ sở dữ liệu (Data Access): Kết nối cơ sở dữ liệu, tìm kiếm, thêm, xóa, sửa trên cơ sở dữ liệu.
• Ưu điểm mô hình 3 lớp
• Giảm sự kết dính giữa các thực thể của phần mềm. • Có khả năng tái sử dụng code cho các nền tảng khác. • Dễ dàng nâng cấp và bảo trì chương trình.
• Dễ dàng hơn trong việc phân rã để xây dựng chương trình. • Nhược điểm mô hình 3 lớp
• Với những hệ thống nhỏ việc áp dụng mô hình này sẽ mất nhìu thời gian hơn.
• Việc áp dụng mô hình này đòi hỏi lập trình viên có kinh nghiệm sử dụng mô hình này.
• Lược đồ quan hệ giữa các bảng trong cơ sở dữ liệu
Hình 3.14. Lược đồ quan hệ giữa các bảng trong cơ sở dữ liệu
• Phân tích dữ liệu từng bảng
Tên trường Mô tả Kiểu dữ liệu Null hay không Khóa
DISTRICTID ID của quận VARCHAR(5) Không null Primary Key NAMED Tên của quận VARCHAR(20) Không null
PROVINCEID ID của tỉnh VARCHAR(5) Không null Foreign Key
Bảng 3.1. District
• Province
Tên trường Mô tả Kiểu dữ liệu Null hay không Khóa
PROVINCEID ID của tỉnh VARCHAR(5) Không null Primary Key NAMEP Tên của tỉnh VARCHAR(20) Không null
Bảng 3.2. Province
• Ward
Tên trường Mô tả Kiểu dữ liệu Null hay không Khóa
WARDID ID của tổ VARCHAR(5) Không null Primary Key NAMEW Tên của tổ VARCHAR(20) Không null
DISTRICTID ID của quận VARCHAR(5) Không null Foreign Key
Bảng 3.3. Ward
• Population_Groups
Tên trường Mô tả Kiểu dữ liệu Null hay không Khóa
PGROUPSID ID của nhóm người
VARCHAR(5) Không null Primary Key
NAMEG Tên của
nhóm người
VARCHAR(20) Không null
WARDID ID của tổ VARCHAR(5) Không null Foreign Key
• Person
Tên trường Mô tả Kiểu dữ liệu Null hay
không
Khóa
PID ID của
người
VARCHAR(12) Không null Primary Key IDENTITY_NUMBER Số CMND VARCHAR(9) Không null
FULLNAME Họ tên VARCHAR(50) Không null
DOB Ngày sinh DATE Không null
HOMETOWN Quê quán VARCHAR(5) Không null Foreign
Key PERMANENT_RESIDENCE Nơi cư trú VARCHAR(5) Không null Foreign
Key
IMAGE Ảnh BLOB(307200) Không null
ETHNIC Dân tộc VARCHAR(15) Không null
RELIGION Tôn giáo VARCHAR(15) Không null
CHARACTERISTIC Đặc điểm của 1 người
VARCHAR(100) Không null
DATE Ngày được
nhập vào CSDL.
DATE Không null
Bảng 3.5. Person
• Employee
Tên trường Mô tả Kiểu dữ liệu Null hay không Khóa
Foreign Key
DATE Ngày bắt đầu
làm việc
DATE Không null
USERNAME Tên đăng nhập
VARCHAR(15) Không null
PASSWORD Mật khẩu VARCHAR(20) Không null ROLEID ID quyền sử
dụng
SMALLINT(2) Không null Foreign Key
Bảng 3.6. Employee
• Role
Tên trường Mô tả Kiểu dữ liệu Null hay không Khóa
ROLEID ID quyền sử dụng
SMALLINT(2) Không null Primary Key ROLENAME Tên quyền
sử dụng
VARCHAR(10) Không null
Bảng 3.7. Role
• Phân tích và thiết kế giao diện
• Danh sách giao diện
STT Mã giao diện Tên giao diện Mô tả Người sử dụng
01 I01 Giao diện chính Khi người sử dụng đăng nhập thành công thì hệ thống sẽ hiển thị giao diện này.
02 I02 Giao diện dò tìm khuôn mặt
Giao diện này giúp người sử dụng thực hiện chức năng dò tìm khuôn mặt của phần mềm. Nhân viên
03 I03 Giao diện nhận
dạng khuôn mặt
Giao diện này giúp người sử dụng thực hiện chức năng nhận dạng khuôn mặt của phần mềm. Nhân viên
04 I04 Giao diện đăng
nhập
Giao diện này giúp người sử dụng thực hiện chức năng đăng nhập vào hệ thống. Nhân viên
05 I05 Giao diện thay đổi mật khẩu
Giao diện này giúp người sử dụng thay đổi mật khẩu của mình.
Nhân viên
06 I06 Giao diện tìm
kiếm thông tin
Giao diện này giúp người sử dụng tìm kiếm thông tin.
07 I07 Giao diện quản lý máy chủ
Giao diện này dùng để quản lý kết nối giữa máy khách (Android) và máy chủ(PC).
Người quản lý
08 I08 Giao diện thêm
thông tin người
Giao diện này dùng để thêm một người vào cơ sở dữ liệu
Người quản lý
09 A01 Giao diện duyệt ảnh từ thẻ nhớ điện thoại
Giao diện này hiển thị ảnh từ thẻ nhớ điện thoại để người dùng có thể chọn ảnh cần nhận dạng Người quản lý &Nhân viên
10 A02 Giao diện gởi ảnh đến server nhận dạng
Giao diện này cho người dùng xác nhận lại ảnh cần gởi và sau đó gởi ảnh đến server để nhận dạng
Người quản lý & Nhân viên
11 A03 Giao diện hiển thị thông tin nhận dạng từ server.
Giao diện này cho người xem thông tin của tấm ảnh được nhận diện do server cung
Người quản lý & Nhân viên
cấp.
Bảng 3.8. Danh sách giao diện
• Giao diện chính
Hình 3.15. Giao diện chính
No. Tên trường Loại Mục đích
01 File Menu Khi bấm chuột vào menu
sẽ hiện thị: • Logout
• Exit
02 View Menu Khi nhấn chuột vào
View menu sẽ hiện thị: • Face Detection
• Face Recognition
03 Tool Menu Khi nhấn chuột vào Tool
menu sẽ hiện thị: • Add new person • Edit person • Change password • Server management • Search information • Administrator
04 Help Menu Khi nhấn chuột vào Help
menu sẽ hiển thị: • Overview • Tutorial • Help • About Bảng 3.9. Giao diện chính
Hình 3.16. Giao diện do tìm khuôn mặt
Giao diện dò tìm khuôn mặt Mã: I
No. Tên trường Loại Mục đích
01 Thumbnails List Hiển thị danh sách các
hình ảnh được tải lên tử folder
02 Face annotation List Hiện thị khuôn mặt sau khi tự động nhận dạng hay nhận dạng bằng tay
03 Open Folder Button Khi người sử dụng bấm
chuột vào “Open Folder” sẽ hiện thị hộp cho folder hình ảnh
04 X Button Khi người sử dụng bấm chuột vào “X” button, cửa sổ dò tìm khuôn mặt sẽ mất đi.
Hình 3.17. Giao diện nhận diện khuôn mặt
Giao diện nhận dạng khuôn mặt Mã: I
No. Tên trường Loại Mục đích
01 Face List List Hiện thị danh sách khuôn
mặt đang chờ để nhận dạng.
02 Faces Nearest List Hiển thị danh sách các khuôn mặt mà có chi tiết gần giống nhất với khuôn mặt đang nhận dạng. 03 Click me to import
an image
Label Nhấn vào để đưa hình ảnh vào.
Textbox
05 Full Name Label
Textbox
Hiển thị tên đầy đủ.
06 Birthday Label
Textbox
Hiển thị ngày sinh.
07 Hometown Label
Text
Hiển thị quê quán.
08 Place of residence Label Textbox
Hiển thị nơi thường trú
09 People Label
Textbox
Hiển thị dân tộc.
10 Religious Label
Textbox
Hiển thị tôn giáo.
11 Export to PDF Button Nhấn vào để xuất thông tin sau khi nhận dạng sang PDF.
Bảng 3.10. Giao diện dò tìm khuôn mặt
Hình 3.18. Giao diện đăng nhập
Giao diện đăng nhập Mã: I
No. Tên trường Loại Mục đích
01 User name Label
Text box
• Nhập tên tài khoản.
02 Password Label
Text box
• Nhập mật khẩu
03 Login Button - Kiểm tra tên đăng nhập
và mật khẩu có được phép đăng nhập hay không?
- Kiểm tra tên đăng nhập và mật khẩu có rỗng hay không?
- Kiểm tra tên đăng nhập và mật khẩu có tồn tại trong cơ sở dữ liệu hay không?
- Nếu tồn tại, đăng nhập vào hệ thống, nếu không tồn tại sẽ thông báo lỗi
04 Cancel Button Tên đăng nhập và mật
khẩu sẽ bị xóa khi người sử dụng nhấn chuột vào nút này.
• Giao diện thay đổi mật khẩu
Hình 3.19. Giao diện đổi mật khẩu
Giao diện thay đổi mật khẩu Mã: I
No. Tên trường Loại Mục đích
01 Current Password Label Textbox
• Nhập mật khẩu hiện tại
02 New Password Label Textbox • Nhập mật khẩu mới 03 Confirm new Password Label Textbox • Nhập lại mật khẩu mới
textbox before change the password.
Bảng 3.12. Giao diện đổi mật khẩu
• Giao diện tìm kiếm thông tin
Hình 3.20. Giao diện tìm kiếm thông tin
No. Tên trường Loại Mục đích
01 Search Type Label Combobox
Loại cần tìm kiếm (tên, mã số). 02 Search Button Textbox Nhấn nút để tìm kiếm thông tin. 03 Personal Information
Table Hiển thị thông tin của