7. Những nội dung và kết quả nghiên cứu được trong đề tài
3.1. Phân tích yêu cầu, đặc tả chức năng của hệ thống
3.1.1. Yêu cầu về chức nă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.
3.1.2. 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.
3.1.3. Yêu cầu về phần mềm
- Ngôn ngữ lập trình: Java. - Cơ sở dữ liệu: DB2.
SVTH: Phan Thanh Ngọc Trang 50/ 103 3.1.4. Đặc tả chức năng phần mềm
Sơ đồ Use case tổng quát
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.
SVTH: Phan Thanh Ngọc Trang 51/ 103
Đặ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:
1. Tải tấm hình lên.
2. Dò tìm khuôn mặt trong tấm hình. 3. Nhận diện khuôn mặt đó.
4. 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.
SVTH: Phan Thanh Ngọc Trang 52/ 103
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:
1. Đăng nhập vào phần mềm.
2. Điền tên hoặc id của người cần tìm kiếm. 3. 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:
1. Đăng nhập vào phần mềm.
2. 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.
SVTH: Phan Thanh Ngọc Trang 53/ 103 Các luồng chính:
1. Đăng nhập vào phần mềm.
2. Tìm kiếm thông tin của người cần cập nhật lại. 3. 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:
1. Đăng nhập vào phần mềm. 2. Tìm kiếm người muốn xóa.
SVTH: Phan Thanh Ngọc Trang 54/ 103 3.1.5. Sơ đồ chức năng
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.
SVTH: Phan Thanh Ngọc Trang 55/ 103 3.1.6. Sơ đồ khối diễn tả cách hoạt động của hệ thống
3.1.6.1. Sơ đồ khối diễn tả nhận dạng của hệ thống
SVTH: Phan Thanh Ngọc Trang 56/ 103 3.1.6.2. Sơ đồ khối diễn tả đăng nhập vào hệ thống
SVTH: Phan Thanh Ngọc Trang 57/ 103 3.1.6.3. Sơ đồ khối diễn tả thêm một người mới vào hệ thống
SVTH: Phan Thanh Ngọc Trang 58/ 103 3.1.6.4. Sơ đồ khối diễn tả tìm kiếm thông tin người trong hệ thống
SVTH: Phan Thanh Ngọc Trang 59/ 103 3.1.6.5. Sơ đồ khối diễn tả chỉnh sữa thông tin người trong hệ thống
SVTH: Phan Thanh Ngọc Trang 60/ 103 3.1.6.6. Sơ đồ khối diễn tả xóa một người khỏi hệ thống
SVTH: Phan Thanh Ngọc Trang 61/ 103 3.1.6.7. Sơ đồ khối diễn tả thêm một nhân viên mới vào hệ thống
SVTH: Phan Thanh Ngọc Trang 62/ 103 3.1.6.8. Sơ đồ khối diễn tả tìm kiếm thông tin nhân viên trong hệ thống
SVTH: Phan Thanh Ngọc Trang 63/ 103 3.1.6.9. Sơ đồ khối diễn tả chỉnh sữa thông tin nhân viên trong hệ thống
SVTH: Phan Thanh Ngọc Trang 64/ 103 3.1.6.10. Sơ đồ khối diễn tả xóa một nhân viên khỏi 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
3.1.7. Sơ đồ kiến trúc hệ thống
Sơ đồ mô hình 3 lớp
SVTH: Phan Thanh Ngọc Trang 65/ 103
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.
SVTH: Phan Thanh Ngọc Trang 66/ 103 3.3.1. Lược đồ quan hệ giữa các bảng trong cơ sở dữ liệu
SVTH: Phan Thanh Ngọc Trang 67/ 103 3.3.2. Phân tích dữ liệu từng bảng
1. District
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 2. 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 3. 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
SVTH: Phan Thanh Ngọc Trang 68/ 103 4. 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
SVTH: Phan Thanh Ngọc Trang 69/ 103 5. 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_NU MBER
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
CHARACTERI STIC
Đặ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
SVTH: Phan Thanh Ngọc Trang 70/ 103 6. Employee
Tên trường Mô tả Kiểu dữ liệu Null hay không Khóa
PID ID người VARCHAR(12) Không null Primary/ 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 7. 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
SVTH: Phan Thanh Ngọc Trang 71/ 103 3.4. Phân tích và thiết kế giao diện
3.4.1. 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.
Nhân viên
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
SVTH: Phan Thanh Ngọc Trang 72/ 103
khẩu của mình.
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.
Người quản lý
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
SVTH: Phan Thanh Ngọc Trang 73/ 103
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 cấp.
Người quản lý & Nhân viên
Bảng 3.8 Danh sách giao diện
3.4.2. Giao diện chính
SVTH: Phan Thanh Ngọc Trang 74/ 103
Giao diện chính Mã: I01
No. Tên thành phần 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
SVTH: Phan Thanh Ngọc Trang 75/ 103 3.4.3. Giao diện dò tìm khuôn mặt
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ã: I02
No. Tên thành phần 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
SVTH: Phan Thanh Ngọc Trang 76/ 103
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.
Bảng 3.10 Giao diện dò tìm khuôn mặt
3.4.4. Giao diện nhận dạng khuôn mặt
SVTH: Phan Thanh Ngọc Trang 77/ 103 Giao diện nhận dạng khuôn mặt Mã: I03
No. Tên thành phần 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.
04 Person ID Label
Textbox
Hiển thị mã người.
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