Được thực hiện các chức năng như thành viên Đăng kí học, sửa thông tin đăng kí của mình Xem tiến trình học của mình Xem điểm của mình Xem các chứng chỉ mà mình đã đạt được tron
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA CƠ BẢN I
BÁO CÁO BÀI TẬP LỚN MÔN PHÂN TÍCH THIẾT KẾ
HỆ THỐNG THÔNG TIN
ĐỀ TÀI: HỆ THỐNG QUẢN LÝ ĐÀO TẠO TRỰC TUYẾN
Họ và tên: Nguyễn Văn Sang – B18DCCN508
Đào Quang Công – B18DCCN057 Nguyễn Duy Khánh – B18DCCN310
Vũ Mạnh Quang – B18DCCN486 Nguyễn Thế Doanh – B18DCCN093 Giảng viên: Đào Ngọc Phong
Nhóm lớp học: Lớp 04 – Nhóm 5
HÀ NỘI – 2021
Trang 2Mục lục
I Thu thập yêu cầu 3
1 Mô thả hệ thống bằng ngôn ngữ tự nhiên 3
a) Giới thiệu mục đích hệ thống 3
b) Phạm vi hệ thống 3
c) Thông tin các đối tượng cần xử lí, quản lí: 4
d) Quan hệ giữa các đối tượng, thông tin: 4
2 Mô tả hệ thống bằng ngôn ngữ UML 6
a) Biểu đồ use case tổng quát 6
b) Use case: Học viên đăng ký học 7
c) Use case: Giảng viên xem lịch dạy 10
d) Use case: Quản lý ngân sách 12
e) Use case: Quản lý thông tin học viên 16
f) Use case: Quản lý thống kê lớp học 18
II Phân tích và thiết kế 22
1 Phân tích và thiết kế modul tổng quát 22
a Mô tả hệ thống trong 1 đoạn văn 22
b Trích rút các danh từ 23
c Đánh giá và lực chọn các danh từ làm lớp thực thể hoặc thuộc tính 23
d Xác định quan hệ số lượng giữa các thực thể 24
e Xác định quan hệ đối tượng giữa các thực thể 25
f Thiết kế lớp thực thể 27
g Thiết kế CSDL 27
2 Phân tích và thiết kế chi tiết từng modul 28
a Use case: Học viên đăng ký học 28
b Use case: Giảng viên xem lịch dạy 36
c Use case: Quản lý ngân sách 44
d Use case: Quản lý thông tin học viên 44
e Use case: Quản lý thống kê lớp học 52
Trang 3I Thu thập yêu cầu
1 Mô thả hệ thống bằng ngôn ngữ tự nhiên
a) Giới thiệu mục đích hệ thống
Hệ thống trang web phục vụ công tác quản lí đăng kí, tổ chức, giới thiệu cáckhóa học đào tạo trực tuyến cho các học viên, giới thiệu profile của các giảngviên làm việc cho hệ thống
Được thực hiện các chức năng như thành viên
Đăng kí học, sửa thông tin đăng kí của mình
Xem tiến trình học của mình
Xem điểm của mình
Xem các chứng chỉ mà mình đã đạt được trong hệ thống
Thanh toán qua thẻ ngân hàng
Nhân viên:
Được thực hiện các chức năng như thành viên
Chức vụ trong hệ thống
Giảng viên:
Thực hiện các chức năng như nhân viên
Đăng kí dạy, sửa thông tin đăng kí dạy
Xem lịch dạy của mình
Xem thống kê liên quan đến các lớp mình dạy
Tư vấn viên:
Thực hiện các chức năng như nhân viên
Xem danh sách các khóa học
Tư vấn cho học viên thông qua hệ thống chat
Nhân viên kế toán:
Thực hiện các chức năng như nhân viên
Quản lý ngân sách (Thu, chi và thuế)
Nhân viên quản lí:
Thực hiện các chức năng như nhân viên
Quản lý thông tin học viên: thêm, sửa, xóa theo yêu cầu của họcviên
Quản lý thông tin giảng viên
Quản lý danh sách các khóa học (xuất danh sách khóa học)
Trang 4 Quản lý thống kê lớp học (Lịch học, tiến trình, điểm, phòng học,danh sách sinh viên theo từng lớp, ….)
c) Thông tin các đối tượng cần xử lí, quản lí:
Nhóm các thông tin liên quan đến con người:
Thành viên: tên đăng nhập, mật khẩu, họ tên, địa chỉ, ngày sinh,email, số điện thoại
Học viên: giống thành viên, có thêm: mã học viên
Nhân viên: giống thành viên, có thêm vị trí công việc
Giảng viên: giống nhân viên, có thêm: mã giảng viên
Tư vấn viên: giống nhân viên
Nhân viên kế toán: giống nhân viên
Nhân viên quản lý: giống nhân viên
Khách: không cần đăng nhập như thành viên, có thể chat với tư vấnviên
Nhóm các thông tin liên quan đến cơ sở vật chất:
Nền tảng học trực tuyến
Phòng học: mã phòng học, tên phòng học, số lượng học viên
Nhóm các thông tin liên quan đến đơn vị, tổ chức:
Trung tâm: tên, địa chỉ, mô tả
Phòng kế toán: tên, mô tả
Phòng quản lý: tên, mô tả
Phòng đào tạo: tên, mô tả
Bộ môn đào tạo: tên, mô tả
Nhóm các thông tin liên quan đến chuyên môn, vận hành:
Khóa đào tạo: mã, tên, mô tả, năm đào tạo, thời lượng (đơn vị buổi)
Lớp học: mã, tên lớp học, sĩ số tối đa, sĩ số hiện tại, giảng viên dạy,
mã phòng học, tuần nào học ngày nào, giờ nào
Nhóm thông tin liên quan đến thống kê:
Thống kê theo loại chứng chỉ
Thống kê kết quả học tập theo học viên
Thống kê kết quả học tập theo lớp
Thống kê giảng viên theo: số lượng lớp, kết quả giảng dạy
Thống kê theo khóa học: số lượng lớp, số lượng học viên
d) Quan hệ giữa các đối tượng, thông tin:
Mỗi trung tâm chỉ có 1 phòng kế toán
Mỗi trung tâm chỉ có 1 phòng quản lý
Mỗi trung tâm chỉ có 1 phòng đào tạo
Phòng đào tạo có nhiều bộ môn đào tạo
Mỗi bộ môn đào tạo quản lý chuyên môn nhiều khóa đào tạo
Mỗi khóa đào tạo có nhiều lớp học
Mỗi bộ môn đào tạo có nhiều giảng viên
Trang 5 Mỗi lớp học trong một khóa đào tạo có mã phòng riêng biệt, có thể họcvào nhiều buổi, mỗi buổi có thể liên quan đến tuần khác nhau, ngày giờkhác nhau
Một giảng viên có thể dạy nhiều khóa học, có thể dạy nhiều lớp học trongcùng khóa học
Mỗi đầu điểm đối với mỗi môn học có tỉ lệ % tính điểm nhất định
Mỗi năm có nhiều khóa đào tạo
Mỗi tuần, mỗi ngày có thể có nhiều lớp
Mỗi ngày có thể học nhiều buổi
Mỗi học viên có thể đăng kí nhiều khóa học khác nhau (các môn lựa chọnkhông trùng lịch học)
Mỗi học viên đối với mỗi lớp học có 1 điểm trung bình và chứng chỉ riêng
Trang 62 Mô tả hệ thống bằng ngôn ngữ UML a) Biểu đồ use case tổng quát
Trang 7b) Use case: Học viên đăng ký học
Người thực hiện: Đào Quang Công – B18DCCN057
Kịch bản: Học viên đăng nhập vào hệ thống -> chọn chức năng đăng kí học ->
hệ thống hiện danh sách các khóa học (mã khóa học, tên khóa học, mô tả) -> họcviên chọn khóa học -> hệ thống hiện danh sách các lớp dạy khóa học (mã lớp,tên khóa học, học viên đăng kí tối đa, số học viên đã đăng kí, giảng viên, lịchhọc, mô tả) nếu các lớp học trùng lịch đã đăng kí thì chỉ được xem không đượcchọn -> học viên chọn lớp học mà mình thích -> hệ thống sẽ quay lại danh sáchcác khóa học để học viên bổ sung thêm Lặp lại bước chọn khóa học cho đến khihọc viên dừng đăng kí -> học viên chọn lưu đăng kí các khóa học -> hệ thống sẽlưu thông tin đăng kí của học viên và quay về giao diện chính của học viên
Chức năng đăng kí học có các giao diện tương tác với học viên:
Đăng nhập -> đề xuất UC đăng nhập
Đăng kí -> đề xuất UC đăng kí
Chọn chuyên ngành -> đề xuất UC chọn chuyên ngành
Chọn khóa học -> đề xuất UC chọn khóa học
Đăng nhập, chọn khóa học, chọn lớp học là bắt buộc mới hoàn thành đượcđăng kí -> UC đăng kí include các UC này
Như vậy, biểu đồ UC chi tiết cho modul đăng ký học được trình bày trong hìnhtrên
Các UC được mô tả như sau:
Chọn khóa học: UC này cho phép học viên chọn khóa học để đăng ký
Trang 8 Chọn lớp học: UC này cho phép học viên chọn lớp học để đăng ký.
Số lượnghọc viên
đã đăng ký
Lịch học
Chọn
1 ADR101 Lập trình
Android
Nguyễn Văn A
Trang 97 Hệ thống quay lại giao diện bước 2, bảng các môn đã chọn cập nhật lạiSTT Mã lớp Tên khóa
học
Giảng viên
Số lượng học viên tối đa
Số lượng học viên
đã đăng ký
Lịch học
Xóa
1 ADR101 Lập trình
Android
NguyễnVăn A
2 PTS102 Photoshop Đào
Quang B
(Lặp lại các bước 2-5 cho đến ngừng, nút lưu sẽ active)
8 Sinh viên click vào nút lưu
9 Hệ thống báo thành công và quay về giao diện chính của học viên.Ngoại
lệ
2 Không có khóa học nào để đăng ký
4 Không có môn nào để đăng kí hoặc trùng giờ học đã đăng kí từ trước
Trang 10c) Use case: Giảng viên xem lịch dạy
Người thực hiện: Nguyễn Thế Doanh – B18DCCN093
Giảng viên xem lịch dạy: Giảng viên đăng nhập vào hệ thống -> chọn chức năng
Xem Lịch Dạy -> Hệ thống tìm TKB cho Giảng viên theo Mã giảng viên -> Hệ thống hiển thị TKB cho Giảng viên -> Nếu Giảng viên muốn xem danh sách lớpcủa Lớp đó thì Giảng viên sẽ Click vào Xem danh sách học viên vủa lớp -> NếuGiảng viên muốn theo thông tin liên hệ của học viên trong trường hợp Học viênyếu, muốn liên hệ kèm 1:1 thì Click vào Xem thông tin học viên
Use case chi tiết xem lịch dạy
Trong chức năng này, nhân viên Giảng viên có thể phải tương tác với các giaodiện:
Đăng nhập -> thống nhất với UC đăng nhập
Xem TKB -> thống nhất với UC xem TKB
Xem danh sách học viên của lớp -> đề xuất UC danh sách học viên củalớp
Xem thông tin của học viên trong lớp đó -> đề xuất UC xem thông tin họcviên
Các giao diện thống kê lần lượt theo dạng: giao diện sau là tùy chọn từgiao diện trước Do đó, chúng có quan hệ mở rộng lần lượt cái sau từ cáitrước
Như vậy, biểu đồ UC chi tiết cho chức năng xem lịch dạy được trình bày nhưtrong hình vẽ Trong đó, các UC chi tiết được mô tả như sau:
Xem danh sách học viên của lớp: UC này cho phép Giảng viên xem danhsách học viên của lớp trong khóa học
Xem thông tin của học viên trong lớp đó: UC này cho phép Giảng viênxem thông tin của học viên trong lớp
Trang 11Use case Nội dung
Tên use case Xem lịch dạy
Mô tả Cho giảng viên xem lịch dạy của mình
Actor Giang vien
Tiền điều kiện Giảng viên đăng nhập vào hệ thống
Hậu điều kiện
Luồng sự kiện chính 1 Giảng viên đăng nhập thành công vào hệ thống
2 Giảng viên nhấn vào chức năng Xem Lịch Dạy
3 Hệ thống tìm TKB cho Giảng viên theo Mã giảng viên
4 Hệ thống hiển thị TKB cho Giảng viên theo Mã giảng viên
Kíp Thứ 2 Thứ 3 Thứ 4 Thứ
5
Thứ 6 Thứ 7 Chủ
nhật Sáng
(8h – 10h) DL101 – P1001 Chiều
(15h-17h) DS104 – P1004 Chiều
(17h-19h) DS104 –P1004 Tối
(20h – 22h)
DS202 – P2002
5 Giảng viên click vào dòng Lớp A – Khóa X STT Họ và tên Mã học viên
1 Nguyễn Văn A HV1001
6 Giảng viên click vào dòng “Nguyễn Văn A”:
Họ và tên Nguyễn Văn A Email vana@gmail.com
Số điện thoại 0123456789
7 Kết thúc use case Luồng sự kiện phụ
Ngoại lệ 3 Giảng viên chưa đăng ký lịch dạy
Trang 12d) Use case: Quản lý ngân sách
Người thực hiện: Vũ Mạnh Quang – B18DCCN486
Bước 3: Hoạt động nghiệp vụ chức năng:
Quản lý ngân sách: Kế toán đăng nhập vào hệ thống -> hệ thống hiện lêngiao diện quản lý ngân sách -> Kế toán chọn chức năng quản lý ngân sách-> hệ thống hiện lên các đề xuất có thể chọn: thống kê doanh thu, trảlương nhân viên, nộp bảo hiểm cho nhân viên -> Kế toán chọn thống kêdoanh thu -> giao diện hiện lên các lựa chọn: thống kê theo tháng, thống
kê theo năm -> Kế toán chọn xem thống kê theo tháng -> giao diện hiệnlên tổng doanh thu theo tháng, kế toán có thể so sánh doanh thu giữa cáctháng với nhau -> Kế toán chọn xem thống kê theo năm -> giao diện hiệnlên tổng doanh thu theo năm, kế toán có thể so sánh doanh thu giữa cácnăm với nhau -> Kế toán click chọn trả lương nhân viên -> hệ thống hiệnlên danh sách lương của nhân viên -> Kế toán click chọn nộp bảo hiểmnhân viên -> hệ thống hiện lên danh sách các bảo hiểm cần nộp -> Kếtoán click chọn nhập số lượng nhân viên -> hệ thống hiện cột số lượng để
kế toán nhập
Use case chi tiết cho modul “Quản lý ngân sách”:
Trong chức năng này, nhân viên quản lý có thể phải tương tác với các giao diện:
Trang 13 Đăng nhập -> thống nhất với UC đăng nhập.
Giao diện hiện quản lý ngân sách -> đề xuất UC thống kê doanh thu, UCtrả lương nhân viên, UC nộp bảo hiểm cho nhân viên
Chọn thống kê doanh thu -> đề xuất UC thống kê theo tháng, UC thống
kê theo năm
Chọn trả lương nhân viên -> đề xuất UC thanh toán lương cho 1 nhânviên
Chọn nộp bảo hiểm cho nhân viên -> đề xuất UC nhập số lượng nhân viên
Chọn nhập số lượng nhân viên -> đề xuất UC thanh toán bảo hiểm
Đăng nhập bắt buộc mới thực hiện được việc quản lý ngân sách
Mô tả các UC chi tiết:
UC quản lý ngân sách: UC này cho phép kế toán xem thống kê doanhthu, trả lương nhân viên và nộp bảo hiểm cho nhân viên
UC thống kê doanh thu: UC này cho phép kế toán chọn xem thống kêdoanh thu theo tháng hoặc xem thống kê doanh thu theo năm
UC thống kê theo tháng: UC này cho phép kế toán xem bảng thống kêdoanh thu theo tháng
UC thống kê theo năm: UC này cho phép kế toán xem bảng thống kêdoanh thu theo năm
UC trả lương nhân viên: UC này cho phép kế toán xem bảng lương củanhân viên
UC thanh toán lương cho 1 nhân viên: UC này cho phép kế toán chọntừng nhân viên để thanh toán
UC nộp bảo hiểm nhân viên: UC này cho phép kế toán thực hiện xemdanh sách các bảo hiểm cần nộp
UC nhập số lượng nhân viên : UC này cho phép kế toán thực hiệnnhập số lượng nhân viên cần thanh toán bảo hiểm
UC thanh toán bảo hiểm: UC này cho phép kế toán thực hiện chọn bảohiểm cần thanh toán để thanh toán
Trang 14Kịch bản cho chức năng quản lý thống kê lớp học:
Trang 15Và các đề xuất: xem thống kê theo tiền lương giảm dần.
6 Kế toán A click chọn thanh toán lương cho 1 nhân viên, giao diện hiện
ra nhân viên được chọn để thanh toán:
7 Kế toán A click vào nộp bảo hiểm cho nhân viên, giao diện hiện ra danh sách bảo hiểm cần nộp:
8 Kế toán A click chọn nhập số lượng nhân viên, giao diện hiện ra:
9 Kế toán A click chọn thanh toán bảo hiểm, giao diện hiện ra bảo hiểm được chọn để thanh toán:
Ngoạ
i lệ
Trang 16e) Use case: Quản lý thông tin học viên
Người thực hiện: Nguyễn Duy Khánh – B18DCCN310
Bước 3: Quản lý thông tin học viên: Nhân viên quản lý đăng nhập vào hệ thống-> hệ thống hiện lên giao diện quản lý -> quản lý chọn chức năng xem danh sáchhọc viên -> hệ thống hiện lên danh sách các học viên (gồm stt, tên, mã học viên)
và các đề xuất có thể chọn: xem thông tin chi tiết một học viên hoặc xóa mộthọc viên-> quản lý chọn xem thông tin chi tiết một học viên -> giao diện hiệnlên các thông tin của học viên với họ tên, mã học viên, số điện thoại, địa chỉ,khóa học, kết quả học tập, … và các đề xuất: xem kết quả học tập hoặc sửathông tin học viên -> quản lý chọn xem kết quả học tập của một học viên -> giaodiện hiện lên kết quả học tập chi tiết của học viên với kết quả các môn học
Trong chức năng này, nhân viên quản lý có thể phải tương tác với các giao diện:
Đăng nhập -> thống nhất với UC Đăng nhập
Xem danh sách học viên -> đề xuất UC Xem danh sách học viên
Xem thông tin chi tiết của 1 học viên -> đề xuất UC Xem thông tin chi tiếtcủa 1 học viên
Xem kết quả học tập của 1 học viên -> đề xuất UC Xem kết quả học tậpcủa 1 học viên
Xem chi tiết học lực của 1 học viên -> đề xuất UC Xem học lực
Sửa thông tin một học viên -> đề xuất UC Sửa thông tin học viên
Xóa thông tin một học viên -> đề xuất UC Xóa một học viên
Các giao diện thống kê lần lượt theo dạng: giao diện sau là tùy chọn từgiao diện trước Do đó, chúng có quan hệ mở rộng lần lượt cái sau từ cáitrước
Như vậy, biểu đồ UC chi tiết cho chức năng Quản lý thông tin học viên đượctrình bày như trong hình vẽ Trong đó, các UC chi tiết được mô tả như sau:
Trang 17 Xem danh sách học viên: UC này cho phép NVQL xem danh sách tất cảcác học viên của hệ thống.
Xem thông tin chi tiết một học viên: UC này cho phép NVQL xem thôngtin chi tiết của một học viên
Xem kết quả học tập của một học viên: UC này cho phép NVQL xem kếtquả học tập của một học viên
Sửa thông tin học viên: UC này cho phép NVQL sửa thông tin học viêntrong hệ thống
Xóa một học viên: UC này cho phép NVQL xóa một sinh viên khỏi hệthống
Chức năng quản lý thông tin học viên.
Tiền điều
kiện
Nhân viên quản lý đã đăng nhập thành công
Thông tin học viên đã được cập nhật lên hệ thống
3 Quản lý chọn Xem chi tiết tại dòng học viên Nguyễn Văn A
Trang 184 Giao diện thông tin chi tiết của học viên Nguyễn Văn A hiệnlên:
Kíp Thứ 2 Thứ 3 Thứ 4 Thứ
5
Thứ 6 Thứ 7 Chủ
nhật Sáng
(8h – 10h)
DL101 – P1001 Chiều
(15h-17h)
DS104 – P1004 Chiều
(17h-19h) DS104 –P1004 Tối
(20h – 22h) DS202 – P2002
5 Quản lý chọn Xem chi tiết tại dòng kết quả học tập
6 Giao diện kết quả học tập chi tiết của học viên Nguyễn Văn Ahiện lên:
1 DL101 DeepLearningcơ bản 9 Giỏi
2 DS104 DataSciencecơ bản 9.5 Giỏi
3 DS202 DataSciencenâng cao 7.5 KháNgoại lệ 2 Hệ thống có 0 học viên
Trang 19f) Use case: Quản lý thống kê lớp học
Người thực hiện: Nguyễn Văn Sang – B18DCCN508
Bước 3: Hoạt động nghiệp vụ chức năng:
Quản lý xem thống kê lớp học: Nhân viên quản lý đăng nhập vào hệthống -> hệ thống hiện lên giao diện quản lý -> quản lý chọn chức năngquản lý thống kê lớp học -> hệ thống hiện lên danh sách các lớp học và đềxuất có thể chọn: thêm lớp học hoặc chọn xem thống kê 1 lớp học -> quản
lý chọn 1 lớp muốn xem thống kê -> giao diện hiện lên các thông tin củalớp học đó (số lượng sinh viên, danh sách sinh viên, mã lớp, lịch học, têngiảng viên) và các đề xuất: sửa thông tin giảng viên theo lớp và xemthống kê điểm của lớp đó -> quản lý chọn xem thống kê điểm theo lớphọc -> giao diện hiện lên danh sách sinh viên với STT, mã học viên, tên,điểm trung bình (STT sắp xếp theo thứ tự abc của tên học viên), hệ thống
đề xuất xem chi tiết điểm thành phần của 1 học viên -> quản lý click chọnxem chi tiết điểm thành phần của 1 học viên trong lớp -> hệ thống hiệnlên các đầu điểm thành phần chi tiết của học viên đó theo form: tên họcviên, mã lớp, tên môn học, các đầu điểm thành phần theo dạng bảng: tênđầu điểm thành phần, tỉ lệ % của từng đầu điểm, điểm thành phần của họcviên, dòng cuối là điểm trung bình của học viên
Use case chi tiết cho modul “Quản lý thống kê lớp học”:
Trang 20Trong chức năng này, nhân viên quản lý có thể phải tương tác với các giao diện:
Đăng nhập -> thống nhất với UC đăng nhập
Quản lý thống kê lớp học -> đề xuất UC thêm lớp học mới, UC sửa thôngtin lớp học, UC xóa 1 lớp học, UC xem thống kê 1 lớp học
Xem thống kê 1 lớp học -> đề xuất UC thêm học viên theo lớp, UC sửathông tin GV của lớp, UC xem thống kê điểm theo lớp đó
Xem thống kê điểm theo lớp học -> đề xuất UC xem chi tiết điểm của 1học viên
Các giao diện thống kê lần lượt theo dạng: giao diện sau là tùy chọn từgiao diện trước Do đó, chúng có quan hệ mở rộng lần lượt cái sau từ cáitrước
Mô tả các UC chi tiết:
UC quản lý thống kê lớp học: UC này cho phép NVQL xem danh sáchcác lớp học: STT, mã lớp, tên môn học trong lớp
UC thêm lớp học: UC này cho phép NVQL thêm 1 lớp học mới vàodanh sách các lớp học
UC xem thống kê 1 lớp học: UC này cho phép NVQL có thể xem vàquản lý các thông tin của 1 lớp học như: mã lớp, số lượng sinh viên,
mã lớp, tên môn học, tên GV, lịch học
UC sửa thông tin giảng viên trong lớp: UC này cho phép NVQL sửatên và mã của giảng viên trong lớp
UC xem thống kê điểm theo lớp học: UC này cho phép NVQL xemdanh sách điểm trung bình của tất cả học viên trong lớp theo thứ tựabc
UC xem chi tiết điểm thành phần của 1 học viên: UC này cho phépNVQL xem chi tiết các đầu điểm thành phần và tỉ lệ % của từng đầuđiểm của 1 học viên
Kịch bản cho chức năng quản lý thống kê lớp học:
Trang 212 Hệ thống hiện lên danh sách các lớp học cùng thông tin được thống kê:
3 Quản lý A click vào dòng 1, hệ thống hiện ra 3 đề xuất: sửa thông tin lớp, xóa lớp học, xem chi tiết thống kê của lớp học: quản lý click vào lựa chọn xem chi tiết thống kê của lớp học
4 Giao diện hiện lên danh sách sinh viên trong lớp đó:
5 Quản lý A click vào đề xuất xem thống kê điểm theo lớp học:
6 Giao diện hiện ra danh sách điểm trung bình và xếp loại của tất cả học viêntrong lớp theo thứ tự abc:
7 Quản lý chọn “xem chi tiết” dòng 4 để xem chi tiết điểm thành phần của học viên tại dòng 4
Trang 228 Hệ thống hiện ra chi tiết điểm của học viên Nguyễn Quang T theo form:
Ngoạ
i lệ
4 Lớp học click xem thống kê chưa mở hoặc chưa có người học
Trang 23II Phân tích và thiết kế
1 Phân tích và thiết kế modul tổng quát
a Mô tả hệ thống trong 1 đoạn văn
Hệ thống là một web quản lý đăng ký, tổ chức, giới thiệu các khóa học đào tạotrực tuyến cho các học viên của 1 trung tâm
Trong đó, học viên được phép đăng ký các khóa đào tạo của 1 trung tâm, lịchhọc cá nhân có các lớp học; xem lịch học trong tuần với đầy đủ thông tin về giờhọc, ngày học, tuần học, phòng học, danh sách lớp, mã phòng học, tên môn, têngiảng viên; xem điểm thành phần, điểm trung bình các môn đã đạt được vànhững loại chứng chỉ của các chứng chỉ đã đạt được; học viên thanh toán họcphí
Giảng viên được phép đăng ký dạy các lớp học theo nguyện vọng cá nhân, sau
đó sẽ được quản lý duyệt và phân công chính thức; xem lịch dạy của mình (giờ,ngày, tuần dạy, phòng, mã lớp, tên môn học, danh sách lớp); nhập và sửa điểmcủa các học viên trong các lớp học do mình dạy; xem thống kê các lớp học mìnhdạy (danh sách học viên, điểm, loại chứng chỉ) theo từng lớp
Kế toán được phép quản lý ngân sách bao gồm thống kê doanh thu, trả lươngcho nhân viên, nộp tiền bảo hiểm cho nhân viên
Tư vấn viên được phép chat với khách; xem danh sách khóa học (mã khóa học,tên khóa học, mô tả, năm đào tạo, thời lượng)
Quản lý có thể xem và chỉnh sửa 1 số thông tin trong các chức năng quản lý:quản lý danh sách khóa học: xem thống kê danh sách các khóa học; quản lýthông tin học viên; quản lý thông tin giảng viên; quản lý thống kê lớp học
lý thông tin học viên, quản lý thông tin giảng viên, quản lý thống kê lớphọc
c Đánh giá và lực chọn các danh từ làm lớp thực thể hoặc thuộc tính
Các danh từ trừu tượng: hệ thống, trang web, thông tin -> loại
Trang 24 Các danh từ liên quan đến người:
o Thành viên hệ thống -> ThanhVien (trừu tượng): tên đăng nhập, mậtkhẩu, họ tên, địa chỉ, ngày sinh, email, số điện thoại
o Học viên -> lớp HocVien: kế thừa lớp ThanhVien, mã học viên
o Nhân viên -> lớp NhanVien (trừu tượng): kế thừa lớp ThanhVien, vị trícông việc
o Giảng viên -> lớp GiangVien: kế thừa lớp NhanVien, mã giảng viên
o Kế toán -> lớp KeToan: kế thừa lớp NhanVien
o Khách -> lớp Khach: tên khách
o Tư vấn viên -> lớp TuVanVien: kế thừa lớp NhanVien
o Quản lý -> lớp QuanLy: kế thừa lớp NhanVien
Các danh từ thông tin
o Khóa đào tạo -> lớp KhoaDaoTao: mã khóa đào tạo, tên khóa học, mô
tả, năm đào tạo, thời lượng
o Trung tâm -> lop TrungTam: tên, địa chỉ, mô tả
o Lớp học -> lớp LopHoc: mã lớp, tên môn học, sĩ số tối đa, sĩ số hiệntại, giảng viên dạy, mã phòng học, giờ học, ngày học
o Lịch dạy -> lớp LichDay: mã Giảng viên, mã lớp, mã Phòng học, tênmôn, Tuần, Ngày, giờ
o Lịch học -> lớp LichHoc: mã HocVien, tên Giảng viên, mã lớp, mãPhòng học, tên môn, Tuần, Ngày, giờ
o Điểm -> lớp Diem: điểm trung bình, mô tả
o Chứng chỉ -> lớp ChungChi: tên chứng chỉ, mô tả
o Loại chứng chỉ -> lớp LoaiChungChi: tên loại chứng chỉ, mô tả
o Giờ học -> lớp GioHoc: giờ học
o Ngày học -> lớp NgayHoc: thứ trong tuần
o Tuần học -> lớp TuanHoc: tên
o Phòng học -> lớp PhongHoc: mã phòng học, tên phòng học
Trang 25o Học phí -> lớp HocPhi: ngày thanh toán, số tiền thanh toán, khóa họcđăng ký.
o Doanh thu -> lớp DoanhThu: tháng, năm, số tiền thu được
o Lương -> lớp Luong: ngày trả, tháng, năm, số tiền
o Tiền bảo hiểm -> lớp BaoHiem: ngày đóng, số lượng nhân viên đượcđóng, số tiền chi
o Thống kê danh sách khóa học -> lớp TKDSKhoaHoc
o Thống kê thông tin học viên -> lớp TKHocVien
o Thống kê thông tin giảng viên -> lớp TKGiangVien
o Thống kê các lớp học -> lớp TKLopHoc
o Thống kê điểm theo lớp học -> lớp TKDiemTheoLop
d Xác định quan hệ số lượng giữa các thực thể.
Một khóa đào tạo có nhiều Lớp học -> quan hệ giữa KhoaDaoTao vàLopHoc là 1-n
Một trung tâm có nhiều khóa đào tạo -> quan hệ giữa TrungTam vàKhoaDaoTao là 1 – n
Một lớp học có nhiều Học viên, một học viên có thể học nhiều lớp học-> quan hệ giữa LopHoc và HocVien là n-n -> đề xuấtHocVienLopHoc xác định một học viên học một lớp học nhất định
Một sinh viên có thể có nhiều chứng chỉ, một chứng chỉ có thể có nhiềuhọc viên đạt được -> HocVien – ChungChi là n-n -> đề xuất lớpChungChiHocVien xác định duy nhất một học viên nhận được mộtchứng chỉ nhất định
Một chứng chỉ có nhiều loại chứng chỉ khác nhau -> quan hệ ChungChivới LoaiChungChi là 1 – n
Một tư vấn viên có thể chat với nhiều Khách khác nhau, mỗi Khách tạicác thời điểm khác nhau có thể chat với Tư vấn viên khác nhau -> đềxuất lớp ChatTuVan xác định duy nhất 1 Tư vấn viên chat với 1 khách
Một học viên có 1 lịch học -> HocVien – LichHoc là 1- 1
Một giảng viên có 1 lịch dạy -> GiangVien – LichDay là 1- 1
Đề xuất lớp Lich (trừu tượng) xác định 1 học viên hoặc 1 giảng viênxem 1 lịch học hoặc lịch dạy nhất định
Trang 26 Một Giảng viên có thể dạy nhiều Lớp học -> quan hệ giữa Giảng Viên
e Xác định quan hệ đối tượng giữa các thực thể
Khóa đào tạo là thành phần của Trung tâm
Lớp học là thành phần của Khóa đào tạo
Giảng viên là thành phần của Trung tâm
Học viên và Lớp học liên kết tạo ra HocVienLopHoc duy nhất
Điểm và Chứng Chỉ là thành phần của HocVienLopHoc
Học viên và Chứng chỉ liên kết tạo ra ChungChiHocVien duy nhất
Tư vấn viên chat với Khách liên kết tạo ra ChatTuVan duy nhất
Học phí là thành phần của Doanh thu
Nhân viên là thành phần của Lương và Bảo hiểm (thông tin nhân viênnằm trong lớp Lương và lớp Bảo hiểm)
Thông tin lớp học, giảng viên, tuần học, ngày học, giờ học, nằm trongthông tin lịch
LichHoc và LichDay là thành phần của Lich
Thông tin học viên nằm trong thông tin lịch học
Thông tin giảng viên nằm trong thông tin lịch dạy
Thông tin địa chỉ nằm trong thông tin về thành viên, trung tâm
Thông tin Hoten nằm trong thông tin thành viên
Các lớp thống kê kế thừa từ các thực thể tương ứng
Trang 27Kết quả thu được biểu đồ lớp thực thể pha phân tích toàn hệ thống như
sau:
Trang 29g Thiết kế CSDL
Trang 302 Phân tích và thiết kế chi tiết từng modul
a Use case: Học viên đăng ký học
Người thực hiện: Đào Quang Công – B18DCCN057
Kịch bản: Học viên đăng nhập vào hệ thống -> chọn chức năng đăng kí học ->
hệ thống hiện danh sách các khóa học (mã khóa học, tên khóa học, mô tả) -> họcviên chọn khóa học -> hệ thống hiện danh sách các lớp dạy khóa học (mã lớp,tên khóa học, giảng viên, học viên đăng kí tối đa, số học viên đã đăng kí, lịchhọc, mô tả) nếu các lớp học trùng lịch đã đăng kí thì chỉ được xem không đượcchọn -> học viên chọn lớp học mà mình muốn -> hệ thống sẽ quay lại danh sáchcác khóa học để học viên bổ sung thêm Lặp lại bước chọn khóa học cho đến khihọc viên dừng đăng kí -> học viên chọn lưu đăng kí các khóa học -> hệ thống sẽlưu thông tin đăng kí của học viên và quay về giao diện chính của học viên
Chức năng đăng kí học có các giao diện tương tác với học viên:
Đăng nhập -> đề xuất UC đăng nhập
Đăng kí -> đề xuất UC đăng kí
Chọn chuyên ngành -> đề xuất UC chọn chuyên ngành
Chọn khóa học -> đề xuất UC chọn khóa học
Đăng nhập, chọn khóa học, chọn lớp học là bắt buộc mới hoàn thành đượcđăng kí -> UC đăng kí include các UC này
Như vậy, biểu đồ UC chi tiết cho modul đăng ký học được trình bày trong hìnhtrên
Trang 31Các UC được mô tả như sau:
Chọn khóa học: UC này cho phép học viên chọn khóa học để đăng ký
Chọn lớp học: UC này cho phép học viên chọn lớp học để đăng ký
Số lượnghọc viên
đã đăng ký
Lịch học
Chọn
1 ADR101 Lập
trình Android
Nguyễn VănA
thứ 7
3-Chọn
2 ADR102 Lập
trình Android
thứ 6
2-Chọn
Trang 32Số lượng học viên tối đa
Số lượng học viên
đã đăng ký
Lịch học
Xóa
1 ADR101 Lập trình
Android
NguyễnVăn A
thứ 7
3-Xóa
2 PTS102 Photoshop Đào
Quang B
thứ 6
2-Xóa
(Lặp lại các bước 2-6 cho đến khi học viên ngừng chọn, nút lưu sẽ active)
7 Sinh viên click vào nút lưu
8 Hệ thống báo thành công và quay về giao diện chính của học viên.Ngoại
lệ
2 Không có khóa học nào để đăng ký
4 Không có môn nào để đăng kí hoặc trùng giờ học đã đăng kí từ trước
Phân tích tĩnh modul:
Giao diện chính của học viên -> đề xuất lớp GDChinhHV, cần các thànhphần:
o Chọn đăng ký học: kiểu submit
Giao diện đăng ký khóa học -> đề xuất lớp GDChonKH, cần có các thànhphần:
o Chọn khóa học để đăng ký: vừa input, vừa output
o Nút tiếp tục: kiểu submit
Để có danh sách các khóa học của trung tâm, cần xử lý dưới hệ thống:
o Tìm các khóa học đang mở tại trung tâm
o Output: Danh sách khóa học
o Đề xuất phương thức getKhoaHoc(), gán vào lớp KhoaDaoTao
Giao diện đăng ký lớp học -> đề xuất lớp GDChonLop, cần có các thànhphần:
o Bảng danh sách lớp học: vừa output, vừa input
o Nút tiếp tục, nút lưu: kiểu submit
Trang 33 Để có danh sách các lớp học đang mở của khóa học, cần xử lý bên dưới
hệ thống:
o Tìm các lớp học đang mở của khóa học đã chọn
o Input: khóa học
o Output: danh sách lớp học
o Đề xuất phương thức getLopHoc(), gán vào lớp LopHoc
Giao diện lịch học -> đề xuất lớp GDLichHoc, cần có các thành phần:
o Bảng thông tin lịch học: vừa input, vừa output
o Nút hủy, xác nhận lưu: kiểu submit
Để có bảng lịch học của các lớp đã đăng ký, cần xử lý bên dưới hệ thống:
o Tìm các lớp mà học viên đã đăng ký
o Output: lịch học
o Đề xuất phương thức getLichHoc(), gán vào lớp LichHoc
Kết quả thu được biểu đồ lớp cho modul đăng ký học như sau:
Phân tích động:
a) Kịch bản
Trang 341 Tại giao diện chính của học viên sau khi đăng nhập, học viên click chọnđăng ký học.
2 Lớp GDChinhHV gọi lớp GDChonKH
3 GDChonKH gọi lớp KhoaDaoTao yêu cầu tìm danh sách khóa học
4 Lớp KhoaDaoTao tìm những khóa học mà trung tâm đang mở
5 Lớp KhoaDaoTao trả kết quả cho GDChonKH
6 Lớp GDChonKH hiển thị cho học viên
7 Học viên click 1 khóa học mà học viên muốn học
8 Lớp GDChonKH gọi lớp GDChonLop
9 Lớp GDChonLop gọi lớp LopHoc
10 Lớp LopHoc lấy thông tin về khóa học mà học viên đã chọn
11 Lớp LopHoc trả kết quả lại cho lớp GDChonLop
12 Lớp GDChonLop hiện lên cho học viên
13 Học viên chọn lớp học mà mình muốn
14 Lớp GDChonLop gọi lại lớp GDChonKH
15 Lớp GDChonKH hiển thị lên (lặp lại các bước 6 đến 14 cho đến khi họcviên không đăng ký nữa)
16 Học viên click lưu
17 Lớp GDChonKH gọi lớp GDLichHoc
18 Lớp GDLichHoc gọi lớp LichHoc để yêu cầu các lớp học đã đăng ký
19 Lớp LichHoc tìm kiếm những lớp mà học viên đã đăng ký
20 Lớp LichHoc trả kết quả cho GDLichHoc
21 Lớp GDLichHoc hiển thi cho học viên
22 Học viên click xác nhận lưu đăng ký
23 Lớp GDLichHoc gọi đến lớp LichHoc
24 Lớp LichHoc lưu thông tin đăng ký
25 Lớp LichHoc trả kết quả lại cho lớp GDLichHoc
26 Lớp GDLichHoc thông báo đăng ký thành công