You are on page 1of 60

Đại học CNTT

Đại học quốc gia Hồ Chí Minh

ĐĂNG KÝ HỌC TRỰC TUYẾN

I. Tổng quan về hệ thống:


1. Mô tả: Một trường Đại học cần xây dựng một hệ thống phần mềm đăng kí học
trực tuyến qua mạng:
- Các sinh viên được tham gia học tập tại trường sẽ đăng ký học các
môn học tự chọn và một số môn học bắt buộc của trường.Bộ phận giáo
vụ tiếp nhận những bản đăng ký của sinh viên đồng thời quản lý hồ sơ
đăng ký học và quản lý sinh viên.
- Các giáo viên của trường gửi giáo vụ lịch giảng dạy của mình để giáo
vụ sắp xếp thời khoá biểu cho các lớp.
- Giáo vụ quản lý các lớp học để bố trí phòng học cụ thể cho từng lớp.
- Thông qua lịch giảng dạy của tất cả các giáo viên, số lượng sinh viên
đăng ký học và tình trạng phòng học, giáo vụ sắp xếp thời khoá biểu
toàn trường cho hợp lý và quản lý thời khoá biểu này, đồng thời quản
lý giáo viên .Sau khi sắp xếp xong thời khoá biểu, giáo vụ gửi cho giáo
viên để giáo viên nắm được lịch giảng từng lớp
Sinh viên có thể xem thời khoá biểu để nắm được lịch học của mình.

- Giáo viên có trách nhiệm quản lý quá trình học tập và kết quả học tập
của sinh viên.Thông qua hệ thống phần mềm, giáo viên nhập kết quả
học tập và tình hình học của sinh viên, nhờ đó sinh viên có thể xem kết
quả học tập của mình.

1.1 Sơ đồ tổng quan các chức năng chính của hệ thống


Mô hình tổng thế chức năng của hệ thống được mô tả như sơ đồ 1 dưới đây. Chi tiết
từng chức năng cũng như các tác nhân tham gia vào chức năng đó sẽ được mô tả chi
tiết ở phần 3

Ngô Huy Hoàng- Hoàng Thanh Huệ- Trần Tuấn Duy 1


Bài tập lớn UML- Đăng ký học trực tuyến
Đại học CNTT
Đại học quốc gia Hồ Chí Minh

Dang ky lop hoc Quan ly SV

Quan ly dang ky hoc


Sinh vien
Ket qua hoc tap
Giao vu

Quan ly phong hoc

Quan ly GV
Quan ly Qua trinh hoc tap

Lich giang day


Quan ly thoi khoa bieu

Giao vien

Sơ đồ 1: Sơ đồ tổng thể các chức năng chính (Use Cases and Actors)

Phân tích lĩnh vực


Giai đoạn này xác định các lớp chủ yếu của hệ thống.Dựa vào phần mô tả hệ thống
và các use case, hệ quản lý Đăng ký học trực tuyến được phác thảo gồm các lớp chính
sau:
- sinhvien: biểu diễn lớp các đối t ượng thông tin liên quan đến sinh viên.
- giaovien: biểu diễn lớp các đối t ượng thông tin liên quan đến giáo viên.
- lophoc: biểu diễn lớp các đối t ượng thông tin liên quan đến lớp học.
- lichgiangday: : biểu diễn lớp các đối t ượng thông tin mà giáo viên đưa ra lịch
giảng dạy của mình .
- qthoctap: biểu diễn lớp thông tin về tình hình học tập của sinh viên.(số buổi đi học,
điểm thưởng ,…)
- dkh: lớp thông tin về sự lựa chọn môn học của sinh viên.
- ketquahoc: biểu diễn lớp thông tin về kết quả học tập của sinh viên.
- thoikhoabieu: lớp thông tin về thời khoá biểu toàn trường.
- tkbgiaovien: lớp thông tin về thời khoá biểu giáo viên.
- tkbsinhvien: lớp thông tin về thời khoá biểu sinh viên.
- giaovu : lớp thông tin về quyền đăng nhập của giáo vụ.

Ngô Huy Hoàng- Hoàng Thanh Huệ- Trần Tuấn Duy 2


Bài tập lớn UML- Đăng ký học trực tuyến
Đại học CNTT
Đại học quốc gia Hồ Chí Minh

Biểu đồ các lớp của hệ thống được phác thảo như sau:

1 masv 1 tkbsinhvien
sinhvien lophoc
qtht 1
masv 1..*
1..* 1..*
0..*
1..* masv thoikhoabieu
dkh
1 1..* masv
masv tenlop 1
ketquahoc
1..* masv
1 1 masv lop
giaovien 1 1
tenmon 1...* 1
lichgiangday 1..* magv
1
1 1
giaovu
magv
1
1
magv
tkbgiaovien
1..*

Các tác nhân tham gia hệ thống

- Giáo vụ: là tác nhân chính, chịu trách nhiệm nhập và theo dõi các thông tin
liên quan đến sinh viên, giáo viên phục vụ cho việc đăng kí học.
- Sinh viên: là người đăng kí học.
- Giáo viên: là người theo dõi tình hình học tập của SV và tham gia giảng dạy
các môn học sẽ được mở lớp.

Các chức năng chính của hệ thống

1. Chức năng quản lý sinh viên: giúp cho việc quản lý lưu trữ và cập nhập
các thông tin về SV (mã sv, tên sv, lớp học, ngành học, địa chỉ, tiến trình
học, bảng điểm..) từ đó hỗ trợ cho chức năng quản lý đăng ký học.

2. Chức năng quản lý GV: giúp cho việc lưu trữ và cập nhập thông tin về gv
(tên GV, môn dạy, thời gian dạy...) từ đó giáo vụ có thể dễ dàng lựa chọn
và sắp xếp lịch học của các lớp hiệu quả nhất.

3. Chức năng quản lý lớp học: giúp cho giáo vụ quản lý,sắp xếp được các
lớp học của từng môn học sẽ mở trong kỳ(cụ thể là thời gian, phòng học,
giáo viên dạy…) và giới hạn số sv có thể tham gia vào lớp học. Cuối cùng
sẽ đưa ra một danh sách các lớp học hợp lý nhất để sv tham khảo.

Ngô Huy Hoàng- Hoàng Thanh Huệ- Trần Tuấn Duy 3


Bài tập lớn UML- Đăng ký học trực tuyến
Đại học CNTT
Đại học quốc gia Hồ Chí Minh

4. Chức năng đăng ký học:


Sau khi đã có những thông tin về sv và danh sách lớp học mở trong kỳ Æ
danh sách các lớp học được đăng kýcủa từng sv. Chức năng này cho phép sv
chỉ được đăng ký những môn có trong danh sách trên với điều kiện lớp học
vẫn còn chỗ .

5. Chức năng quản lý đăng ký học: Theo dõi tiến trình đăng kí của sinh viên.
Nếu số sinh viên đăng kí vào 1 lớp học đã vượt quá sĩ số quy định, chức
năng này cho phép SV đăng kí vào lớp đó dưới dạng nguyện vọng sau đó
hệ thống sẽ thống kê số nguyện vọng, nếu nguyện vọng đủ nhiều để có thể
mở lớp mới, hệ thống sẽ kiểm tra điều kiện giáo viên, lớp học để mở lớp
mới.

6. Chức năng quản lý thời khoá biểu: Có 1 TKB duy nhất nhưng được thể
hiện ở 3 loại
- Thời khoá biểu dành cho từng sinh viên cụ thể.
- Thời khoá biểu dành cho từng giáo viên cụ thể.
- Thời khoá biểu dành cho giáo vụ ( như thời khoá biểu toàn trường ).

7. Chức năng quản lý quá trình học tập của sinh viên: có thể quản lý được
số buổi đi học của sinh viên nào đó, điểm thưởng, tình hình vi phạm kỉ luật
của anh ta ( nếu có ).

8. Chức năng xem kết quả học tập:


- Hệ thống cho phép SV truy nhập để xem điểm của các môn mình đã học .
- Giáo vụ dựa vào bảng điểm này để quyết định sv có được phép đăng ký
học môn học cụ thể nào đó.
Phân công công việc

Ngày Miêu tả Tác giả


Phiên bản đầu tiên đã làm được những
7/11/2005
tính năng sau:
- Xem kết quả học tập
Trần Tuấn Duy
- Quản lý sinh viên
Trần Tuấn Duy
- Quản lý giáo viên
Hoàng Thanh Huệ
- Quản lý lớp học
Hoàng Thanh Huệ
- Đăng kí học
Ngô Huy Hoàng
- Quản lý đăng kí học
Ngô Huy Hoàng
- Quản lý thời khoá biểu
Ngô Huy Hoàng

Ngô Huy Hoàng- Hoàng Thanh Huệ- Trần Tuấn Duy 4


Bài tập lớn UML- Đăng ký học trực tuyến
Đại học CNTT
Đại học quốc gia Hồ Chí Minh

- Quản lý quá trình học tập


Hoàng Thanh Huệ

1.2 Các định nghĩa, thuật ngữ, và từ viết tắt


Các từ viết tắt:
- SV: Sinh viên
- GV: Giáo viên
- TKB: Thời khoá biểu
- VD: Ví dụ
- HT: Hệ thống.
- GVụ: Giáo vụ

1.3 Tham khảo:

Tài liệu UML của thầy Vũ Tuấn Anh và một số tài liệu khác.

Các thực thể chính (Key Abstraction)

a) Kết quả học tập: gồm các thông tin về SV như: mã SV, tênSV, lớp học,
ngành học, tiến trình học, kết quả học tập, số đơn vị học trình đã tích luỹ.

b) Điểm tổng kết: bao gồm các thông tin mã môn học, tên môn học, điểm thi của
sinh viên, điểm này do GV (đã tính cả điểm thưởng, điểm trừ) quản lý và gửi
tới giáo vụ.

c) Lịch công tác GV: bao gồm các thông tin về GV như: Tên GV, môn tham gia
dạy, thời gian dạy…Đây là lịch dự kiến của giáo viên, lcịh này sẽ được kết
hợp với các lớp học dự kiến để đưa ra TKB toàn trường.

d) Lớp học dự kiến: là danh sách các lớp học của các môn học GV dự kiến sẽ
mở trong học kỳ.

e) TKB giáo viên: TKB cố định cho GV quy định GV sẽ dạy mấy môn trong học
kì và những thông tin liên quan đến các môn học đó.

Ngô Huy Hoàng- Hoàng Thanh Huệ- Trần Tuấn Duy 5


Bài tập lớn UML- Đăng ký học trực tuyến
Đại học CNTT
Đại học quốc gia Hồ Chí Minh

f) Thời khoá biểu toàn trường: gồm các thông tin như mã môn, mã lớp, địa
điểm, thời gian…về những lớp học GVụ đã sắp xếp và khớp với lịch giảng dạy
của giáo viên .

g) TKB sinh viên (TKB cá nhân) : là thời khoá biểu cuối cùng được đưa ra sau
khi SV đã đăng ký thành công. Thời khoá biểu này bao gồm các thông tin sau:
mã môn , tên môn, thời gian học, địa điểm, …

1.4 Các kịch bản minh họa

Ngô Huy Hoàng- Hoàng Thanh Huệ- Trần Tuấn Duy 6


Bài tập lớn UML- Đăng ký học trực tuyến
Đại học CNTT
Đại học quốc gia Hồ Chí Minh

Ngô Huy Hoàng- Hoàng Thanh Huệ- Trần Tuấn Duy 7


Bài tập lớn UML- Đăng ký học trực tuyến
Đại học CNTT
Đại học quốc gia Hồ Chí Minh

1.5 Các ràng buộc khác


Hệ thống cho phép đăng kí qua mạng Internet do vậy sẽ được truy cập bằng 1 trình
duyệt web ( web browser ) và có 1 số yêu cầu:
- Web browser: IE5 trở lên, Mozilla Firefox, Netscape Navigator 7+, Opera 7+
- Về phía máy chủ: Phải hỗ trợ JSP. Hỗ trợ 1 trong các hệ quản trị cơ sở dữ liệu: MS
Access, MS SQL Server, MySQL, Oracle

2. Đặc tả các chức năng của hệ thống:

UC #0001 <<UC QUẢN LÝ LỚP HỌC>> Độ phức tạp: High

UC quản lý lớp học cho ta biết một cách trực quan về tình trạng lớp như: địa điểm, sức
Mô tả chứa, thời gian trống, tình trạng thiết bị trong lớp,…, UC này có vai trò quan trọng vì nó
là tiền đề để sau này sinh ra TKB toàn trường_phần dành cho SV đăng kí học sau này.
Chính Giáo vụ.
Phụ Giáo viên.
Tiền điều kiện Hệ thống không thể tự sinh ra lớp học, lớp học phải có sẵn từ trước đó.
Thành Cùng với yêu cầu lấy lịch giảng đề nghị của GV(trích rút từ UC quản lý GV)cộng với
Hậu điều công lịch xắp xếp lớp học,giáo vụ tác động lên hệ thống để đưa ra TKB toàn trường.
kiện
Lỗi Hệ thống không thực hiện được chức năng trên.
ĐẶC TẢ CHỨC NĂNG

Luồng sự kiện chính/Kịch bản chính


1. Giáo vụ đăng nhập vào hệ thống .
2. Giáo vụ yêu cầu hệ thống đưa ra danh sách lớp học thông qua một form tìm kiếm,thông tin của form tìm
kiếm gồm có: thông tin về lớp học(tên lớp học, vị trí lớp ), thông tin về các thiết bị có trong lớp học(máy
chiếu, micro, sức chứa..) .
3. Từ những yêu cầu tìm kiếm của giáo vụ, hệ thống sẽ xử lý dữ liệu có trên hệ thống, sau đó sắp xếp và đưa
ra danh sách lớp học cũng như tất cả các thông tin chi tiết của từng lớp học trong danh sách lớp học đó.
Thông tin chi tiết đưa ra theo form gồm:tên lớp, vị trí lớp, sức chứa,thông tin thiết bị trong lớp…
4. Giáo vụ sẽ tiến hành kiểm tra xem tình trạng trực quan trong thực tế của lớp học có đúng như trong bản mô
tả mà hệ thống cung cấp hay không.
4.1 Kiểm tra thành công(tình trạng lớp học giống như hệ thống mô tả), giáo vụ cập nhập lại hệ thống là
lớp học đó đủ điều kiện.Thực chất đây là việc giáo vụ tạo ra lớp học từ danh sách lớp học mà hệ
thống đã đưa ra.
4.2 Không thành công, giáo vụ hủy lớp học đó khỏi danh sách lớp học và cập nhật lại hệ thống.
5. Từ danh sách các lớp học đã đăng kí đó, giáo vụ phân loại thành các lớp học chính thức, ưu tiên xắp xếp

Ngô Huy Hoàng- Hoàng Thanh Huệ- Trần Tuấn Duy 8


Bài tập lớn UML- Đăng ký học trực tuyến
Đại học CNTT
Đại học quốc gia Hồ Chí Minh

theo khoa , số lượng SV dự kiến sẽ học trong lớp.


6. Giáo vụ cập nhật trở lại hệ thống danh sách các lớp học, hệ thống xử lý sau đó đưa ra được danh sách cụ
thể các lớp sẽ học, tổng số lớp học cụ thể của từng khoa sẽ được đăng kí…Đây là TKB lớp học.
7. Kết thúc luồng sự kiện của UC và thoát ra khoi UC.
8. Từ ‘TKB lớp học’ cùng với việc hệ thống cập nhập và xử lý UC “Quản lý GV” để lấy trở lại danh sách các
môn học mà GV dự kiến sẽ dạy, sau đó hệ thống sẽ khớp dữ liệu gồm danh sách các lớp học của UC
quản lý lớp học và danh sách lịch giảng dạy của GV đưa ra (xem thêm luồng phát sinh 2) ra TKB toàn
trường là TKB mà SV sẽ đăng kí.
Luồng sự kiện phát sinh/Kịch bản phát sinh
<<Luồng phát sinh 1>> Giáo vụ kiểm tra hệ thống không thành công.
Khi giáo vụ kiểm tra hệ thống không thành công tức là giáo vụ không tìm được lớp học giống với tên mà hệ
thống đã đưa ra,giáo vụ sẽ xử lý việc không tìm được lớp học bằng cách quay trở lại cập nhập lớp học trực
tiếp vào hệ thống .
<<Luồng phát sinh 2>> Danh sách lịch giảng dạy của GV đưa ra.
Giáo viên sẽ đưa ra lịch giảng dạy.Lịch giảng dạy gồm(môn học, ngày dạy, ca dạy, số buổi dạy).Từ lịch
giảng dạy hệ thống xắp xếp thành danh sách lịch giảng của toàn bộ giáo viên sau đó hệ thống kiểm tra chi
tiết từng môn học trong lịch giảng cùa giáo viên vói danh sách lớp học.Thành công hệ thống sẽ gán môn học
đó vào lớp học. Không thành công,hệ thống đưa ra thông báo hỏi giáo viên xem có thay đổi được lịch của
giao viên không?
Sơ đồ hành động (Activity diagram)
Sơ đồ hành động của chức năng

Ngô Huy Hoàng- Hoàng Thanh Huệ- Trần Tuấn Duy 9


Bài tập lớn UML- Đăng ký học trực tuyến
Đại học CNTT
Đại học quốc gia Hồ Chí Minh

Các yêu cầu đặc biệt khác


Hệ thống cơ sở dữ liệu danh sách lớp học là có trước.
Giao diện minh họa
1. Form đăng nhập của giáo vu:

Ngô Huy Hoàng- Hoàng Thanh Huệ- Trần Tuấn Duy 10


Bài tập lớn UML- Đăng ký học trực tuyến
Đại học CNTT
Đại học quốc gia Hồ Chí Minh

2.Form Menu chính của Giáo Vụ

3. Form tìm kiếm và hiển thị danh sách lớp học:

Ngô Huy Hoàng- Hoàng Thanh Huệ- Trần Tuấn Duy 11


Bài tập lớn UML- Đăng ký học trực tuyến
Đại học CNTT
Đại học quốc gia Hồ Chí Minh

THIẾT KẾ UML

Sơ đồ Trình tự (Sequence diagram)

Ngô Huy Hoàng- Hoàng Thanh Huệ- Trần Tuấn Duy 12


Bài tập lớn UML- Đăng ký học trực tuyến
Đại học CNTT
Đại học quốc gia Hồ Chí Minh

Sơ đồ Công tác (Collaboration diagram)

Ngô Huy Hoàng- Hoàng Thanh Huệ- Trần Tuấn Duy 13


Bài tập lớn UML- Đăng ký học trực tuyến
Đại học CNTT
Đại học quốc gia Hồ Chí Minh

UC #0002 <<QUẢN LÝ GIÁO VIÊN>> Độ phức tạp: High

- Giáo vụ sẽ cập nhập thông tin về tất cả các giáo viên( thêm GV mới, thay đổi
thông tin về GV, xoá thông tin về GV đã thôi dạy).Từ đó đưa ra danh sách GV sẽ
Mô tả dạy trong 1 học kì.
- Giáo vụ cũng lấy thông tin về lịch dạy của GV, xắp xếp và đưa ra TKB toàn
trường.
Chính Giáo vụ
Phụ Giáo viên.
Tiền điều kiện Danh sách GV đã tồn tại sẵn.
Thành - Biết được thông tin chi tiết của từng giáo viên.
Hậu đk công - Đưa ra được TKB toàn trường.
Lỗi Nếu không thành công thì sẽ không đưa ra được TKB toàn trường.

Ngô Huy Hoàng- Hoàng Thanh Huệ- Trần Tuấn Duy 14


Bài tập lớn UML- Đăng ký học trực tuyến
Đại học CNTT
Đại học quốc gia Hồ Chí Minh

ĐẶC TẢ CHỨC NĂNG

Luồng sự kiện chính/Kịch bản chính


1. Giáo vụ đăng nhập vào hệ thống .
2. Giáo vụ sẽ kiểm tra danh sách GV do hệ thống đưa ra.Giáo vụ có quyền chỉnh sửa danh sách
GV đó ( thêm, sửa , xoá ... ). Nếu thành công, hệ thống sẽ cập nhật được danh sách GV đã sửa
đổi.
3. Giáo vụ yêu cầu GV đưa ra lịch giảng dạy trong kỳ thông qua một form lịch giảng dạy. Thông
tin của form bao gồm(Tên môn học,Thời gian dạy ( ngày, giờ) ... ).
4. Thông tin này được gửi đến cho từng giáo viên,giáo viên sau khi đăng nhập,hệ thống sẽ đưa
ra thông báo yêu cầu giáo viên đưa lịch giảng,giáo viên đưa ra lịch giảng vào form đó,sau đó
hệ thống thống kê được toàn bộ lịch giảng của GV.
5. Giáo vụ khớp lịch:
Từ lịch giảng dạy mà GV đưa ra, hệ thống sẽ khớp với “danh sách phòng học”(có từ trước đó
vì lấy từ usecase “Quản lý phòng học ”)rồi đưa ra TKB toàn trường.Việc khớp lịch xem thêm
luồng phụ 2 của user case “Quản lý lớp học”.

Luồng sự kiện phát sinh/Kịch bản phát sinh


<<GVụ sửa danh sách GV không thành công>>
Nếu thêm, xoá, sửa GV không thành công, hệ thống quay lại kiểm tra danh sách GV xem GVụ có cập
nhật đúng thông tin GV hay không. Nếu sai, hệ thống sẽ yêu cầu GVụ làm lại.
<<Khớp lịch không thành công>>
Hệ thống quay lại kiểm tra danh sách phòng học sinh ra từ usecase “Quản lý phòng học” và lịch
giảng dạy của GV.
Sơ đồ hành động của chức năng

Ngô Huy Hoàng- Hoàng Thanh Huệ- Trần Tuấn Duy 15


Bài tập lớn UML- Đăng ký học trực tuyến
Đại học CNTT
Đại học quốc gia Hồ Chí Minh

Các yêu cầu đặc biệt khác


Chỉ ra một số yêu cầu đặc biệt cần thiết để chất lượng của chức năng này được hoàn thiện hơn (gọi là
những yêu cầu phi chức năng).
Ví dụ tính sử dụng được, tính ổn định, tốc độ hoặc tính hỗ trợ (usability, reliability, performance or
supportability) hay một số rằng buộc khác về môi trường hoặc thiết kế
Giao diện minh họa

1. Form đăng nhập của giáo vụ:

Ngô Huy Hoàng- Hoàng Thanh Huệ- Trần Tuấn Duy 16


Bài tập lớn UML- Đăng ký học trực tuyến
Đại học CNTT
Đại học quốc gia Hồ Chí Minh

2. Form hiển thị danh sách giáo viên:

3. Form đăng nhập của GV:

Ngô Huy Hoàng- Hoàng Thanh Huệ- Trần Tuấn Duy 17


Bài tập lớn UML- Đăng ký học trực tuyến
Đại học CNTT
Đại học quốc gia Hồ Chí Minh

4. Form đưa ra lịch giảng dạy của giáo viên:

5. Form TKB toàn trường(giáo vụ đưa ra):

Ngô Huy Hoàng- Hoàng Thanh Huệ- Trần Tuấn Duy 18


Bài tập lớn UML- Đăng ký học trực tuyến
Đại học CNTT
Đại học quốc gia Hồ Chí Minh

THIẾT KẾ UML

Sơ đồ Trình tự (Sequence diagram)

Ngô Huy Hoàng- Hoàng Thanh Huệ- Trần Tuấn Duy 19


Bài tập lớn UML- Đăng ký học trực tuyến
Đại học CNTT
Đại học quốc gia Hồ Chí Minh

Sơ đồ Công tác (Collaboration diagram)

Ngô Huy Hoàng- Hoàng Thanh Huệ- Trần Tuấn Duy 20


Bài tập lớn UML- Đăng ký học trực tuyến
Đại học CNTT
Đại học quốc gia Hồ Chí Minh

UC #0003 << ĐĂNG KÝ HỌC >> Độ phức tạp: High

9 SV muốn đăng ký các môn học trong học kỳ mới phải thông qua chức năng này.
9 Chức năng sẽ được thực hiện vào đầu mỗi học kỳ mới (tính từ học kỳ 2 năm I).
Mô tả 9 SV sẽ không bị đăng ký nhầm môn vì chức năng này sẽ chặn trước được các lỗi
khi SV đăng ký môn học.
9 Chức năng sẽ lưu các thông tin về lớp học mà SV đăng ký để phòng GVụ sẽ sắp
xếp cho phù hợp.
Chính Sinh viên
Tác nhân
Phụ Phòng Giáo vụ
9 Phòng GVụ đã sắp xếp TKB toàn trường
Tiền điều kiện 9 SV đó đã có kết quả học tập ở thời điểm hiện tại. ( nếu là SV năm thứ I mới vào
trường thì các môn học sẽ được sắp sẵn trước ).

Ngô Huy Hoàng- Hoàng Thanh Huệ- Trần Tuấn Duy 21


Bài tập lớn UML- Đăng ký học trực tuyến
Đại học CNTT
Đại học quốc gia Hồ Chí Minh

Chức năng sẽ đưa ra danh sách các môn học cụ thể cho 1 SV và SV dựa vào danh sách đó
Thành
đăng ký môn học trong học kỳ mới. Sau khi đăng ký thành công, thông tin sẽ được
Hậu điều công
chuyển cho Phòng GVụ để kiểm duyệt.
kiện
Nếu gặp lỗi, hệ thống sẽ quay lại kiểm tra TKB toàn trường và kết quả học tập của SV
Lỗi
sau đó sẽ đưa ra danh sách môn học của SV.
ĐẶC TẢ CHỨC NĂNG

Luồng sự kiện chính/Kịch bản chính


Hệ thống đưa ra Danh sách môn học cụ thể của SV bằng cách kết hợp 2 chức năng. Cụ thể:
¾ Chức năng “kết quả học tập” (từ Usecase Quản lý Sinh viên): Hệ thống dựa vào tài khoản của
SV để đưa ra chính xác kết quả học tập của SV đó. Kết quả học tập của SV bao gồm những thông
tin về môn học mà SV đã học và chưa học để hệ thống dựa vào đó đưa ra danh sách môn SV có đủ
điều kiện học.
¾ TKB toàn trường: Là danh sách toàn bộ môn học của trường. Chức năng này được Phòng GVụ
đưa ra thông qua việc tổng hợp thông tin của module “Lịch công tác của GV” lấy từ UC Quản lý
giáo viên và “Danh sách lớp học dự kiến” lấy từ UC Quản lý lớp học ( xem thêm mô hình
Workflow ). VD: “Lịch công tác GV” cho biết GV đó có thể dạy môn “Triết học” vào chiều thứ
3,5,7 (đó là thời gian rỗi của GV) còn “danh sách lớp dự kiến” thì môn “Triết học” được dạy vào
chiều thú 7. Như vậy ta khớp 2 module này vào sẽ được lịch học của môn “Triết học” là vào chiều
thứ 7 rồi đưa thông tin này vào TKB toàn trường. TKB toàn trường bao gồm các thông tin sau về
môn học như: tên môn, thời gian dạy, giáo viên dạy ...

Hệ thống hiển thị danh sách môn học SV đó được phép đăng ký và SV sẽ chọn môn học.

Thông tin về “danh sách môn học SV được phép đăng ký” giống như thông tin trong TKB toàn
trường nhưng số môn hiển thị ít hơn vì HT sẽ chỉ hiển thị danh sách các môn SV được phép đăng ký.
VD: nếu SV đã học qua môn C++ thì sẽ được phép học các môn tiếp theo như: LTHĐT, Cấu trúc dữ
liệu, C# và HT sẽ hiển thị các môn đó để SV đăng ký. Nếu chưa qua C++ thì HT không hiển thị các môn
trên. SV dựa vào danh sách đó sẽ chọn những môn mình muốn học trong học kỳ mới. Khi SV đăng ký
môn, hệ thống kiểm tra sự hợp lệ. Cụ thể hệ thống sẽ kiểm tra những thông tin sau:
¾ Hệ thống sẽ kiểm tra xem SV có đăng ký trùng giờ học của các môn học hay không ? Môn đăng ký
sau sẽ không được trùng thời gian với môn đã đăng ký trước đó. SV bắt buộc phải đăng ký các
môn lệch giờ nhau. Nếu trùng thì HT báo lỗi và SV đó không được phép đăng ký môn trùng đó.
Nếu không lỗi thì cập nhật môn học vào TKB của SV đó.
¾ Hệ thống sẽ kiểm tra xem những môn SV đăng ký có vượt quá số trình cho phép hay không ?

Ngô Huy Hoàng- Hoàng Thanh Huệ- Trần Tuấn Duy 22


Bài tập lớn UML- Đăng ký học trực tuyến
Đại học CNTT
Đại học quốc gia Hồ Chí Minh

( VD: số trình tối thiểu là 12 trình và tối đa là 30 trình, SV bắt buộc phải đăng ký từ 12 đến 30
trình ). Mỗi môn học sẽ có số trình tương ứng. Hệ thống sẽ tự tính tổng số trình của các môn học mà
SV đã chọn và sẽ đưa ra thông báo lỗi nếu số trình không nằm trong giới hạn cho phép. Nếu không
gặp lỗi thì hệ thống cập nhật môn học vào TKB của SV đó.

Sau khi SV hoàn tất việc đăng ký, HT sẽ đưa ra danh TKB cho SV đó.

Hệ thống sẽ lưu các thông tin về lớp học mà SV đã đăng ký rồi chờ phòng GVụ kiểm duyệt.

Luồng sự kiện phát sinh/Kịch bản phát sinh


<<Luồng phát sinh >>
1. SV đăng ký vượt quá số trình cho phép hoặc quá ít trình:
Hệ thống sẽ đưa ra thông báo buộc SV phải đăng ký đủ số trình quy định, nếu không Hệ thống sẽ không
đưa ra TKb cho SV đó.
2. SV đăng ký trùng giờ học:
Hệ thống kiểm tra nếu thấy môn học được chọn trùng với các môn học đã đăng ký trước đó thì sẽ đưa ra
cảnh báo cho SV và không cho phép SV đăng ký trùng.

Sơ đồ hành động (Activity diagram):


Chức năng “Đăng ký học”

Ngô Huy Hoàng- Hoàng Thanh Huệ- Trần Tuấn Duy 23


Bài tập lớn UML- Đăng ký học trực tuyến
Đại học CNTT
Đại học quốc gia Hồ Chí Minh

Start

Vao chuc nang


D ang ky h oc

Kiem tra mon Kiem tra Ket TKB cua tat ca


Xem TKB toan
hoc phu thuoc q ua hoc ta p cac mon hoc
truong

D anh sa ch cac mon


hoc du dieu kien

Dang ky

[ Xoa ] Xoa mon

[Them mon]

Kiem tra trung Kiem tra tong


gio hoc so trinh

[Kiem tra thanh cong] [ Pha t hi en l oi ]

Gan mon hoc Xu ly xung dot

Cap nhat TKB

End

Các yêu cầu đặc biệt khác


Không có

Ngô Huy Hoàng- Hoàng Thanh Huệ- Trần Tuấn Duy 24


Bài tập lớn UML- Đăng ký học trực tuyến
Đại học CNTT
Đại học quốc gia Hồ Chí Minh

Giao diện minh họa


Form đăng ký học:

THIẾT KẾ UML

Sơ đồ Trình tự (Sequence diagram)

Ngô Huy Hoàng- Hoàng Thanh Huệ- Trần Tuấn Duy 25


Bài tập lớn UML- Đăng ký học trực tuyến
Đại học CNTT
Đại học quốc gia Hồ Chí Minh

Form dang ky hoc : BDK Dang ky hoc Ds mon hoc TKB Ket qua hoc tap Sinh vien TKB toan truong
: Sinhvien

1// dang ky

2 // lay mon hoc

3 // lay mon hoc

4 // lay KQ hoc tap

5 // lay mon hoc du dk

6 // lay mon hoc du dk

7 // hien thi

8 // chon mon hoc trong ky

9 // dang ky mon hoc

10 // kiem tra hop le

11// tao TKB

12// dang ky TKB

Sơ đồ Công tác (Collaboration diagram)

Ngô Huy Hoàng- Hoàng Thanh Huệ- Trần Tuấn Duy 26


Bài tập lớn UML- Đăng ký học trực tuyến
Đại học CNTT
Đại học quốc gia Hồ Chí Minh

11: 11// tao TKB


Sinh vien
12: 12// dang ky TKB
7: 7 // hien thi

10: 10 // kiem tra hop le


1: 1// dang ky 4: 4 // lay KQ hoc tap
8: 8 // chon mon hoc trong ky 2: 2 // lay mon hoc
9: 9 // dang ky mon hoc

: BDK Dang ky hoc Ket qua hoc tap


: Sinhvien
5: 5 // lay mon hoc du dk

3: 3 // lay mon hoc

6: 6 // lay mon hoc du dk

Ds mon hoc TKB toan truong

UC #0004 <<QUẢN LÝ ĐĂNG KÝ HỌC>> Độ phức tạp: High

™ Chức năng này có nhiệm vụ quản lý việc đăng ký học của SV.Chức năng này sẽ
giúp GVụ thực hiện những công việc sau vào cuối mỗi đợt đăng ký học:
¾ Quản lý được số SV tham gia lớp học
¾ Hủy lớp nếu số lượng SV đăng ký học vào lớp đó quá ít.
Mô tả ¾ Mở thêm lớp mới nếu xét thấy các nguyện vọng của SV là hợp lý…
™ Hệ thống cần đến Use Case này vì có thể xảy ra trường hợp có quá nhiều hoặc quá
ít SV đăng ký vào một lớp học.Nếu ta ko quản lý sẽ dẫn tới trường hợp lớp học bị
quá tải (số lượng SV vượt quá dự kiến) =>ko đảm bảo chất lượng giảng dạy hoặc
lớp học quá ít SV gây ra sự lãng phí…

Chính GVụ
Tác nhân
Phụ Ko
Tiền điều kiện SV ®· ®¨ng nhËp vµo hÖ thèng vµ tham gia ®¨ng ký häc

Ngô Huy Hoàng- Hoàng Thanh Huệ- Trần Tuấn Duy 27


Bài tập lớn UML- Đăng ký học trực tuyến
Đại học CNTT
Đại học quốc gia Hồ Chí Minh

Thành Cập nhật thông tin về lớp học mới,về lớp học bị hủy vào TKB toàn trường .
công Cập nhập thông tin về sự thay đổi một số lớp học đã đăng ký vào TKB SV (bị huỷ lớp )
Hậu điều
kiện
Lỗi Nếu ko còn khả năng mở thêm lớp mới GVụ sẽ gửi thông tin đến chức năng “đăng lý học “
thông báo nguyện vọng ko thể đáp ứng
ĐẶC TẢ CHỨC NĂNG

Luồng sự kiện chính/Kịch bản chính


™ GVụ đăng nhập vào chức năng Quản lý đăng ký học.
™ Hệ thống yêu cầu người quản trị (GVụ) chọn chức năng cần thực hiện
¾ GVụ chọn chức năng Quản lý lớp đang đăng ký : Khi GVụ vào chức năng này hệ thống sẽ đưa
ra một bảng danh sách các lớp học SV đang đăng ký bao gồm các thông tin về tình trạng cụ thể
của lớp học đó:
• Mã lớp.
• Môn học.
• Phòng học.
• Thời gian học.
• Số lượng SV đã đăng ký.
• Số lượng SV dự kiến.
• Số nguyện vọng.
¾ GVụ sẽ xem và xử lý các thông tin đó vào cuối mỗi đợt đăng ký học như sau:
ƒ Nếu số lượng SV đã đăng ký = số lượng SV dự kiến => đóng lớp và gửi thông tin tới use
case “ đăng ký học “ : ”Lớp học đã đầy.Bạn có thể chọn nguyện vọng .”
ƒ Khi SV chọn nguyện vọng thì sẽ tạo ra một TKB tạm thời cho SV bao gồm cả lớp học có
nguyện vọng.
ƒ Nếu số lượng SV đã đăng ký quá it (< 10 SV ) => kích hoạt chức năng hủy lớp.
ƒ Sau đó tiếp tục xem xét đến số nguyện vọng của SV .
ƒ Nếu số nguyện vọng >= si số của lớp đã mở => kích hoạt chức năng mở lớp mới .
ƒ Nếu số nguyện vọng < sí số của lớp đã mở gửi thông báo tới use case đăng ký học : “nguyện
vọng ko thực hiện được”.
¾ Khi GVụ chọn chức năng hủy lớp:
ƒ Hệ thống sẽ xóa lớp học đó ra khỏi danh sách các môn học đăng ký.
ƒ Những SV đã đăng ký vào lớp học bị huỷ này sẽ được giải phóng về mặt thời gian.Do thời
gian dành cho việc tham gia lớp học đó sẽ trống .
ƒ SV có quyền được đăng ký vào lớp học khác trong trường hợp :số môn học
đã đăng ký < 6 môn ,lớp học thay thế vẫn còn chỗ; ko bi trùng thời gian với
các lớp học đã đăng ký trước và phải theo đúng tiến trình học.
ƒ TKB của SV sẽ được cập nhập và sửa lại cho phù hợp với sự thay đổi này.
ƒ TKB toàn trường sẽ bị thay đổi => Hệ thống sẽ gửi thông tin về sự thay đổi này cho use
case “quản lý TKB”.
¾ Khi GVụ chọn chức năng mở lớp mới:
ƒ Gvụ nhập thông tin về lớp học sẽ mở .
ƒ Kiểm tra việc mở lớp có thành công hay ko : Hệ thống sẽ gửi yêu cầu kiểm tra về lớp

Ngô Huy Hoàng- Hoàng Thanh Huệ- Trần Tuấn Duy 28


Bài tập lớn UML- Đăng ký học trực tuyến
Đại học CNTT
Đại học quốc gia Hồ Chí Minh

học mới này có mở được hay ko tới use case “Quản lý lớp học”.(ktra dựa vào TKB toàn
trường và Lich CT GV)
ƒ Nếu thành công =>TKB toàn trường sẽ đươc cập nhập và thay đổi lại .
ƒ Hệ thống sẽ cập nhập dữ liệu về lớp học mới cho use case “Đăng ký học” .
ƒ Nếu ko thành công => TKB tạm thời của SV sẽ bị thay đổi (xoá những lớp học có
nguyện vọng nhưng ko được mở thêm )
ƒ Cuối cùng hệ thống sẽ gửi toàn bộ thông tin về sự thay đổi TKB toàn trường và TKB
SV cho use case “Quản lý TKB”.

™ Tổng hợp tất cả các thông tin lưu lại trong hệ thống.
Luồng sự kiện phát sinh/Kịch bản phát sinh
<<Luồng phát sinh 1>>

™ GVụ đăng nhập ko hợp lệ :


-Yêu cầu đăng nhập lại.
™ GVụ nhập sai dữ liệu :
- Thông báo dữ liệu nhập sai.
-Yêu cầu nhập lại .

Sơ đồ hành động (Activity diagram)


Sơ đồ hành động của chức năng

Ngô Huy Hoàng- Hoàng Thanh Huệ- Trần Tuấn Duy 29


Bài tập lớn UML- Đăng ký học trực tuyến
Đại học CNTT
Đại học quốc gia Hồ Chí Minh

start

Vao chuc
nang DK hoc

Quan ly lop
dang DK

Dong lop so luong SV da du so luong SV qua it Huy lop

nguyen vong hop ly

Mo them
lop moi

Ktra lich Kiem tra


cong tac GV TKB

thanh cong phat hien loi


Gui thong tin den Thong bao mo lop
UC "Quan ly TKB" ko t hanh cong

END

Các yêu cầu đặc biệt khác

Ngô Huy Hoàng- Hoàng Thanh Huệ- Trần Tuấn Duy 30


Bài tập lớn UML- Đăng ký học trực tuyến
Đại học CNTT
Đại học quốc gia Hồ Chí Minh

Ko có
Giao diện minh họa

Ngô Huy Hoàng- Hoàng Thanh Huệ- Trần Tuấn Duy 31


Bài tập lớn UML- Đăng ký học trực tuyến
Đại học CNTT
Đại học quốc gia Hồ Chí Minh

Ngô Huy Hoàng- Hoàng Thanh Huệ- Trần Tuấn Duy 32


Bài tập lớn UML- Đăng ký học trực tuyến
Đại học CNTT
Đại học quốc gia Hồ Chí Minh

THIẾT KẾ UML

Sơ đồ Trình tự (Sequence diagram)

Ngô Huy Hoàng- Hoàng Thanh Huệ- Trần Tuấn Duy 33


Bài tập lớn UML- Đăng ký học trực tuyến
Đại học CNTT
Đại học quốc gia Hồ Chí Minh

GVU : HT QL LOP DK : HT QL
: Form QL DKH : QL huy mon : QL mo them lop : Lich CT GV : TKB
API LOP DK
1://dang nhap( ) moi

2 //lay TT ve tinh trang LH( )

4://hien thi( ) 3://lay TT ve tinh trang LH( )

5://chon CN huy mon( )


6://lay TT ve tinh trang LH( )

7://lay T T ve tinh trang LH( )


8://ktra huy mon hop ly( )

9://Cap nhap TKB( )

10://Chon CN mo them lop( )


11//lay TT ve tinh trang LH( )

12//lay TT ve tinh trang LH( )

13://Lay TT ve Lich day GV( )

14://Lay TT ve cac Phong hoc( )

15.://KTra mo lop hop ly( )

16://Cap nhap TKB( )

Sơ đồ Công tác (Collaboration diagram)

Ngô Huy Hoàng- Hoàng Thanh Huệ- Trần Tuấn Duy 34


Bài tập lớn UML- Đăng ký học trực tuyến
Đại học CNTT
Đại học quốc gia Hồ Chí Minh

3: 3://lay TT ve ti nh trang L H( )
7: 7://lay TT ve ti nh trang L H( )
12: 12//lay TT ve tinh trang LH( )

4: 4://hien thi( )
2: 2 //lay TT ve tinh trang LH( )
: HT QL
: HT QL LOP DK API LOP DK

6: 6://lay TT ve ti nh trang LH( )


8: 8 ://ktra huy mon hop ly( )

5: 5://chon CN huy mon( )


: Form QL DKH

11: 11//lay TT ve tin h tra ng L H( )

: QL huy mon 9: 9://Cap nhap TKB( )


1: 1://dang nhap( )
10: 10://Chon CN mo them lop( )

15: 15.://KTra m o lop hop ly( )


1 4: 14://Lay TT ve ca c Ph ong hoc( )
16: 16://Cap nhap TKB( )

: TKB

GVU

: QL mo them lop moi 1 3: 13://Lay TT ve Lich day GV( )

: Lich CT GV

UC #0005 << QUẢN LÝ THỜI KHOÁ BIỂU >> Độ phức tạp: High

- Use case quản lý thời khoá biểu trong đó TKB được thể hiện ở 3 dạng: TKB
toàn trường, thời khoá biểu của các giáo viên và TKB cụ thể cho mỗi sinh viên.
- Cho biết thông tin về các môn học, VD: được dạy bởi ai, học tại phòng nào,
thời gian, mã môn, mã lớp, số đơn vị trình.
Mô tả
- Cho biết học phí của từng môn học dựa trên các môn sinh viên đã đăng kí và tổng học
phí sinh viên phải đóng trong kì đó.
- Quản lý thời khoá biểu toàn trường: số môn học mở trong 1 học kì, số lớp tương ứng
với môn đó.

Ngô Huy Hoàng- Hoàng Thanh Huệ- Trần Tuấn Duy 35


Bài tập lớn UML- Đăng ký học trực tuyến
Đại học CNTT
Đại học quốc gia Hồ Chí Minh

- Quản lý thời khoá biểu của các giáo viên ( lịch công tác: số giờ dạy, số môn dạy, thời
gian dạy cụ thể …. )
- Nếu có sự thay đổi về môn học (huỷ lớp, tách lớp), TKB sẽ được cập nhật lại.
Chính - Giáo vụ
Tác nhân - Sinh viên
Phụ
- Giáo viên
- Sinh viên đã chọn môn học và đăng kí thành công.
Tiền điều kiện
- Có lịch công tác của giáo viên
- Thời khoá biểu là cố định khi không có sự thay đổi từ phía môn học hay từ sinh viên
Thành và sẽ được in ra, gửi tới các sinh viên.
công - Sau khi đã thống nhất với lịch công tác của GV sẽ tạo ra các lớp học chính thức được
Hậu điều thể hiện là TKB toàn trường.
kiện - Nếu có thay đổi liên quan đến môn học như huỷ môn do số lượng sinh viên
đăng kí quá ít hay tách lớp thì sẽ lập lại thời khoá biểu
Lỗi
- Lập lại thời khoá biểu nếu như không có thay đổi về môn học nhưng sinh viên muốn
huỷ bớt số môn học
ĐẶC TẢ CHỨC NĂNG

Luồng sự kiện chính/Kịch bản chính


1. TKB giáo viên:
Khi GV truy cập chức năng xem “Thời khoá biểu”, hệ thống sẽ lấy dữ liệu về lịch công tác của giáo
viên từ chức năng “Quản lý GV”, dữ liệu về các lớp học được mở chính thức từ chức năng “Quản lý
đăng kí học” và hiển thị những thông tin sau:
9 Tên GV
9 Số môn GV đó sẽ dạy
9 Mã môn, tên môn, giờ học, địa điểm, số tiết, số buổi trong tuần của môn học sẽ được dạy bởi
GV đó.
2. TKB toàn trường:
Khi sinh viên truy cập chức năng này, hệ thống sẽ in ra TKB chính thức cho toàn bộ các môn học
trong học kì, thông tin lưu trữ liên quan đến các môn học có thể in ra được, thể hiện dưới dạng bảng,
bao gồm các trường sau:
- Tên môn học
- Giáo viên dạy
- Số tiết, số buổi học trong 1 tuần
- Địa điểm học (phòng học cụ thể)
- Mã môn, mã lớp.
- Số đơn vị học trình.
3. TKB Sinh viên:
- Sau khi sinh viên đăng kí học thành công, hệ thống lưu giữ các môn học mà sinh viên đã đăng kí
kèm học phí của các môn đó.
- Hệ thống sẽ cộng tất cả học phí của từng môn lại để có được học phí sinh viên phải đóng trong
học kì đó

Ngô Huy Hoàng- Hoàng Thanh Huệ- Trần Tuấn Duy 36


Bài tập lớn UML- Đăng ký học trực tuyến
Đại học CNTT
Đại học quốc gia Hồ Chí Minh

- Hệ thống lưu những thông tin liên quan tới từng môn học của sinh viên:
o Thời gian học, giáo viên dạy môn học đó, phòng học, số đơn vị trình.
Đó là những dữ liệu thô chưa qua xử lí để có thể in ra.
- Đưa tất cả những thông tin trên vào 1 form để có thể in ra, form trình bày thông tin như sau:
o Tên và mã sinh viên
o Môn học và các thông tin liên quan được thể hiện dưới dạng bảng gồm các trường dữ
liệu:
9 Thời gian học trong tuần ( ngày học )
9 Giờ học ( từ tiết ? đến tiết ? )
9 Phòng học
9 Số đơn vị trình
9 Học phí
9 Tên môn
9 Mã môn
9 Mã lớp
9 Hệ số
GVụ kích hoạt chức năng “In thời khoá biểu”, hệ thống sẽ in những thông tin như form trên.
Luồng sự kiện phát sinh/Kịch bản phát sinh
<<Môn học bị huỷ>>
- Thông tin về môn học bị huỷ sẽ được lấy từ chức năng “Quản lý đăng kí học”.
- Thông tin về môn học bị huỷ do nguyện vọng của SV sẽ được lấy từ chức năng “Quản lý SV”
- Xoá môn học bị huỷ khỏi TKB SV nếu SV đó đã đăng kí môn học đó, thời khoá biểu cũng tính
lại học phí mà sinh viên phải đóng trong học kì đó.
- Thêm ghi chú “Thời khoá biểu đã sửa” khi giáo vụ chọn chức năng in.
<<Thêm lớp học>>
- Thông tin về lớp mới do sự tách lớp sẽ được lấy từ chức năng “Quản lý đăng kí học” và lớp mới
đó sẽ thêm vào thời khoá biểu SV kèm với các thông tin liên quan đến môn học đó. Khi thêm
môn học, thời khoá biểu cá nhân cũng tính lại học phí mà sinh viên phải đóng trong học kì đó.
- Cập nhật TKB toàn trường.
- Cập nhật lại TKB giáo viên: Thêm thông tin về lớp học mới vào TKB.
- Nếu được in, sẽ kèm ghi chú “Thời khoá biểu đã sửa” cho mỗi TKB
Sơ đồ hành động (Activity diagram)
Sơ đồ hành động của chức năng “Quản lý thời khoá biểu”:

Ngô Huy Hoàng- Hoàng Thanh Huệ- Trần Tuấn Duy 37


Bài tập lớn UML- Đăng ký học trực tuyến
Đại học CNTT
Đại học quốc gia Hồ Chí Minh

Vao chuc nang


Quan ly TKB

Lay thong tin ve cac lop Lay du lieu ve lich


hoc duoc mo chinh thuc cong tac cua GV

Tao ra TKB GV

Cap nhat TKB Co thay doi


giao vien

Co thay doi In ra TKB toan truong Lay thong tin dang ki


hoc cua SV

In ra TKB ca nhan cua SV

Cap nhat TKB

SV huy mon hoc


Cap nhat lai
TKB SV

Các yêu cầu đặc biệt khác

Ngô Huy Hoàng- Hoàng Thanh Huệ- Trần Tuấn Duy 38


Bài tập lớn UML- Đăng ký học trực tuyến
Đại học CNTT
Đại học quốc gia Hồ Chí Minh

Chỉ ra một số yêu cầu đặc biệt cần thiết để chất lượng của chức năng này được hoàn thiện hơn (gọi là những yêu
cầu phi chức năng).
Ví dụ tính sử dụng được, tính ổn định, tốc độ hoặc tính hỗ trợ (usability, reliability, performance or
supportability) hay một số rằng buộc khác về môi trường hoặc thiết kế
Giao diện minh họa
Mô phỏng giao diện minh họa có trong chức năng này, có thể có nhiều giao diện nếu cần. Các giao diện này chỉ
có mục đích minh họa để cho người đọc dễ dàng hiểu hơn về hệ thống, giao diện thực tế có thể được thay đổi một
phần nào đó

Giao diện của chức năng “Xem Thời khoá biểu”

1. Thời khoá biểu toàn trường

2. Thời khoá biểu cá nhân của sinh viên

Ngô Huy Hoàng- Hoàng Thanh Huệ- Trần Tuấn Duy 39


Bài tập lớn UML- Đăng ký học trực tuyến
Đại học CNTT
Đại học quốc gia Hồ Chí Minh

3. Thời khoá biểu GV

THIẾT KẾ UML

Sơ đồ Trình tự (Sequence diagram)

Ngô Huy Hoàng- Hoàng Thanh Huệ- Trần Tuấn Duy 40


Bài tập lớn UML- Đăng ký học trực tuyến
Đại học CNTT
Đại học quốc gia Hồ Chí Minh

: Form TKB : Xem thoi khoa bieu : TKB SV : Lop hoc du kien : TKB GV

: GV : SV //xem
//getData
//truy cap du lieu
Lay du lieu
ve ...

//truy cap du lieu

//xem

//truy cap du lieu

//Xu ly
//Hien thi

Sơ đồ Công tác (Collaboration diagram)

Ngô Huy Hoàng- Hoàng Thanh Huệ- Trần Tuấn Duy 41


Bài tập lớn UML- Đăng ký học trực tuyến
Đại học CNTT
Đại học quốc gia Hồ Chí Minh

: TKB GV
5: //xem
6: //truy cap du lieu
: GV

8: //Hien thi

7: //Xu ly

2: //getData 4: //truy cap du lieu

: Form TKB : Xem thoi khoa bieu : Lop hoc du kien


3: //truy cap du lieu
1: //xem

: SV
: TKB SV

UC #0006 << QUẢN LÝ QUÁ TRÌNH HỌC TẬP >> Độ phức tạp: Normal

- Use case thực hiện chức năng cho phép Giáo viên quản lý được số buổi đi
học của các SV trong lớp học mà Giáo viên đó đảm trách
Mô tả - Use case còn cho phép Giáo viên có thể quản lý việc cộng điểm và tình hình vi
phạm kỉ luật ( nếu có ) để có điểm thi cuối cùng và sẽ gửi điểm này cho GVụ

- Giáo viên
Chính
Tác nhân
- Giáo vụ
Phụ

Tiền điều kiện Đã có danh sách các sinh viên trong lớp học do Phòng giáo vụ tổng hợp

Ngô Huy Hoàng- Hoàng Thanh Huệ- Trần Tuấn Duy 42


Bài tập lớn UML- Đăng ký học trực tuyến
Đại học CNTT
Đại học quốc gia Hồ Chí Minh

Thành Hệ thống hỗ trợ chức năng in ấn để Giáo viên có thể in ra được danh sách các SV kèm
công theo các điểm thưởng/ điểm trừ, số buổi đi học và tình hình vi phạm kỉ luật
Hậu điều
kiện Nếu như có sai sót trong kiểm tra quá trình học tập của SV, hệ thống cho phép
Lỗi Giáo vụ sửa đổi những thông tin này và cập nhật lại phần giao diện dành cho
Phòng giáo vụ.
ĐẶC TẢ CHỨC NĂNG

Luồng sự kiện chính/Kịch bản chính


- Thông tin về Sinh viên do Phòng Giáo vụ quản lý ( trong Usecase “Quản lý Sinh viên” ). Khi
Giáo viên kích hoạt chức năng “ Quản lý quá trình học tập”, các thông tin về Sinh viên sẽ được
thể hiện tại “Form thông tin SV”.
- Các thông tin về Sinh viên bao gồm :
9 Tên SV
9 Mã SV
9 Lớp hiện tại của SV
9 Tên môn, mã môn, mã lớp của GV mà SV đó theo học

- Giáo viên sẽ cập nhật số buổi đi học, số điểm thưởng, điểm trừ và tình hình vi phạm kỷ luật của
các Sinh viên trong lớp của mình.

- Kết thúc quá trình nhập, thông tin về quá trình học tập của Sinh viên sẽ được thể hiện ở bảng
“Quá trình HT SV” bao gồm :
9 Tên SV
9 Mã SV
9 Lớp hiện tại của SV
9 Tên môn, mã môn, mã lớp của GV mà SV đó theo học
9 Số buổi đi học của SV
9 Điểm thưởng
9 Điểm phạt
9 Tình hình vi phạm kỉ luật( để xét SV có bị cấm thi hay không )

Ở cuối trang sẽ có nút “In quá trình học tập” cho phép Giáo viên in quá trình học tập của Sinh viên
Luồng sự kiện phát sinh/Kịch bản phát sinh
<<Có sửa đổi về danh sách SV từ phía giáo vụ>>
Cập nhật lại dữ liệu bên trong hệ thống và phía giao diện dành cho Giáo viên
Sơ đồ hành động (Activity diagram)

Ngô Huy Hoàng- Hoàng Thanh Huệ- Trần Tuấn Duy 43


Bài tập lớn UML- Đăng ký học trực tuyến
Đại học CNTT
Đại học quốc gia Hồ Chí Minh

Vao chuc nang quan


ly qua trinh hoc tap

Danh sach SV

Kiem tra so buoi di


hoc cua SV
Thay doi so buoi di hoc cua SV

Khong co thay doi

Theo doi so diem cong va tinh


hinh vi pham ky luat cua SV Thay doi so diem cong va tinh
trang vi pham ky luat cua SV

Khong co thay doi

In danh sach
SV

Giao diện minh họa


Giao diện của UC “Quản lý quá trình học tập” :

Ngô Huy Hoàng- Hoàng Thanh Huệ- Trần Tuấn Duy 44


Bài tập lớn UML- Đăng ký học trực tuyến
Đại học CNTT
Đại học quốc gia Hồ Chí Minh

Bảng Quá trình HT SV :

Sơ đồ Trình tự (Sequence diagram)


Quan ly qua trinh hoc tap:

Ngô Huy Hoàng- Hoàng Thanh Huệ- Trần Tuấn Duy 45


Bài tập lớn UML- Đăng ký học trực tuyến
Đại học CNTT
Đại học quốc gia Hồ Chí Minh

: Giao vu : Form thong tin SV : BDK quan ly thong tin : Sinh vien : Giao vien : Form QL qua trinh HT : BDK QL qua trinh HT : Qua trinh HT SV
SV

// Xem thong tin SV

// Lay thong tin SV

// Truy cap du lieu

// Xu ly thong tin SV

// Dang nhap chuc nang QL HTSV

// Lay thong tin QTHT

// Lay thong tin SV

// Xu ly thong tin QTHT

// Hien thi qua trinh HT SV

Sơ đồ Công tác (Collaboration diagram)


Quan ly qua trinh hoc tap:

Ngô Huy Hoàng- Hoàng Thanh Huệ- Trần Tuấn Duy 46


Bài tập lớn UML- Đăng ký học trực tuyến
Đại học CNTT
Đại học quốc gia Hồ Chí Minh

8: // Xu ly thong tin QTHT

5: // Dang nhap chuc 6: // Lay thong tin 9: // Hien thi qua


nang QL HTSV QTHT trinh HT SV

: Form QL qua trinh HT : BDK QL qua trinh HT : Qua trinh HT SV


: Giao vien

7: // Lay thong tin SV


4: // Xu ly thong tin SV

2: // Lay thong tin 3: // Truy cap


1: // Xem thong tin SV du lieu
SV

: Form thong tin SV : BDK quan ly thong tin SV : Sinh vien


: Giao vu

UC #0007 << QUẢN LÝ SV >> Độ phức tạp: Normal

Use case thực hiện chức năng cho phép Giáo vụ quản lý được các SV trong
Mô tả
trường
Giáo vụ
Chính
Tác nhân
Phụ Sinh viên

Tiền điều kiện Đã có danh sách các Sinh viên của trường

- Hệ thống hỗ trợ chức năng in ấn để Giáo vụ có thể in ra được hồ sơ SV kèm


Hậu điều Thành theo kết quả học tập đến thời điểm hiện tại, tình hình vi phạm kỉ luật của SV.
kiện công
- Dữ liệu sẽ được chuyển tới module “Kết quả học tập”

Ngô Huy Hoàng- Hoàng Thanh Huệ- Trần Tuấn Duy 47


Bài tập lớn UML- Đăng ký học trực tuyến
Đại học CNTT
Đại học quốc gia Hồ Chí Minh

Nếu như có sai sót trong việc quản lý SV, hệ thống cho phép Giáo vụ sửa
Lỗi đổi những thông tin này và cập nhật lại phần giao diện dành cho Phòng
giáo vụ.
ĐẶC TẢ CHỨC NĂNG

Luồng sự kiện chính/Kịch bản chính


- Khi Giáo vụ login kích hoạt chức năng “Quản lý SV”, dữ liệu sẽ được thể hiện tại 2 bảng
như sau :
+ Form thong tin SV :
9 Tên SV
9 Mã SV
9 Ngày sinh SV
9 Địa chỉ
9 Số điện thoại ( nếu có )
9 Lớp hiện tại của SV

+ Form Ket qua HT được thể hiện dưới 2 bảng là “Phần giáo dục đại cương” và “Phần
giáo dục chuyên ngành ”. Cụ thể như sau:
9 Mã môn học
9 Tên môn học
9 Số đơn vị học trình tương ứng với các môn học
9 Điểm các môn SV đã học

- Cuối cùng là các thông tin :


9 Số đơn vị học trình đại cương đã tích luỹ được
9 Số đơn vị học trình chuyên ngành đã tích luỹ đuợc
9 Điểm trung bình đại cương
9 Điểm trung bình chuyên ngành

- Các dữ liệu của “Form thong tin SV” được lấy từ danh sách Sinh viên ( tiền điều kiện )
- Các dữ liệu của “Form Ket qua HT” được lấy từ module “Kết quả học tập”
- Giáo vụ có khả năng cập nhật các thông tin trong 2 bảng trên để khi kết thúc chức năng
“Quản lý SV” dữ liệu sẽ được thể hiện ở “Form Ho so SV”
Ở cuối trang sẽ có nút “In hồ sơ sinh viên” cho phép Giáo vụ in hồ sơ SV
Luồng sự kiện phát sinh/Kịch bản phát sinh

Sơ đồ hành động (Activity diagram)

Ngô Huy Hoàng- Hoàng Thanh Huệ- Trần Tuấn Duy 48


Bài tập lớn UML- Đăng ký học trực tuyến
Đại học CNTT
Đại học quốc gia Hồ Chí Minh

Sơ đồ hành động của chức năng “Quản lý SV”:

Vao chuc nang


Quan ly SV

Lay cac thong tin: Ten SV, ma Lay thong tin ve Cap nhat cac
SV, Dia chi, lop hien tai cua SV SV thong tin ve SV

Neu can cap nhat cac thong tin ve SV

Hien thi cac


thong tin ve SV

Lay cac thong tin : so diem cac


mon SV da hoc, so DV hoc
Lay du lieu tu m odule Cap nhat ket qua hoc tap
trinh Dai cuong, so DV hoc trinh
Ketquahoctap trong module Ketquahoctap
chuyen nganh, diem trung binh
tat ca cac mon.

Neu can cap nhat diem cua SV

Hien thi ho s o SV

Giao diện minh họa

Ngô Huy Hoàng- Hoàng Thanh Huệ- Trần Tuấn Duy 49


Bài tập lớn UML- Đăng ký học trực tuyến
Đại học CNTT
Đại học quốc gia Hồ Chí Minh

Bảng Thông tin SV của UC “Quản lý SV”:

Ngô Huy Hoàng- Hoàng Thanh Huệ- Trần Tuấn Duy 50


Bài tập lớn UML- Đăng ký học trực tuyến
Đại học CNTT
Đại học quốc gia Hồ Chí Minh

THIẾT KẾ UML

Sơ đồ Trình tự (Sequence diagram)

Ngô Huy Hoàng- Hoàng Thanh Huệ- Trần Tuấn Duy 51


Bài tập lớn UML- Đăng ký học trực tuyến
Đại học CNTT
Đại học quốc gia Hồ Chí Minh

Giao vu : Form Ket qua HT


: Form thong tin SV : BDK quan ly thong tin : Sinh vien : BDK quan ly Ket qua : Ket qua HT : Form Ho so SV
// Xem thong SV HT
tin SV //Lay du lieu
thong tin SV
// Truy cap
du lieu

// Xu ly thong tin SV

// Xem ket qua hoc tap cua SV

// Lay du lieu KQHT

// Truy cap du lieu


KQHT

// Xu ly ket qua HT

// Hien thi ho so SV

// Hien thi ket qua HT cua SV

Sơ đồ Công tác (Collaboration diagram)

Ngô Huy Hoàng- Hoàng Thanh Huệ- Trần Tuấn Duy 52


Bài tập lớn UML- Đăng ký học trực tuyến
Đại học CNTT
Đại học quốc gia Hồ Chí Minh

4: // Xu ly thong tin SV

2: //Lay du lieu thong


tin SV 3: // Truy cap du lieu

: Form thong tin SV : BDK quan ly thong tin SV 9: // Hien thi ho so SV : Sinh vien

1: // Xem thong tin SV

: Form Ho so SV

8: // Xu ly ket qua HT
5: // Xem ket qua hoc tap cua SV 10: // Hien thi ket qua HT cua SV
Giao vu

6: // Lay du lieu KQHT 7: // Truy cap du lieu KQHT

: Form Ket qua HT : BDK quan ly Ket qua HT : Ket qua HT

UC #0008 << XEM KẾT QUẢ HỌC TẬP >> Độ phức tạp:
Normal

- Use case thực hiện chức năng cho phép sinh viên xem kết quả
học tập, tiến trình học
- Cho biết thông tin chi tiết về điểm của từng môn học đã hoàn
thành, thông báo cụ thể những môn nào phải thi lại để từ đó SV biết được
Mô tả trong lần đăng kí học này có thể đăng kí những môn học nào, không thể
đăng kí những môn học nào.
- Cho biết số đơn vị học trình đã tích luỹ được.
- Cho biết điểm tổng kết tính đến thời điểm hiện tại.
Tác - Giáo vụ
Chính
nhân - Sinh viên

Ngô Huy Hoàng- Hoàng Thanh Huệ- Trần Tuấn Duy 53


Bài tập lớn UML- Đăng ký học trực tuyến
Đại học CNTT
Đại học quốc gia Hồ Chí Minh

Phụ

Tiền điều kiện Đã có điểm chi tiết các môn học của từng SV do giáo vụ tổng hợp.

Thành Hệ thống hỗ trợ chức năng in ấn để các SV có thể in thông tin về kết quả học tập của
công mình.
Hậu điều
kiện Nếu như có sai sót về thông tin quá trình học tập của SV, hệ thống cho phép
Lỗi giáo vụ sửa đổi những thông tin này và cập nhật lại phần giao diện dành cho
SV.
ĐẶC TẢ CHỨC NĂNG

Luồng sự kiện chính/Kịch bản chính


- Khi SV login và kích hoạt chức năng “Xem kết quả học tập”, dữ liệu sẽ được lấy từ chức
năng “Quản lý SV” và thể hiện ra giao diện dành cho SV gồm những thông tin trước hết là
thông tin cá nhân SV như sau:
9 Tên, mã SV, ngày sinh
9 Lớp học
9 Lớp hiện tại
9 Kết quả học tập của sinh viên… tính đến học kì…..năm học……
- Tiếp theo là dữ liệu về tiến trình học được thể hiện dưới dạng bảng bao gồm 2 bảng: Bảng
dành cho “Phần giáo dục đại cương” và bảng dành cho phần giáo dục chuyên ngành” với
4 trường dữ liệu dành cho mỗi bảng được thể hiện như sau:
9 Mã môn: mã số môn học
9 Tên môn học ứng với mã môn tương ứng
9 Đơn vị tích luỹ (số đơn vị trình) của môn học đó với mã môn tương ứng
9 Điểm tổng kết (điểm đã qua tổng hợp điểm của giáo vụ) của môn học ứng với mã môn
tương ứng.
- Phần cuối cùng là những thông tin bao gồm:
9 Tổng số đơn vị học trình đại cương đã tích luỹ
9 Tổng số đơn vị học trình chuyên ngành đã tích luỹ
9 Điểm trung bình đại cương
9 Điểm trung bình chuyên ngành
Ở cuối trang sẽ có nút “In kết quả học tập” cho phép SV in kết quả học tập
Luồng sự kiện phát sinh/Kịch bản phát sinh
<<Có sửa đổi về kết quả học tập từ phía giáo vụ>>
Lấy dữ liệu về sự sửa đổi từ chức năng “Quản lý SV”.
Sơ đồ hành động (Activity diagram)
Sơ đồ hành động của chức năng “Xem kết quả học tập”:

Ngô Huy Hoàng- Hoàng Thanh Huệ- Trần Tuấn Duy 54


Bài tập lớn UML- Đăng ký học trực tuyến
Đại học CNTT
Đại học quốc gia Hồ Chí Minh

Vao chuc nang xem


ket qua hoc tap

Lay thong tin ve diem


cac mon hoc cua SV

Hien thi thong tin ket Hien thi ten SV, ma SV, diem
qua hoc tap cua SV cac mon hoc, so trinh tich luy

Cap nhat lai thong tin ket


qua hoc tap cua SV

Giao diện minh họa


Mô phỏng giao diện minh họa có trong chức năng này, có thể có nhiều giao diện nếu cần. Các giao diện
này chỉ có mục đích minh họa để cho người đọc dễ dàng hiểu hơn về hệ thống, giao diện thực tế có thể
được thay đổi một phần nào đó

Giao diện của chức năng “Xem kết quả học tập”

Ngô Huy Hoàng- Hoàng Thanh Huệ- Trần Tuấn Duy 55


Bài tập lớn UML- Đăng ký học trực tuyến
Đại học CNTT
Đại học quốc gia Hồ Chí Minh

Trung tâm đào tạo NN-TH Trí Đức


Đại học quốc gia Hồ Chí Minh

KẾT QUẢ HỌC TẬP


(Năm học 2004-2005 )

THIẾT KẾ UML

Sơ đồ Trình tự (Sequence diagram)

Ngô Huy Hoàng- Hoàng Thanh Huệ- Trần Tuấn Duy 56


Bài tập lớn UML- Đăng ký học trực tuyến
Đại học CNTT
Đại học quốc gia Hồ Chí Minh

: Form Xem k/q hoc tap


: Xem k/q hoc tap : Quan ly SV
: SV

//Xem
//getData
//Truy cap du lieu
Lay du lieu ve
k/q hoc tap
//Xu ly du lieu

//Hien thi

Sơ đồ Công tác (Collaboration diagram)

Ngô Huy Hoàng- Hoàng Thanh Huệ- Trần Tuấn Duy 57


Bài tập lớn UML- Đăng ký học trực tuyến
Đại học CNTT
Đại học quốc gia Hồ Chí Minh

5: //Hien thi 4: //Xu ly du lieu

1: //Xem 2: //getData

: Form Xem k/q hoc tap : Xem k/q hoc tap


: SV

3: //Truy cap du lieu

: Quan ly SV

Ngô Huy Hoàng- Hoàng Thanh Huệ- Trần Tuấn Duy 58


Bài tập lớn UML- Đăng ký học trực tuyến
Đại học CNTT
Đại học quốc gia Hồ Chí Minh

3. Kiến trúc tổng thể

3.1 Kiến trúc thành phần

3.2 Sơ đồ triển khai

Sơ đồ 2: Sơ đồ triển khai hệ thống

4 . Các yêu cầu bổ sung của hệ thống

4.1 Các yêu cầu chức năng bổ sung

Truy cập từ xa

Hệ thống cho phép người dung truy cập từ xa thông qua internet, sử dụng các
trình duyệt

4.2 Các yêu cầu về mặt sử dụng hệ thống

Các hệ điều hành tương thích

Hệ thống sẽ hoạt động tốt trên Windows 2000/2003 và Windows XP

Giao diện

Giao diện người dùng sẽ được thiết kế rất đơn giản, thân thiện và dễ sử dụng đối
với bất kỳ một người dùng cơ bản nào.

4.3 Các yêu cầu về độ ổn định

Có khả năng phục vụ 500 người dùng tại một thời điểm.

Ngô Huy Hoàng- Hoàng Thanh Huệ- Trần Tuấn Duy 59


Bài tập lớn UML- Đăng ký học trực tuyến
Đại học CNTT
Đại học quốc gia Hồ Chí Minh

4.4 Các yêu cầu về mặt tốc độ


Tốc độ truy cập nhanh .
4.5 Các yêu cầu về mặt hỗ trợ

24/24h

4.6 Các yêu cầu ràng buộc về thiết kế

Yêu cầu phần cứng

Hệ thống có thể chạy tốt trên bất kỳ máy PC có cấu hình tối thiểu như sau:
- Pentium 3 500Mhz
- Ram 128MB
- HHD 100MB

II.Tổng kết:

Hệ thống Đăng ký học trực tuyến được xây dựng dựa trên tiêu chí giúp các bạn
sinh viên chủ động hơn trong việc đăng ký học và nắm bắt thời khoá biểu cũng như kết
quả học tập của mình 1 cách nhanh chóng và thuận tiện.Trong quá trình xây dựng hệ
thống, nhóm phát triển đã cố gắng để hoàn thiện những chức năng cơ bản nhất để phục
vụ tiêu chí đã đề ra. Tuy nhiên do 1 số yếu tố khách quan nên hệ thống còn tồn tại một
vài những thiếu sót như việc sắp xếp thời khoá biểu toàn trường là 1 vấn đề phức tạp
chưa giải quyết được. Về lâu dài chúng tôi sẽ cố gắng khắc phục nhược điểm để hệ
thống được hoàn chỉnh hơn. Nhưng để có được một hệ thống như trên, ngoài sự nỗ lực
của từng cá nhân trong nhóm, chúng tôi còn nhận được sự giúp đỡ và góp ý từ thầy Vũ
Tuấn Anh, giáo viên giảng dạy môn PTTK HĐT UML của lớp CVK4I . Lời cuối cùng
chúng tôi muốn gửi lời cám ơn chân thành nhất tới thầy.

Hà Nội ngày 7 tháng 11 năm 2005

Nhóm phát triển

Ngô Huy Hoàng- Hoàng Thanh Huệ- Trần Tuấn Duy 60


Bài tập lớn UML- Đăng ký học trực tuyến

You might also like