Mã use case UC1 Tên use case Xem thông tin cá nhânLuồng sự kiện chính Luồng sự kiện thay thếKhông cóHậu điều kiện Thông tin cá nhân hiển thị cho người dùng Người dùng truy cập chức năng
Trang 1TR ƯỜ NG CÔNG NGH THÔNG TIN VÀ TRUY N THÔNG Ệ Ề
-& -
Đ tài: Qu n lý sinh viên ề ả
Gi ng viên h ả ướ ng d n: Ts Tr n Nh t Hóa ẫ ầ ậ
Sinh viên th c hi n: Nhóm 17 ự ệ
L p: 154020 ớ
Trang 3M C L C Ụ Ụ
M đ u ở ầ 6
N i dung th c hi n ộ ự ệ 7
I.Yêu c uầ 7
1 Yêu c u ch c năngầ ứ 7
1.1 Qu n lý sinh viênả 7
1.2 Qu n lý môn h cả ọ 7
1.3 Qu n lý đi mả ể 7
1.4 Qu n lý ng i dùngả ườ 8
2 Yêu c u phi ch c năngầ ứ 8
2.1 Hi u su tệ ấ 8
2.2 B o m tả ậ 8
2.3 Tính kh d ngả ụ 8
2.4 Kh năng m r ngả ở ộ 8
2.5 Kh năng tích h pả ợ 8
2.6 Tính t ng thíchươ 8
II.Phân tích thi t kế ế 9
1.Bi u đ usecaseể ồ 9
1.1.Use case sinh viên 9
1.2.Use case giáo viên 9
2.Đ c t use caseặ ả 11
3.Bi u đ chi ti t các c s d li uể ồ ế ơ ở ữ ệ 16
III.L p trìnhậ 17
1 Ngôn ng l p trìnhữ ậ 17
1.1 Java 17
1.2 HTML 18
1.3 CSS 18
1.4 JavaScript 18
1.5 SQL 19
2 Công ngh l p trìnhệ ậ 19
2.1 Spring Boot 19
Trang 42.2 Spring Security 19
2.3 Spring Data JPA 19
2.4 JSP (Java Server Pages) 20
2.5 MySQL 20
IV.S n ph mả ẩ 20
K t lu n và h ế ậ ướ ng phát tri n ể 22
Phân công nhi m v ệ ụ
Trang 5
Ngô H i ả
-Lên ý t ng.ưở-Ph trách code backend teacher.ụ-Lên ý t ng ch c năng, ki m ưở ứ ể
Trang 6M đ u ở ầ
Tr c h t nhóm em xin g i l i c m n sâu s c t i th y giáo h ng d n Ti n sĩ Tr n ướ ế ử ờ ả ơ ắ ớ ầ ướ ẫ ế ầ
Nh t Hóa đã t o đi u ki n cho l p 154020 h c và ậ ạ ề ệ ớ ọ đ c tr i nghi m phát tri n m t ph n ượ ả ệ ể ộ ầ
m m theo quy trình trong th c ti n t xác đ nh yêu c u, phân tích thi t k , l p trình, ki m ề ự ễ ừ ị ầ ế ế ậ ể
th , và tri n khai ph n m m qua bài t p l nử ể ầ ề ậ ớ , đ ng th i ồ ờ cung c p cho sinh viên các kỹ năng ấlàm vi c nhóm, thuy t trình và thái đ c n thi t đ làm vi c và ng d ng các kỹ thu t trong ệ ế ộ ầ ế ể ệ ứ ụ ậcác công ty, d án ph n m m sau này.ự ầ ề
Ý t ng Web c a nhóm em d a trên ý t ng web qu n lý sinh viên c a Đ i H c Bách ưở ủ ự ưở ả ủ ạ ọKhoa Hà N i D án c a chúng em có các ch c năng chính g m có qu n lý sinh viên, qu n lý ộ ự ủ ứ ồ ả ảkhoá h c và l p h c, phân quy n và b o m t v i 3 đ i t ng s d ng chính g m qu n tr ọ ớ ọ ề ả ậ ớ ố ượ ử ụ ồ ả ịviên, gi ng viên và sinh viên.ả
Nhóm em r t mong đ c nh n nh ng góp ý và đánh giá, đ dấ ượ ậ ữ ể ự có th hoàn thi n h nể ệ ơtrong t ng lai.ươ
Trang 7N i dung th c hi n ộ ự ệ
I.Yêu c u ầ
1 Yêu c u ch c năng ầ ứ
1.1 Qu n lý sinh viên ả
Thêm sinh viên:
o Nh p thông tin sinh viên (H tên, mã sinh viên, ngày sinh, gi i tính, l p, khoa, ậ ọ ớ ớemail )
o H th ng ki m tra tính h p l c a d li u (mã sinh viên không trùng l p, đ nhệ ố ể ợ ệ ủ ữ ệ ặ ị
d ng email chính xác).ạ
Ch nh s a thông tin sinh viên: ỉ ử
o C p nh t các thông tin c a sinh viên đã l u.ậ ậ ủ ư
Xóa sinh viên:
o Xóa sinh viên kh i h th ng.ỏ ệ ố
o Hi n th c nh báo tr c khi xóa.ể ị ả ướ
Tìm ki m sinh viên: ế
o Tìm ki m theo mã sinh viên, tên, l p, khoa.ế ớ
Xem danh sách sinh viên:
o Hi n th danh sách sinh viên theo l p, khoa, ho c b l c tùy ch nh.ể ị ớ ặ ộ ọ ỉ
o Ch nh s a thông tin môn h c ho c xóa môn h c không còn s d ng.ỉ ử ọ ặ ọ ử ụ
Xem danh sách môn h c: ọ
o Hi n th t t c môn h c hi n có, h tr tìm ki m.ể ị ấ ả ọ ệ ỗ ợ ế
1.3 Qu n lý đi m ả ể
Nh p đi m sinh viên: ậ ể
o Thêm đi m c a sinh viên theo t ng môn h c và kỳ h c.ể ủ ừ ọ ọ
o Ki m tra d li u (đi m h p l trong kho ng t 0-10).ể ữ ệ ể ợ ệ ả ừ
Trang 8o Đăng nh p b ng tài kho n và m t kh u.ậ ằ ả ậ ẩ
o H tr quên m t kh u (reset qua email).ỗ ợ ậ ẩ
Đ i m t kh u: ổ ậ ẩ
o Ng i dùng có th thay đ i m t kh u cá nhân.ườ ể ổ ậ ẩ
2 Yêu c u phi ch c năng ầ ứ
2.1 Hi u su t ệ ấ
H th ng ph i đáp ng đ c truy v n c a nhi u sinh viên mà không làm ch m.ệ ố ả ứ ượ ấ ủ ề ậ
Tìm ki m và hi n th d li u (danh sách sinh viên, môn h c) ph i d i 10 giây.ế ể ị ữ ệ ọ ả ướ
2.2 B o m t ả ậ
M t kh u ng i dùng ph i đ c mã hóa.ậ ẩ ườ ả ượ
Phân quy n rõ ràng:ề
o Sinh viên ch đ c xem thông tin c a mình.ỉ ượ ủ
o Gi ng viên ch đ c nh p và xem đi m c a sinh viên do mình ph trách.ả ỉ ượ ậ ể ủ ụ
o Qu n tr viên có toàn quy n truy c p.ả ị ề ậ
Tích h p xu t d li u sang file Excel, PDF.ợ ấ ữ ệ
H tr API đ tích h p v i các h th ng khác (VD: c ng thông tin tr ng h c).ỗ ợ ể ợ ớ ệ ố ổ ườ ọ
Trang 92.6 Tính t ươ ng thích
H tr nhi u trình duy t (Chrome, Firefox, Edge).ỗ ợ ề ệ
T ng thích trên m i máy tính.ươ ọ
II.Phân tích thi t k ế ế
1.Bi u đ usecase ể ồ
1.1.Use case sinh viên
1.2.Use case giáo viên
Trang 101.3.Usecase admin
Trang 112.Đ c t use case ặ ả
Trang 12Mã use case UC1 Tên use case Xem thông tin cá nhân
Luồng sự kiện chính
Luồng sự kiện thay thếKhông cóHậu điều kiện Thông tin cá nhân hiển thị cho người dùng
Người dùng truy cập chức năng xem thông tin cá nhân
Mục đích sử dụng Giúp sinh viên xem thời khóa biểu cá nhân
Điều kiện kích hoạt Sau khi nhấn nút "Xem thời khóa biểu"
Luồng sự kiện chính
1 Sinh viên Nhấn nút "Xem thời khóa biểu"
Luồng sự kiện thay thếKhông cóHậu điều kiện Thời khóa biểu được hiển thị cho người dùng
Trang 13Mã use case UC3 Tên use case Đăng ký khóa học
Mục đích sử dụng Cho phép sinh viên đăng ký khóa học
Điều kiện kích hoạt Sau khi nhấn vào chức năng "Đăng ký khóa học"
Điều kiện tiên quyết Sinh viên đã xem danh sách khóa học
Luồng sự kiện chính STT Thực hiện bởi Hành động
1 Sinh viên Chọn khóa học cần đăng ký
2 Hệ thống Xác nhận khả năng đăng ký (không trùng lặp lịch)
3 Hệ thống Thêm khóa học vào danh sách của sinh viên
Luồng sự kiện thay thế
Hệ thống thông báo lỗi khi không thể đăng ký khóa học Hậu điều kiện Sinh viên đăng ký khóa học thành công
Mã use case UC4 Tên use case Đăng ký khóa học
Mục đích sử dụng Cho phép sinh viên hủy khóa học
Điều kiện kích hoạt Sau khi chọn hủy đăng ký khóa học
Điều kiện tiên quyết Sinh viên đã xem đăng ký khóa học
Luồng sự kiện chính STT Thực hiện bởi Hành động
1 Sinh viên Chọn khóa học cần hủy
2 Hệ thống Xác nhận thao tác
3 Hệ thống Xóa khóa học khỏi danh sách của sinh viên
Luồng sự kiện thay thế Không có Hậu điều kiện Sinh viên hủy khóa học thành công
Mã use case UC5 Tên use case Xem bảng điểm
Mục đích sử dụng Giúp sinh viên xem bảng điểm cá nhân
Điều kiện kích hoạt Sau khi nhấn nút "Xem bảng điểm"
Điều kiện tiên quyết Sinh viên đã đăng nhập vào hệ thống
Luồng sự kiện chính STT Thực hiện bởi Hành động
1 Sinh viên Truy cập chức năng "Xem bảng điểm"
2 Hệ thống Hiển thị danh sách môn học và điểm
Luồng sự kiện thay thế Không có Hậu điều kiện Bảng điểm được hiển thị
Trang 14Mã use case UC6 Tên use case Cập nhật thông tin cá nhân
Mục đích sử dụng Cho phép người dùng cập nhật thông tin cá nhân
Điều kiện kích hoạt Sau khi truy cập chức năng "Cập nhật thông tin cá nhân"
Điều kiện tiên quyết Người dùng đã đăng nhập vào hệ thống
Luồng sự kiện chính STT Thực hiện bởi Hành động
1 User Truy cập chức năng "Cập nhật thông tin cá nhân"
2 User Nhập thông tin cần cập nhật
3 Hệ thống Xác nhận và lưu thông tin mới
Luồng sự kiện thay thế
Hệ thống thông báo lỗi khi thông tin nhập không hợp lệ Hậu điều kiện Thông tin cá nhân của người dùng được cập nhật
Mã use case UC7 Tên use case Cập nhật điểm
Mục đích sử dụng Cho phép giảng viên nhập hoặc cập nhật điểm cho sinh viên trong lớp
Điều kiện kích hoạt Sau khi chọn lớp học
Điều kiện tiên quyết Danh sách sinh viên trong lớp đã được thiết lập
Luồng sự kiện chính STT Thực hiện bởi Hành động
1 Giảng viên Chọn sinh viên cần cập nhật điểm
2 Giảng viên Nhập điểm mới
3 Hệ thống Cập nhật điểm trong danh sách lớp
Luồng sự kiện thay thế Không có Hậu điều kiện Điểm được cập nhật thành công
Mã use case UC8 Tên use case Quản lý sinh viên trong lớp
Mục đích sử dụng Giảng viên có thể xem thông tin sinh viên và cập nhật trạng thái học tập
Điều kiện kích hoạt Sau khi chọn lớp học
Điều kiện tiên quyết Giảng viên đã đăng nhập và truy cập lớp học
Luồng sự kiện chính STT Thực hiện bởi Hành động
1 Giảng viên Chọn sinh viên trong danh sách
2 Giảng viên Cập nhật trạng thái hoặc thông tin sinh viên
3 Hệ thống Lưu thông tin cập nhật
Luồng sự kiện thay thế Không có Hậu điều kiện Thông tin sinh viên được cập nhật
Trang 15Mã use case UC9 Tên use case Quản lý sinh viên
Mục đích sử dụng Cho phép Admin quản lý danh sách sinh viên
Điều kiện kích hoạt Sau khi nhấn vào giao diện "Quản lý sinh viên"
Điều kiện tiên quyết Admin đã đăng nhập
Luồng sự kiện chính STT Thực hiện bởi Hành động
1 Admin Truy cập giao diện "Quản lý sinh viên"
2 Admin Thực hiện các chức năng: thêm, sửa, xóa sinh viên
3 Hệ thống Lưu thông tin cập nhật
Luồng sự kiện thay thế Không có Hậu điều kiện Danh sách sinh viên được cập nhật
Mã use case UC10 Tên use case Quản lý giảng viên
Mục đích sử dụng Cho phép Admin quản lý danh sách giảng viên
Điều kiện kích hoạt Sau khi nhấn vào giao diện "Quản lý giảng viên"
Điều kiện tiên quyết Admin đã đăng nhập
Luồng sự kiện chính STT Thực hiện bởi Hành động
1 Admin Truy cập giao diện "Quản lý giảng viên"
2 Admin Thực hiện các chức năng: thêm, sửa, xóa giảng viên
3 Hệ thống Lưu thông tin cập nhật
Luồng sự kiện thay thế Không có Hậu điều kiện Danh sách giảng viên được cập nhật
Mã use case UC11 Tên use case Quản lý lớp học
Mục đích sử dụng Cho phép Admin quản lý danh sách lớp học
Điều kiện kích hoạt Sau khi nhấn vào giao diện "Quản lý lớp học"
Điều kiện tiên quyết Admin đã đăng nhập
Luồng sự kiện chính STT Thực hiện bởi Hành động
1 Admin Truy cập giao diện "Quản lý lớp học"
2 Admin Thực hiện các chức năng: thêm, sửa, xóa lớp học
3 Hệ thống Lưu thông tin cập nhật
Luồng sự kiện thay thế Không có Hậu điều kiện Danh sách lớp học được cập nhật
Trang 16Mã use case UC12 Tên use case Quản lý khóa học
Mục đích sử dụng Cho phép Admin quản lý danh sách khóa học
Điều kiện kích hoạt Sau khi nhấn vào giao diện "Quản lý khóa học"
Điều kiện tiên quyết Admin đã đăng nhập
Luồng sự kiện chính STT Thực hiện bởi Hành động
1 Admin Truy cập giao diện "Quản lý khóa học"
2 Admin Thực hiện các chức năng: thêm, sửa, xóa khóa học
3 Hệ thống Lưu thông tin cập nhật
Luồng sự kiện thay thế Không có Hậu điều kiện Danh sách khóa học được cập nhật
Mã use case UC13 Tên use case Quản lý hệ thống
Mục đích sử dụng Quản lý quyền và tài khoản hệ thống
Điều kiện kích hoạt Sau khi nhấn vào giao diện "Quản lý hệ thống"
Điều kiện tiên quyết Admin đã đăng nhập
Luồng sự kiện chính STT Thực hiện bởi Hành động
1 Admin Truy cập giao diện "Quản lý hệ thống"
2 Admin Thực hiện các chức năng: thiết lập quyền, quản lý tài khoản
3 Hệ thống Lưu thông tin cập nhật
Luồng sự kiện thay thế Không có Hậu điều kiện Hệ thống được cấu hình chính xác
3.Bi u đ chi ti t các c s d li u ể ồ ế ơ ở ữ ệ
Trang 17III.L p trình ậ
D án này đ c thi t k là h th ng qu n lý sinh viên hoàn ch nh, t giao di n ng i dùng ự ượ ế ế ệ ố ả ỉ ừ ệ ườ
đ n x lý backend và c s d li u D i đây là phân tích chi ti t các ngôn ng l p trình và ế ử ơ ở ữ ệ ướ ế ữ ậcông ngh , cùng giá tr và ý nghĩa c a chúng.ệ ị ủ
Trang 18o Xây d ng backend (l p Service, Repository, và Controller).ự ớ
o Tích h p v i Spring Boot đ cung c p các d ch v web.ợ ớ ể ấ ị ụ
o Qu n lý mô hình d li u và x lý các nghi p v ph c t p liên quan đ n sinh ả ữ ệ ử ệ ụ ứ ạ ếviên, khóa h c, giáo viên, và đi m s ọ ể ố
o Cung c p n n t ng đ hi n th d li u d i d ng web.ấ ề ả ể ể ị ữ ệ ướ ạ
o T o tr i nghi m ng i dùng d s d ng và tr c quan.ạ ả ệ ườ ễ ử ụ ự
o C i thi n tr i nghi m ng i dùng thông qua giao di n đ p m t và nh t quán.ả ệ ả ệ ườ ệ ẹ ắ ấ
o T o s chuyên nghi p và d s d ng cho ng d ng.ạ ự ệ ễ ử ụ ứ ụ
Trang 19o Làm cho ng d ng m t mà và thân thi n h n, nâng cao tr i nghi m ng i ứ ụ ượ ệ ơ ả ệ ườdùng.
o T o s linh ho t trong vi c thao tác d li u trên giao di n mà không c n t i ạ ự ạ ệ ữ ệ ệ ầ ả
o Gi m th i gian phát tri n nh c u hình m c đ nh thông minh.ả ờ ể ờ ấ ặ ị
o D dàng tích h p thêm các module nh b o m t (Spring Security) và ki m tra ễ ợ ư ả ậ ể
o Đ m b o h th ng an toàn tr c các m i đe d a nh truy c p trái phép.ả ả ệ ố ướ ố ọ ư ậ
o Cung c p tính năng b o m t nâng cao mà không c n c u hình ph c t p.ấ ả ậ ầ ấ ứ ạ
2.3 Spring Data JPA
Trang 20o Hi n th d li u t backend lên giao di n ng i dùng.ể ị ữ ệ ừ ệ ườ
o Cung c p kh năng tái s d ng v i các file template.ấ ả ử ụ ớ
o L u tr d li u nh thông tin sinh viên, giáo viên, khóa h c, đi m s ư ữ ữ ệ ư ọ ể ố
o H tr truy v n nhanh chóng thông qua JPA.ỗ ợ ấ
Trang 21Hình 1 Giao di n đăng nh pệ ậ
Hình 2 Giao di n phân quy n Adminệ ề
Hình 3 Giao di n phân quy n gi ng viênệ ề ả
Trang 22Hình 4 Giao di n phân quy n sinh viênệ ề
- C i thi n hi u su t: t i u hóa các truy v n SQLả ệ ệ ấ ố ư ấ
- M r ng tính năng: thêm các bi u đ th ng kê đ phân tích d li u nh k t qu h c t p, tở ộ ể ồ ố ể ữ ệ ư ế ả ọ ậ ỷ
l tham gia l p h c, …ệ ớ ọ
- Nâng c p giao di n: làm giao di n hi n đ i và thân thi n ng i dùng h nấ ệ ệ ệ ạ ệ ườ ơ