Tải bản đầy đủ (.pdf) (12 trang)

báo cáo dự án công nghệ công nghệ thông tin phần mềm điểm danh lớp học bằng qr code

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.35 MB, 12 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b>ĐẠI HỌC QUỐC GIA HÀ NỘITRƯỜNG ĐẠI HỌC CƠNG NGHỆ</b>

<b>BÁO CÁO DỰ ÁN CƠNG NGHỆNgành: Cơng nghệ thông tin</b>

<b>Phần mềm điểm danh lớp học bằng QR Code</b>

Người thực hiệnMã sinh viênLớp

Giảng viên hướng dẫn

: Đào Quang Huy: 21020329: INT3132 1: Lê Khánh Trình

<b>HÀ NỘI - 2023</b>

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<b>MỤC LỤC</b>

<b>I. TỔNG QUAN...</b>

<b>II. XÁC ĐỊNH YÊU CẦU...</b>

1. Yêu cầu chức năng...

2. Yêu cầu phi chức năng...

<b>III. CƠ SỞ DỮ LIỆU...</b>

1. Mô tả cơ sở dữ liệu...

2. Mô tả chi tiết...

3. Yêu cầu chức năng...

<b>IV. SƠ ĐỒ CHỨC NĂNG...</b>

1. Biểu đồ use case tổng quan...

2. Use case đăng nhập...

3. Use case tạo phiên điểm danh...

4. Use case ghi nhận điểm danh...

5. Use case báo cáo và thống kê...

<b>V. GIAO DIỆN PHẦN MỀM...</b>

1. Giao diện trang Đăng nhập...

2. Giao diện trang Tạo phiên điểm danh...

3. Giao diện trang Quét mã QR...

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

<b>I. TỔNG QUAN</b>

Việc giảng dạy từ lâu đã là nhiệm vụ cao cả của những người giáo viên. Nhưngđôi khi, một ngày đến trường của họ không đơn giản là việc dạy học. Việc điểm danh,quản lý học sinh có thể có những khó khăn. Đặc biệt là với những lớp học có đơng ngườihọc. Vì sĩ số đơng, nên việc điểm danh truyền thống là gọi tên theo danh sách có thể mấtnhiều thời gian, và hiệu quả chưa cao.

Để cải thiện những vấn đề này, ta nên sử dụng các công nghệ hỗ trợ. Trong đóphải kể đến QR Code. QR Code là viết tắt của <b>Quick response code </b>(Tạm dịch: Mãphản hồi nhanh) là một mã vạch ma trận (hay mã vạch hai chiều) được phát triển bởicông ty Denso Wave (Nhật Bản) vào năm 1994. QR Code bao gồm những chấm đen và ôvuông mẫu trên nền trắng, có thể chứa những thơng tin như URL, thời gian, địa điểm củasự kiện, mô tả, giới thiệu một sản phẩm nào đó,... QR Code cho phép quét và đọc mãnhanh hơn bằng các thiết bị như máy đọc mã vạch hoặc điện thoại có camera với ứngdụng cho phép quét mã.

Phần mềm điểm danh lớp học bằng QR Code khơng chỉ giảm bớt cơng đoạn thủcơng mà cịn cung cấp các ưu điểm về độ chính xác, nhanh chóng và tính bảo mật, tạonên sự hiệu quả trong quá trình giảng dạy và quản lý giáo dục.

<b>II. XÁC ĐỊNH YÊU CẦU1. Yêu cầu chức năng</b>

1) Chức năng đăng nhập: Giúp đảm bảo xác thực thông tin người dùng và an toànbảo mật hệ thống.

2) Tạo phiên điểm danh: Cho phép người quản lý (giáo viên hoặc người dẫn lớp tạophiên điểm danh mới trên hệ thống cho mỗi buổi học.

3) Tạo mã QR Code: Hỗ trợ tạo mã QR Code cho từng phiên điểm danh cụ thể.4) Ghi nhận điểm danh: Cho phép người học quét mã QR code để ghi nhận việc điểm

danh. Cập nhật trạng thái điểm danh (có mặt hoặc vắng mặt) vào phiên điểm danhhiện tại.

5) Báo cáo và thống kê: Cung cấp báo cáo tổng hợp về việc điểm danh cho mỗiphiên điểm danh hoặc tổng hợp cho tồn bộ khóa học, giúp giáo viên dễ dàng theodõi sự tham gia của người học và phịng quản lý người học phân tích dữ liệu.6) Tích hợp cơ sở dữ liệu: Liên kết với cơ sở dữ liệu người học và khóa học để tự

động cập nhật thông tin với phần mềm điểm danh.

<b>2. Yêu cầu phi chức năng</b>

1) Hiệu suất: Đảm bảo thời gian phản hồi khi người dùng thực hiện các chức năng làhợp lý.

1

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

2) Tương tác người dùng: Giao diện người dùng được thiết kế để đảm bảo sự thuậntiện với người dùng.

3) Thiết bị truy cập: Yêu cầu thiết bị kết nối internet ổn định để truy cập và sử dụngdịch vụ điểm danh. Thiết bị của sinh viên phải có camera có thể quét mã QR đểđiểm danh.

4) Cơ sở dữ liệu: Sử dụng cơ sở dữ liệu để lưu trữ thông tin về danh sách lớp, thôngtin sinh viên, và lịch sử điểm danh. Ở đây ta sử dụng cơ sở dữ liệu quan hệ.

<b>III. CƠ SỞ DỮ LIỆU1. Mô tả cơ sở dữ liệu</b>

Sử dụng cơ sở dữ liệu quan hệ cho phần mềm điểm danh để dễ dàng truy xuấtthông tin người dùng. Ở đây em chọn supabase để thực hiện việc thiết kế cơ sở dữ liệu.Sơ đồ ER cho cơ sở dữ liệu trong phần mềm điểm danh:

<b>2. Mô tả chi tiết </b>

<b>● Bảng Student:</b>

- MSV: mã số của sinh viên, là khóa chính.- FullName: Họ và tên của sinh viên.

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

- birthday: Ngày sinh của sinh viên.

<b>● Bảng StudentAccount:</b>

- UserName: Tên đăng nhập của tài khoản sinh viên (thường sử dụng luônmã sinh viên làm tên đăng nhập), vừa là khóa chính vừa là khóa ngoại liênkết với MSV của bảng Student.

- Password: Mật khẩu của tài khoản sinh viên.

- TeacherID: Mã số của giáo viên giảng dạy lớp học đó, là khóa ngoại liênkết với ID của bảng Teacher.

- Lessons: Số tuần học của lớp.

<b>● Bảng QRcode: </b>

- ClassID: Mã số lớp học, vừa là khóa chính vừa là khóa ngoại trong liên kếtvới ClassID của bảng Class.

- Tuan_1, … : Lưu trữ thông tin phiên điểm danh các tuần học của mỗi lớp.

<b>● Bảng ClassID: Đây là danh sách sinh viên trong mỗi lớp học hiện có trong bảng</b>

Class. Vậy nên sẽ có nhiều các bảng ClassID với tên bảng là mã số lớp học đã cótrong bảng.

- STT: Số thứ tự mỗi sinh viên trong lớp học, là khóa chính.

- MSV: Mã số của sinh viên, là khóa ngoại liên kết với MSV của bảngStudent.

- Tuan_1, … : Là các tuần học của lớp, lưu trữ thời gian điểm danh của sinhviên trong mỗi tuần học.

<b>3. Yêu cầu chức năng </b>

- Quản lý danh sách lớp học: Lưu trữ thông tin về lớp học và sinh viên liên quan.- Ghi lịch sử điểm danh: Lưu trữ lịch sử điểm danh để theo dõi sự có mặt của sinh

viên theo thời gian.

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

- Truy vấn dữ liệu: Sử dụng các câu lệnh truy vấn để lấy danh sách điểm danh củamột lớp.

<b>IV. SƠ ĐỒ CHỨC NĂNG1. Biểu đồ use case tổng quan</b>

Hình 1: Use case tổng quan.

Trong biểu đồ use case tổng quan, có hai khối chức năng chính bao gồm ghi nhận điểmdanh và tạo phiên điểm danh.

Các tác nhân tham gia sử dụng phần mềm điểm danh:

- Người học: Là những người sử dụng phần mềm để điểm danh.

- Giáo viên: Là người chịu trách nhiệm chính trong việc giảng dạy lớp học.Các tác nhân trên sẽ có tài khoản đăng nhập với mỗi cá nhân.

Ngồi ra cũng có phịng quản lý sinh viên chịu trách nhiệm về việc cập nhật danh sáchgiáo viên, lớp học và sinh viên trên hệ quản trị cơ sở dữ liệu để phần mềm có thể sửdụng.

<b>2. Use case đăng nhập</b>

<b>Use Case Name</b> Đăng nhập

<b>Description</b> Là người dùng, cần đăng nhập vào ứng dụng để sử dụng các dịch vụ của ứng dụng.

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

<b>Actor</b> Giáo viên, người học.

<b>Priority</b> Phải có.

<b>Trigger</b> Người dùng muốn đăng nhập vào ứng dụng.

<b>Pre-Condition</b> ● Tài khoản người dùng đã được tạo sẵn.

● Thiết bị của người dùng đã được kết nối internet khi thực hiệnđăng nhập.

<b>Post-Condition</b> ● Người dùng đăng nhập ứng dụng thành công.● Hệ thống chuyển hướng khi đã đăng nhập thành công.

<b>Basic Flow</b> 1. Người dùng truy cập phần mềm điểm danh, hệ thống chuyển đến màn hình đăng nhập

2. Người dùng nhập tài khoản và chọn vai trị (giáo viên hay người học) sau đó nhấn đăng nhập.

3. Hệ thống thông qua cơ sở dữ liệu đã có để xác thực thơng tin đăng nhập thành công và cho phép người dùng truy cập ứng dụng.

4. Hệ thống chuyển hướng theo vai trò của người dùng.

<b>Exception Flow</b> 3a. Hệ thống xác thực thông tin đăng nhập không thành công và ở lại trang đăng nhập.

<b>3. Use case tạo phiên điểm danh</b>

<b>Use Case Name</b> Tạo phiên điểm danh

<b>Description</b> Giáo viên tạo phiên điểm danh trên phần mềm khi bắt đầu một tuần học.

<b>Priority</b> Có thể có.

<b>Trigger</b> Giáo viên muốn bắt đầu điểm danh trong lớp.

<b>Pre-Condition</b> Giáo viên đã đăng nhập thành công. Lớp bắt đầu điểm danh.

<b>Post-Condition</b> ● Bắt đầu một phiên điểm danh, tạo thành công mã QR để điểmdanh.

● Hệ thống lưu lại mã QR vừa tạo.

<b>Basic Flow</b> 1. Giáo viên đã đăng nhập thành công, hệ thống chuyển hướng sang trang dành cho giáo viên để thực hiện việc tạo phiên điểm danh.

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

2. Trên màn hình hiển thị trang tạo phiên điểm danh, giáo viên chọn mã lớp học mà mình đang chủ nhiệm, tuần học hiện tại và thời gian của một phiên điểm danh.

3. Sau khi chọn xong, giáo viên nhấn nút “Bắt đầu phiên điểm danh”, thông tin của phiên điểm danh sẽ được gửi về server và lưu vào cơ sở dữ liệu.

4. Màn hình hiển thị mã QR được tạo từ các thông tin mà giáo viên vừa lựa chọn, người học quét mã và thực hiện điểm danh.

<b>Exception Flow</b> 4a. Nếu phiên điểm danh được tạo từ trước, mã QR hiển thị sẽ làmã QR của phiên điểm danh đó.

<b>4. Use case ghi nhận điểm danh</b>

<b>Use Case Name</b> Ghi nhận điểm danh

<b>Description</b> Người học muốn thực hiện điểm danh.

<b>Priority</b> Có thể có.

<b>Trigger</b> Người học muốn thực hiện việc điểm danh.

<b>Pre-Condition</b> ● Tài khoản người học đã đăng nhập thành công.

● Giáo viên đã tạo phiên điểm danh mới, có mã QR để thực hiện điểm danh.

● Thiết bị được sử dụng để truy cập vào tài khoản của người học phải có camera có thể quét mã QR.

<b>Post-Condition</b> ● Người học điểm danh thành công.

● Hệ thống đã ghi nhận và lưu trữ lịch sử điểm danh trong cơ sởdữ liệu.

<b>Basic Flow</b> 1. Người học đã đăng nhập thành công, hệ thống chuyển hướng sang trang dành cho người học để thực hiện quét mã QR để điểm danh.

2. Người học cho phép phần mềm sử dụng camera của thiết bị và bắt đầu quét mã QR mà giáo viên đã tạo.

3. Sau khi thực hiện việc quét mã, hệ thống ghi nhận điểm danh cho người học tại thời điểm quét mã. Sau đó hệ thống thơng báo cho người học rằng điểm danh thành công.

<b>Exception Flow</b> 3a. Hệ thống điểm danh không thành công.

3a1. Hệ thống thông báo: "Bạn không ở lớp này!", người học cần phải ở đúng lớp như trong danh sách của phòng quản lý

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

người học.

3a2. Hệ thống thông báo: "Bạn đã điểm danh!" nếu người học thực hiện việc điểm danh nhiều lần trong một phiên điểm danh.3a3. Hệ thống thông báo: "Đã hết thời gian điểm danh!" nếu người học thực hiện việc điểm danh khi đã quá thời gian điểm danh.

<b>5. Use case báo cáo và thống kê</b>

<b>Use Case Name</b> Báo cáo và thống kê

<b>Description</b> Giáo viên muốn xem danh sách lớp để theo dõi sự tham gia của người học.

<b>Priority</b> Có thể có.

<b>Trigger</b> Giáo viên muốn xem danh sách lớp sau phiên điểm danh.

<b>Pre-Condition</b> ● Giáo viên đã đăng nhập tài khoản thành công.

● Sau khi phiên điểm danh bắt đầu, giáo viên có thể xuất dữ liệu về danh sách lớp từ database.

<b>Post-Condition</b> Giáo viên đã xuất ra thành công danh sách lớp trong file Excel.

<b>Basic Flow</b> 1. Sau khi tạo phiên điểm danh, giáo viên nhấn vào “Export excel file” trong thanh menu ở góc trên bên phải màn hình.2. Hệ thống lấy dữ liệu từ database để xuất danh sách lớp trong

đó có thơng tin của người học và lịch sử điểm danh.3. Giáo viên tải về file excel vừa xuất để xem danh sách lớp.

<b>Exception Flow</b> 1a. Phiên điểm danh chưa được tạo, việc xuất file sẽ khơng xảy ra vì hệ thống vẫn chưa biết lớp cần được xuất dữ liệu.

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

<b>V. GIAO DIỆN PHẦN MỀM 1. Giao diện trang Đăng nhập</b>

<b>2. Giao diện trang Tạo phiên điểm danh</b>

<b>3. Giao diện trang Quét mã QR</b>

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

<b> 4. Demo</b>

Các bạn có thể truy cập vào đường link sau: duancongnghe-production.up.railway.app

để sử dụng phần mềm. Sau đó đăng nhập vào tài khoản giáo viên:● Username: hails123

● Password: 1Hoặc tài khoản người học:

● Username: 22027553● Password: 1

Để thực hiện thao tác tạo phiên điểm danh, xuất dữ liệu lớp học, điểm danh bằng mã QR.Cũng có thể xem source code ở đây: KẾT LUẬN, ĐÁNH GIÁ1. Kết luận</b>

Phần mềm điểm danh lớp học bằng mã QR đã được phát triển và triển khai vớimục đích cung cấp một giải pháp hiệu quả và thuận tiện cho q trình điểm danh tronglớp học. Thơng qua báo cáo này, chúng ta đã có cái nhìn tổng quan về các chức năng,hiệu suất, và khả năng mở rộng của phần mềm.

Phần mềm đã đáp ứng tốt các yêu cầu chức năng của một phần mềm điểm danhvới hiệu suất ổn định. Nó cũng thể hiện khả năng mở rộng tốt, có thể tích hợp các tínhnăng mở rộng trong tương lai. Điều này làm cho phần mềm trở thành một cơng cụ linhhoạt và thích hợp với nhiều môi trường học tập.

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

<b>2. Đánh giá</b>

Trong quá trình đánh giá, chúng ta nhận thấy những điểm sau:

- Hệ thống đã cho thấy hiệu suất ổn định, với thời gian phản hồi nhanh chóng. Tuynhiên chưa được thực nghiệm trong tình huống xử lý số lượng người dùng đồngthời lớn.

- Giao diện người dùng dễ sử dụng, nhưng vẫn còn khá sơ sài.- Hệ thống có khả năng mở rộng tốt

<b>3. Đề xuất phát triển trong tương lai</b>

Vì phần mềm điểm danh bằng mã QR vẫn cịn khá đơn giản, nên em có một số đềxuất phát triển để cải tiến như sau:

<b>● Tích hợp tính năng theo dõi điểm danh thực tế: Phát triển khả năng theo dõi vị</b>

trí thực tế của sinh viên thông qua các công nghệ như GPS để đảm bảo tính chínhxác trong q trình điểm danh.

<b>● Phát triển ứng dụng trên di động: Phát triển ứng dụng di động đa nền tảng để</b>

hỗ trợ các hệ điều hành di động, từ đó có thể tải ứng dụng về thiết bị thay vì sửdụng trên web như hiện nay.

<b>● Hỗ trợ tương tác thơng minh: Cung cấp tính năng thông báo thông minh để</b>

thông báo cho sinh viên và giảng viên các sự kiện quan trọng như, sắp điểm danhhoặc thơng báo thời khóa biểu.

<b>● Giao diện người dùng thân thiện: Thiết kế giao diện người dùng một cách thơng</b>

minh và dễ sử dụng, tạo trải nghiệm tích cực cho người dùng.

<b>● Cải tiến về hiệu suất: Nâng cấp hệ thống để có hiệu suất ổn định, thời gian phản</b>

hồi nhanh chóng và có thể xử lý số lượng người dùng đồng thời lớn.

<b>● Cải tiến về cơ sở dữ liệu: Thiết kế cơ sở dữ liệu với lượng dữ liệu lớn (thông tin</b>

về giáo viên, người học, lớp học) để có thể truy xuất dữ liệu nhanh chóng.

<b>● An toàn và bảo mật: Các dữ liệu về người dùng, thông tin lớp học và phiên điểm</b>

danh cần được bảo mật để tránh những cuộc tấn công gây lộ hoặc mất thông tin.

</div>

×