You are on page 1of 6

Đề bài 07

Khách hàng yêu cầu chúng ta phát triển một phần mềm quản lí kết quả học tập của sinh viên theo

tín chỉ, được mô tả như sau:

• Mỗi sinh viên (Mã SV, mật khẩu, tên, ngày sinh, khóa, quê quán, địa chỉ) được phép đăng kí

tối thiểu 10 tín chỉ/học kì và tối đa 15 tín chỉ/học kì

• Mỗi sinh viên được đăng kí nhiều môn học (mã môn, tên môn, số tín chỉ)

• Mỗi môn học có thể có nhiều môn học yêu cầu sinh viên phải hoàn thành trước đó thì mới

được đăng kí

• Mỗi môn học có thể có nhiều lớp học phần (mã lớp, tên lớp, số sv tối đa, phòng học, khung

giờ học cố định trong tuần)

• Sinh viên không được phép đăng kí học hai lớp có trùng buổi học

• Với mỗi môn học, một sinh viên chỉ được đăng kí vào 1 lớp xác định

• Kết quả của sinh viên (điểm thành phần số 1, số 2, số 3, điểm thi, điểm cuối cùng=x% số1+

y% số2 + z% số3 + w% điểm thi) được lưu theo từng môn học

• Điểm trung bình của sinh viên trong học kì được tính bằng trung bình có trọng số là số tín

chỉ từng môn học

Anh/chị hãy thực hiện modul "Đăng kí học" với các bước sau đây: Học sinh đăng nhập → chọn

menu đăng kí tín chỉ cho học kì mới → trang đăng kí hiện ra → sinh viên chọn môn học trong

danh sách môn học + chọn lớp trong danh sách các lớp (và giảng viên đi kèm) tương ứng với môn

học → nếu thỏa mãn các ràng buộc nêu trên thì thông báo thành công + in ra phiếu đăng kí cho

sinh viên: mã SV, tên SV, khóa học, học kì+danh sách các môn học đã đăng kí, mỗi môn có: mã

MH, tên MH, số tín chỉ, giờ học, giảng viên

1. Scenario chuẩn cho modul đăng kí học:


Use case Đăng kí học
Actor Sinh viên
Tiền điều Sinh viên đăng nhập vào tài khoản sinh viên thành công và đang trong thời gian được
kiện phép thực hiện đăng kí tín chỉ môn học cho kì sau
Hậu điều Sinh viên đăng kí tín chỉ môn học thành công và hiện ra danh sách các môn đã đăng
kiện kí.
Kịch bản 1. Sinh viên A chọn chức năng Đăng kí môn học sau khi đăng nhập. A muốn đăng kí
chính môn học cho học kì tới.
2. Giao diện đăng kí hiện lên với hai bảng và một nút Lưu chưa được active. Bảng thứ
nhất là danh sách các môn học mở cho đăng kí, mỗi dòng có đầy đủ thông tin của
một môn học với các cột: STT, Mã MH, Tên môn học, Số tín chỉ, Chọn. Bảng thứ
hai là một danh sách trống các môn đã đăng kí gồm các cột: STT, Mã MH, Tên
MH, Số tín chỉ, Giờ học, Giảng viên.
Bảng 1:

Bảng 2:

3. A click Chọn môn Cơ sở dữ liệu phân tán.


4. Giao diện các lớp học phần của môn đã chọn hiện lên với một bảng gồm các cột:
STT, Mã lớp, Tên lớp, Số sv tối đa, Phòng học, Lịch học, Chọn.

5. A click vào hộp kiểm của dòng đầu tiên để chọn lớp học phần.
6. Hệ thống quay lại giao diện tại bước 2. Môn Cơ sở dữ liệu vừa chọn được cập nhật
vào bảng 2.

(Lặp lại các bước 3-6 cho đến khi đạt số tín chỉ tối thiểu, nút Lưu sẽ active)
7. A click vào nút Lưu.
8. Hộp thoại thông báo đăng kí thành công hiện ra.
9. A click vào nút OK
10. Hệ thống hiện lên một phiếu đăng kí gồm: Mã SV, Tên SV, Khóa học, Học kì và
một bảng danh sách các môn học đã đăng kí, mỗi dòng đầy đủ các thông tin của
một môn học với các cột: Mã MH, Tên MH, Số tín chỉ, Giờ học, Giảng Viên.
Ngoại lệ 6. Hệ thống hiện lên thông báo Lớp học phần đã hết slot hoặc lịch học bị trùng với
môn Nhập môn trí tuệ nhân tạo.
6.1. A click chọn OK
6.2. Hệ thống quay lại giao diện bước 2.

2. Sơ đồ lớp thực thể cho toàn hệ thống

3. Lớp modul: Đăng kí học


- Trích lớp thực thể: HocKi, MonHoc, LopHocPhan, GiangVien, PhieuDangKi, Diem,
KhungGio, LichHoc, Phong
- Trích lớp biên: DangKiFrm, DsMonHocFrm, DsLopHocPhanFrm, InPhieuFrm
- Trích lớp điều khiển: SinhVienCtr
4. Xây dựng thẻ CRC cho lớp điều khiển

5. Sơ đồ StateChart, viết lại Scenario cuối pha


5.1. Sơ đồ StartChart
5.2. Scenario cuối pha
1. Sinh viên A chọn chức năng Đăng kí học sau khi đăng nhập. A muốn đăng kí học cho học
kì tới.
2. Lớp DangKiFrm hiện ra với 2 nút: chọn môn học, in phiếu
3. Sinh viên A click vào nút chọn môn học.
4. Lớp DangKiFrm gọi lớp DsMonHoc yêu cầu hiển thị.
5. Lớp DsMonHoc hiện ra với danh sách môn học có thể đăng kí cho học kì tới.
6. Sinh viên A click vào tên một môn học trong danh sách.
7. Lớp DsMonHoc gọi lớp MonHoc để đóng gói dữ liệu thành một đối tượng kiểu MonHoc.
8. Lớp MonHoc đóng gói thông tin và trả lại cho lớp DsMonHoc một đối tượng kiểu
MonHoc.
9. Lớp DsMonHoc gọi lớp DsLopHocPhan để yêu cầu hiển thị.
10. Lop DsLopHocPhan hiện ra với danh sách các lớp học sẽ có của môn học vừa chọn.
11. Sinh viên A click vào một lớp học phần trong danh sách.
12. Lớp DsLopHocPhan gọi lớp LopHocPhan để đóng gói dữ liệu thành một đối tượng
LopHocPhan.
13. LopHocPhan đóng gói thông tin và trả lại cho lớp DsLopHocPhan một đối tượng kiểu
LopHocPhan
14. Lớp DsLopHocPhan chuyển đối tượng LopHocPhan cho lớp SinhVienCtr .
15. Lớp SinhVienCtr lưu thông tin vào CSDL.
16. Lớp SinhVienCtr thông báo cho lớp DsLopHocPhan đã thêm thành công.
17. Lớp DsLopHocPhan thông báo đăng kí lớp học phần thành công.

6. Sơ đồ Sequence

You might also like