MỤC LỤC TỔNG QUAN 9 1 1 LÝ DO CHỌN ĐỀ TÀI 9 1 2 MỤC ĐÍCH CỦA ĐỀ TÀI 9 1 3 ĐỐI TƯỢNG CỦA ĐỀ TÀI 9 1 4 PHƯƠNG PHÁP VÀ PHẠM VI NGHIÊN CỨU 10 1 5 KẾT QUẢ DỰ KIẾN ĐẠT ĐƯỢC 10 CƠ SỞ LÝ THUYẾT VÀ CÔNG CỤ SỬ[.]
Trang 1MỤC LỤC
1.4 PHƯƠNG PHÁP VÀ PHẠM VI NGHIÊN CỨU 10
Trang 2Hình 3 1 Hình ảnh Trường Đại học Công nghệ GTVT cơ sở Hà Nội 20
Hình 3 2 Phòng học ngành Công nghệ thông tin 21
Hình 3 3 Hình ảnh sinh viên UTT tại cuộc thi “Chơi sáng tạo – Học tư duy” 22
Hình 3 4 Hình ảnh Ngày hội hiến máu tình nguyện UTT 22
Hình 3 5 Hình ảnh Chiến dịch mùa hè xanh của sinh viên UTT 23
Hình 3 7 Biểu đồ UseCase Quản lý Tài khoản 30
Hình 3 8 Biểu đồ UseCase Quản lý Đoàn viên 30
Hình 3 9 Biểu đồ UseCase Quản lý Thông báo 31
Hình 3 10 Biểu đồ UseCase Quản lý Tin tức 31
Hình 3 11 Biểu đồ UseCase Quản lý Khoa và lớp 32
Hình 3 12 Biểu đồ UseCase Quản lý Hình ảnh 32
Hình 3 13 Biểu đồ UseCase Quản lý tài liệu 33
Hình 3 14 Biểu đồ UseCase Quản lý Hoạt động 33
Hình 3 15 Biểu đồ UseCase Quản lý Phản hồi 34
Hình 3 16 Biểu đồ UseCase Quản lý Liên kết 34
Hình 3 17 Biểu đồ UseCase Gửi phản hồi 35
Hình 3 18 Biểu đồ tuần tự Thêm tài khoản 45
Hình 3 19 Biểu đồ tuần tự Cập nhật tài khoản 45
Hình 3 20 Biểu đồ tuần tự Xóa tài khoản 46
Hình 3 21 Biểu đồ tuần tự Tìm kiếm tài khoản 46
Hình 3 22 Biểu đồ tuần tự Phân quyền sử dụng 46
Hình 3 23 Biểu đồ tuần tự Thêm đoàn viên 47
Hình 3 24 Biểu đồ tuần tự Cập nhật đoàn viên 47
Hình 3 25 Biểu đồ tuần tự Xóa đoàn viên 47
Hình 3 26 Biểu đồ tuần tự Xem thông tin đoàn viên 48
Hình 3 27 Biểu đồ tuần tự Thêm thông báo 48
Hình 3 28 Biểu đồ tuần tự Cập nhật thông báo 48
Trang 3Hình 3 29 Biểu đồ tuần tự Xóa thông báo 49
Hình 3 30 Biểu đồ tuần tự chi tiết thông báo 49
Hình 3 31 Biểu đồ tuần tự ẩn/hiện thông báo 49
Hình 3 32 Biểu đồ tuần tự Thêm dnah mục 50
Hình 3 33 Biểu đồ tuần tự Cập nhật danh mục 50
Hình 3 34 Biểu đồ tuần tự Xóa danh mục 50
Hình 3 35 Biểu đồ tuần tự Di chuyển danh mục 51
Hình 3 36 Biểu đồ tuần tự Thêm tin tức 51
Hình 3 37 Biểu đồ tuần tự Cập nhật tin tức 51
Hình 3 39 Biểu đồ tuần tự Xem chi tiết tin tức 52
Hình 3 40 Biểu đồ tuần tự Ẩn/Hiện tin tức 53
Hình 3 41 Biểu đồ tuần tự Xem bình luận tin tức 53
Hình 3 42 Biểu đồ tuần tự Xem chi tiết phản hồi 54
Hình 3 43 Biểu đồ tuần tự Phúc đáp phản hồi 54
Hình 3 44 Biểu đồ tuần tự Xóa phản hồi 55
Hình 3 46 Biểu đồ tuần tự Cập nhật album 56
Hình 3 48 Biểu đồ tuần tự Ẩn/Hiện album 57
Hình 3 49 Biểu đồ tuần tự Thêm hình ảnh 57
Hình 3 50 Biểu đồ tuần tự Cập nhật hình ảnh 58
Hình 3 51 Biểu đồ tuần tự Xóa hình ảnh 58
Hình 3 52 Biểu đồ tuần tự Ẩn/Hiện hình ảnh 59
Hình 3 53 Biểu đồ tuần tự Thêm danh mục tài liệu 59
Hình 3 54 Biểu đồ tuần tự Cập nhật danh mục tài liệu 60
Hình 3 55 Biểu đồ tuần tự Xóa danh mục tài liệu 60
Hình 3 56 Biểu đồ tuần tự Thêm tài liệu 61
Hình 3 57 Biểu đồ tuần tự Cập nhật tài liệu 61
Hình 3 58 Biểu đồ tuần tự Xóa tài liệu 62
Hình 3 59 Biểu đồ tuần tự Thêm liên kết 62
Hình 3 60 Biểu đồ tuần tự Cập nhật liên kết 63
Hình 3 61 Biểu đồ tuần tự Xóa liên kết 63
Hình 3 62 Biểu đồ tuần tự Ẩn/Hiện liên kết 64
Hình 3 63 Biểu đồ tuần tự Thêm hoạt động 64
Hình 3 64 Biểu đồ tuần tự Cập nhật hoạt động 65
Hình 3 65 Biểu đồ tuần tự Xóa hoạt động 65
Hình 3 66 Biểu đồ tuần tự Xem danh sách đăng ký hoạt động 66
Hình 3 68 Biểu đồ tuần tự Cập nhật khoa 67
Hình 3 70 Biểu đồ tuần tự Ẩn/Hiện khoa 68
Trang 4Hình 3 71 Biểu đồ tuần tự Thêm lớp 68
Hình 3 72 Biểu đồ tuần tự Cập nhật lớp 69
Hình 3 75 Biểu đồ tuần tự Xem danh sách sinh viên 70
Hình 3 77 Biểu đồ hoạt động Thêm tài khoản 72
Hình 3 78 Biểu đồ hoạt động Cập nhật tài khoản 73
Hình 3 79 Biểu đồ hoạt động Xem thông tin tài khoản 74
Hình 3 80 Biểu đồ hoạt động Xóa tài khoản 75
Hình 3 81 Biểu đồ hoạt động Phân quyền sử dụng 76
Hình 3 82 Biểu đồ hoạt động Thêm đoàn viên 77
Hình 3 83 Biểu đồ hoạt động Cập nhật đoàn viên 78
Hình 3 84 Biểu đồ hoạt động Xóa đoàn viên 79
Hình 3 85 Biểu đồ hoạt động Xem thông tin chi tiết 80
Hình 3 86 Biểu đồ hoạt động Thêm thông báo 81
Hình 3 87 Biểu đồ hoạt động Cập nhật thông báo 82
Hình 3 88 Biểu đồ hoạt động Xóa thông báo 83
Hình 3 89 Biểu đồ hoạt động Xem thông tin chi tiết 84
Hình 3 90 Biểu đồ hoạt động Ẩn/Hiện thông báo 85
Hình 3 91 Biểu đồ hoạt động Thêm danh mục tin tức 86
Hình 3 92 Biểu đồ hoạt động Cập nhật danh mục tin tức 87
Hình 3 93 Biểu đồ hoạt động Xóa danh mục tin tức 88
Hình 3 94 Biểu đồ hoạt động Dịch chuyển vị trí danh mục 89
Hình 3 95 Biểu đồ hoạt động Thêm tin tức 90
Hình 3 96 Biểu đồ hoạt động Cập nhật tin tức 91
Hình 3 97 Biểu đồ hoạt động Xóa tin tức 92
Hình 3 98 Biểu đồ hoạt động Xem chi tiết tin tức 93
Hình 3 99 Biểu đồ hoạt động Ẩn/Hiện tin tức 94
Hình 3 100 Biểu đồ hoạt động Xóa phản hồi 95
Hình 3 101 Biểu đồ hoạt động Xem chi tiết 96
Hình 3 103 Biểu đồ hoạt động Thêm Album 98
Hình 3 104 Biểu đồ hoạt động Cập nhật Album 99
Hình 3 105 Biểu đồ hoạt động Xóa Album 100
Hình 3 106 Biểu đồ hoạt động Ẩn/Hiện Album 101
Hình 3 107 Biểu đồ hoạt động Cập nhật hình ảnh 102
Hình 3 108 Biểu đồ hoạt động Xóa hình ảnh 103
Hình 3 109 Biểu đồ hoạt động Xóa hình ảnh 104
Hình 3 110 Biểu đồ hoạt động Thêm danh mục 105
Hình 3 111 Biểu đồ hoạt động Cập nhật danh mục 106
Trang 5Hình 3 113 Biểu đồ hoạt động Thêm tài liệu 108
Hình 3 114 Biểu đồ hoạt động Cập nhật tài liệu 109
Hình 3 115 Biểu đồ hoạt động Xóa tài liệu 110
Hình 3 116 Biểu đồ hoạt động Thêm liên kết 111
Hình 3 117 Biểu đồ hoạt động Cập nhật liên kết 112
Hình 3 118 Biểu đồ hoạt động Xóa liên kết 113
Hình 3 119 Biểu đồ hoạt động Ẩn/Hiện liên kết 114
Hình 3 120 Biểu đồ hoạt động Thêm hoạt động 115
Hình 3 121 Biểu đồ hoạt động Cập nhật hoạt động 116
Hình 3 122 Biểu đồ hoạt động Xóa hoạt động 117
Hình 3 123 Biểu đồ hoạt động Xem danh sách đăng ký 118
Hình 3 124 Biểu đồ hoạt động Thêm khoa 119
Hình 3 125 Biểu đồ hoạt động Cập nhật khoa 120
Hình 3 126 Biểu đồ hoạt động Xóa khoa 121
Hình 3 127 Biểu đồ hoạt động Ẩn/Hiện khoa 122
Hình 3 128 Biểu đồ hoạt động Thêm lớp 123
Hình 3 129 Biểu đồ hoạt động Cập nhật lớp 124
Hình 3 131 Biểu đồ hoạt động Ẩn/Hiện lớp 126
Hình 3 132 Hình ảnh Sơ đồ lớp tổng quát 127
Hình 4 1 Hình ảnh Giao diện cho người quản trị 130
Hình 4 5 Hình ảnh Quản lý Danh mục tin tức 132
Hình 4 6 Hình ảnh Quản lý Danh sách tin tức 132
Hình 4 7 Hình ảnh Quản lý Danh sách phản hồi 132
Hình 4 8 Hình ảnh Quản lý Danh sách Album 133
Hình 4 9 Hình ảnh Quản lý Danh sách hình ảnh 133
Hình 4 10 Hình ảnh Quản lý Danh mục tài liệu 133
Hình 4 11 Hình ảnh Quản lý Danh sách tài liệu 134
Trang 6Chương 1 TỔNG QUAN 1.1 LÝ DO CHỌN ĐỀ TÀI
Trí tuệ nhân tạo (AI) đang là xu hướng phát triển có nhiều tiềmnăng trong lĩnh vực công nghệ thông tin, nắm giữ vai trò chủ đạotrong dòng chảy công nghệ hiện đại với nhiều ứng dụng trong mọilĩnh vực của đời sống xã hội như trợ lí ảo, nhà thông minh, xe tự lái,các hệ thống nhận diện,… Nhận diện khuôn mặt là một là một lĩnhvực nghiên cứu của ngành thị giác máy tính, 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 tương tự nhưnhận dạng vân tay, hay nhận dạng mống mắt
Chúng tôi nhận thấy việc điểm danh sinh viên vào các buổi họcthường tốn nhiều thời gian vì người điểm danh cần gọi tên, điểmmặt từng bạn trong lớp học Đối với những lớp học có từ 50 sinhviên trở lên thì công việc này càng khó khăn hơn vì có thể xảy ratrường hợp gian lận trong điểm danh (điểm danh hộ) Trong đề tàinày, chúng tôi chọn nghiên cứu về hệ thống nhận diện khuôn mặtbằng thư viện mã nguồn mở Face Recognition Chúng tôi cũng đãphân tích phương pháp đề xuất với các phương pháp khác Trên
cơ sở đó, chúng tôi xây dựng hệ thống điểm danh sinh viên ápdụng thí điểm tại Học Viện Kỹ Thuật Mật Mã Ứng dụng điểm danhsinh viên bằng nhận dạng khuôn mặt giúp cho việc điểm danh trởnên nhanh chóng và dễ dàng hơn, khắc phục những khuyết điểm,hạn chế của việc điểm danh truyền thống
1.2 MỤC ĐÍCH CỦA ĐỀ TÀI
Nghiên cứu các công cụ và thư viện mang lại kết quả có độ thực tế cao, từ đó áp dụng vào bài toán: Xây dựng hệ thống điểm danh bằng khuôn mặt
1.3 ĐỐI TƯỢNG CỦA ĐỀ TÀI
Trang 7Tập trung chính vào đối tượng nghiên cứu là mặt người, kỹthuật nhận diện khuôn mặt bằng máy học Do các hạn chế về thờigian cùng thiết bị, đề tài sẽ tập trung nghiên cứu triển khai ứngdụng trên một tập dữ liệu có sẵn (ảnh khuôn mặt của 3 thành viênlớp Phân tích, thiết kế hệ thống-2-20 (A15C306), Học Viện Kỹ ThuậtMật Mã).
1.4 PHƯƠNG PHÁP VÀ PHẠM VI NGHIÊN CỨU
Để thực hiện đề tài khoa học này, chúng tôi sử dụng kết hợphai phương pháp nghiên cứu sau:
Phương pháp nghiên cứu lý thuyết:
- Lập trình xây dựng ứng dụng
1.5 KẾT QUẢ DỰ KIẾN ĐẠT ĐƯỢC
Hệ thống quản lý quản lý sinh viên dự kiến đạt được các kếtquả sau:
⮚ Hiểu và nắm vững các khái niệm, kỹ thuật liên quan đếncác công nghệ mới
⮚ Phân tích yêu cầu hệ thống dựa theo đúng kết quả khảosát được tại học viện
⮚ Cài đặt thành công ứng dụng thực tế: Hệ thống quản lýđiểm danh tại Học Viện Kỹ Thuật Mật Mã với các module chính:
Admin:
- Quản lý tài khoản của các actor
Trang 8Hệ quản lý sinh viên:
- Quản lý hồ sơ sinh viên
- Xem thông tin điểm danh của các lớp đang phụ trách
- Gửi phản hồi điểm danh của sinh viên trong lớp đangphụ trách
Biểu đồ UML (Unified Modeling Language) là một ngôn ngữ
mô hình gồm các ký hiệu đồ họa mà các phương pháp hướng đốitượng sử dụng để thiết kế các hệ thống thông tin một cách nhanhchóng Cách tiếp cận theo mô hình của UML giúp ích rất nhiều chonhững người thiết kế và thực hiện hệ thống thông tin cũng nhưnhững người sử dụng nó; tạo nên một cái nhìn bao quát và đầy đủ
về hệ thống thông tin dự định xây dựng
Trang 9Một số dạng biểu đồ UML phổ biến như: Biểu đồ Usecase,Biểu đồ lớp, Biểu đồ trạng thái, Biểu đồ tuần tự, Biểu đồ hoạt động
2.1.1 Biểu đồ Usecase
Một biểu đồ Use case chỉ ra một số lượng các tác nhân ngoạicảnh và mối liên kết của chúng đối với Use case mà hệ thống cungcấp Một Use case là một lời miêu tả của một chức năng
- Hệ thống: Với vai trò là thành phần của biểu đồ use case, hệ
thống biểu diễn ranh giới giữa bên trong và bên ngoài của một chủthể trong phần mềm chúng ta xây dựng.Một hệ thống ở trong biểu
đồ use case không nhất thiết là một hệ phần mềm; nó có thể là mộtchiếc máy,hoặc là một hệ thống thực như một doanh nghiệp, mộttrường đại học, v.v
- Tác nhân (actor): Là người dùng của hệ thống, một tác
nhân có thể là một người dùng thực hoặc các hệ thống máy tínhkhác có vai trò nào đó trong hoạt động của hệ thống Như vậy, tácnhân thực hiện các use case Một tác nhân có thể thực hiện nhiềuuse case và ngược lại một use case cũng có thể được thực hiệnbởi nhiều tác nhân
Tác nhân được kí hiệu:
Hình 2 1 Actor Name
- Các use case: Đây là thành phần cơ bản của biểu đồ use
case Các use case được biểu diễn bởi các hình elip.Tên các usecase thể hiện một chức năng xác định của hệ thống
Các Use case được kí hiệu bằng hình elips
Trang 10Hình 2 2 Use Case Name Mối quan hệ giữa các use case:
o Association: thường được dùng để mô tả mối quan hệ
giữa Actor và Use Case và giữa các Use Case với nhau
Hình 2 3 Association
o Include: là quan hệ giữa các Use Case với nhau, nó mô
tả việc một Use Case lớn được chia ra thành các UseCase nhỏ để dễ cài đặt (module hóa) hoặc thể hiện sựdùng lại
Hình 2 4 Include
Hình 2 5 Extend 2.1.2 Biểu đồ lớp
Một biểu đồ lớp chỉ ra cấu trúc tĩnh của các lớp trong hệ thống.Các lớp là đại diện cho các “đối tượng” được xử lý trong hệ thống
⮚ Một lớp có những thành phần sau:
● Tên lớp
● Các thuộc tính
● Các phương thức
Trang 11⮚ Giữa các lớp luôn có sự liên kết với nhau Mối liên hệ ngữnghĩa giữa hai hay nhiều lớp chỉ ra sự liên kết giữa các thểhiện của chúng Mối quan hệ về mặt cấu trúc chỉ ra các đốitượng của lớp này có kết nối với các đối tượng của lớp khác.
2.1.3 Biểu đồ tuần tự.
Biểu đồ tuần tự là biểu đồ dùng để xác định các trình tự diễn
ra sự kiện của một nhóm đối tượng nào đó Nó miêu tả chi tiết cácthông điệp được gửi và nhận giữa các đối tượng đồng thời cũngchú trọng đến việc trình tự về mặt thời gian gửi và nhận các thôngđiệp đó
2.1.4 Biểu đồ hoạt động
Biểu đồ hoạt động là biểu đồ mô tả các bước thực hiện, cáchành động, các nút quyết định và điều kiện rẽ nhánh để điều khiểnluồng thực hiện của hệ thống Đối với những luồng thực thi cónhiều tiến trình chạy song song thì biểu đồ hoạt động là sự lựachọn tối ưu cho việc thể hiện Biểu đồ hoạt động khá giống với biểu
đồ trạng thái ở tập các kí hiệu nên rất dễ gây nhầm lẫn Khi vẽchúng ta cần phải xác định rõ điểm khác nhau giữa hai dạng biểu
đồ này là biểu đồ hoạt động tập trung mô tả các hoạt động và kếtqủa thu được từ việc thay đổi trạng thái của đối tượng còn biểu đồtrạng thái chỉ mô tả tập tất cả các trạng thái của một đối tượng vànhững sự kiện dẫn tới sự thay đổi qua lại giữa các trạng thái đó
2.1.5 Công cụ vẽ UML
Có rất nhiều công cụ được sử dụng để vẽ các bản vẽ UML rấtchuyên nghiệp như Rational Rose, Enterprise Architect, MicrosoftVisio, v.v và rất nhiều các công cụ phần mềm nguồn mở miễn phí
có thể sử dụng tốt
Các công cụ có cách sử dụng khá giống nhau và ký hiệu củacác bạn vẽ trên UML cũng đã thống nhất nên việc nắm bắt một
Trang 12công cụ khi chuyển sang làm việc với một công cụ khá không quákhó khăn.
Trong khóa luận tốt nghiệp này, em xin được sử dụng công cụ
vẽ biểu đồ UML Visual Paradigm , một phần mềm nguồn mở, miễn
phí, có đầy đủ chức năng và có thể sử dụng tốt trên môi trườngWindows
Hình 2 6 Visual Paradigm 2.2 MYSQL
2.2.1 Khái quát
❖ MySQL là gì?
MySQL là chương trình dùng để quản lý hệ thống cơ sở dữliệu (CSDL), trong đó CSDL là một hệ thống lưu trữ thông tin đượcsắp xếp rõ ràng, phân lớp ngăn nắp những thông tin mà mình lưutrữ
❖ Tổng quan về hệ quản trị dữ liệu MySQL.
● Tại sao lại sử dụng MySQL?
➔ Khả năng mở rộng và tính linh hoạt.
MySQL cho phép người dùng mở rộng và có thểtùy chỉnh để thay đổi linh hoạt cấu trúc bên trong
Máy chủ cơ sở dữ liệu MySQL đáp ứng nhiều tínhnăng linh hoạt, nó có sức chứa để xử lý các ứng dụng
Trang 13được nhúng sâu với 1MB dung lượng để chạy kho dữliệu khổng lồ lên đến hàng terabytes thông tin Đặc tínhđáng chú ý của MySQL là sự linh hoạt về flatform với tất
cả các phiên bản của Windows, Unix và Linux đangđược hỗ trợ Và đương nhiên, tính chất mã nguồn mởcủa MySQL cho phép tùy biến theo ý muốn để thêm cácyêu cầu phù hợp cho database server
➔ Hiệu năng cao.
Với kiến trúc storage-engine cho phép các chuyêngia cơ sở dữ liệu cấu hình máy chủ cơ sở dữ liệuMySQL đặc trưng cho các ứng dụng chuyên biệt Dùứng dụng là website dung lượng lớn phục vụ hàng triệungười/ngày hay hệ thống xử lý giao dịch tốc độ cao thìMySQL đều đáp ứng được khả năng xử lý khắt khe củamọi hệ thống Với những tiện ích tải tốc độ cao, cơ chế
xử lý nâng cao khác và đặc biệt bộ nhớ caches, MySQLđưa ra tất cả nhưng tính năng cần có cho hệ thốngdoanh nghiệp khó tính hiện nay
➔ Tính sẵn sàng cao.
MySQL đảm bảo sự tin cậy và có thể sử dụngngay MySQL đưa ra nhiều tùy chọn có thể “mì ăn liền”ngay từ cấu hình tái tạo chủ/tớ tốc độ cao, để các nhàphân phối thứ 3 có thể đưa ra những điều hướng có thểdùng ngay duy nhất cho server cơ sở dữ liệu MySQL
➔ Hỗ trợ giao dịch mạnh mẽ.
Trang 14MySQL đưa ra một trong số những engine giaodịch cơ sở dữ liệu tốt nhất trên thị trường Các đặc trưngbao gôm, khóa mức dòng không hạn chế, hỗ trợ giaodịch ACID hoàn thiện, khả năng giao dịch được phân loại
và hỗ trợ giao dịch đa dạng (multi-version) mà người đọckhông bao giờ cản trở cho người viết và ngược lại Dữliệu được đảm bảo trong suốt quá trình server có hiệulực, các mức giao dịch độc lập được chuyên môn hóa,khi phát hiện có lỗi khóa chết ngay tức thì
➔ Điểm mạnh của Web và Data Warehouse.
MySQL với điểm mạnh là cho phép xử lý ở tốc độ cao, hỗ trợ các tính năng chuyên dụng cho website.
Theo công ty thiết kế website Mona Media thìMySQL là nơi cho các website trao đổi thường xuyên bởi
nó có engine xử lý tốc độ cao, khả năng chèn dữ liệucực nhanh và hỗ trợ mạnh các chức năng chuyên dụngcủa web Các tính năng này cũng được sử dụng cho môitrường lưu trữ dữ liệu mà MySQL tăng cường đến hàng
Trang 15chỉ số băm, bảng nhớ chính, bảng lưu trữ và cây B đãđược gói lại để giảm các yêu cầu lưu trữ tới 80% Vì thế,MySQL là sự chọn lựa tốt nhất cho cả ứng dụng web vàcác ứng dụng của doanh nghiệp.
➔ Bảo vệ dữ liệu mạnh mẽ.
Việc quan trong của các doanh nghiệp là bảo mật
dữ liệu, MySQL tích hợp các tính năng bảo mật an toàntuyệt đối Với việc xác nhận truy cập cơ sở dữ liệu,MySQL trang bị các kỹ thuật mạnh, chỉ có người sử dụng
đã được xác nhận mới truy cập được vào cơ sở dữ liệu.SSH và SSL cũng được hỗ trợ để đảm bảo kết nối antoàn và bảo mật Tiện ích backup và recovery cung cấpbởi MySQL và các hãng phần mềm thứ 3 cho phépbackup logic và vật lý cũng như recovery toàn bộ hoặctại một thời điểm
➔ Phát triển ứng dụng toàn diện.
MySQL trở thành cơ sở dữ liệu mã nguồn mở phổbiến nhất hiện nay một phần là do cung cấp hỗ trợ hỗnhợp cho bất cứ sự phát triển ứng dụng nào cần Trong
cơ sở dữ liệu, hỗ trợ có thể được tìm thấy trong cáctrigger, stored procedure, cursor, view, ANSI-standardSQL,… MySQL cũng cung cấp các bộ kết nối như:JDBC, ODBC,… để tất cả các form của ứng dụng sửdụng MySQL như một erver quản lí dữ liệu được đề xuấthàng đầu
➔ Quản lý dễ dàng.
Trang 16Cài đặt MySQL khá nhanh và trung binh từ khidownload phần mềm tới khi cài đặt thành công chỉ mấtchưa đầy 15 phút Cho dù flatform là Linux, MicrosoftWindows, Macintosh hoặc Unix thì quá trình cũng diễn ranhanh chóng Khi đã cài đặt, tính năng quản lý như tựkhởi động lại, tự động mở
2.2.2 Công cụ MYSQL Workbench
MySQL Workbench kế thừa cho DBDesigner 4 từfabFORCE.net và thay thế gói công cụ GUI của MySQL MySQLWorkbench cung cấp mô hình dữ liệu, phát triển SQL, cấu hình máychủ, quản trị người dùng, sao lưu dữ liệu và nhiều hơn nữa
MySQL Workbench hiện hỗ trợ trên nền tảng Windows, Linux
Trang 17xung quanh một trình soạn thảo hiểu mã sâu sắc, và một trình sửalỗi cho cái nhìn rõ ràng về hoạt động của mã PyCharm cung cấpkhả năng tích hợp với các công cụ cộng tác như hệ thống kiểm soátphiên bản và các tracker Trình biên tập chuyên nghiệp mở rộngcác yếu tố cần thiết bằng cách tích hợp liền mạch với các khuônkhổ web, các công cụ JavaScript, ảo hóa và hỗ trợ containerization.
❖ LỢI ÍCH CHÍNH CỦA PHẦN MỀM PYCHARM
Một khía cạnh quan trọng của chương trình là hiểu được nềntảng mã mà bạn đang đưa vào PyCharm đảm bảo bạn có thểkhám phá dự án của bạn chỉ với một vài thao tác trên phím, nócung cấp cho bạn một cái nhìn tổng quan về cấu trúc dự án và chophép bạn truy cập vào các tài liệu có liên quan ngay từ trình soạnthảo Hiểu được một nền tảng code nhanh hơn có nghĩa là thúc đẩynhanh hơn quá trình phát triển của bạn
❖ CÁC TÍNH NĂNG CHÍNH CỦA PHẦN MỀM PYCHARM
– Hỗ trợ Windows, macOS và Linux
– Hỗ trợ mã hoàn thiện thông minh, điều hướng bằng một cú nhấpchuột và kiểm tra kiểu PEP8
– Tái cấu trúc an toàn và tự động trong dự án của bạn
– Tự động phát hiện các vấn đề mã: ví dụ: phân tích mã không sửdụng
– Trình gỡ lỗi hiệu suất cao
– Chế độ mô phỏng Vim
❖ BUILT-IN TOOLS
Python debugging
Trang 18Version controlUnit testing &
Code coverageProfiling
Database Tools
❖ Web Frameworks
DjangoFlaskPyramidWeb2py
❖ Web Development
JavaScriptHTML / CSSAngularJSReactNode.jsVue.js
❖ Virtualization
Remote serversVagrant boxesDocker containers
2.3 Các thư viện
2.3.1 OpenCV
Project OpenCV được bắt đầu từ Intel năm 1999 bởi GaryBradsky OpenCV viết tắt cho Open Source Computer Vision
Trang 19Library OpenCV là thư viện nguồn mở hàng đầu cho ComputerVision và Machine Learning, và hiện có thêm tính năng tăng tốcGPU cho các hoạt động theo real-time.
OpenCV được phát hành theo giấy phép BSD (*), do đó nó
miễn phí cho cả học tập và sử dụng với mục đích thương mại Nó
có trên các giao diện C++, C, Python và Java và hỗ trợ Windows,Linux, Mac OS, iOS và Android OpenCV được thiết kế để hỗ trợhiệu quả về tính toán và chuyên dùng cho các ứng dụng real-time(thời gian thực) Nếu được viết trên C/C++ tối ưu, thư viện này cóthể tận dụng được bộ xử lý đa lõi (multi-core processing)
2.3.2 Face Recognition
Là thư viện mã nguồn mở Nhận dạng và thao tác khuôn mặt
từ Python hoặc từ dòng lệnh với thư viện nhận dạng khuôn mặt đơngiản nhất thế giới Được xây dựng bằng cách sử dụng tính năngnhận dạng khuôn mặt hiện đại nhất của dlib được xây dựng với tínhnăng học sâu Mô hình có độ chính xác là 99,38% trên LabeledFaces in the Wild Điều này cũng cung cấp một công cụ dòng lệnhface_recognition đơn giản cho phép bạn thực hiện nhận dạngkhuôn mặt trên một thư mục hình ảnh từ dòng lệnh
Các tính năng:
- Tìm tất cả các khuôn mặt xuất hiện trong ảnh
- Lấy vị trí và đường nét của mắt, mũi, miệng và cằm của mỗingười
- Tìm kiếm các đặc điểm trên khuôn mặt cực kỳ hữu ích chonhiều thứ quan trọng
Trang 20- Nhận ra những người xuất hiện trong mỗi bức ảnh.
Trang 21Chương 3 KHẢO SÁT THỰC TẾ VÀ PHÂN TÍCH NGHIỆP VỤ
3.1 KHẢO SÁT THỰC TẾ
3.1.1 Địa điểm khảo sát
Địa chỉ: Học viện Kỹ thuật Mật mã, 141 Chiến Thắng, huyện
Thanh Trì, Thành Phố Hà Nội
Hình 3 1 Hình ảnh Học viện Kỹ thuật Mật mã cơ sở Hà Nội
3.1.1.1 Lịch sử hình thành và phát triển
Trung ương (ngày 15 tháng 4 năm 1976)
và Viện Nghiên cứu Khoa học Kỹ thuật Mật mã (ngày 17 tháng
2 năm 1980), được thành lập ngày ngày 17 tháng 2 năm 1995
Trang 22trên cơ sở sáp nhập Trường Đại học Kỹ thuật Mật mã và Viện Nghiên cứu Khoa học Kỹ thuật Mật mã.
có chức năng đào tạo cán bộ có trình độ đại học, sau đại học
và nghiên cứu Khoa học Công nghệ Mật mã của ngành Cơ
yếu Việt nam Tham gia xây dựng phương hướng phát triển Khoa học Công nghệ Mật mã phục vụ yêu cầu phát triển
Ngành cơ yếu Việt Nam tiến lên chính quy, hiện đại, đáp ứng yêu cầu phục vụ lãnh đạo, chỉ huy của Đảng, Nhà nước và các lực lượng vũ trang được bí mật, an toàn, nhanh chóng và
chính xác Đào tạo Chuyên ngành An toàn Thông tin
(Ngành Công nghệ Thông tin) đáp ứng yêu cầu bảo mật
thông tin kinh tế xã hội phục vụ cho sự nghiệp công nghiệp hoá và hiện đại hoá đất nước Học viện Kỹ thuật Mật mã đặt dưới sự lãnh đạo, chỉ đạo trực tiếp của Ban cơ yếu Chính phủ
và Bộ Giáo dục và Đào tạo
tạo và bồi dưỡng (ngắn hạn và dài hạn), cung cấp nhiều cán
bộ nhân viên cho Ngành Cơ yếu Việt nam Từ năm 1980 Học viện Kỹ thuật Mật mã nhận nhiệm vụ đào tạo bồi dưỡng cán
bộ, sỹ quan Cơ yếu cho Nhà nước Lào và Căm-Pu-Chia
nghiên cứu khoa học với các Cơ quan nghiên cứu, cácTrường Đại học, các Trung tâm Khoa học Công nghệ Quốcgia, Quân sự, các Viện nghiên cứu chuyên ngành .trongnước và ngoài nước theo Chiến lược hợp tác quốc tế của Ban
Cơ yếu Chính phủ đã được Thủ tướng Chính phủ phê duyệt
viện Kỹ thuật Mật mã đảm nhận nhiều đề tài trọng điểm củaNgành Cơ yếu Việt nam và Nhà nước
3.1.1.2 Cơ sở đào tạo, nghiên cứu
Trang 23▪ Học viện Kỹ thuật Mật mã có các Cơ sở sau:
o Cơ sở I: Số 141-Đường Chiến Thắng, Tân triều,
▪ Hiện nay Học viện Kỹ thuật Mật mã đang đào tạo Chuyênngành Kỹ thuật Mật mã cho tất cả các loại hình đào tạo phục
vụ Ngành Cơ yếu và đại học chính quy Chuyên ngành An toànThông tin (Ngành Công nghệ Thông tin) phục vụ cho nhu cầubảo mật thông tin Kinh tế Xã hội cho sự nghiệp Công nghiệphoá và Hiện đại hoá đất nước
▪ Đối với Chuyên ngành Kỹ thuật mật mã (Đào tạo theo địa chỉ cho Bộ Quốc Phòng, Bộ Công An, Bộ Ngoại giao, Cục
Cơ yếu Đảng - Chính quyền ).
▪ Đối với Chuyên ngành An toàn Thông tin tuyển sinh rộng rãi
trong toàn quốc Với mục tiêu đào tạo kỹ sư chuyên ngành Antoàn thông tin (Ngành Công nghệ Thông tin) phục vụ cho nhucầu bảo đảm An toàn thông tin mạng máy tính (Quản trị Mạngmáy tính, Bảo mật cơ sở dữ liệu tại các ngân hàng và cácmạng máy tính chuyên dụng, lập trình viên ), bảo mật thôngtin Kinh tế Xã hội cho sự nghiệp Công nghiệp hoá và Hiện đạihoá đất nước
3.1.2 Phương pháp khảo sát
- Quan sát hiện trường;
- Nghiên cứu tài liệu
Trong nội dung của báo cáo, phương thức được lựa chọn đểthu thập thông tin chủ yếu là nghiên cứu thông tin
3.1.2.3 Rút ra kết quả thực nghiệm
Trang 24✔ Đề xuất các chức năng dự kiến trong hệ thống:
▪ Quản lý tài khoản: Tài khoản được quản lý dựa trên các
quyền, có 4 quyền gồm: Hệ quản lý sinh viên, phòng đào tạo,giảng viên, sinh viên; do quản trị viên (admin) tạo tài khoản
- Admin: chỉ có duy nhất một tài khoản admin là người quản lý
tài khoản cho các actor
- Hệ quản lý sinh viên
- Phòng đào tạo
- Giảng viên
- Sinh viên
▪ Quản lý hồ sơ sinh viên: do hệ quản lý sinh viên quản lý.
- Quản lý các thông tin cơ bản của đoàn viên như mã số sinhviên, họ tên, ngày sinh, quê quán, số điện thoại, email, ảnhchân dung, quá trình hoạt động của sinh viên, các thành tíchđạt được, các hoạt động đã từng tham gia và thành tích đạtđược trong hoạt động tại học viện
▪ Quản lý phòng học: quản lý các thông tin về phòng học.
▪ Quản lý hoạt động điểm danh: Xem thông tin điểm danh, trả
lời các phản hồi điểm danh
▪ Quản lý khoa: Xem thông tin khoa, thêm, cập nhật thông tin
các khoa
Trang 25▪ Quản lý lớp: Xếp lịch học, phòng học, thời gian và sinh viên
3.1.3 Phát biểu bài toán
Yêu cầu xây dựng một hệ thống phục vụ cho việc quản lýđiểm danh như sau :
- Mỗi phòng học có hai cửa ra vào (cửa gần bục giảng là cửavào, cửa còn lại là cửa ra) Tại các cửa này sẽ có cameragiám sát
- Sinh viên có hành động vào/ra thì camera tại của vào/ra sẽnắm bắt được thông tin, truy cập hồ sơ và đối chiếu thời khoábiểu rồi đưa ra quyết định ghi nhận điểm danh
- Nguyên tắc ghi nhận điểm danh:
o Từ trước 10 phút đến sau 10 phút tính từ thời điểm bắtđầu giờ học thì sinh viên phải được ghi nhận tại cửa vào
o Từ trước 10 phút đến sau 10 phút tính từ thời điểm kếtthúc giờ học thì sinh viên phải được ghi nhận tại cửa ra
o Trường hợp sinh viên ra ngoài (ghi nhận tại cửa ra) thìphải vào lớp trong vòng không quá 10 phút (ghi nhận ởcửa vào)
- Các hoạt động quản lý khác đã nêu ở mục trên
3.1.4 Quá trình hoạt động nhận diện
Trang 26- Trước giờ học 10 phút, khởi động nguồn thu (camera)
- Mỗi giây nguồn thu sẽ thu được 1 khung hình, nắm bắt cáckhuôn mặt nhận được trong khung hình
- Xác định các khuôn mặt đã nắm bắt được ở trên, so sánh vớitập dữ liệu (đã training khi thêm hồ sơ sinh viên)
1 Admin - Quản lý các tài khoản của các
actor: (Tài)+ Hệ quản lý sinh viên
- Quản lý hồ sơ sinh viên (Tài)
2 Phòng đào tạo - Quản lý phòng học (Tài)
- Quản lý hoạt động điểm danh (Tài)
- Quản lý khoa và lớp(Hiếu)
- Quản lý hoạt động của giảngviên(Đức)
3 Giảng viên - Xem thông tin điểm danh của các
lớp đang phụ trách.(Hiếu)
Trang 27- Giảng viên gửi phản hồi điểm danhcủa sinh viên trong lớp đang phụtrách.(Đức)
4 Sinh viên - Xem thông tin điểm danh (Hiếu)
- Sinh viên gửi phản hồi(Đức)
- Điểm danh(Đức)
3.2.1.2 Biểu đồ UseCase tổng quát
Hình 3 6 Biểu đồ UseCase Tổng quát
3.2.1.3 Các biểu đồ UseCase chi tiết
- Biểu đồ UseCase Quản lý Tài khoản
Trang 28Hình 3 7 Biểu đồ UseCase Quản lý Tài khoản
- Biểu đồ UseCase Quản lý hồ sơ sinh viên
Hình 3 8 Biểu đồ UseCase Quản lý hồ sơ sinh viên
- Biểu đồ UseCase Quản lý hoạt động điểm danh
Trang 29Hình 3 9 Biểu đồ UseCase Quản lý hoạt động điểm danh
- Biểu đồ UseCase Quản phòng học
Hình 3 10 Biểu đồ UseCase Quản lý phòng học
Trang 30- Biểu đồ UseCase Quản lý Khoa và lớp
Hình 3 11 Biểu đồ UseCase Quản lý Khoa
- Biểu đồ UseCase Quản lý lớp
Hình 3 12 Biểu đồ UseCase Quản lý lớp
- Biểu đồ UseCase truy vấn điểm danh của học sinh
Trang 31Hình 3 13 Biểu đồ UseCase truy vấn thông tin điểm danh của sinh
Trang 32Hình 3 16 Biểu đồ UseCase Giảng viên Gửi Phản hồi lên phòng
đào tạo
- Biểu đồ UseCase Quản Lý hoạt động của Giảng viên
Trang 33Hình 3 16 Biểu đồ UseCase Quản lý Hoạt động của giảng viên
- Biểu đồ UseCase Gửi phản hồi của Sinh viên
Hình 3 17 Biểu đồ UseCase Gửi phản hồi của sinh viên
- Biểu đồ UseCase Sinh viên điểm danh
Trang 34Hình 3 18 Biểu đồ UseCase Sinh viên điểm
danh
3.2.1.4 Đặc tả UseCase
- Đặc tả Usecase Đăng nhập
Bảng 3 4 Đặc tả UC Đặc tả Usecase Đăng nhập
1 Tác nhân Admin/Hệ quản lý sinh viên/Phòng đào
tạo/ Giảng viên/ Sinh viên
2 Mô tả Đăng nhập vào hệ thống để sử dụng
4 Luồng sự kiện
chính
1 Admin/Hệ quản lý sinh viên/Phòngđào tạo/ Giảng viên/ Sinh viên truy cậpvào hệ thống
2 Hệ thống hiển thị giao diện ngườidùng
3 Admin/Hệ quản lý sinh viên/Phòngđào tạo/ Giảng viên/ Sinh viên click vàobutton Login
Trang 354 Hệ thống hiển thị form đăng nhập.
5 Admin/Hệ quản lý sinh viên/Phòngđào tạo/ Giảng viên/ Sinh viên nhập tênđăng nhập và mật khẩu
6 Hệ thống thực hiện chức năng vàthông báo cho người dùng
5 Luồng sự kiện
phụ
1 Admin/Hệ quản lý sinh viên/Phòngđào tạo/ Giảng viên/ Sinh viên đăngnhập không thành công
2 Hệ thống hiển thị thông báo và yêucầu đăng nhập lại
- Đặc tả Usecase Quản lý Tài khoản
Bảng 3 5 Đặc tả Usecase Quản lý Tài khoản
2 Mô tả Thêm mới tài khoản, Cập nhật tài khoản,
Xóa tài khoản, Khôi phục mật khẩu
4 Luồng sự kiện
chính
1 Admin đăng nhập vào hệ thống
2 Hệ thống xác nhận thông tin và hiểnthị giao diện Danh mục điều khiển
3 Admin click vào menu Tài khoản
4 Click vào submenu Quản lý danhsách tài khoản
5 Hiển thị giao diện Quản lý danh sáchtài khoản
6.1 Lựa chọn các chức năng Thêm mớitài khoản, Cập nhật tài khoản, Xóa tàikhoản, Khôi phục mật khẩu và Click lưu
Trang 366.2 Nhập kí tự vào ô Tìm Kiếm để tìmkiếm tài khoản
7 Thực hiện chức năng và thông báocho người dùng
5 Luồng sự kiện
phụ
1 Admin đăng nhập không thành công
2 Hệ thống hiển thị thông báo và yêucầu đăng nhập lại
- Đặc tả Usecase Quản lý Đoàn viên
Bảng 3 6 Đặc tả Usecase Quản lý hồ sơ sinh viên
1 Tác nhân Hệ quản lý sinh viên
2 Mô tả
Tìm kiếm hồ sơ sinh viên, Thêm mới hồ
sơ sinh viên, Sửa hồ sơ sinh viên, Xóa
hồ sơ sinh viên, Xem thông tin sinh viên
5.1 Lựa chọn các chức năng Tìm kiếm
hồ sơ sinh viên, Thêm mới hồ sơ sinhviên, Sửa hồ sơ sinh viên, Xóa hồ sơsinh viên, Xem thông tin sinh viên vàClick lưu lại
5.2 Nhập kí tự vào ô Tìm Kiếm để tìm
Trang 37kiếm Sinh viên
- Đặc tả Usecase Quản lý thông tin phòng học
Bảng 3 7 Đặc tả Usecase Quản lý thông tin phòng học
1 Tác nhân Phòng đào tạo
2 Mô tả
Tìm kiếm thông tin phòng học, Thêmmới thông tin phòng học, Cập nhậtthông tin phòng học, Xóa thông tinphòng học
Trang 38- Đặc tả UseCase Quản lý hoạt động điểm danh
Bảng 3 8 Đặc tả UseCase Quản lý hoạt động điểm danh
1 Tác nhân Phòng đào tạo
2 Mô tả Xem thông tin điểm danh, Hồi đáp các
- Đặc tả UseCase Quản lý Khoa
Bảng 3 9 Đặc tả UseCase Quản lý Khoa.
1 Tác nhân Phòng đào tạo
2 Mô tả Tìm kiếm, Thêm mới, Cập nhật, Ẩn, Xóa
Danh sách khoa
4 Luồng sự kiện 1 Phòng đào tạo đăng nhập vào hệ
Trang 392 Hệ thống xác nhận thông tin và hiểnthị giao diện Danh mục điều khiển
3 Admin click vào menu Khoa
4 Hiển thị 2 submenu Danh sách khoa
5 Click vào submenu Danh sách khoa
6 Hiển thị giao diện Quản lý Danh sáchkhoa
7.1 Lựa chọn các chức năng Thêm mớikhoa, Cập nhật khoa, Xóa khoa, Ẩnkhoa và Click lưu lại
7.2 Nhập kí tự vào ô Tìm Kiếm để tìmkiếm khoa
8 Thực hiện chức năng và thông báocho người dùng
1 Tác nhân Phòng đào tạo
2 Mô tả Tìm kiếm, Thêm mới, Cập nhật, Ẩn, Xóa
Trang 404 Hiển thị 2 submenu Album và Danhsách hình ảnh
5 Click vào submenu Album
6 6 Hiển thị giao diện Quản lý Danhsách lơps
7.1 Lựa chọn các chức năng Thêmmới lớp, Cập nhật lớp, Xóa lớp, Ẩn lớp
và Click lưu lại
7.2 Nhập kí tự vào ô Tìm Kiếm để tìmkiếm lớp
8 Thực hiện chức năng và thông báocho người dùng
- Đặc tả UseCase xem thông tin điểm danh của lớp phụ trách
Bảng 3 11 Đặc tả UseCase thông tin điểm danh của lớp phụ trách.
1 Tác nhân Giảng viên
2 Mô tả Truy vấn thông tin điểm danh của lớp do
giảng viên phụ trách
4 Luồng sự kiện
chính
1 Sinh viên đăng nhập vào hệ thống
2 Hệ thống xác nhận thông tin và hiểnthị giao diện Danh mục điều khiển
3 Sinh viên chọn thông tin giảng dạy