Yêu cầu bài toánTrường Đại học Tây Bắc áp dụng chế độ học theo tín chỉ và cho phép sinh viên có quyền lựa chọn môn học cho mỗi học kì.Dựa vào kế hoạch đào tạo và dựa vào chương trình khu
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC THĂNG LONG
BÀI TẬP LỚN
HỆ THỐNG QUẢN LÝ THỜI KHÓA BIỂU
HÀ NỘI - 2022
Trang 2CHƯƠNG 1 TỔNG QUAN
Hệ thống đăng ký học online:
Tên hệ thống: Hệ thống đăng quản lý thời khóa biểu
Nhà tài trợ: tổ chức giáo dục (trường đại học, cao đẳng )
1.1 Yêu cầu bài toán
Trường Đại học Tây Bắc áp dụng chế độ học theo tín chỉ và cho phép sinh viên có quyền lựa chọn môn học cho mỗi học kì
Dựa vào kế hoạch đào tạo và dựa vào chương trình khung của từng ngành, hệ thống lập thời khoá biểu dự kiến cho từng môn học của từng ngành trong một học kỳ
Trước khi bước vào học kì mới các giảng viên đăng ký các môn (tối đa là 4 môn)
mà mình có thể dạy trong học kì đó Căn cứ vào kế hoạch đào tạo và thời khoá biểu dự kiến đã lập, hệ thống hỗ trợ việc hiển thị lịch học dự kiến cho từng Ngành trong từng học
kì, danh sách các học phần bắt buộc và tự chọn dự kiến sẽ dạy, đề cương chi tiết, điều kiện tiên quyết, số tín chỉ, thời gian học, thời lượng học, số lượng sinh viên tối đa được phép, số lượng sinh viên hiện tại đã đăng kí để Sinh viên có căn cứ lựa chọn
Sinh viên chọn từ 6 đến 8 môn (tối đa 20 tín chỉ) cho mỗi học kì và việc đăng ký được thực hiện trong vòng một tuần Nếu việc đăng kí của sinh viên không được chấp nhận (trong trường hợp lớp học quá đông hoặc quá ít) thì phải thông báo cho những sinh viên đó để họ đăng kí lại Khi chấp nhận đăng ký của sinh viên, hệ thống kiểm tra được các ràng buộc sau:
Số tín chỉ đăng ký có nằm trong khoảng tín chỉ tối đa và tín chỉ tối thiểu cho phép
Các môn tự chọn có thể không nằm trong khung chương trình của ngành
Đối với sinh viên học 2 ngành, các môn bắt buộc sẽ nằm trong khung chương trình của 2 ngành
Các môn được cung cấp cho sinh viên là các môn mà nhà trường dự kiến đào tạo nằm trong khung chương trình của Ngành.Việc đăng ký các môn học cho từng học kỳ phải bảo đảm điều kiện tiên quyết của từng học phần và trình tự học tập của mỗi chương trình cụ thể
1.2 Công nghệ sử dụng
1.2.1 Nhóm người sử dụng
Actor Name
1
Trang 3 Phòng Kinh Doanh
Quản Lý Kho
Kế Toán
Giám Đốc Sản Xuất
Đốc Công
Quản Trị Hệ Thống
Main Role
Thực hiện các giao dịch với khách hàng
Quản lý nhập/xuất
Sản phẩm
Vật tư
Thiết bị
Quản lý tiền của công ty
Quản lý sản xuất, nhân sự, kế hoạch sản xuất
Quản lý người dùng
Quản lý dữ liệu của hệ thống
1.2.2 Hệ thống USE CASE
Functions)
2
Trang 4CHƯƠNG 2 BÁO CÁO NHÓM 4
2.1 Phân tích những yêu cầu sử dụng, xác định các yêu cầu chức năng và phi chức năng.
Để truy cập và sử dụng website, bạn cần có:
Các thiết bị điện tử có kết nối internet;
Bạn cần đăng nhập hoặc đăng ký vào tài khoản trên website
2.1.1 Quản lý người dùng.
Yêu cầu chức năng:
Cho phép người dùng tạo tài khoản mới bằng cách cung cấp thông tin như tên, email, mật khẩu, v.v
Xác thực thông tin tài khoản, bao gồm kiểm tra tính hợp lệ của địa chỉ email
và mật khẩu
Cho phép người dùng đăng nhập bằng cách cung cấp email và mật khẩu đã đăng ký
Thực hiện xác thực tài khoản để kiểm tra tính hợp lệ
Cho phép người dùng thay đổi thông tin cá nhân như tên, địa chỉ, số điện thoại, hình đại diện, v.v
Cung cấp tính năng đổi mật khẩu
Gán vai trò cho người dùng, ví dụ: người dùng, quản trị viên, biên tập viên, v.v
Quản lý quyền truy cập dựa trên vai trò của người dùng, ví dụ: quản trị viên có quyền cao cấp hơn so với người dùng thông thường
Cho phép quản trị viên tạo, sửa đổi và xóa tài khoản người dùng
Cung cấp tính năng khóa hoặc vô hiệu hóa tài khoản khi cần
Theo dõi và quản lý các phiên làm việc của người dùng, đảm bảo tính bảo mật
Yêu cầu phi chức năng:
Đảm bảo tính bảo mật của thông tin cá nhân và mật khẩu người dùng
Sử dụng mã hóa để bảo vệ dữ liệu người dùng
Đảm bảo hệ thống hoạt động mượt mà và nhanh chóng, đáp ứng nhanh các yêu cầu đăng nhập và đăng ký
3
Trang 5 Cung cấp giao diện thân thiện, dễ sử dụng và dễ hiểu cho người dùng.
Đảm bảo hệ thống được bảo trì thường xuyên và có hỗ trợ kỹ thuật khi cần
Đảm bảo rằng hệ thống tuân thủ tất cả các quy định và luật pháp liên quan đến bảo vệ dữ liệu người dùng và quản lý tài khoản
Đảm bảo hệ thống luôn sẵn sàng hoạt động và khắc phục sự cố nhanh chóng khi xảy ra vấn đề
Ghi nhật ký hoạt động của người dùng và quản trị viên để theo dõi và kiểm tra các hoạt động trên hệ thống
2.1.2 Quản lý đăng ký, đăng nhập
Yêu cầu chức năng:
Cho phép người dùng tạo tài khoản mới bằng cách cung cấp thông tin như tên, email, mật khẩu, v.v
Xác thực thông tin tài khoản, bao gồm kiểm tra tính hợp lệ của địa chỉ email
và mật khẩu
Gửi xác nhận đăng ký qua email hoặc SMS để kích hoạt tài khoản
Cho phép người dùng đăng nhập vào hệ thống bằng cách cung cấp email và mật khẩu đã đăng ký
Thực hiện xác thực tài khoản để kiểm tra tính hợp lệ
Cung cấp tính năng cho người dùng khôi phục mật khẩu nếu họ quên mật khẩu
Gửi email hoặc SMS chứa liên kết khôi phục mật khẩu đến địa chỉ email đã đăng ký
Cho phép người dùng đăng xuất khỏi tài khoản hiện tại
Yêu cầu phi chức năng:
Đảm bảo tính bảo mật của thông tin đăng ký và đăng nhập, bao gồm việc sử dụng mã hóa cho mật khẩu và dữ liệu nhạy cảm
Thực hiện các biện pháp bảo vệ khỏi các tấn công như tấn công Brute Force hay tấn công XSS
Đảm bảo hệ thống hoạt động mượt mà và nhanh chóng, đáp ứng nhanh các yêu cầu đăng nhập và đăng ký
Cung cấp giao diện thân thiện, dễ sử dụng và dễ hiểu cho người dùng
4
Trang 6 Bảo trì và hỗ trợ:
Đảm bảo hệ thống được bảo trì thường xuyên và có hỗ trợ kỹ thuật khi cần
Đảm bảo rằng hệ thống tuân thủ tất cả các quy định và luật pháp liên quan đến quản lý dữ liệu người dùng và bảo mật
Đảm bảo hệ thống luôn sẵn sàng hoạt động và khắc phục sự cố nhanh chóng khi xảy ra vấn đề
Ghi nhật ký hoạt động của người dùng và quản trị viên để theo dõi và kiểm tra các hoạt động trên hệ thống
2.1.3 Lập danh sách các học phần của từng học kỳ;
Yêu cầu chức năng:
Cho phép quản trị viên hoặc người quản lý học phần thêm các học phần mới cho từng học kỳ
Thu thập thông tin như tên học phần, mã học phần, mô tả, số tín chỉ, giảng viên, vị trí, thời gian, v.v
Liên kết mỗi học phần với học kỳ tương ứng
Cho phép quản trị viên hoặc người quản lý học phần chỉnh sửa thông tin của học phần, bao gồm cả thông tin về giảng viên, thời gian, vị trí và các chi tiết khác
Cho phép quản trị viên hoặc người quản lý học phần xóa học phần nếu nó không còn cần thiết hoặc đã kết thúc
Hiển thị danh sách các học phần của từng học kỳ
Cho phép người dùng xem thông tin chi tiết về mỗi học phần, ví dụ: mô tả, giảng viên, thời gian, vị trí, số tín chỉ
Cho phép người dùng tìm kiếm học phần dựa trên các tiêu chí như tên, mã học phần, giảng viên, v.v
Yêu cầu phi chức năng:
Đảm bảo tính bảo mật của thông tin về học phần và dữ liệu người dùng
Xác thực quyền truy cập để đảm bảo chỉ quản trị viên hoặc người quản lý học phần có thể thêm, sửa đổi hoặc xóa học phần
Cung cấp giao diện thân thiện, dễ sử dụng và dễ hiểu cho người dùng
5
Trang 7 Hỗ trợ tính năng sắp xếp và bộ lọc để giúp người dùng dễ dàng tìm kiếm và xem danh sách học phần
Đảm bảo hệ thống hoạt động mượt mà và nhanh chóng, đáp ứng nhanh các yêu cầu xem danh sách học phần
Đảm bảo hệ thống luôn sẵn sàng hoạt động và khắc phục sự cố nhanh chóng khi xảy ra vấn đề
Đảm bảo rằng hệ thống được bảo trì thường xuyên và có hỗ trợ kỹ thuật khi cần
Đảm bảo rằng hệ thống tuân thủ tất cả các quy định và luật pháp liên quan đến quản lý học phần và bảo mật dữ liệu
2.1.4 Lập thời khóa biểu các học phần và các lớp học cho từng học kỳ
Yêu cầu chức năng:
Cho phép quản trị viên hoặc giáo viên tạo lịch học cho từng học phần
Xác định thời gian, ngày, và vị trí của các lớp học
Cho phép quản trị viên hoặc giáo viên chỉnh sửa lịch học, bao gồm việc điều chỉnh thời gian, ngày, và vị trí của lớp học
Cho phép quản trị viên hoặc giáo viên xóa lịch học nếu nó không còn cần thiết hoặc đã kết thúc
Hiển thị thời khóa biểu của từng học phần cho học kỳ hiện tại hoặc tương lai
Cho phép người dùng xem thông tin chi tiết về các lớp học, ví dụ: thời gian, ngày, vị trí, giảng viên, số lượng sinh viên đã đăng ký
Cung cấp tính năng tạo lịch tự động dựa trên các ràng buộc như thời gian của giảng viên, sự ưu tiên của học phần, và sự ưu tiên của phòng học
Cho phép quản trị viên hoặc giáo viên phân bố sinh viên vào các lớp học đã được lên lịch
Yêu cầu phi chức năng:
Đảm bảo tính bảo mật của thông tin về thời khóa biểu và dữ liệu người dùng
Xác thực quyền truy cập để đảm bảo chỉ quản trị viên hoặc giáo viên có quyền chỉnh sửa lịch học và phân bố sinh viên
Cung cấp giao diện thân thiện, dễ sử dụng và dễ hiểu cho người dùng
6
Trang 8 Hỗ trợ tính năng sắp xếp và bộ lọc để giúp người dùng dễ dàng tìm kiếm và xem thời khóa biểu
Đảm bảo hệ thống hoạt động mượt mà và nhanh chóng, đáp ứng nhanh các yêu cầu xem thời khóa biểu
Đảm bảo hệ thống luôn sẵn sàng hoạt động và khắc phục sự cố nhanh chóng khi xảy ra vấn đề
Đảm bảo rằng hệ thống được bảo trì thường xuyên và có hỗ trợ kỹ thuật khi cần
Đảm bảo rằng hệ thống tuân thủ tất cả các quy định và luật pháp liên quan đến quản lý thời khóa biểu và bảo mật dữ liệu
2.1.5 Quản lý sinh viên đăng ký các lớp học.
Yêu cầu chức năng:
Hiển thị danh sách các lớp học và thông tin liên quan, như tên lớp, mã lớp, giảng viên, thời gian, vị trí, số tín chỉ, số lượng sinh viên đã đăng ký, và số lượng tối đa cho phép đăng ký
Cho phép sinh viên đăng ký vào các lớp học bằng cách chọn lớp học từ danh sách và thực hiện đăng ký
Kiểm tra số lượng tối đa cho phép đăng ký và đảm bảo rằng lớp học còn chỗ trống
Cho phép sinh viên rút khỏi các lớp học mà họ đã đăng ký nếu họ không còn muốn tham gia
Hiển thị thời khóa biểu cá nhân của sinh viên, bao gồm các lớp học đã đăng
ký, thời gian, vị trí và giảng viên
Yêu cầu phi chức năng:
Đảm bảo tính bảo mật của thông tin cá nhân của sinh viên và dữ liệu đăng ký lớp học
Xác thực quyền truy cập để đảm bảo chỉ sinh viên có quyền đăng ký và rút khỏi lớp học của họ
Cung cấp giao diện thân thiện, dễ sử dụng và dễ hiểu cho sinh viên để họ có thể dễ dàng đăng ký và quản lý lớp học
Đảm bảo hệ thống hoạt động mượt mà và nhanh chóng, đáp ứng nhanh các yêu cầu đăng ký và rút khỏi lớp học
7
Trang 9 Đảm bảo hệ thống luôn sẵn sàng hoạt động và khắc phục sự cố nhanh chóng khi xảy ra vấn đề
Đảm bảo rằng hệ thống được bảo trì thường xuyên và có hỗ trợ kỹ thuật khi cần
2.1.6 Phân công giảng viên các lớp học.
Yêu cầu chức năng:
Cho phép quản trị viên hoặc giám đốc khoa/trung tâm giảng dạy chọn lớp học cần phân công giảng viên
Cho phép quản trị viên hoặc giám đốc khoa/trung tâm giảng dạy chọn giảng viên phù hợp cho từng lớp học
Xác định vai trò của giảng viên (chính thức, thỉnh giảng, v.v.)
Ghi nhận thời gian giảng dạy của giảng viên trong lớp học
Cho phép quản trị viên hoặc giám đốc khoa/trung tâm giảng dạy chỉnh sửa phân công giảng viên nếu có sự thay đổi hoặc điều chỉnh
Hiển thị danh sách các lớp học và giảng viên đã được phân công, bao gồm thông tin về lớp học, giảng viên, và thời gian
Yêu cầu phi chức năng:
Đảm bảo tính bảo mật của thông tin về giảng viên và lớp học
Xác thực quyền truy cập để đảm bảo chỉ quản trị viên hoặc giám đốc có quyền phân công giảng viên
Cung cấp giao diện thân thiện, dễ sử dụng và dễ hiểu cho người quản trị để họ
có thể dễ dàng phân công giảng viên
Đảm bảo hệ thống hoạt động mượt mà và nhanh chóng, đáp ứng nhanh các yêu cầu phân công giảng viên
Đảm bảo hệ thống luôn sẵn sàng hoạt động và khắc phục sự cố nhanh chóng khi xảy ra vấn đề
Đảm bảo rằng hệ thống được bảo trì thường xuyên và có hỗ trợ kỹ thuật khi cần
8
Trang 102.2 Xây dựng mô hình chức năng
Xây dựng mô hình chức năng bằng các biểu đồ trường hợp sử dụng Xây dựng biểu đồ THSD;
9
Trang 11Xây dựng biểu đồ hoạt động cho 1 THSD và mô tả 1 THSD
10
Trang 12Xây dựng biểu đồ lớp
11
Trang 13Xây dựng biểu đồ tuần tự cho 1 THSD 1.1 Biểu đồ trình tự cho kịch bản đăng nhập
12
Trang 141.2 Biểu đồ trình tự cho kịch bản đăng ký môn học
13
Trang 161.3 Biểu đồ trình tự cho kịch bản giáo viên đăng ký lớp dạy
15
Trang 17Xây dựng mô hình dữ liệu quan hệ - các bảng quan hệ
Xây dựng các giao diện.
Xây dựng khung và giao diện chương trình, có thể sử dụng 1 khung có sẵn, tùy biến hoặc lập trình thêm.
16
Trang 18CHƯƠNG 3 BẢNG PHÂN CÔNG CHI TIẾT CÔNG VIỆC
STT Người thực hiện Chi tiết nội dung công
1
A45942
Nguyễn Long Nhật
- Xây dựng mô hình chức năng
- Đã hoàn thành
- Hoàn thành tốt
2
A44254
Nguyễn Quang Huy
- Thiết kế giao diện người-máy cho 1 chức năng
- Thiết kế website (bản demo)
- Đã hoàn thành
- Hoàn thành tốt
3
A42392
Ngô Vi Bảo
- Xây dựng mô hình hành
vi cho 1 THSD: biểu đồ tuần tự
- Xây dựng mô hình dữ liệu quan hệ
- Đã hoàn thành
- Hoàn thành tốt
4
A38476
Nguyễn Công Hoan
- Xây dựng mô hình cấu trúc cho 1 chức năng
- Đã hoàn thành
- Hoàn thành tốt
5
A38603
Nguyễn Văn Mạnh
- Phân tích những yêu cầu
sử dụng, xác định các yêu cầu chức năng
và phi chức
năng.
- Đã hoàn thành
- Hoàn thành tốt
6
A40919
Nguyễn Hữu Phúc
- Tổng hợp word
- Thiết kế mô hình dữ liệu quan hệ đối tượng (OR) cho 1 chức năng
- Thiết kế website (bản demo)
- Đã hoàn thành
- Hoàn thành tốt
17