hoa, ngành đăng ký). 
 Mã Nhân viên phải theo nguyên tắc 
 Viết tắt SV + Viết tắt ngành + (2 số năm vào học) + 3 
số tăng dần theo lớp 
 Ví dụ: SVTH07370: Sinh viên ngành tin học học bắt 
đầu từ năm 2007 và số thứ tự 370 
 Tên sinh viên sẽ được dụng tập hợp lại gần nhau theo kí tự 
ABC…XYZ. 
 Ràng buộc: 
 Sinh viên phải thực hiện đăng kí môn học. Phải có tên danh 
sách đăng kí CTDT. Những sinh viên đã đăng kí CTDT mới 
được lưu vào hệ thống. Sau khoảng thời gian đó. Nếu xét sinh 
viên không thực hiện học CTDT nào thì sẽ xóa thể SV 
 CTDT_BangTotNghiep 
STT Tên trường Giá trị Khóa Null Diễn giải 
1. MaSV Text (9) Primary Mã sinh viên 
2. MaChuongTrinh Text (9) Primary Mã chương trình 
3. XepLoai Text (20) Xếp loại 
4. NamTotNghiep Text (4) Năm tốt nghiệp 
 Mô tả: 
 Bảng sẽ được lưu các thông tin khi sinh viên tốt nghiệp và đã 
nhận bằng. 
Đề tài: Quản lý chương trình đào tạo GVHD: ThS. Trương Minh Thái 
Nhóm 2 – DH8TH Trang 201 
 Thông tin trong bảng này phải được có đầy đủ. Như xếp loại, 
năm tốt nghiệp… 
 Tối ưu hóa: 
 Thực hiện gom nhóm theo chương trình đào tạo với năm tốt 
nghiệp giúp thực hiện việc truy vấn nhanh. Thứ tự: Năm tốt 
nghiệp – Chương trình đào tạo 
 Ràng buộc: 
 Những chương trình đào tạo mà nhà trường không tiếp tục mở 
thì sẽ xóa dữ liệu CTDT đó nhưng nội dung trong bảng này 
không được xóa. 
 Năm tốt nghiệp phải là năm hiện hành. Với nội dung bảng này 
sau 3 năm phải được backup ra CSDL ngoài để lưu trữ dự 
phòng. 
 CTDT_ChiTietMonHoc 
STT Tên trường Giá trị Khóa Null Diễn giải 
1. MaMon Text (9) Primary Mã môn 
2. MaChuongTrinh Text (9) Primary Mã chương trình 
3. SoTinChi Integer Số tín chỉ 
4. ThoiLuong Integer  Thời lượng 
 Mô tả: 
 Bảng dùng để lưu thông tin chi tiết của môn học với số tín chỉ 
và thời lượng riêng của từng môn trong từng chuyên ngành 
đào tạo 
Ví dụ: Cử Nhân Tin Học – môn Triết học (3 tín chỉ  50 tiết) 
Cao đẳng hội họa  môn Triết học (2 tín chỉ  30 tiết) 
 Những nội dung trong bảng này phải được cung cấp đầy đủ 
thông tin nhưng có thể thời lượng không bắt buộc vì theo tình 
hình thực tế thì có thể thời lượng sẽ khác nhau trong từng 
trường hợp của môn học đó. 
 Tối ưu hóa: 
 Thực hiện gom nhóm theo chương trình đào tạo với mã môn. 
Thứ tự như sau: CTDT – môn học 
 Ràng buộc: 
Đề tài: Quản lý chương trình đào tạo GVHD: ThS. Trương Minh Thái 
Nhóm 2 – DH8TH Trang 202 
 Số tín chỉ không được quá lớn vượt mức cho phép của chương 
trình đào tạo 
 Thời lượng phải được giao động trong khoảng từ 510 tiết đối 
với từng ngành khách nhau trong từng số tin chỉ cụ thể 
 Phải có môn học và chương trình đào tạo. 
 CTDT_ChiTietDangKyCTDT 
STT Tên trường Giá trị Khóa Null Diễn giải 
1. MaChuongTrinh Text (9) Primary Mã chương trình 
2. MaSV Text (9) Primary Mã sinh viên 
3. MaTrangThai Text (9) Mã trạng thái 
4. NgayDangKy 
Date/Time 
(dd/mm/yyyy) 
 Ngày đăng ký 
5. LyDo Text (100)  Lý do 
6. GhiChu Text (250)  Ghi chú 
 Mô tả: 
 Bảng dùng để chứa thông tin chi tiết chương trình đào tạo khi 
sinh viên thực hiện đăng ký. Mỗi sinh viên có thể đăng kí 
nhiều chương trình đào tạo khác nhau với trạng thái có ý 
thích. 
 Ngày đăng kí sẽ hỗ trợ xác lập sinh viên thực hiện việc đăng 
kí sớm hay muộn. Ưu tiên cho sinh viên thực hiện đăng ký 
sớm. 
 Tối ưu hóa: 
 Thực hiện gom nhóm theo chương trình đào tạo để lập chỉ 
mục. 
 Ràng buộc: 
 Phải có dữ liệu của sinh viên và chương trình đào tạo đã đăng 
ký 
 Trong cùng thời điểm chỉ có 1 trạng thái là “đăng kí” và các 
trạng thái còn lại là “tạm hoãn” khi sinh viên đã thực hiện 
đóng học phí 
 Ngày đăng ký phải là ngày hiện hành khi nhấn nút submit trên 
giao diện đăng ký. 
Đề tài: Quản lý chương trình đào tạo GVHD: ThS. Trương Minh Thái 
Nhóm 2 – DH8TH Trang 203 
 Sinh viên có thể có nhiều trạng thái đăng kí là “có ý thích” khi 
chưa đóng học phí 
 CTDT_TrangThai 
STT Tên trường Giá trị Khóa Null Diễn giải 
1. MaTrangThai Text (9) Primary Mã trạng thái 
2. TenChuongTrinh Text (50) Tên trạng thái 
3. GhiChu Text (250)  Ghi chú 
 Mô tả: 
 Bảng dùng để chứa thông tin trạng thái khi sinh viên đăng kí. 
Các trạng thái bao gồm: “Có ý thích” – “Đăng ký” – “Tạm 
hoãn” 
 Tối ưu hóa: 
 Thực hiện lập chỉ mục trên mã trạng thái 
 Mã trạng thái sẽ được thực hiện theo qui tắc: 
Viết tắt các trạng thái + tăng dần. 
Ví dụ: CYT01 – Trạng thái có ý thích 01. 
 Ràng buộc: 
 Trạng thái phải được áp dụng trong đăng ký. Khi cập nhật lại 
trạng thái thì tấc cả dữ liệu sẽ được cập nhật lại trong các bảng 
liên quan. 
 CTDT_ThongTinKetQua 
STT Tên trường Giá trị Khóa Null Diễn giải 
1. MaSV Text (9) Primary Mã sinh viên 
2. MaMon Text (9) Primary Mã môn 
3. MaChuongTrinh Text (9) Primary Mã chương trình 
4. LanThi Byte Primary Lần thi 
5. Diem Byte Điểm 
6. NgayThi 
Date/Time 
(dd/mm/yyyy) 
 Ngày thi 
7. HinhThucThi Text (20) Hình thức thi 
8. GhiChu Text (250)  Ghi chú 
 Mô tả: 
 Bảng làm nhiệm vụ lưu thông tin kết quả của sinh viên với số 
lần thi khách nhau. 
Đề tài: Quản lý chương trình đào tạo GVHD: ThS. Trương Minh Thái 
Nhóm 2 – DH8TH Trang 204 
 Lưu thông tin của điểm thi của từng sinh viên trong từng môn 
học 
 Các thông tin trong bảng này đảm bảo đầy đủ 
 Tối ưu hóa: 
Thực hiện gom nhóm theo môn học và chương trình đào tạo 
của sinh viên. Thứ tự như sau: Sinh Viên, Chương trình đào 
tạo, môn học 
 Ràng buộc: 
 Các trường bắt buộc phải được cung cấp đầy đủ 
 CTDT_KhoaHuanLuyen 
STT Tên trường Giá trị Khóa Null Diễn giải 
1. IDMaHL 
Integer (tự 
tăng) 
Primary 
Mã khóa huấn 
luyện 
2. MaSV Text (9) Mã sinh viên 
3. TenKhoaHL Text (50) 
Tên khóa huấn 
luyện 
4. ThoiGianBatDau 
Date/Time 
(dd/mm/yyyy) 
 Thời gian bắt đầu 
5. ThoiGianKetThuc 
Date/Time 
(dd/mm/yyyy) 
 Thời gian kết thúc 
6. XepLoai Text (20) Xếp loại 
7. GhiChu Text (250)  Ghi chú 
 Mô tả: 
 Bảng sẽ được lưu các thông tin liên quan đến khóa huấn 
luyện của sinh viên. 
 Ghi chú các thông tin được đề cập trong mỗi môn học có thể 
rỗng. 
 Mã môn hôc là để phân biệt mỗi môn là riêng biệt với mỗi mã 
khác nhau 
 Tối ưu hóa: 
 Lập các chỉ mục phân nhóm theo IDMaHL (Theo từng khoa 
ngành đào tạo). 
 Mã chương trình đào tạo phải theo nguyên tắc 
 Viết tắt tên huấn luyện + Tên Môn(Tên CTDT) + STT 
 Ví dụ: CCATH01 – Chứng chỉ A tin học STT 01 
Đề tài: Quản lý chương trình đào tạo GVHD: ThS. Trương Minh Thái 
Nhóm 2 – DH8TH Trang 205 
 Tên Khóa HL sẽ được dụng tập hợp lại gần nhau theo kí tự 
ABC…XYZ. 
 Ràng buộc: 
 Khóa huấn luyện phải thuộc sinh viên 
 Thời gian kết thúc phải sau thời gian bắt đầu 
 CTDT_ChucVu 
STT Tên trường Giá trị Khóa Null Diễn giải 
1. MaChucVu Text (9) Primary Mã chức vụ 
2. TenChucVu Text (50) Tên chức vụ 
3. QuanLyCTDT Yes/No  
Quản lý chương 
trình đào tạo 
4. QuanLyMonHoc Yes/No  Quản lý môn học 
5. QuanLySinhVien Yes/No  Quản lý sinh viên 
6. QuanLyChucVu Yes/No  Quản lý chức vụ 
7. QuanLyNhanVien Yes/No  
Quản lý nhân 
viên 
8. QuanLyBangTN Yes/No  
Quản lý bằng tốt 
nghiệp 
 Mô tả: 
 Bảng chức vụ thể hiện chức vụ của người dùng. Và phân công 
công việc trên từng người dùng khác nhau với các công việc 
được thực hiện của họ 
 Ràng buộc: 
 Các trường bắt buộc phải được cung cấp đầy đủ 
 Người quản lý hệ thống sẽ không được thực hiện check bỏ 
quản lý chức vụ. 
IV.4. Thiết kế lớp – Phương thức 
IV.4.1. Lớp Chương Trình Đào Tạo 
 Front (mặt trước của thẻ): 
Class name: 
CTDT_ChuongTrinhDaoTao 
ID: 1 Type:(concrete/Domain) 
Đề tài: Quản lý chương trình đào tạo GVHD: ThS. Trương Minh Thái 
Nhóm 2 – DH8TH Trang 206 
Description: 
Chứa các thông tin chương 
trình đào tạo 
Associated use cases: 
Quản lý chương trình đào tạo, quản 
lý môn học, cập nhật trạng thái 
đăng ký, tìm kiếm chương trình đào 
tạo, In danh sách chương trình đào 
tạo. 
Responsibilities 
(Trách nhiệm/chức năng của class) 
Collaborators 
(Các lớp cộng tác/liên quan) 
1.Thêm mới chương trình đào 
tạo 
1.1 CTDT_ChiTietMonHoc 
1.2 CTDT _ChiTietDangKyCTDT 
1.3 CTDT _TrangThai 
1.4 CTDT _MonHoc 
1.5 CTDT _SinhVien 
2.Sửa thông tin chương trình 
đào tạo 
2.1 MH_MonHoc 
3.Xoá chương trình đào tạo 3.1 CTDT _TrangThai 
3.2 CTDT _MonHoc 
3.3 CTDT _BangTotNghiep 
3.4 CTDT _ThongTinKetQua 
3.5 CTDT _SinhVien 
4. Tìm kiếm chương trình đào 
tạo 
4.1 CTDT _SinhVien 
4.2 CTDT _MonHoc 
4.3 CTDT _ChiTietDangKyCTDT 
4.4 CTDT _BangTotNghiep 
4.5 CTDT _TrangThai 
Đề tài: Quản lý chương trình đào tạo GVHD: ThS. Trương Minh Thái 
Nhóm 2 – DH8TH Trang 207 
 Back (mặt sau của thẻ): 
Attributes (Các thuộc tính của lớp) 
1.CTCT_MaChuongTrinhDaoTao 
2.CTDT_TENCHUONGTRINHDAOTAO 
3.CTDT_SOTINCHI 
Relationships(Các mối quan hệ với lớp) 
 +Generalization (akindof) (Tổng quát hóa) 
 (Không có) 
 +Aggregation (a part of) (Tổng hợp/thu nạp) 
(Không có) 
 +Other Associations (Những kết hợp khác liên quan đến lớp) 
1. CTDT_ChiTietMonHoc 
2. CTDT_ChiTietDangKyCTDT 
3. CTDT_ChiTietDangKyCTDT 
Đề tài: Quản lý chương trình đào tạo GVHD: ThS. Trương Minh Thái 
Nhóm 2 – DH8TH Trang 208 
IV.4.1.1. Phương thức thêm CTDT 
 Contract Format 
Method name: 
ThemCTDT 
Class name: 
CTDT_ChuongTrinhDaoTa 
ID: 1 
Clients(Consumers): 
Lớp CTDT_ChuongTrinhDaoTao và người quản lý chương trình đào tạo. 
Các phương thức gọi (hàm này) 
Câu lệnh SQL insert into ChuongTrinhDaoTao values(…) 
Câu lệnh conmand() 
Thực thi bool Ketqua = excutenonequery(conmand) 
Làm tươi RefeshForm() 
Associated use case: 
(Chức năng của usecase tương ứng) 
Usecase thêm mới chương trình đào tạo 
Description of Responsibilities: (công dụng) 
Khi có yêu cầu cần thêm 1 chương trình đào tạo mới vào hệ thống thì chức năng này 
được thực hiện 
Argument received: 
Tham số nhận : Mã CTDT, Tên CTDT, Số tín chỉ 
Type of value returned: 
Tham số trả về: (giá trị trả về thành công hay ko true or false) 
Pre-conditions: 
 Mã CTDT phải là 9 kí tự 
 Tên CTDT không vượt quá 50 kí tự 
 Không nhập vào các kí tự đặt biệt 
 Mã không được trùng lắp 
 Số tín chỉ phải là kiểu số 
Đề tài: Quản lý chương trình đào tạo GVHD: ThS. Trương Minh Thái 
Nhóm 2 – DH8TH Trang 209 
 Số tín chỉ không vượt quá 50 tín chỉ 
 Mã CTDT, Tên CTDT, Số tín chỉ không được null 
Post-conditions: 
(Hậu điều kiện) 
 Trong suốt tiến trình thực hiện nếu mẫu tin không được tạo ra thì thông báo 
không hoàn thành thêm vào 
 Nếu trường hợp dữ liệu bị trùng thì cũng không thực hiện và thông báo lỗi 
 Method Specification 
Method name: 
ThemCTDT 
Class name: 
CTDT_ChuongTrinhDaoTao 
ID: 1 
Contract ID: 1 Programmer: Trần Minh Trí Date:3/8/2010 
Programming language: 
  Visual Basic   C++ C#   Java 
Trigegers/Event: 
Khi người quản lý chương trình đào tạo chọn chức năng thêm mới chương trình đào tạo. 
Arguments received: 
 Data type: 
Note: 
CTDT_MaChuongTrinh 
VA 
VA: Variable characters 
CTDT_SoTinChi 
I 
I: Integer 
CTDT_NamDaoTao 
D 
D: Date 
Messages sent & Arguments 
Passed: 
ClassName.MethodName: 
Data type: 
Notes: 
Đề tài: Quản lý chương trình đào tạo GVHD: ThS. Trương Minh Thái 
Nhóm 2 – DH8TH Trang 210 
CTDT_MaChuongTrinh VA VA: Variable characters 
CTDT_SoTinChi I Interger 
CTDT_NAMDaoTao D D:Date 
Arguments returrn: 
Kiểu Boolean: True / False 
Data type Notes 
Algorithm Specification: 
Đề tài: Quản lý chương trình đào tạo GVHD: ThS. Trương Minh Thái 
Nhóm 2 – DH8TH Trang 211 
Hình : Sơ đồ activity thực hiện phương thức thêm Chương trình đào tạo 
Misc Notes: 
 Nếu trường hợp các hoạt động của tiến trình bị ngưng (do ngắt điện, máy treo) thì 
hệ thống sẽ không thực hiện giao dịch 
IV.4.1.2. Phương thức update CTDT 
Đề tài: Quản lý chương trình đào tạo GVHD: ThS. Trương Minh Thái 
Nhóm 2 – DH8TH Trang 212 
 Contract Format 
Method name: 
UpdataCTDT 
Class name: 
CTDT_ChuongTrinhDaoTa 
ID: 2 
Clients(Consumers): 
Lớp CTDT_ChuongTrinhDaoTao và người quản lý chương trình đào tạo. 
Các phương thức gọi (hàm này) 
Thực hiện câu lệnh SQL UPDATE ChuongTrinhDaoTao SET 
MaChuongTrinh =...... where MaChuongTrinh=maCTDT 
Thực hiện SQL conmand 
Thực thi bool ketqua = excutenonequery (Conmand) 
Làm tươi form RefeshForm() 
Associated use case: 
(Chức năng của usecase tương ứng) 
Usecase sửa chương trình đào tạo 
Description of Responsibilities: (công dụng) 
Khi có yêu cầu cần sửa 1 chương trình đào tạo mới vào hệ thống thì chức năng 
này được thực hiện 
Argument received: 
Tham số nhận : giá trị người dùng phải nhận 
Type of value returned: 
Tham số trả về (giá trị trả về thành công hay ko true or false) 
Pre-conditions: 
 Mã CTDT phải là 9 kí tự 
 Tên CTDT không vượt quá 50 kí tự 
 Không nhập vào các kí tự đặt biệt 
 Mã không được trùng lắp 
 Số tín chỉ phải là kiểu số 
 Số tín chỉ không vượt quá 50 tín chỉ 
Đề tài: Quản lý chương trình đào tạo GVHD: ThS. Trương Minh Thái 
Nhóm 2 – DH8TH Trang 213 
Mã CTDT, Tên CTDT, Số tín chỉ không được null 
Post-conditions:Hậu điều kiên 
 Trong suốt tiến trình thực hiện nếu mẫu tin không được tạo ra thì thông 
báo không hoàn thành thêm vào 
Nếu trường hợp dữ liệu bị trùng thì cũng không thực hiện và thông báo lỗi 
Method Specification ChuongTrinhDaoTao() 
Method name: 
UpdateCTDT 
Class name: 
CTDT_ChuongTrinhDaoTao 
ID: 1 
Contract ID: 2 Programmer: Trần Minh Trí Date:3/8/2010 
Programming language: 
  Visual Basic   C++ C#   Java 
Trigegers/Event 
Khi người quản lý chương trình đào tạo chọn chức năng sửa 1 chương trình đào tạo. 
Arguments received: 
 Data type: 
Note: 
CTDT_MaChuongTrinh VA VA: Variable characters 
CTDT_TenChuongTrinh VA VA: Variable characters 
CTDT_SoTinChi I I: Interger 
CTDT_NamDaoTao D D:Date 
Messages sent & Arguments 
Passed: 
ClassName.MethodName: 
Data type: 
Notes: 
CTDT_MaChuongTrinh VA VA: Variable characters 
Đề tài: Quản lý chương trình đào tạo GVHD: ThS. Trương Minh Thái 
Nhóm 2 – DH8TH Trang 214 
CTDT_TenChuongTrinh VA VA: Variable characters 
CTDT_SoTinChi I I:Interger 
CTDT_NamDaoTao D D:Date 
Arguments returrn: 
 void 
Data type Notes 
Algorithm Specification 
Hình : Sơ đồ activity thực hiện phương thức sửa Chương trình đào tạo 
Đề tài: Quản lý chương trình đào tạo GVHD: ThS. Trương Minh Thái 
Nhóm 2 – DH8TH Trang 215 
Misc Notes: 
Nếu trường hợp các hoạt động của tiến trình bị ngưng (do ngắt điện, máy treo) thì hệ thống 
sẽ không thực hiện giao dịch 
Đề tài: Quản lý chương trình đào tạo GVHD: ThS. Trương Minh Thái 
Nhóm 2 – DH8TH Trang 216 
IV.4.1.3. Phương thức xóa CTDT 
 Contract Format 
Đề tài: Quản lý chương trình đào tạo GVHD: ThS. Trương Minh Thái 
Nhóm 2 – DH8TH Trang 217 
 Method Specification 
Method name: 
XoaCTDT(maCTDT) 
Class name: 
CTDT_ChuongTrinhDaoTao 
ID: 3 
Clients(Consumers): 
Clients: ChiTietDangKyCTDT, ChiTietMonHoc, BangTotNghiep 
Consumer : Nguoi QL CTDT 
Associated use case: Tìm Kiếm CTĐT, Quản Lý Môn Học, Cập nhật trạng thái đăng ký 
Description of Responsibilities: 
Khi có yêu cầu cần xóa chương trình đào tạo trong hệ thống thì chức năng này được 
thực hiện. 
Argument received: CTDT_TEN, CTDT_MA, CTDT_SOTC 
Type of value returned: 
Giá trị trả về : Xóa thành công 
Pre-conditions: 
 Mã CTDT phải là 9 kí tự 
 Tên CTDT không vượt quá 50 kí tự 
 Không nhập vào các kí tự đặt biệt 
 Mã không được trùng lắp 
 Số tín chỉ phải là kiểu số 
 Số tín chỉ không vượt quá 50 tín chỉ 
Mã CTDT, Tên CTDT, Số tín chỉ không được null 
Post-conditions: 
Thực hiện Xóa CTĐT xong phải tiến hành cập nhật lại để dữ liệu biến mất khỏi cơ sở dữ liệu. 
Đề tài: Quản lý chương trình đào tạo GVHD: ThS. Trương Minh Thái 
Nhóm 2 – DH8TH Trang 218 
Method name: 
XoaCTDT(maCTDT) 
Class name: 
CTDT_ChuongTrinhDaoTao 
ID:1 
Contract ID: 3 Programmer: Phan Thanh Tuấn Date:4/8/2010 
Programming language: 
  Visual Basic   C++ C#   Java 
Trigegers/Event: 
Khi người dùng chọn chức năng xóa chương trình đào tạo. 
Arguments received: 
Data type: 
Note: 
CTDT_TEN VA VA: Variable characters 
CTDT_MA VA VA: Variable characters 
CTDT_SOTC I I: Integer 
Messages sent & Arguments 
Passed: 
ClassName.MethodName: 
Data type: 
Notes: 
CTDT_MA VA VA: Variable characters 
CTDT_MA VA VA: Variable characters 
CTDT_SOTC I I: Integer 
Arguments returrn: Data type Notes 
True Bool Xóa thành công 
Table DataTable Bảng 
Đề tài: Quản lý chương trình đào tạo GVHD: ThS. Trương Minh Thái 
Nhóm 2 – DH8TH Trang 219 
Algorithm Specification 
Hình : Sơ đồ activity thực hiện phương thức Xóa Chương trình đào tạo 
Misc Notes: 
 Xóa mà không cập nhật cơ sở dữ liệu vẫn không bị mất 
IV.4.1.4. Phương thức Search CTDT 
Đề tài: Quản lý chương trình đào tạo GVHD: ThS. Trương Minh Thái 
Nhóm 2 – DH8TH Trang 220 
 Contract Format 
Method name: 
SearchCTDT(maCTDT,tenCTDT) 
Class name: 
CTDT_ChuongTrinhDaoTao 
ID: 4 
Clients(Consumers): 
Clients: ChiTietDangKyCTDT, ChiTietMonHoc, BangTotNghiep 
Consumer : Nguoi QL CTDT 
Associated use case: Tìm Kiếm CTĐT, Quản Lý Môn Học, Cập nhật trạng thái đăng 
ký 
Description of Responsibilities: 
Khi có yêu cầu cần tìm kiếm CTDT thì chức năng này sẽ được sử dụng. 
Argument received: CTDT_TEN, CTDT_MA, CTDT_SOTC 
Type of value returned: 
Giá trị trả về : True ( Tìm kiếm thành công) 
Pre-conditions: 
 Mã CTDT phải là 9 kí tự 
 Tên CTDT không vượt quá 50 kí tự 
 Không nhập vào các kí tự đặt biệt 
 Mã không được trùng lắp 
 Số tín chỉ phải là kiểu số 
 Số tín chỉ không vượt quá 50 tín chỉ 
Mã CTDT, Tên CTDT, Số tín chỉ không được null 
Post-conditions: Không có 
 Method Specification 
Method name: 
SearchCTDT(maCTDT) 
Class name: 
CTDT_ChuongTrinhDaoTao 
ID: 1 
Đề tài: Quản lý chương trình đào tạo GVHD: ThS. Trương Minh Thái 
Nhóm 2 – DH8TH Trang 221 
Contract ID: 4 Programmer: Phan Thanh Tuấn Date:4/8/2010 
Programming language: 
  Visual Basic   C++ C#   Java 
Trigegers/Event: Khi người dùng chọn chức năng cập nhật chương trình đào tạo. 
Arguments received: 
 Data type: 
Note: 
CTDT_TEN 
VA 
VA: Variable characters 
CTDT_MA 
VA 
VA: Variable characters 
CTDT_SOTC 
I 
I: Integer 
Messages sent & Arguments 
Passed: 
ClassName.MethodName: 
Data type: 
Notes: 
CTDT_TEN VA VA: Variable 
characters 
CTDT_MA VA VA: Variable 
characters 
CTDT_SOTC I Interger 
Arguments returrn: Data type Notes 
True Bool Tìm kiếm thành công 
void 
Algorithm Specification: 
Đề tài: Quản lý chương trình đào tạo GVHD: ThS. Trương Minh Thái 
Nhóm 2 – DH8TH Trang 222 
Hình : Sơ đồ activity thực hiện phương thức tìm kiếm Chương trình đào tạo 
Misc Notes: Nếu trường hợp các hoạt động của tiến trình bị ngưng (do ngắt điện, 
máy treo) thì hệ thống sẽ không thực hiện giao dịch 
Đề tài: Quản lý chương trình đào tạo GVHD: ThS. Trương Minh Thái 
Nhóm 2 – DH8TH Trang 223 
IV.4.2. Lớptrạng thái 
 Front (mặt trước của thẻ): 
Class name: (TT) Trạng thái ID: 2 Type:(concrete/Domain) 
Description: 
Chứa các thông tin về trạng thái 
hiện tại của sinh viên 
Associated use cases: 
Chương trình đào tạo Sinh viên 
Responsibilities 
(Trách nhiệm/chức năng của class) 
Collaborators 
(Các lớp cộng tác/liên quan) 
1.Sửa trạng thái 1.1 CTDT_Chương trình đào tạo 
1.2 CTDT _Sinh viên 
2.Xoá trạng thái 2.1 CTDT_Chương trình đào tạo 
2.2 CTDT _Sinh viên 
3. Tìm kiếm trạng thái 3.1 CTDT _Sinh viên 
4. Load trạng thái 
Đề tài: Quản lý chương trình đào tạo GVHD: ThS. Trương Minh Thái 
Nhóm 2 – DH8TH Trang 224 
 
 Back (mặt sau của thẻ): 
Attributes 
1.TT_MATT 
2.TT_TENTT 
Relationships(Các mối quan hệ với lớp) 
 +Generalization (akindof) (Tổng quát hóa) 
1. CTDT_SinhVien 
 +Aggregation (a part of) (Tổng hợp/thu nạp) 
1. CTDT_SinhVien 
 +Other Associations (Những kết hợp khác liên quan đến lớp) 
1. CTDT_SinhVien 
2. CTDT_ChuongTrinhDaoTao 
IV.4.2.1. Phương thức sửa trạng thái 
 Contract Format 
Method name: 
SuaTrangThai() 
Class name: 
CTDT_TrangThai 
ID: 1 
Clients(Consumers): 
Lớp TT_TrangThai và người quản lý chương trình đào tạo. 
Các phương thức gọi (hàm này) 
Adapter.Update() 
Làm tươi RefeshForm() 
Associated use case: 
Use case SuaTrangThai 
Description of Responsibilities: 
Đề tài: Quản lý chương trình đào tạo GVHD: ThS. Trương Minh Thái 
Nhóm 2 – DH8TH Trang 225 
Khi có yêu cầu sửa một trạng thái thì chức năng này được sử dụng đến 
Argument received: 
Tham số nhận : giá trị người dùng phải nhận 
Type of value returned: 
Tham số trả về (giá trị trả về thành công hay ko true or false) 
Pre-conditions: 
 Mã TT phải là 9 kí tự 
 Tên TT không vượt quá 50 kí tự 
 Không nhập vào các kí tự đặt biệt 
 Mã không được trùng lắp 
Post-conditions: 
 Trong suốt quá trình thực hiện nếu trạng thái không sửa được thì thông báo 
lỗi 
 Nếu dữ liệu bị trùng thì cũng không thực hiện và thông báo lỗi 
 Method Specification 
Method name: 
SuaTrangThai 
Class name: 
CTDT_TrangThai 
ID: 1 
Contract ID: 1 Programmer: Nguyễn Minh Giang Date:4/8/2010 
Programming language: 
  Visual Basic   C++ C#   Java 
Trigegers/Event 
Khi người dùng chọn chức năng sửa trạng thái. 
Arguments received: 
 Data type: 
Note: 
Đề tài: Quản lý chương trình đào tạo GVHD: ThS. Trương Minh Thái 
Nhóm 2 – DH8TH Trang 226 
TT_MaTT S S:String 
TT_TenTT S S:String 
Messages sent & Arguments Passed: 
ClassName.MethodName: 
Data type: 
Notes: 
TT_MaTT S S:String 
TT_TenTT S S:String 
Arguments returrn: 
 Data type: 
Note: 
Algorithm Specification 
Đề tài: Quản lý chương trình đào tạo GVHD: ThS. Trương Minh Thái 
Nhóm 2 – DH8TH Trang 227 
Hình : Sơ đồ hoạt động của chức năng sửa trạng thái 
Misc Notes: 
Nếu trong suốt quá trình thực hiện nếu máy xảy ra sự cố do ngắt điện, máy treo) thì hệ 
thống sẽ không thực hiện các giao dịch 
Đề tài: Quản lý chương trình đào tạo GVHD: ThS. Trương Minh Thái 
Nhóm 2 – DH8TH Trang 228 
IV.4.2.2. Phương thức xóa trạng thái 
 Contract Format 
Method name: 
XoaTrangThai() 
Class name: 
CTDT_TrangThai 
ID: 2 
Clients(Consumers): 
Lớp TT_TrangThai và người quản lý chương trình đào tạo. 
Các phương thức gọi (hàm này) 
Câu lệnh SQL delete into TrangThai values(…) 
Câu lệnh conmand() 
Thực thi bool Ketqua = excutenonequery(conmand) 
Làm tươi RefeshForm() 
Associated use case: 
(Chức năng của usecase tương ứng) 
Usecase XoaTrangThai 
Description of Responsibilities: (công dụng) 
Khi có yêu cầu xóa một trạng thái thì chức năng này được sử dụng đến 
Argument received: 
Tham số nhận : giá trị người dùng phải nhận 
Type of value returned: 
Tham số trả về (giá trị trả về thành công hay ko true or false) 
Pre-conditions: 
 Mã TT phải là 9 kí tự 
 Tên TT không vượt quá 50 kí tự 
 Mã TT xóa phải tồn tại 
Post-conditions: 
Đề tài: Quản lý chương trình đào tạo GVHD: ThS. Trương Minh Thái 
Nhóm 2 – DH8TH Trang 229 
 Trong suốt quá trình xóa trạng thái nếu xóa không được phải thông báo lỗi 
 Method Specification 
Method name: 
XoaTrangThai 
Class name: 
CTDT_TrangThai 
ID: 2 
Contract ID:2 Programmer: Nguyễn Minh Giang Date:4/8/2010 
Programming language: 
  Visual Basic   C++ C#   Java 
Trigegers/Event 
Khi người dùng chọn chức năng xóa trạng thái. 
Arguments received: 
 Data type: 
Note: 
TT_MaTT S S:String 
TT_TenTT S S:String 
Messages sent & Arguments 
Passed: 
ClassName.MethodName: 
Data type: 
Notes: 
TT_MaTT S S:String 
TT_TenTT S S:String 
Arguments returrn: 
 Data type: 
Note: 
Algorithm Specification 
Đề tài: Quản lý chương trình đào tạo GVHD: ThS. Trương Minh Thái 
Nhóm 2 – DH8TH Trang 230 
Hình : Sơ đồ hoạt động của chức năng xóa trạng thái 
Misc Notes: 
Nếu trong suốt quá trình thực hiện nếu máy xảy ra sự cố do ngắt điện, máy treo) thì hệ 
thống sẽ không thực hiện các giao dịch 
Đề tài: Quản lý chương trình đào tạo GVHD: ThS. Trương Minh Thái 
Nhóm 2 – DH8TH Trang 231 
IV.4.2.3. Phương thức tìm kiếm 
 Contract Format 
Method name: 
TimkiemTrangThai() 
Class name: 
CTDT_TrangThai 
ID: 3 
Clients(Consumers): 
Lớp TT_TrangThai và người quản lý chương trình đào tạo. 
Các phương thức gọi (hàm này) 
Câu lệnh SQL select value from TrangThai; 
Câu lệnh conmand() 
Thực thi bool Ketqua = excutenonequery(conmand) 
Làm tươi RefeshForm() 
Associated use case: 
(Chức năng của usecase tương ứng) 
Usecase TimKiemTrangThai 
Description of Responsibilities: (công dụng) 
Khi có yêu cầu tìm kiếm một trạng thái thì chức năng này được sử dụng đến 
Argument received: 
Tham số nhận : giá trị người dùng phải nhận 
Type of value returned: 
Tham số trả về (giá trị trả về thành công hay ko true or false) 
Pre-conditions: 
 Mã TT phải là 9 kí tự 
 Tên TT không vượt quá 50 kí tự 
 Không nhập vào các kí tự đặt biệt 
Post-conditions: 
 Trong suốt quá trình thực hiện nếu không tìm kiếm thấy thông tin trạng thái 
cần tìm thì thông báo không tìm thấy 
Đề tài: Quản lý chương trình đào tạo GVHD: ThS. Trương Minh Thái 
Nhóm 2 – DH8TH Trang 232 
 Method Specification 
Method name: 
TimKiemTrangThai 
Class name: 
 CTDT_TrangThai 
ID:2 
Contract ID: 3 Programmer: Nguyển Thị Thúy 
Kiều 
Date:4/8/2010 
Programming language: 
  Visual Basic   C++  C#   Java 
Trigegers/Event 
Khi người dùng chọn chức năng sửa trạng thái. 
Arguments received: 
 Data type: 
Note: 
TT_MaTT S S:String 
TT_TenTT S S:String 
Messages sent & Arguments 
Passed: 
ClassName.MethodName: 
Data type: 
Notes: 
TT_MaTT S S:String 
TT_TenTT S S:String 
Arguments returrn: 
Đề tài: Quản lý chương trình đào tạo GVHD: ThS. Trương Minh Thái 
Nhóm 2 – DH8TH Trang 233 
 True or false Data 
type: 
Note: 
Algorithm Specification 
Hình : Sơ đồ hoạt động của chức năng tìm kiếm trạng thái 
Đề tài: Quản lý chương trình đào tạo GVHD: ThS. Trương Minh Thái 
Nhóm 2 – DH8TH Trang 234 
Misc Notes: 
Nếu trong suốt quá trình thực hiện nếu máy xảy ra sự cố do ngắt điện, máy treo) thì hệ 
thống sẽ không thực hiện các giao dịch 
IV.4.2.4. Phương thức LoadTrangThai 
 Contract Format 
Method name: 
LoadTrangThai() 
Class name: 
CTDT_TrangThai 
ID: 4 
Clients(Consumers): 
Lớp nào gọi đến nó và ai sử dụng phương thức này. 
Các phương thức gọi (hàm này) 
Associated use case: 
(Chức năng của usecase tương ứng) 
Use case LoadTrangThai 
Description of Responsibilities: (công dụng) 
Khi có yêu cầu load toàn bộ trạng thái thì chức năng này được sử dụng đến 
Argument received: 
Tham số nhận : giá trị người dùng phải nhận 
Type of value returned: 
Tham số trả về (giá trị trả về thành công hay ko true or false) 
Pre-conditions: 
Không có 
Post-conditions: 
 Trong suốt quá trình thực hiện nếu không thể load dữ liệu được thì thông báo 
lỗi 
Đề tài: Quản lý chương trình đào tạo GVHD: ThS. Trương Minh Thái 
Nhóm 2 – DH8TH Trang 235 
 Method Specification 
Method name: 
LoadTrangThai 
Class name: 
CTDT_TrangThai 
ID: 2 
Contract ID: 4 Programmer: Nguyễn Thị Thúy 
Kiều 
Date:4/8/2010 
Programming language: 
  Visual Basic   C++  C#   Java 
Trigegers/Event 
Khi người dùng chọn chức năng Load trạng thái. 
Arguments received: 
 Data type: 
Note: 
TT_MaTT S S:String 
TT_TenTT S S:String 
Messages sent & Arguments 
Passed: 
ClassName.MethodName: 
Data type: 
Notes: 
TT_MaTT S S:String 
TT_TenTT S S:String 
Arguments returrn: 
 Data type: 
Note: 
Algorithm Specification 
Đề tài: Quản lý chương trình đào tạo GVHD: ThS. Trương Minh Thái 
Nhóm 2 – DH8TH Trang 236 
Hình : Sơ đồ hoạt động của chức năng Load trạng thái 
Misc Notes: 
Nếu trong suốt quá trình thực hiện nếu máy xảy ra sự cố do ngắt điện, máy treo) thì hệ 
thống sẽ không thực hiện các giao dịch 
Đề tài: Quản lý chương trình đào tạo GVHD: ThS. Trương Minh Thái 
Nhóm 2 – DH8TH Trang 237 
IV.4.3. Lớp Sinh Viên 
 Front (mặt trước của thẻ): 
Class name: 
SV_SinhVien 
ID: 3 Typeconcrete/Domain) 
Description: 
Chứa các thông tin cá nhân của 
sinh viên. 
Associated use cases: quản lý sinh viên, tìm 
kiếm sinh viên 
Responsibilities 
(Trách nhiệm/chức năng của class) 
Collaborators 
(Các lớp cộng tác/liên quan) 
1.Thêm mới sinh viên 1.1 User_NguoiDungHeThong 
1.2 CTDK_ChiTietDangKyCTDT 
1.3 KHL_KhoaHuanLuyen 
1.4 TT_TrangThai 
2.Sửa thông tin sinh viên 2.1 User_NguoiDungHeThong 
3.Xoá sinh viên 3.1 TT_TrangThai 
3.2 User_NguoiDungHeThong 
3.3 CTDT_ChuongTrinhDaoTao 
3.4 KQ_ThongTinKetQua 
4. Tìm kiếm sinh viên 4.1 KHL_KhoaHuanLuyen 
4.2 KQ_ThongTinKetQua 
4.3 CTDK_ChiTietDangKyCTDT 
4.4 TN_BangTotNghiep 
4.5 TT_TrangThai 
Đề tài: Quản lý chương trình đào tạo GVHD: ThS. Trương Minh Thái 
Nhóm 2 – DH8TH Trang 238 
 
 Back (mặt sau của thẻ): 
Attributes (Các thuộc tính của lớp) 
1.CTDT_MASV 
2. CTDT _TENSV 
3. CTDT _LOP 
4. CTDT _KHOA 
5. CTDT _CMND 
6. CTDT _NAMSINH 
7. CTDT _DIACHI 
8. CTDT _GIOITINH 
Relationships(Các mối quan hệ với lớp) 
 +Generalization (akindof) (Tổng quát hóa 
1. User_NguoiDungHeThong 
 +Aggregation (a part of) (Tổng hợp/thu nạp 
1. User_NguoiDungHeThong 
 +Other Associations (Những kết hợp khác liên quan đến lớp) 
1. CTDT _KhoaHuanLuyen 
2. CTDT_ChuongTrinhDaoTao 
4. CTDT _ChiTietDangKyCTDT 
5. CTDT _ThongTinKetQua 
IV.4.1.1. Phương thức cập nhật sinh viên 
 Contract Format 
Method name: 
CapNhatSV() 
Class name: 
 CTDT_SinhVien 
ID: 1 
Đề tài: Quản lý chương trình đào tạo GVHD: ThS. Trương Minh Thái 
Nhóm 2 – DH8TH Trang 239 
Clients(Consumers): 
Lớp SV_SinhVien, người quản trị hệ thống, sinh viên 
Các phương thức gọi (hàm này) 
Câu lệnh SQL UPDATE SINHVIEN SET TenSV=tensv,…. 
Câu lệnh command 
Bool CapNhatSV() 
Làm tươi form 
Associated use case: 
(Chức năng của usecase tương ứng) 
Usecase quản lý sinh viên, cập nhật thông tin sinh viên 
Description of Responsibilities: (công dụng) 
Khi có yêu cầu cần chỉnh sửa 1 sinh viên của hệ thống thì chức năng này được 
thực hiện 
Argument received: 
Tham số nhận : Mã sinh viên, tên sinh viên, email, ngày sinh 
Type of value returned: 
Tham số trả về (giá trị trả về thành công hay ko true or false) 
Pre-conditions: 
 Mã sinh viên phải là 9 kí tự 
 Tên sinh viên không quá 50 kí tự 
 Không nhập vào các kí tự đặc biệt 
 Mã sinh viên không được trùng lắp 
 Email phải có dạng 
[email protected] 
 Ngày sinh phải có dạng DateTime 
 Mã sinh viên và tên sinh viên không được phép null 
Post-conditions: 
 Trong suốt quá trình thực hiện nếu mẫu tin không cập nhât được thì thông báo 
không hoàn thành được thêm vào 
 Nếu cập nhật mẫu tin mà lần cập nhật đó bị trùng thì cũng không thực hiện 
được và báo lỗi. 
Đề tài: Quản lý chương trình đào tạo GVHD: ThS. Trương Minh Thái 
Nhóm 2 – DH8TH Trang 240 
 Method Specification 
Method name: 
CapNhatSV 
Class name: 
CTDT_SinhVien 
ID: 3 
Contract ID: 1 Programmer: Trần 
Nguyễn Khánh An 
Date:4/8/2010 
Programming language: 
  Visual Basic   C++   C#  Java 
Trigegers/Event 
Khi người dùng chọn chức năng sửa sinh viên 
Arguments received: 
 Data type: 
Note: 
SV_MaSV VA VA: Variable characters 
SV_TenSV VA VA: Variable characters 
SV_Email VA VA: Variable characters 
SV_NgaySinh D D:Date 
Messages sent & Arguments Passed: 
ClassName.MethodName: 
Data type: 
Notes: 
SV_MaSV VA VA: Variable 
characters 
SV_TenSV VA VA: Variable 
characters 
SV_Email VA VA: Variable 
characters 
SV_NgaySinh D D:Date 
Đề tài: Quản lý chương trình đào tạo GVHD: ThS. Trương Minh Thái 
Nhóm 2 – DH8TH Trang 241 
Arguments returrn: 
 True or false Data type: 
Note: 
Algorithm Specification 
Đề tài: Quản lý chương trình đào tạo GVHD: ThS. Trương Minh Thái 
Nhóm 2 – DH8TH Trang 242 
Hình : Sơ đồ hoạt động của chức năng cập nhật sinh viên 
Misc Notes: 
Các ghi chú ngoại lệ 
 Nếu trường hợp các hoạt động của tiến trình bị ngưng (do ngắt điện, máy treo) thì 
hệ thống sẽ không thực hiện giao dịch 
Đề tài: Quản lý chương trình đào tạo GVHD: ThS. Trương Minh Thái 
Nhóm 2 – DH8TH Trang 243 
IV.4.1.2. Lấy dữ liệu sinh viên 
 Contract Format 
Method name: 
LayDuLieuSV() 
Class name: 
CTDT_SinhVien 
ID:2 
Clients(Consumers): 
Lớp SV_SinhVien, người quản trị hệ thống, sinh viên,giáo viên,người quản lý 
CTDT 
Các phương thức gọi (hàm này) 
Câu lệnh SQL SELECT * FROM SINHVIEN 
Câu lệnh command 
DataAdapter.Fill(this) 
Associated use case: 
(Chức năng của usecase tương ứng) 
Usecase quản lý sinh viên, In danh sách sinh viên 
Description of Responsibilities: (công dụng) 
Khi có yêu cầu cần lấy tất cả thông tin của tất cả sinh viên thì chức năng này sẽ 
được bật lên 
Argument received: 
Tham số nhận 
Type of value returned: 
Tham số trả về (giá trị trả về thành công hay ko true or false) 
Pre-conditions: 
 Có dữ liệu trong bảng sinh viên 
Post-conditions: 
Hậu điều kiên 
Đề tài: Quản lý chương trình đào tạo GVHD: ThS. Trương Minh Thái 
Nhóm 2 – DH8TH Trang 244 
 Method Specification 
Method name: 
LayDuLieuSV 
Class name: 
CTDT_SinhVien 
ID: 3 
Contract ID: 2 Programmer: Trần 
Nguyễn Khánh An 
Date:4/8/2010 
Programming language: 
  Visual Basic   C++  C#   Java 
Trigegers/Event 
Khi người dùng chọn chức năng sửa sinh viên 
Arguments received: 
 Data type: 
Note: 
Messages sent & Arguments Passed: 
ClassName.MethodName: 
Data type: 
Notes: 
Arguments returrn: 
 True or false Data type: 
Note: 
Algorithm Specification 
Đề tài: Quản lý chương trình đào tạo GVHD: ThS. Trương Minh Thái 
Nhóm 2 – DH8TH Trang 245 
Hình : Sơ đồ hoạt động của chức năng lấy dữ liệu sinh viên 
Misc Notes: 
Các ghi chú ngoại lệ 
 Nếu trường hợp các hoạt động của tiến trình bị ngưng (do ngắt điện, máy treo) thì 
hệ thống sẽ không thực hiện 
Đề tài: Quản lý chương trình đào tạo GVHD: ThS. Trương Minh Thái 
Nhóm 2 – DH8TH Trang 246 
IV.4.1.3. Phương thức thêm sinh viên 
 Contract Format 
Method name: 
ThemSV() 
Class name: 
CTDT_SinhVien 
ID: 3 
Clients(Consumers): 
Lớp SV_SinhVien, người quản trị hệ thống, sinh viên 
Các phương thức gọi (hàm này) 
Câu lệnh SQL INSERT INTO SINHVIEN (…..) VALUES (…..) 
Câu lệnh command 
Bool CapNhatSV() 
Refresh( ) 
Associated use case: 
(Chức năng của usecase tương ứng) 
Usecase quản lý sinh viên, thêm thông tin sinh viên 
Description of Responsibilities: (công dụng) 
Khi có yêu cầu cần thêm thông tin sinh viên thì chức năng này được thực hiện 
Argument received: 
Tham số nhận : Mã sinh viên, tên sinh viên, địa chỉ, email, trạng thái 
Type of value returned: 
Tham số trả về (giá trị trả về thành công hay ko true or false) 
Pre-conditions: 
 Mã sinh viên phải là 9 kí tự 
 Tên sinh viên không quá 50 kí tự 
 Không nhập vào các kí tự đặc biệt 
 Mã sinh viên không được trùng lắp 
 Email phải có dạng 
[email protected] 
 Trạng thái phải là số và không được null 
 Mã sinh viên và tên sinh viên không được phép null 
Đề tài: Quản lý chương trình đào tạo GVHD: ThS. Trương Minh Thái 
Nhóm 2 – DH8TH Trang 247 
Post-conditions: 
 Trong suốt quá trình thực hiện nếu mẫu tin không cập nhât được thì thông báo 
không hoàn thành được thêm vào 
 Nếu thêm mẫu tin mà lần cập nhật đó bị trùng thì cũng không thực hiện được 
và báo lỗi. 
 Method Specification 
Method name: 
ThemSV 
Class name: 
CTDT_SinhVien 
ID: 3 
Contract ID: 3 Programmer: Nguyễn 
Công Lý 
Date:4/8/2010 
Programming language: 
  Visual Basic   C++ C#   Java 
Trigegers/Event 
Khi người dùng chọn chức năng thêm sinh viên 
Arguments received: 
 Data type: 
Note: 
SV_MaSV VA VA: Variable characters 
SV_TenSV VA VA: Variable characters 
SV_Email VA VA: Variable characters 
SV_TrangThai VA VA: Variable characters 
Messages sent & Arguments Passed: 
ClassName.MethodName: 
Data type: 
Notes: 
SV_MaSV VA VA: Variable 
characters 
Đề tài: Quản lý chương trình đào tạo GVHD: ThS. Trương Minh Thái 
Nhóm 2 – DH8TH Trang 248 
SV_TenSV VA VA: Variable 
characters 
SV_Email VA VA: Variable 
characters 
SV_TrangThai VA VA: Variable 
characters 
Arguments returrn: 
 True or false Data type: 
Note: 
Algorithm Specification 
Đề tài: Quản lý chương trình đào tạo GVHD: ThS. Trương Minh Thái 
Nhóm 2 – DH8TH Trang 249 
Hình : Sơ đồ hoạt động của chức năng thêm sinh viên 
Misc Notes: 
Các ghi chú ngoại lệ 
 Nếu trường hợp các hoạt động của tiến trình bị ngưng (do ngắt điện, máy treo) thì 
hệ thống sẽ không thực hiện giao dịch 
Đề tài: Quản lý chương trình đào tạo GVHD: ThS. Trương Minh Thái 
Nhóm 2 – DH8TH Trang 250 
IV.4.1.4. Phương thức tìm kiếm sinh viên 
 Contract Format 
Method name: 
TimKiemSV() 
Class name: 
CTDT_SinhVien 
ID: 4 
Clients(Consumers): 
Lớp SV_SinhVien, người quản trị hệ thống, sinh viên, người quản lý chương 
trình đào tạo 
Các phương thức gọi (hàm này) 
Câu lệnh SQL SELECT * FROM SINHVIEN WHERE …. 
Câu lệnh command 
Bool TimKiemSV() 
Refresh( ) 
Associated use case: 
(Chức năng của usecase tương ứng) 
Usecase quản lý sinh viên, tìm kiếm thông tin sinh viên 
Description of Responsibilities: (công dụng) 
Khi có yêu cầu cần tìm kiếm thông tin sinh viên thì chức năng này được thực 
hiện 
Argument received: 
Tham số nhận : Mã sinh viên, tên sinh viên, địa chỉ, email, trạng thái 
Type of value returned: 
Tham số trả về (giá trị trả về thành công hay ko true or false) 
Pre-conditions: 
 Mã sinh viên phải là 9 kí tự 
 Tên sinh viên không quá 50 kí tự 
 Không nhập vào các kí tự đặc biệt 
 Mã sinh viên không được trùng lắp 
 Email phải có dạng 
[email protected] 
Đề tài: Quản lý chương trình đào tạo GVHD: ThS. Trương Minh Thái 
Nhóm 2 – DH8TH Trang 251 
 Trạng thái phải là số và không được null 
 Mã sinh viên và tên sinh viên không được phép null 
Post-conditions: 
 Trong suốt quá trình thực hiện nếu mẫu tin không thực thi được thì thông báo 
không hoàn thành. 
 Method Specification 
Method name: 
 TimKiemSV 
Class name: 
CTDT_SinhVien 
ID:3 
Contract ID: 4 Programmer: Nguyễn 
Công Lý 
Date:4/8/2010 
Programming language: 
  Visual Basic   C++ C#   Java 
Trigegers/Event 
Khi người dùng chọn chức năng tìm kiếm sinh viên 
Arguments received: 
 Data type: 
Note: 
SV_MaSV VA VA: Variable characters 
SV_TenSV VA VA: Variable characters 
SV_Email VA VA: Variable characters 
SV_TrangThai VA VA: Variable characters 
Messages sent & Arguments Passed: 
ClassName.MethodName: 
Data type: 
Notes: 
SV_MaSV VA VA: Variable 
characters 
Đề tài: Quản lý chương trình đào tạo GVHD: ThS. Trương Minh Thái 
Nhóm 2 – DH8TH Trang 252 
SV_TenSV VA VA: Variable 
characters 
SV_Email VA VA: Variable 
characters 
SV_TrangThai VA VA: Variable 
characters 
Arguments returrn: 
 True or false Data type: 
Note: 
Algorithm Specification 
Hình : Sơ đồ hoạt động của chức năng tìm kiếm sinh viên 
Đề tài: Quản lý chương trình đào tạo GVHD: ThS. Trương Minh Thái 
Nhóm 2 – DH8TH Trang 253 
Misc Notes: 
Các ghi chú ngoại lệ 
 Nếu trường hợp các hoạt động của tiến trình bị ngưng (do ngắt điện, máy treo) thì 
hệ thống sẽ không thực hiện giao dịch 
IV.4.1.5. Phương thức xóa sinh viên 
 Contract Format 
Method name: 
XoaSV() 
Class name: 
CTDT_SinhVien 
ID: 5 
Clients(Consumers): 
Lớp SV_SinhVien, người quản trị hệ thống, sinh viên, người quản lý chương 
trình đào tạo 
Các phương thức gọi (hàm này) 
Câu lệnh SQL DELETE FROM SINHVIEN WHERE …. 
Câu lệnh command 
Bool XoaSV() 
Refresh( ) 
Associated use case: 
(Chức năng của usecase tương ứng) 
Usecase quản lý sinh viên, xóa sinh viên 
Description of Responsibilities: (công dụng) 
Khi có yêu cầu cần xóa thông tin sinh viên thì chức năng này được thực hiện 
Argument received: 
Tham số nhận : Mã sinh viên, tên sinh viên, địa chỉ, email, trạng thái 
Đề tài: Quản lý chương trình đào tạo GVHD: ThS. Trương Minh Thái 
Nhóm 2 – DH8TH Trang 254 
Type of value returned: 
Tham số trả về (giá trị trả về thành công hay ko true or false) 
Pre-conditions: 
 Mã sinh viên phải là 9 kí tự 
 Tên sinh viên không quá 50 kí tự 
 Không nhập vào các kí tự đặc biệt 
 Mã sinh viên không được trùng lắp 
 Email phải có dạng 
[email protected] 
 Trạng thái phải là số và không được null 
 Mã sinh viên và tên sinh viên không được phép null 
Post-conditions: 
 Trong suốt quá trình thực hiện nếu mẫu tin không thực thi được thì thông báo 
không hoàn thành. 
 Method Specification TimKiemSV() 
Method name: 
XoaSV 
Class name: 
CTDT_SinhVien 
ID: 3 
Contract ID: 5 Programmer: Nguyễn 
Công Lý 
Date:4/8/2010 
Programming language: 
  Visual Basic   C++ C#   Java 
Trigegers/Event 
Khi người dùng chọn chức năng xóa sinh viên 
Arguments received: 
 Data type: 
Note: 
SV_MaSV VA VA: Variable characters 
SV_TenSV VA VA: Variable characters 
SV_Email VA VA: Variable characters 
Đề tài: Quản lý chương trình đào tạo GVHD: ThS. Trương Minh Thái 
Nhóm 2 – DH8TH Trang 255 
SV_TrangThai VA VA: Variable characters 
Messages sent & Arguments Passed: 
ClassName.MethodName: 
Data type: 
Notes: 
SV_MaSV VA VA: Variable 
characters 
SV_TenSV VA VA: Variable 
characters 
SV_Email VA VA: Variable 
characters 
SV_TrangThai VA VA: Variable 
characters 
Arguments returrn: 
 True or false Data type: 
Note: 
Algorithm Specification 
Đề tài: Quản lý chương trình đào tạo GVHD: ThS. Trương Minh Thái 
Nhóm 2 – DH8TH Trang 256 
Hình : Sơ đồ hoạt động của chức năng tìm xóa sinh viên 
Misc Notes: 
Các ghi chú ngoại lệ 
 Nếu trường hợp các hoạt động của tiến trình bị ngưng (do ngắt điện, máy treo) thì 
hệ thống sẽ không thực hiện giao dịch 
Đề tài: Quản lý chương trình đào tạo GVHD: ThS. Trương Minh Thái 
Nhóm 2 – DH8TH Trang 257 
Phần V : Tổng kết 
o Kết quả đạt được 
V.1.1. Thuận lợi. 
 Có tài liệu đặc tả cụ thể và được trao đổi trực tiếp với khách hàng 
 Với giai đoạn phân tích được thực hiện đặt tả hầu hết các chức năng 
 Với giai đoạn thiết kế được thực hiện khá chi tiết và đầy đủ 
 Số lượng nhân sự đáp ứng được tiến độ của dự án. 
 Nắm được tổng quan của dự án 
 Đáp ứng yêu cầu chính yếu của hệ thống. 
 Tạo các giao diện thân thiện với người dùng và đảm bảo tính toàn 
vẹn. 
 Có các tài liệu đáp ứng trong mỗi giai đoạn 
 Công cụ sử dụng đáp ứng yêu cầu và đảm bảo tính linh hoạt 
 Thiết kế chi tiết từ mức tổng quan đến mức cụ thể (chi tiết). 
 Đảm bảo đầy đủ các giai đoạn của việc Đặc tả  phân tích  thiết kế. 
V.1.2. Khó khăn. 
 Thực hiện chưa triệt để các thành phần trong thiết kế. 
 Còn 1 vài lỗi chưa được kiểm soát trong phân tích 
 Chưa hiểu hết chi tiết từng thành phần cụ thể trong hệ thống 
 Chưa được kiểm thử qua việc thực thi và kiểm thử. 
o Định hướng tương lai – Đề xuất : 
 Hệ thống có thể được nâng cấp trong tương lai với các kỹ thuật và công 
nghệ mới. Có thể áp dụng công nghệ đám mây điện toán để lưu trữ và truy 
xuất thông tin trực tuyến. 
 Thực hiện nâng cấp để đáp ứng các cơ sở dữ liệu lớn và mức độ truy cập 
cao. 
 Phát triển hệ thống đáp ứng tất cả việc quản lý trong toàn trường trong khâu 
đào tạo 
Đề tài: Quản lý chương trình đào tạo GVHD: ThS. Trương Minh Thái 
Nhóm 2 – DH8TH Trang 258 
o Đánh giá nhóm 
 Nhận xét cá nhân từng thành viên trong nhóm 
 Thang điểm xét trong trường hợp này cho nhóm theo thang điểm 1 
Nhận xét Họ và tên 
 Hoạt 
động 
nhóm 
(0.25) 
Đúng 
thời hạn 
(0.25) 
Nhiệt 
tình 
và 
trách 
nhiệm 
(0.25) 
Nhận xét(0.25) 
Điểm số Xác nhận 
Thành  
An  
Tín  
Kiều  
Trí  
Giang  
Lý  
Mã Trường Thành Tốt Tốt Tốt Có nhiều ý kiến khách 
quan. 
Nắm bắt tốt trong việc 
quản lý. 
Có cái nhìn chung 
trong quy trình. 
Đưa ra kế hoạch và 
chiến lược hợp lý. 
1đ 
Tuấn  
Thành  
An  
Tín  
Kiều  
Trí  
Giang  
Lý  
Trần Nguyễn Khánh 
An 
Tốt Tốt Tốt Nhận định khách quan 
Đóng góp nhiều ý 
kiến trong phần phân 
tích. 
Làm chủ phần được 
giao trách nhiệm 
1 đ 
Tuấn  
Thành  
An  
Tín  
Kiều  
Trí  
Giang  
Lý  
Nguyễn Thị Thúy 
Kiều 
Tốt Tốt Tốt Có tầm nhìn chiến 
lược. 
Quan tâm sâu sắc đến 
từng giai đoạn trong 
quy trình 
Đóng góp nhiều ý 
kiến khả thi và khách 
quan 
Đóng góp thực hiện 
nhiều giai đoạn – có 
cái nhìn tổng quan 
trong quy trình 
1 đ 
Tuấn  
Thành  
An  
Nguyễn Minh Giang Tốt Tốt Tốt Nhiệt tình và có trách 
nhiệm rất cao trong 
việc thực thi. 
Đưa ra nhiều hướng 
1 đ 
Tín  
Đề tài: Quản lý chương trình đào tạo GVHD: ThS. Trương Minh Thái 
Nhóm 2 – DH8TH Trang 259 
Kiều  
Trí  
Giang  
Lý  
Đưa ra nhiều hướng 
giải quyết tối ưu cho 
chương trình 
Đảm nhiệm công việc 
đúng hạn. 
Đóng góp nhiều ý 
kiến hay cho đề tài 
Tuấn  
Thành  
An  
Tín  
Kiều  
Trí  
Giang  
Lý  
Nguyễn Thanh Tín Tốt Tốt Tốt Có tinh thần trách 
nhiệm cao 
Chủ động đề xuất ý 
kiến để đưa ra hướng 
tốt cho yêu cầu. 
Đúng thời gian hạn 
định. 
1 đ 
Tuấn  
Thành  
An  
Tín  
Kiều 1 
Trí  
Giang  
Lý  
Nguyễn Công Lý Tốt Tốt Tốt Quan tâm đến đề tài. 
Đóng góp nhiều ý 
kiến để có CSDL tốt. 
Có tinh thần trách 
nhiệm cao trong phần 
được đảm trách 
1đ 
Tuấn 1 
Thành  
An  
Tín  
Kiều  
Trí  
Giang  
Lý  
Phan Thanh Tuấn Tốt Tốt Tốt Rất nhiệt tình trong 
công việc. 
Đưa ra nhiều ý kiến 
đóng góp 
Có tinh thần trách 
nhiệm cao 
Hoạt động tích cực và 
thực hiện rất đúng kế 
hoạch 
Đóng góp thực hiện 
nhiều giai đoạn – có 
cái nhìn tổng quan 
trong quy trình 
1đ 
Tuấn  
Thành  
An  
Tín  
Kiều  
Trí  
Giang  
Lý  
Trần Minh Trí Tốt Tốt Tốt Đóng góp hoàn thiện 
bài báo cáo 
Có tinh thần trách 
nhiệm trong công 
việc. 
Tích cực đóng góp và 
hoàn thiện hệ thống 
1đ 
Tuấn  
Đề tài: Quản lý chương trình đào tạo GVHD: ThS. Trương Minh Thái 
Nhóm 2 – DH8TH Trang 260 
o Phân công công việc : 
Giai Đoạn Công việc Người thực hiện Thời gian nộp 
Chuẩn bị Phân tích chức năng Thiết kế 
CSDL 
Mã Trường Thành 
Nguyễn Thị Thúy 
Kiều 
24/7 
Chuẩn bị tài 
liệu 
Tập hợp các tài liệu Mã Trường Thành 24/7 
Xét các chức 
năng 
Xét các chức năng cần đã phân 
tích 
Nhóm 25/7 
Đặc tả chức năng: 
Quản lý nhân viên 
Phân vùng hệ thống 
Quản lý chức vụ 
Trần Nguyễn Khánh 
An 
25/7-27/7 . Nộp 27/7 
Đặc tả chức năng: 
Quản lý chương trình đào tạo 
Tìm kiếm chương trình đào tạo 
 In bằng tốt nghiệp 
Nguyễn Thanh Tín 25/7-27/7 Nộp 27/7 
Đặc tả chức năng: 
Quản lý danh sách môn học của 
sinh viên 
In danh sách môn học của sinh 
viên 
In kết quả môn học 
Nguyễn Minh Giang 25/7-27/7 .Nộp 27/7 
Đặc tả chức năng: 
 Đăng ký 
  Xem kết quả môn học 
Tìm kiếm kết quả môn học 
Nguyễn Thị Thúy 
Kiều 
25/7-27/7 . Nộp 27/7 
Đặc tả chức năng: 
Đăng nhập 
Đăng xuất 
In danh sách CTĐT 
Phan Thanh Tuấn 25/7 - 27/7. Nộp 27/7 
Đặc tả chức năng: 
Quản lý sinh viên một môn học 
In danh sách Sinh viên một môn 
học 
Cập nhật điểm số 
Trần Minh Trí 25/7 - 27/7 . Nộp 27/7 
Đặc tả 
Usecase 
Đặc tả chức năng: 
Quản lý sinh viên 
Xem danh sách tốt nghiệp 
Tìm Kiếm môn học 
Nguyễn Công Lý 25/7 - 27/7 . Nộp 27/7 
Đề tài: Quản lý chương trình đào tạo GVHD: ThS. Trương Minh Thái 
Nhóm 2 – DH8TH Trang 261 
Đặc tả chức năng: 
Quản Lý Môn học 
In danh sách môn học 
Cập nhật trạng thái đăng ký 
Mã Trường Thành 25/7 - 27/7. Nộp 27/7 
Thiết kế giao diện và 
StoryBoard 
Quản lý nhân viên 
Phân vùng hệ thống 
Quản lý chức vụ 
Trần Nguyễn Khánh 
An 
27/7-29/7 . Cuối 
ngày 29/7 
Thiết kế giao diện và 
StoryBoard 
Quản lý chương trình đào tạo 
Tìm kiếm chương trình đào tạo 
 In bằng tốt nghiệp 
Nguyễn Thanh Tín 27/7-29/7 . Cuối 
ngày 29/7 
Thiết kế giao diện và 
StoryBoard 
Quản lý danh sách môn học của 
sinh viên 
In danh sách môn học của sinh 
viên 
In kết quả môn học 
Nguyễn Minh Giang 27/7-29/7 . Cuối 
ngày 29/7 
Thiết kế giao diện và 
StoryBoard 
 Đăng ký 
  Xem kết quả môn học 
Tìm kiếm kết quả môn học 
Nguyễn Thị Thúy 
Kiều 
27/7-29/7 . Cuối 
ngày 29/7 
Thiết kế giao diện và 
StoryBoard 
Đăng nhập 
Đăng xuất 
In danh sách CTĐT 
Phan Thanh Tuấn 27/7-29/7 . Cuối 
ngày 29/7 
Thiết kế giao diện và 
StoryBoard 
Quản lý sinh viên một môn học 
In danh sách Sinh viên một môn 
học 
Cập nhật điểm số 
Trần Minh Trí 27/7-29/7 . Cuối 
ngày 29/7 
Thiết kế giao 
diện 
Thiết kế giao diện và 
StoryBoard 
Nguyễn Công Lý 27/7-29/7 . Cuối 
ngày 29/7 
Đề tài: Quản lý chương trình đào tạo GVHD: ThS. Trương Minh Thái 
Nhóm 2 – DH8TH Trang 262 
Quản lý sinh viên 
Xem danh sách tốt nghiệp 
Tìm Kiếm môn học 
Thiết kế giao diện và 
StoryBoard 
Quản Lý Môn học 
In danh sách môn học 
Cập nhật trạng thái đăng ký 
Mã Trường Thành 27/7-29/7 . Cuối 
ngày 29/7 
Kiểm soát lại các thiết kế Mã Trường Thành 30/7 
Thiết lập lớp Vẽ sơ đồ lớp (luận lý) Mã Trường Thành 
Nguyễn Thị Thúy 
Kiều 
30/7 
Thiết kế 
CSDL 
Chuyển sang Mô hình quan hệ 
(Relationship) 
(Vật lý) 
Nguyễn Thanh Tín 
Mã Trường Thành 
31/7 - 1/8. Nộp 1/8 
Mô tả lớp Sinh viên và các 
phương thức liên quan 
 Trần Nguyễn Khánh 
An 
Nguyễn Công Lý 
1/8 - 4/8. Nộp 4/8 
Mô tả lớp Trạng Thái và các 
phương thức liên quan 
Nguyễn Thị Thúy 
Kiều 
Nguyễn Minh Giang 
1/8 - 4/8. Nộp 4/8 
Mô tả lớp Chương trình đào tạo 
và các phương thức liên quan 
Phan Thanh Tuấn 
Trần Minh Trí 
1/8 - 4/8. Nộp 4/8 
Mô tả lớp và 
phương thức 
Kiểm soát lại Mã Trường Thành 5/8 
Tổng hợp báo cáo Nhóm 5/8 Tổng hợp báo 
cáo 
Kiểm soát báo cáo Nhóm 6/8 
Đề tài: Quản lý chương trình đào tạo GVHD: ThS. Trương Minh Thái 
Nhóm 2 – DH8TH Trang 263 
Tài liệu tham khảo 
STT Tên Tài Liệu 
Năm 
xuất 
bản 
Người thực 
hiện 
Ghi chú 
1 Tài liệu đặc tả 2010 Ths. Trương 
Minh Thái 
Giấy 
2 Slide bài giảng môn “Thiết Kế 
phần mềm” 
2010 Giảng viên: 
Ths. Trương 
Minh Thái 
Đính kèm 
3 Slide bài giảng môn “Phân tích và 
thiết kế PMHDT” 
2009 Giảng viên: 
Ths. Hồ Nhã 
Phong 
4 
orks/vn/edu/dwr
umlbirtreport/index.html 
 Link 
5 
1.39&view=29617 
 Sách 
(Link) 
6 tailieu/giao
trinhcongnghephan
mem.110265.html 
 Link