LOGO
“ Add your company slogan ”
PHÂN TÍCH & THIẾT KẾ HỆ THỐNG THÔNG TIN
BÁO CÁO BÀI TẬP LỚN
XÂY DỰNG WEBSITE ĐĂNG KÝ HỌC TẬP
TRỰC TUYẾN
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
4
Tổng quan đề tài
Học chế tín chỉ là gì?
Hiện nay hệ thống đào tạo theo tín chỉ đã và đang rất nhiều trường Đại Học trên khắp cả nước đưa vào thứ nghiệm, áp dụng.
Học chế tín chỉ là phương thức tổ chức đào tạo mềm dẻo trong đó sinh viên được chủ động lập kế hoạch và đăng ký học tập, tích lũy từng phần kiến thức theo tiến độ phù hợp với điều kiện và năng lực của bản thân nhằm hoàn tất chương trình đào tạo để được cấp bằng tốt nghiệp
5
Hệ thống cần xây dựng
Quản lý thông tin đào tạo
Cổng thông tin đào tạo
Sắp xếp kế hoạch
giảng dạy
Quản lý kết quả học tập
sinh viên
6
Mục tiêu đặt ra
Ngắn hạn: Xây dựng website thực hiện chức năng: Quản lý thông tin: sinh viên, môn học, lớp học, giảng
viên, kết quả học tập sinh viên Hỗ trợ tra cứu thông tin sinh viên, lớp học, môn học,
kết quả học tập Cho phép sinh viên đăng ký, sửa đổi, bổ sung chọn
họ phần/ lớp học vào đầu mỗi kỳ (trong thời gian đăng ký học tập).
Thông báo kết quả học tập chi tiết cho mỗi sinh viên và cố vấn học tập.
7
Mục tiêu đặt ra
Dài hạn: Mở rộng mô hình áp dụng cho tất cả các khoa, viện
trong trường Đại Học Bách Khoa Hà Nội. Liên kết với các hệ thống quản lý thông tin khác trong
trường (như quản lý nhân sự, quản lý học phí,…) tạo nên một hệ thống quản lý hoàn chỉnh.
8
Các yêu cầu đề tài
Yêu cầu tốc độ: Tất cả cả câu truy vấn trong chương trình đều thực
thi bằng stored procedure
Yêu cầu bảo mật: Bảo mật dữ liệu: phân quyền người dùng Mã hóa mật khẩu (MD5)
Giao diện: Giao diện đơn giản, gọn, đẹp (đảm bảo tốc độ) Tương thích với các trình duyệt phổ biến
Về chương trình: Thiết kế theo mô hình 3 lớp (MVC) Nhập/ xuất dữ liệu từ file excel
10
PHẦN 2: PHÂN TÍCH THIẾT KẾ
Biểu đồ trạng th
ái
Biểu đồ tuần tự
Thiết kế các lớp
Thiết kế cơ sở dữ liệu
Thiết kế giao diện
Đặc tả
use
case
11
1. Đặc tả usecase
Sinh vieân
QL giaûngvieân
Users Quaûn trò
Giaûng vieân
QL hoïcphaàn
QL ñaêng kyùhoïc taäp
QL nhoùm ñaêngkyù hoïc taäp
QL lôùp hoïc
QL lôùp chuyeânngaønh
QL sinhvieân
QL ngöôøiduøng
QL tin töùc
Tra cöùu/Tìm kieám
Ñaêng kyù lôùp hoïc
Ñaêng kyùhoïc phaàn
Ngöôøi duøngQL taøi khoaûn
Usecase khái quát hóa
12
1.1. Usecase quản lý đăng ký học tập
Ñaêng nhaäp
Theâm/ söûa lôùp hoïc vaøo hoïc kyø môû ÑK
Môû/ ñaët traïng thaùi ñaêng kyù cho hoïc kyø
Choïn muïc quaûn lyùñaêng kyù hoïc taäp
Thieát laäp thôøi haïn/ hình thöùcñaêng kyù hoïc taäp
Theâm hoïc kyø môû ÑK
Khôûi taïo
Keát thuùc
Quy trình thiết lập đăng kýcho một học kỳ
Usecase khái quát quản lý đăng ký học tập
13
1.2. Usecase đăng ký học phần
Usecase: Đăng ký học phần
Actor chính: Sinh viên
Mô tả: Sinh viên có thể thêm, xóa đăng ký học phần, hoặc chọn đăng ký học phần theo chuẩn
Điều kiện bắt đầu: Sinh viên đăng nhập vào hệ thống
Điều kiện sau khi dùng: Các yêu cầu của sinh viên được thực hiện, hoặc hết hạn đăng ký
Trình tự các sự kiện:1. Sinh viên đăng nhập vào hệ thống2. Chọn mục đăng ký học phần3. Chọn học kỳ đăng ký học phần4. Hiển thị danh sách học phần đã đăng ký5. Sinh viên thêm, xóa đăng ký học phần6. Hoặc chọn đăng ký theo chuẩn7. Hệ thống thông báo kết quả cho người dùng
Yêu cầu phi chức năng: tốc độ xử lý nhanh
Ñaêng nhaäp
Choïn hoïc kyø ÑK hoïc phaàn
Choïn muïc ñaêng kyùhoïc phaàn
Hieån thò danh saùch caùc hoïc phaàn ñaõ ÑK
Hieån thò keáát quaû
Kieåm tra ÑK hoïc phaàn
Choïn ÑK hoïc phaàn theo chuaån
Theâm/ söûa/ xoùa ÑK hoïc phaàn
Khôûi taïo
Keát thuùc
14
1.2. Usecase đăng ký học phần uc DangKyHocPhan
Ñaêng kyù hoïc phaàn
Sinh vieân
(from TacNhan)
Ñaêng nhaäp/ KT quyeàn
Choïn hoïc kyø ñaêng kyù hoïc phaàn
Theâm ñaêng kyù hoïc phaàn
Xoùa ñaêng kyù hoïc phaàn
Kieåm tra ñaêng kyù hoïc phaàn
Xem ñaêng kyù hoïc phaàn chuaån
Ñaêng kyù hoïc phaàn theo chuaån
Xem keát quaû ñaêng kyù hoïc phaàn
«include» «include»«include» «include»«include»
15
1.3. Usecase đăng ký lớp học
Usecase: Đăng ký lớp học
Actor chính: Sinh viên
Mô tả: Sinh viên có thể thêm, xóa đăng ký lớp học
Điều kiện bắt đầu: Sinh viên đăng nhập vào hệ thống
Điều kiện sau khi dùng: Các yêu cầu của sinh viên được thực hiện, hoặc hết hạn đăng ký
Trình tự các sự kiện:1. Sinh viên đăng nhập vào hệ thống2. Chọn mục đăng ký lớp học3. Chọn học kỳ đăng ký lớp học4. Hiển thị danh sách lớp học đã đăng ký5. Sinh viên thêm, xóa đăng ký lớp học6. Hệ thống thông báo kết quả cho người dùng
Yêu cầu phi chức năng: tốc độ xử lý nhanh
Ñaêng nhaäp
Choïn muïc ÑK lôùp hoïc
Choïn hoïc kyø ÑK lôùp hoïc
Theâm/ xoùañaêng kyù lôùp
Hieån thi DS lôùp hoïc ñaã ÑK
Kieåm tra ÑK lôùp
Hieån thò keát quaû
Khôûi taïo
Keát thuùc
16
1.3. Usecase đăng ký lớp học
uc DangKyLopHoc
Ñaêng kyù lôùp hoïc
Sinh vieân
(from TacNhan)
Ñaêng nhaäp/ KT quyeàn
Choïn hoïc kyø ñaêng kyù lôùp
Theâm ñaêng kyù lôùp hoïc
Xoùa ñaêng kyù lôùp hoïc
Xem KQ ñaêng kyù lôùp hoïc
Kieåm tra ñaêng kyù lôùp
«include»«include»«include»
17
2. Biểu đồ trạng thái stm DangKyHocPhan
khôûitaïo
huûy
Kieåm tra ñaêng nhaäp/ quyeàn
Kieåm tra haïn ñaêng kyù
+ entry / LayHanDK()
Chôø nhaäp maõ HP
+ exit / KTMaHP()
Kieåm tra ñaêng kyù HP
+ entry / KTDieuKien()
Ñaêng kyù hoïc phaàn
+ entry / GhiNhanDK()+ exit / HienThiKQ()
Chôø choïn kieåu ñaêng kyù
+ do / ChonDK
Chôø choïn hoïc kyø chuaån
+ entry / LayDSHPChuan()
töøchoái
keátthuùc
[huûy]
[huûy]
[töï do]
[theo chuaån]
[thaønh coâng]
[ñaêng kyùhôïp leä]
[khoâng ñôïc pheùp ñk]
[hôïp leä]
[huûy]
[heát haïn]
[coøn haïn]
[khoâng ñöôïc pheùp]
[cho pheùp]
Biểu đồ trạng thái usecase đăng ký học phần
18
2. Biểu đồ trạng thái
stm DangKyLopHoc
khôûitaïo
huûy
Kieåm tra ñaêng nhaäp/ quyeàn
Kieåm tra haïn ñaêng kyù
+ entry / LayHanDK()
Chôø nhaäp maõ lôùp
+ exit / KTMaLop()
Cho vaøo DS chôø duyeät
Duyeät ÑK lôùp
+ entry / KTLichHoc()
Ñaêng kyù lôùp
+ entry / GhiNhanDK()+ do / CapNhapSiSo()+ exit / HienThiKQ()
Lôùp ñaày
+ do / KTHanDK()
keátthuùc
[DSDangKy[coøn lôùp]]
[ñc pheùp]
[Khoâng ñöôïc pheùp]
[coøn]
[Heát haïn][Sai maõ lôùp] [huûy]
[huûy][truøng lòch]
[heát choã/ ThemDSCho()]
[khoâng hôùp leä]
[thaønh coâng]
[LôùpÑK[coøn choã]/ ThemDK()]
[heát haïn/ XoaDK()]
[SoTC<toång soá cho pheùp/ ThemDS()]
Biểu đồ trạng thái usecase đăng ký lớp học
19
3. Biểu đồ tuần tự sd DangKyHocPhan
Sinh vieân
(from TacNhan)
B_DKHocPhan C_DKHocPhan E_DKHocPhan
Ñaêng nhaäp()
Kieåm tra quyeàn()
Yeâu caàu choïn hoïc kyø()
Hoïc kyø ñaêng kyù()
Yeâu caàu choïn hoïc phaàn()
Hoïc phaàn ñaêng kyù()
Ñang kyù hoïc phaàn()
Kieåm tra ÑK hoïcphaàn()
Ñaêng kyù hoïc phaàn()
Ghi nhaän ÑK()
Keát quaû()
Keát quaû()
Hieån thò KQ()
Biểu đồ tuần tự usecase đăng ký học phần
20
3. Biểu đồ tuần tự sd DangKyLopHoc
Sinh vieân
(from TacNhan)
B_DKLopHoc C_DKLopHoc E_DKLopHocC_DKHocPhan
Ñaêng nhaäp()
Kieåm tra quyeàn()
Yeâu caàu choïn hoïc kyø()
Hoïc kyø ñaêng kyù()
Yeâu caàu choïn lôùp hoïc()
Lôùp hoïc()
Ñaêng kyù lôùp hoïc()
Thoâng tin lôùp()
Ñaõ ñaêng kyù HP()
keát quaû()
KT truøng lòch hoïc()
Ñaêng kyù lôùp hoïc()
Ghi nhaän ñaêng kyù()
keát quaû()
keát quaû()
Hieån thò KQ()
Biểu đồ tuần tự usecase đăng ký lớp học
21
4. Thiết kế các lớp class QLDaoTao
Class::QLGiangVien
- MaGV: char- HoTen: char- NgaySinh: datetime
+ Them() : void+ Sua() : void+ Xoa() : void+ LayThongTin(char) : QLGiangVien+ LayDS()
Class::QLLopChuyenNganh
- MaLopCN: char- TenLop: char- MaGV: char- NienKhoa: int
+ Them() : void+ Sua() : void+ Xoa() : void+ LayThongTin(char) : QLLopChuyenNganh+ ThemSV(QLSinhVien) : void+ ChuyenLopSV(char, char) : void+ LayDS()
Class::QLSinhVien
- MaSV: char- HoTen: char- NgaySinh: datetime- MaLopCN: char
+ Them() : void+ Sua() : void+ Xoa() : void+ LayThongTin(char) : QLSinhVien+ LayDS()
Class::QLLopHoc
- MaLop: int- MaHP: char- MaGV: char- SoSV: int- ToiDa: int- LoaiLop: char- HocKy: int- TrangThai: char- GhiChu: char- ChiTiet[]: ThongTinLop
+ Them() : void+ Sua() : void+ Xoa() : void+ LayThongTin() : QLLopHoc+ KiemTraTrungTKB() : int+ NhapDiem(char, float, float) : void+ SuaDiem(char, float, float) : void+ LayDS()
1
1..*
1
0..*
1
0..*
Biểu đồ lớp hệ thống quản lý đào tạo
22
4. Thiết kế các lớp class QLDangKyHocTap
Class::QLDangKyHocTap
- HanDKHocPhan: ThietLapHeThong- HanDKLopHoc: ThietLapHeThong- DangKyTuDo: boolean
Class::QLDangKyHP
- ID: int- MaSV: char- MaHP: int- HocKy: int- PhanHoi: char
+ Them() : void+ Xoa() : void+ LayThongTin(char, char) : QLDangKyHP+ KTDangKyHP() : char+ DKTheoChuan(int) : void+ KTLopDaDKHP(int) : boolean+ LayDS(char)
Class::QLDangKyLop
- MaSV: char- MaLop: int- PhanHoi: char- DiemQT: float- DiemThi: float- LopDaDKHP: boolean
+ Them() : void+ Xoa() : void+ LayThongTin(char, int) : QLDangKyLop+ KTDangKyLop() : char+ LayDS(char)
Class::QLSinhVien
- MaSV: char- HoTen: char- NgaySinh: datetime- MaLopCN: char
+ Them() : void+ Sua() : void+ Xoa() : void+ LayThongTin(char) : QLSinhVien+ LayDS()
Lay thiet lap ve thoi han vaø hinh thuc dang ky hoc tap
Class::QLLopHoc
- MaLop: int- MaHP: char- MaGV: char- SoSV: int- ToiDa: int- LoaiLop: char- HocKy: int- TrangThai: char- GhiChu: char- ChiTiet[]: ThongTinLop
+ Them() : void+ Sua() : void+ Xoa() : void+ LayThongTin() : QLLopHoc+ KiemTraTrungTKB() : int+ NhapDiem(char, float, float) : void+ SuaDiem(char, float, float) : void+ LayDS()
Class::QLHocPhan
- MaHP: char- TenHP: char- PhanTranDiemQT: float- PhanTranDiemThi: float- HPTienQuyet: char
+ Them() : void+ Sua() : void+ Xoa() : void+ LayThongTin(char) : QLHocPhan+ LayDS()
1
0..*
1
0..*
0..* 1
1
0..*
0..* 1
Biểu đồ lớp hệ thống quản lý đăng ký học tập
23
4. Thiết kế các lớp class QLNhomDKHocTap
Class::NhomDKHocTap
- MaNhomDK: int- TenNhomDK: char
+ Them() : void+ Sua() : void+ Xoa() : void+ LayThongTin() : NhomDKHocTap+ ThemHP(HocPhanNhomDK) : void+ GoHP(HocPhanNhomDK) : void+ ThemSV(SinhVienNhomDK) : void+ LoaiSV(SinhVienNhomDK) : void+ LayDS()
Class::HocPhanNhomDK
- MaHP: char- MaNhomDK: int- HocKySV: char- ChuanDK: boolean
+ Them() : void+ Xoa() : void+ LayThongTin() : HocPhanNhomDK+ LayDS(int)
Class::SinhVienNhomDK
- MaSV: char- MaNhomDK: int
+ Them() : void+ Xoa() : void+ SVLayDSNhomDK(char) : SinhVienNhomDK[]+ LayDS(int)
Class::QLSinhVien
- MaSV: char- HoTen: char- NgaySinh: datetime- MaLopCN: char
+ Them() : void+ Sua() : void+ Xoa() : void+ LayThongTin(char) : QLSinhVien+ LayDS()
Class::QLHocPhan
- MaHP: char- TenHP: char- PhanTranDiemQT: float- PhanTranDiemThi: float- HPTienQuyet: char
+ Them() : void+ Sua() : void+ Xoa() : void+ LayThongTin(char) : QLHocPhan+ LayDS()
11..*
11..*
1..
0..*
Biểu đồ lớp hệ thống quản lý chương trình đào tạo
28
Kết quả đạt được
Về mặt lý thuyết: Nắm bắt quy trình phân tích – thiết kế hệ thống theo
UML 2.0 Làm chủ được công nghệ ASP.NET 3.0
Về mặt thưc nghiệm: Bước đầu xây dựng thành công website quản lý đăng ký học tập theo mô hình tín chỉ: Quản lý được thông tin sinh viên, giảng viên, học
phần, lớp học, chương trình đào tạo…. Cho phép tiến hành đăng ký học tập trực tuyến. Hỗ trợ tra cứu tìm kiếm thông tin nhanh chóng, đầy
đủ.
29
Hướng phát triển
Trong tương lai cần hoàn thiện thêm hệ thống:
Chuẩn hóa, sửa đổi các quy trình đăng ký học tập cho phù hợp yêu cầu thục tế (với mô hình đào tạo khác nhau của các trường)
Nâng cao tốc độ xử lý và hiệu năng của hệ thống Tăng cường an toàn và bảo mật Mở rộng hệ thống: liên kết với các hệ thống quản lý
khác như quản lý học phí, quản lý nhân sự… Cải tiến giao diện.