Bắt đầu từ việc làm thủ tục nhập họccho sinh viên mới, tiếp theo đó là theo dõi và quản lý các thông tin về sinh viên trong suốt khóa học cũng như việc hệ thống hóa, lưu trữ và bảo quản
Trang 1TRƯỜNG ĐẠI HỌC PHENIKAA KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO:
ĐỒ ÁN MÔN HỌC LẬP TRÌNH
HƯỚNG ĐỐI TƯỢNG
Đề tài: Thiết kế Website quản lý điểm sinh viên
Giảng viên hướng dẫn: TS Trần Đăng Hoan
Thành viên:
1 Tạ Đức Chí, MSSV: 21012396
3 Dương Tuấn Phong, MSSV: 21012888
Hà Nội, Ngày 26 Tháng 04 Năm 2023
Trang 2BẢNG PHÂN CÔNG CÔNG VIỆC
HỌ VÀ TÊN MSSV CÔNG VIỆC ĐẢM NHẬN
1 Tạ Đức Chí 21012396 Xây dựng Restful API
Làm báo cáo Chương 2: Các nhóm chức năng
Làm báo cáo Chương 4: Cơ sở dữ
liệu
2 Nguyễn Danh Điệp 21012491 Làm báo cáo Chương 3: UML
Diagrams
Biểu đồ Use Case, mô tả Use Case
UML Diagrams, Biểu đồ hoạtđộng
Thiết kế biểu đồ tuần tự
3 Dương Tuấn Phong 21012888 Làm báo cáo Mở bài, Chương 1:
Tổ chức hệ thống và đặc tả yêu cầu
Trang 3MỤC LỤC
MỤC LỤC 3
NỘI DUNG 6
CHƯƠNG 1: TỔ CHỨC HỆ THỐNG VÀ ĐẶC TẢ YÊU CẦU 6
1.1 Mô tả hệ thống 6 1.2 Các yêu cầu đối với chương trình quản lý điểm 6 1.2.1 Yêu cầu người sử dụng 6
1.2.2 Yêu cầu cho hệ thống 7
1.3 Các dữ liệu vào ra 8 1.4 Các bước xây dựng hệ thống quản lý điểm học viên 12 1.4.1 Nghiên cứu sơ bộ và lập dư án 12
1.4.2 Phân tích hệ thống 12
1.4.3 Thiết kế tổng thể 12
1.4.4 Thiết kế chi tiết 12
CHƯƠNG 2: CÁC NHÓM CHỨC NĂNG 13
2.1 Nhóm chức năng chính 13 2.1.1 Chức năng dành cho “Giảng Viên” 13
2.1.2 Chức năng dành cho “Học viên” 13
2.2 Sơ đồ phân cấp chức năng 13 2.2.1 Tác nhân Giảng viên đối với hệ thống website 14
2.2.2 Tác nhân Học viên đối với hệ thống quản lý website: 14
CHƯƠNG 3: UML DIAGRAMS 15
3.1 Sơ đồ tổng quát 15 3.2 Các sơ đồ chi tiết 16 3.2.1 UC-1.1 Use case đăng kí tài khoản 16
3.2.2 UC-1.2 Use case đăng 17
3.2.3 UC-1.3 Use case đăng xuất 18
Trang 43.2.4 UC-1.4 Use case xem thông tin trang web 19
3.2.5 UC-1.5 Use case tìm kiếm học phần 20
3.2.6 UC-1.6 Use case xem điểm thông tin chi tiết 21
3.2.7 UC-1.7 Use case cập nhập điểm học phần 22
3.2.8 UC-1.8 Use case tạo thông báo 23
3.2.9 UC-1.9 Use case quản lý điểm sinh viên 24
3.2.10 UC-1.10 Use case đăng ký học phần 25
CHƯƠNG 4: PHÂN TÍCH VÀ THIẾT KẾ CƠ SỞ DỮ LIỆU 28
4.1 Sơ đồ lớp tổng quát 28 4.2 Mô tả chi tiết từng lớp đối tượng 28 Bảng 1: Bảng mms_user 28
Bảng 2: Bảng mms_subject 29
Bảng 3: Bảng mms_subject_user 30
4
Trang 5MỞ ĐẦU
Quản lý sinh viên là một công tác rất quan trọng và phức tạp mà bất kỳ đơn
vị đào tạo đại học nào cũng phải thực hiện Bắt đầu từ việc làm thủ tục nhập họccho sinh viên mới, tiếp theo đó là theo dõi và quản lý các thông tin về sinh viên trong suốt khóa học cũng như việc hệ thống hóa, lưu trữ và bảo quản các thông tin: kết quả học tập, hồ sơ cá nhân khi sinh viên ra trường
Việc nắm bắt, quản lý các thông tin đã được thực hiện ở hầu hết các trườngđại học Tuy nhiên, thông tin ở dạng này chỉ dừng ở mức độ lưu trữ để khai tháctheo các khía cạnh tĩnh thay thế cho hoạt động bằng tay hàng ngày Quản lý sinhviên cần đến các hoạt động tích cực hơn nữa, chẳng hạn như việc theo dõi cáchoạt động ngoại khóa, các thông tin thực tập, đi làm, cung cấp các dịch vụ trựctuyến:tra cứu điểm, học phí, học bổng, khen thưởng, kỉ luật,…
Tại các đơn vị làm công tác giáo dục, vấn đề ứng dụng Công Nghệ ThôngTin vào Quản Lý Điểm của sinh viên trong một trường đại học lại là một vấn đềcần thiết và cấp bách do số lượng cũng như tính phức tạp đan xen của sinhviên Vì vậy cần phải xây dựng một chương trình quản lý phù hợp có hiệu quảnhằm giải quyết những yêu cầu trên
Trong thời gian tìm hiểu Đề tài: Thiết kế Website quản lý điểm sinh viên.Sau một thời gian tìm hiểu hệ thống với sự chỉ bảo tận tình của các thầy cô
trong khoa Công Nghệ Thông Tin mà đặc biệt là sự chỉ dẫn trực tiếp của thầy
TS Trần Đăng Hoan đến nay em đã hoàn thành về cơ bản các yêu cầu đặt ra
của đề tài Tuy nhiên vì một vài lý do chủ quan và khách quan nên chương trìnhchưa được thoả mãn theo ý muốn, một phần có lẽ do kiến thức còn hạn chế,cộng thêm sự non nớt về kinh nghiệm quản lý nói chung và quản lý điểm nóiriêng nên chương trình không tránh khỏi sai sót Em rất mong thầy cô và cácbạn chỉ bảo thêm để chương trình ngày một hoàn thiện hơn để và có thể đưa vào
sử dụng
Trang 6NỘI DUNG CHƯƠNG 1: TỔ CHỨC HỆ THỐNG VÀ ĐẶC TẢ YÊU CẦU
1.1 Mô tả hệ thống
Hệ thống quản lí điểm sinh viên là một hệ thống quản lí thông tin đượcthiết kế để quản lí thông tin điểm số của sinh viên trong một trường đại họchoặc một tổ chức giáo dục khác Hệ thống này có thể được sử dụng để quản líthông tin điểm số của sinh viên trong các lớp học khác nhau, các kỳ thi khácnhau và các môn học khác nhau
1.2 Các yêu cầu đối với chương trình quản lý điểm
1.2.1 Yêu cầu người sử dụng
Các chức năng của phần mềm: phải tuân theo quy chế, quy trình đào tạo củatrường
Phần mềm phải có giao diện thân thiện: để mọi người đều có thể sử dụngđược, không nhất thiết phải là người trong ngành công nghệ thông tin
Hệ thống phải dễ sử dụng, quản lý: đảm bảo tốt cho việc sử dụng phần mềm
để quản lý cũng như tra cứu cùng thời điểm với số lượng lớn người sử dụng
Hệ thống phải có khả năng bảo mật tốt: tất cả mọi thông tin cá nhân chỉ cóngười được phân quyền mới được phép xem và chinh sửa
Hệ thống phải có chức năng phục hồi, sao lưu dữ liệu thường xuyên: tránhtình trạng mất, hỏng, sai lệch dữ liệu
Hệ thống cần có khả năng mở rộng, nâng cấp trong tương lai: để có thể thayđổi cho phù hợp với yêu cầu công tác quản lý
Chi phí cho hệ thống (phần mềm, phần cứng, nhân sự vận hành) phải hợp lý:không vượt quá ngân sách của trường ngưng vẫn đáp ứng được yêu cầu côngviệc
Phần mềm phải có hướng dẫn sử dụng (video, hình ảnh,…): hướng dẫn chitiết từng chức năng để người mới sử dụng có thể làm việc tốt với phần mềm
6
Trang 71.2.2 Yêu cầu cho hệ thống
Dữ liệu ban đầu cho quá trình quản lý điểm là bảng điểm, do vậy các thôngtin trong bảng điểm phải có độ chính xác tuyệt đối Bao gồm các thông tinsau:
Mã số bảng điểm (dùng xác định duy nhất một bảng điểm trong số cácbảng điểm)
Mã số bảng điểm (dùng xác định duy nhất một bảng điểm trong số cácbảng điểm)
Tên môn học
Tên lớp
Loại hình thi/ kiểm tra
Học kỳ
Ngày thi/ kiểm tra
Danh sách sinh viên của cùng một lớp
Kết quả thi/ kiểm tra
Đề thiết lập được bảng điểm thuần nhất đòi hỏi phải thực hiện các quy tácsau đây:
Khi lập danh sách dự thi/ kiểm tra, các thông tin sau phải được in bằngmáy tính với các dữ liệu lấy hoặc kết xuất từ cơ sở dữ liệu: Tên môn học:tên lớp: học kỳ: danh sách sinh viên Người lập danh sách dự thi/ kiểm travẫn phải kiểm tra lại tính đúng đắn của dữ liệu Khi có sinh viên của hailớp trở lên cùng dự thi/ kiểm tra một buổi của cùng một môn học thì vânphải lập cho mỗi lớp một danh sách dự thi/ kiểm tra riêng
Khi nhập dữ liệu bảng điểm vào cơ sở dữ liệu trong máy phải kịp thời bổxung các dữ liệu còn thiếu, sử chữa các dữ liệu chưa chính xác Đặc biệtnếu xuất hiện sinh viên của các lớp khác nhau trong cùng một bảng điểmthì người nhập dữ liệu phải tách thành các bảng điểm thuần nhất theokhái niệm đã nêu ở trên
Trang 8 Toàn bộ thông tin có trong bảng điểm thuần nhất sẽ là thông tin sơ cấpđược lưu trữ trong cơ sở dữ liệu Do vậy việc cập nhật các thông tin nàyvào cơ sở dữ liệu trong máy tính cần giao cho phòng Đào tạo thực hiện.
Dữ liệu về bảng điểm được sao chép tự động cho khoa quản lý lớp đó,khoa có trách nhiệm dùng bảng điểm nhân bản (nhận từ phòng Hànhchính quản trị) đối chiếu phát hiện sai sót của bảng điểm lưu trong cơ sở
dữ liệu và báo cho phòng Đào tạo cập nhật lại dữ liệu
1.3 Các dữ liệu vào ra.
Hệ thống quản lí điểm sinh viên có thể được phân tích với các dữ liệu vào
ra như sau:
1.3.1 Luồng thông tin đầu vào.
Về mặt nội dung, luồng tông tin đầu vào có thể chia thành một số loại như sau:
Nhóm thông tin hồ sơ gốc: Nhóm này chỉ gồm những dữ liệu nhằm xác định
rõ từng sinh viên Nhóm thông tin này bao gồm:
8
Trang 9 Nhóm các thông tin được cập nhật định kỳ: Nhóm thông tin này gồm cácthông tin về môn học và lớp học đó Nhóm thông tin này bao gồm:
Nhóm thông tin được cập nhật không thường xuyên: Nhóm thông tin nàykhông phải là cho tất cả mọi học viên như 2 nhóm thông tin trên mà chỉ
bồ xung cho một số học viên Đó là các thông tin: khen thưởng, kỷ luật,đối tượng ưu tiên Nhóm thông tin này không nằm trong hệ thống báocáo thông tin chính thống nên có thể có hoặc có thể không có
1.3.2 Luồng thông tin đầu ra.
Luồng thông tin đầu ra có thể chia thành 3 loại sau:
Các thông tin được đưa ra bằng phương pháp tính toán:
Loại thông tin này được thống kê chính xác từ các thông tin đầu vào Việc tínhđiểm trung bình của các môn học trong một năm học hay toàn khoá học đượctính theo công thức sau:
Trong đó:
Trang 10 M là số các môn thi
m là số đơn vị học trình của môn thứ i
ai là điểm thi của môn thứ i
Điểm trung bình được quy tròn đến số thứ hai trong phần thập phân.Các thông tin này bao gồm: kết quả học tập của học viên theo từng năm học vàtoàn khoá học Đồng thời hệ thống phải đưa ra được các danh sách học viênphải thi lại theo môn và học viên lưu ban
Các thông tin dạng tra cứu, tìm kiếm:
Đây là những thông tin được cập nhật thường xuyên hoặc một lần Khi đó người
sử dụng có nhu cầu thì mở ra tra cứu chư không cần qua khâu xử lý của chươngtrình
Các thông tin thống kê, dự báo:
Các thông tin này đưa ra trên cơ sở thống kê thực tế nhiều năm rồi từ đó rút raquy luật và căn cứ vào quy luật đó để dự báo cho tương lai Hệ thống phải cóchức năng thống kê theo yêu cầu như: xếp loại, học tập, hạnh kiểm
Đối với hệ thống này, các thông tin đầu ra cần phải đáp ứng các yêu cầu sau:
Đối với các thông tin đưa ra bằng phương pháp tính toán: hệ thống phải đưa
ra được các báo cáo sau:
Danh sách sinh viên đủ điều kiện làm đồ án tốt nghiệp: Đó là những họcviên có điểm trung bình chung của 6 học kỳ đầu lớn hơn hoặc bằng 5.00
Danh sách sinh viên phải thi lại các môn ở học kỳ vừa kết thúc: hệ thốngchỉ cần thống kê những môn học mà học viên thi lần thứ nhất đạt điểmnhỏ hơn 4.00 và kết quả cụ thể của lần thi đó
Bản báo cáo tổng hợp kết quả học tập của từng lớp theo học kỳ và nămhọc: Sau mỗi lần kết thúc học kỳ hoặc năm học, hệ thống phải đưa radanh sách theo từng lớp trong đó thông báo điểm trung bình chung củatừng học viên, phân loại học tập cho từng học viên theo tiêu chuẩn xếploại học tập
Tiêu chuẩn xếp loại học tập:
10
Trang 11 Đối với các thông tin đưa ra bằng phương pháp tra cứu, tìm kiếm: Hệ thốngnày chỉ giới hạn trong việc tìm kiếm học viên theo một số thông tin như:Lớp, họ tên để xem một số thông tin trong quá trình học tập của học viên.Đây là một phạm vi mà hệ thống không đề cập đến Tuy nhiên, dưới góc độphân tích và thiết kế hệ thống thì có thể thấy rằng nếu phát triển hệ thống thìvẫn có thể đáp ứng được phần nào dựa trên những số liệu thống kê củanhững năm trước để lại.
// Tóm lại, trong 3 loại thông tin mà hệ thống phải đáp ứng thì loại thông tinđưa ra bằng phương pháp tính toán là quan trọng và cần thiết nhất, loại thôngtin thứ 2 là có nhưng không quan trọng và hệ thống cũng không đề cập đếnnhiều, còn loại thông tin thứ 3 thì chưa có nhu cầu sử dụng
1.3.3 Các thông tin trợ giúp
Nhóm các thông tin trợ giúp bao gồm: khen thưởng, kỷ luật, đối tượng ưutiên
Nhóm thông tin này không nằm trong nguồn cung cấp thông tin chínhthống của hệ thống vì vậy thông tin không được đầy đủ (có học viên có nhưngcũng có học viên không có) Vì vậy, hệ thống chỉ nhập lưu và nếu cần thì đưa ra
Trang 12cùng các thông tin cần thiết khác Các thông tin đó không tham gia vào quátrình biến đổi thông tin để kết xất thành thông tin đầu ra.
1.4 Các bước xây dựng hệ thống quản lý điểm học viên
1.4.1 Nghiên cứu sơ bộ và lập dư án.
Ở bước này, ta tiến hành tìm hiểu, khảo sát hệ thống, phát hiện các nhược điểmcòn tồn tại, từ đó đề xuất các giải pháp khác phục, cân nhắc tính khả thi của dự
án và định hướng cho các giai đoạn phát triển tiếp theo
Từ đó, xác định các hệ thống con trong phần việc được làm bằng máy tính
1.4.4 Thiết kế chi tiết
Thiết kế các thủ tục người dùng và giao diện giữa người và máy tính
Thiết kế cơ sở dữ liệu
Thiết kế kiểm soát (ngăn truy nhập trái phép, an toàn sự cố)
Viết chương trình bằng ngôn ngữ lập trình Spring boot
Chạy thử chương trình
12
Trang 13CHƯƠNG 2: CÁC NHÓM CHỨC NĂNG
2.1.1 Chức năng dành cho “Giảng Viên”
Đăng nhập hệ thống với quyền của mình
Thay đổi thông tin cá nhân và mật khẩu cá nhân
Xem/Thêm/ Sửa/ Xóa học sinh
Xem/ Thêm/ Sửa/ Xóa môn học
Xem/ Thêm/ Sửa/ Xóa điểm
2.1.2 Chức năng dành cho “Học viên”
Đăng nhập hệ thống với quyền học viên
Thay đổi thông tin cá nhân và mật khẩu cá nhân
Xem môn học trong kỳ học/ năm học/ khóa học
Xem điểm (điểm thành phần, điểm tổng kết) của các môn học
S
Figure 1Sơ đồ phân cấp chức năng tổng quát
Trang 142.2.1 Tác nhân Giảng viên đối với hệ thống website
Figure 2Sơ đồ chức năng tác nhân giảng viên đối với hệ thống
2.2.2 Tác nhân Học viên đối với hệ thống quản lý website:
Figure 3Sơ đồ chức năng của tác nhân học viên đối với hệ thống
14
Trang 15CHƯƠNG 3: UML DIAGRAMS
3.1 Sơ đồ tổng quát
Trang 163.2 Các sơ đồ chi tiết
3.2.1 UC-1.1 Use case đăng kí tài khoản.
Đặc tả use case
Tên Use Case Đăn ký tài khoản
Mô tả Người dùng đăng ký tài khoản trong hệ thống, không
được sử dụng tạo tài khoản Admin
Sự kiện kích hoạt Người sử dụng muốn tạo mới một tài khoản
Luồng sự kiện 1 Hệ thống hiển thị trang đăng ký
2 Người dùng điền thông tin tài khoản, mật khẩu gmail vào form đăng ký và chọn lệnh đăng ký tài khoản
3 Hệ thống cập nhập và hiển thị thông báo đăng ký tài khoản thành công
4 Use Case kết thúc
16
Trang 173.2.2 UC-1.2 Use case đăng nhập
Đặc tả use case
Tên Use Case Đăng nhập
Mô tả Người dùng đăng nhập tài khoản trong hệ thống, không
được sử dụng tạo tài khoản Admin
Sự kiện kích hoạt Người sử dụng muốn tạo mới một tài khoản
Luồng sự kiện 1 Hệ thống hiển thị giao diện form đăng nhập
2 Người dùng nhập tên tài khoản, mật khẩu và chọn lệnh Hoàn tất
3 Hệ thống kiểm tra thông tin nếu hợp lệ cho phép đăng nhập và hiển thị màn hình trang chủ
4 Use Case kết thúc
3.2.3 UC-1.3 Use case đăng xuất
Trang 18Đặc tả use case
Tên Use Case Đăng xuất
Tác nhân Admin, giảng viên,sinh viên
Mô tả Admin, GV,SV khi muốn thoát khỏi hệ thống
thì sẽ thông qua đăng xuất để thoát
Điều kiện Admin hay GV,SV có tài khoản để đăng nhập
vào hệ thốngChuỗi sự kiện chính
Tác nhân tiến hành đăng nhập vào trang web
Hệ thống xác nhận và cấp quyền đăng nhập tương ứng
Tác nhân chọn đăng xuất khỏi trang web
Hệ thống đưa ra thông báo xác nhận đăng xuất
Trang 193.2.4 UC-1.4 Use case xem thông tin trang web
Đặc tả Use case
Tên Use Case Hiển thị thông tin website
Mô tả Cho phép người dùng xem các thông tin có trên trang
web
Actor User, Admin
Sự kiện kích hoạt Người dùng muốn truy cập vào website
Luồng sự kiện 4 Người dùng truy cập đến website du lịch
5 Hệ thống hiển thị lại thông tin trang chủ cho người dùng
6 Use case kết thúc
Trang 203.2.5 UC-1.5 Use case tìm kiếm học phần
Đặc tả Use case
Tên Use Case Tìm kiếm học phần
Mô tả Cho phép người dùng người dùng tìm kiếm học phần
muốn tra cứ thông tin, điểm theo từ khóa trong hệ thống
Sự kiện kích hoạt Người dùng muốn tìm kiếm trên website
Luồng sự kiện 7 Hệ thống hiển thị trang chủ web
8 Người dùng vào mục tìm kiếm rồi nhập từ khóa của học phần cần tìm
9 Hệ thống hiển thị học phần gợi ý theo từ khóa đã nhập thành công
10.Use Case kết thúc
20