phân tích thiết kế hệ thống uml, quản lý điểm THPT, bai tap lon quan ly dao tao phan tich thiet ke he thong uml, BTL phân tích quản lý điểm trường học hướng đối tượng. UML quản lý điểm. ich thiet ke he thong uml, BTL phân t
Trang 1MỤC LỤC
xix
DANH SÁCH CÁC HÌNH xix
I Lý do chọn đề tài 1
II Giới thiệu sơ lược ứng dụng 1
1 Mục tiêu 1
Mục tiêu của đề tài đặt ra là xây dựng hệ thống quản lý điểm học sinh, hỗ trợ nhập thông tin học sinh, nhập điểm và tính điểm cho học sinh, nhập thông tin giáo viên, để việc quản lý điểm học sinh nhanh hơn và ít tốn thời gian hơn 1
2 Chức năng chính 1
Nhập thông tin học sinh khi mới vào trường 1
Phân lớp học sinh vào đầu năm học 1
Nhập thông tin giáo viên và chuyên môn của giáo viên 1
Phân công giảng dạy 1
Nhập điểm cho học sinh 1
Tính điểm trung bình môn, trung bình học kỳ, điểm tổng kết cả năm và xếp loại học sinh 1
Thống kê danh sách học sinh, danh sách giáo viên 1
Tìm kiếm học sinh, tìm kiếm giáo viên 1
B PHẦN TỔNG QUAN 2
I Giới thiệu sơ lược về trường THPT An Phú 2
II Mô tả bài toán 2
1 Hiện trạng hệ thống 2
Hiện tại, trường THPT An Phú vẫn còn tính điểm bằng hình thức thủ công (viết tay) nên vẫn còn gặp một số hạn chế 2
Lưu trữ và tìm kiếm khó khăn và mất nhiều thời gian 2
Tính toán chậm và đôi khi thiếu chính xác 2
Độ an toàn không cao 2
Do đó phần mềm Quản lý điểm học sinh là cần thiết để khắc phục những hạn chế trên 2
2 Mô tả bài toán 2
C CƠ SỞ LÝ THUYẾT 5
I Tổng quan về UML 5
1 UML là gì? 5
2 Các sơ đồ lớp 5
3 Kiến trúc của hệ thống 6
6
Hình 1: Kiến trúc hệ thống 6
4 Sơ đồ Use Case (Use Case diagram) 7
5 Sơ đồ lớp 8
6 Sơ đồ tuần tự 9
II Môi trường phát triển 10
1 Kiến trúc NET framework 10
2 Ngôn ngữ C# 11 Ngôn ngữ C# là một trong số các ngôn ngữ được NET Framework hỗ trợ, C# khá đơn giản, chỉ khoảng 80 từ khóa và hơn mười mấy kiểu dữ liệu được xây dựng sẵn Tuy nhiên, ngôn ngữ C# có ý nghĩa cao khi nó thực thi những khái niệm lập trình hiện
i
Trang 2đại C# bao gồm tất cả những hỗ trợ cho cấu trúc, thành phần component, lập trình hướng đối tượng Những tính chất đó hiện diện trong một ngôn ngữ lập trình hiện đại
Và ngôn ngữ C# hội đủ những điều kiện như vậy, hơn nữa nó được xây dựng trên nền
tảng của hai ngôn ngữ mạnh nhất là C++ và Java 11
3 Microsoft SQL server 2000 11
D PHÂN TÍCH 12
I Sơ đồ Use Case 12
1 Sơ đồ Use Case tổng quát cho tất cả các Actor 12
12
Hình 3: Sơ đồ Use Case tổng quát 12
2 Sơ đồ Use Case cho Actor quản lý 13
14
Hình 4: Sơ đồ Use Case cho Actor quản lý 14
3 Sơ đồ Use Case cho Actor giáo viên 14
14
Hình 5: Sơ đồ Use Case cho Actor người dùng 14
II Đặc tả Use Case 14
1 Đặc tả Use Case Đăng nhập 15
2 Đặc tả Use Case Quản lý người dùng 15
3 Đặc tả Use Case Đổi mật khẩu 16
4 Đặc tả Use Case Quản lý năm học 17
5 Đặc tả Use Case Quản lý học kỳ 18
6 Đặc tả Use Case Quản lý khối lớp 19
7 Đặc tả Use Case Quản lý lớp 20
8 Đặc tả Use Case Quản lý môn học 21
9 Đặc tả Use Case Quản lý giáo viên 22
10 Đặc tả Use Case Quản lý học sinh 23
11 Đặc tả Use Case Quản lý học lực 24
12 Đặc tả Use Case Quản lý loại điểm 26
13 Đặc tả Use Case Quản lý tôn giáo 27
14 Đặc tả Use Case Quản lý dân tộc 28
15 Đặc tả Use Case Quản lý nghề nghiệp 29
16 Đặc tả Use Case Quản lý lớp môn học 30
17 Đặc tả Use Case nhập điểm 31
18 Đặc tả Use Case phân công 32
19 Đặc tả Use Case phân lớp 34
20 Đặc tả Use Case thống kê 35
21 Đặc tả Use Case tìm kiếm 35
III Sơ đồ tuần tự 36
1 Sơ đồ tuần tự cho Use Case đăng nhập 36
36
Hinh 6: Sơ đồ tuần tự cho Use Case đăng nhập 36
2 Sơ đồ tuần tự cho Use Case quản lý người dùng 36
2.1 Thêm người dùng 36
36
Hình 7: Sơ đồ tuần tự cho Use Case thêm người dùng 36
2.2 Xoá người dùng 37
37
Hình 8: Sơ đồ tuần tự cho Use Case xoá người dùng 37
ii
Trang 32.3 Sửa người dùng 37
37
Hình 9: Sơ đồ tuần tự cho Use Case sửa người dùng 38
3 Sơ đồ tuần tự cho Use Case đổi mật khẩu 39
39
Hình 10: Sơ đồ tuần tự cho Use Case đổi mật khẩu 39
4 Sơ đồ tuần tự cho Use Case quản lý năm học 39
4.1 Thêm năm học 39
39
Hình 11: Sơ đồ tuần tự cho Use Case thêm năm học 39
4.2 Xoá năm học 40
40
Hình 12: Sơ đồ tuần tự cho Use Case xoá năm học 40
4.3 Sửa năm học 40
40
Hình 13: Sơ đồ tuần tự cho Use Case sửa năm học 40
5 Sơ đồ tuần tự cho Use Case quản lý học sinh 41
5.1 Thêm học sinh 41
41
Hình 14: Sơ đồ tuần tự cho Use Case thêm học sinh 41
5.2 Xoá học sinh 41
41
Hình 15: Sơ đồ tuần tự cho Use Case xoá học sinh 41
5.3 Sửa học sinh 42
42
Hình 16: Sơ đồ tuần tự cho Use Case sửa học sinh 42
6 Sơ đồ tuần tự cho Use Case phân công 42
6.1 Thêm phân công 42
42
Hình 17: Sơ đồ tuần tự cho Use Case thêm phân công 42
6.2 Xoá phân công 43
43
Hình 18: Sơ đồ tuần tự cho Use Case xoá phân công 43
6.3 Sửa phân công 43
43
Hình 19: Sơ đồ tuần tự cho Use Case sửa phân công 43
7 Sơ đồ tuần tự cho Use Case phân lớp 44
7.1 Thêm phân lớp 44
44
Hình 20: Sơ đồ tuần tự cho Use Case thêm phân lớp 44
7.2 Xoá phân lớp 44
44
Hình 21: Sơ đồ tuần tự cho Use Case xoá phân lớp 44
7.3 Sửa phân lớp 45
45
Hình 22: Sơ đồ tuần tự cho Use Case sửa phân lớp 45
8 Sơ đồ tuần tự cho Use Case nhập điểm 45
8.1 Thêm điểm 45
45
iii
Trang 4Hình 23: Sơ đồ tuần tự cho Use Case thêm điểm 45
8.2 Xoá điểm 46
46
Hình 24: Sơ đồ tuần tự cho Use Case xoá điểm 46
8.3 Sửa điểm 46
46
Hình 25: Sơ đồ tuần tự cho Use Case sửa điểm 46
9 Sơ đồ tuần tự cho Use Case tìm học sinh 47
47
Hình 26: Sơ đồ tuần tự cho Use Case tìm học sinh 47
IV Sơ đồ lớp tổng quát 47
E THIẾT KẾ 49
I Thiết kế cơ sở dữ liệu 49
1 Các bảng dữ liệu 49
DAN_TOC ( DÂN TỘC) 49
TÊN TRƯỜNG 49
KIỂU DỮ LIỆU 49
RÀNG BUỘC 49
CHÚ THÍCH 49
MaDanToc 49
Int(4) 49
Not null 49
Mã dân tộc 49
TenDanToc 49
Nvarchar(30) 49
Not null 49
Tên dân tộc 49
DIEM (ĐIỂM) 49
TÊN TRƯỜNG 49
KIỂU DỮ LIỆU 49
RÀNG BUỘC 49
CHÚ THÍCH 49
ID 49
Int(4) 49
Not null 49
ID điểm 49
MaHocSinhLop 49
Varchar(13) 49
Not null 49
Mã học sinh lớp 49
MaMonHoc 49
Varchar(4) 49
Not null 49
Mã môn học 49
MaHocKy 49
Varchar(3) 49
Not null 49
Mã học kỳ 49
MaLoai 49
iv
Trang 5Not null 49
Mã loại điểm 49
Diem 49
Float 49
Null 49
Điểm 49
GIAO_VIEN (GIÁO VIÊN) 50
TÊN TRƯỜNG 50
KIỂU DỮ LIỆU 50
RÀNG BUỘC 50
CHÚ THÍCH 50
MaGiaoVien 50
Varchar(6) 50
Not null 50
Mã giáo viên 50
HoTen 50
Nvarchar(30) 50
Not null 50
Họ tên giáo viên 50
NgaySinh 50
Datetime(8) 50
Not null 50
Ngày sinh 50
NoiSinh 50
Nvarchar(50) 50
Not null 50
Nơi sinh 50
GioiTinh 50
Bit(1) 50
Not null 50
Giới tính 50
DiaChi 50
Nvarchar(50) 50
Not null 50
Địa chỉ 50
DienThoai 50
Varchar(18) 50
Null 50
Điện thoại 50
MaMonHoc 50
Varchar(4) 50
Not null 50
Mã môn học 50
HANH_KIEM (HẠNH KIỂM) 50
TÊN TRƯỜNG 50
KIỂU DỮ LIỆU 50
RÀNG BUỘC 50
CHÚ THÍCH 50
v
Trang 6Varchar(3) 50
Not null 50
Mã hạnh kiểm 50
TenHanhKiem 50
Nvarchar(30) 50
Not null 50
Tên hạnh kiểm 50
HOC_KY (HỌC KỲ) 50
TÊN TRƯỜNG 50
KIỂU DỮ LIỆU 50
RÀNG BUỘC 50
CHÚ THÍCH 50
MaHocKy 50
Varchar(3) 50
Not null 50
Mã học kỳ 50
TenHocKy 50
Nvarchar(30) 50
Not null 50
Tên học kỳ 50
HeSo 50
Int(4) 50
Null 50
Hệ số 50
HOC_LUC (HỌC LỰC) 51
TÊN TRƯỜNG 51
KIỂU DỮ LIỆU 51
RÀNG BUỘC 51
CHÚ THÍCH 51
MaHocLuc 51
Varchar(3) 51
Not null 51
Mã học lực 51
TenHocLuc 51
Nvarchar(30) 51
Not null 51
Tên học lực 51
DiemCanDuoi 51
Float(8) 51
Not null 51
Điểm cận dưới 51
DiemCanTren 51
Float(8) 51
Not null 51
Điểm cận trên 51
DiemKhongChe 51
Float(8) 51
Not null 51
vi
Trang 7Điểm khống chế 51
HOC_SINH (HỌC SINH) 51
TÊN TRƯỜNG 51
KIỂU DỮ LIỆU 51
RÀNG BUỘC 51
CHÚ THÍCH 51
MaHocSinh 51
Varchar(8) 51
Not null 51
Mã học sinh 51
HoTen 51
Nvarchar(30) 51
Not null 51
Họ tên học sinh 51
GioiTinh 51
Bit(1) 51
Not null 51
Giới tính 51
NgaySinh 51
Datetime(8) 51
Not null 51
Ngày sinh 51
NoiSinh 51
Nvarchar(50) 51
Not null 51
Nơi sinh 51
DiaChi 51
Nvarchar(50) 51
Not null 51
Địa chỉ 51
MaDanToc 51
Int(4) 51
Not null 51
Mã dân tộc 51
MaTonGiao 51
Int(4) 51
Not null 51
Mã tôn giáo 51
HoTenCha 51
Nvarchar(30) 51
Not null 51
Họ tên Cha 51
MaNNghiepCha 51
Int(4) 51
Not null 51
Mã nghề nghiệp Cha 51
HoTenMe 51
Nvarchar(30) 51
Not null 51
vii
Trang 8Họ tên Mẹ 51
KET_QUA (KẾT QUẢ) 52
TÊN TRƯỜNG 52
KIỂU DỮ LIỆU 52
RÀNG BUỘC 52
CHÚ THÍCH 52
MaKetQua 52
Varchar(3) 52
Not null 52
Mã kết quả 52
TenKetQua 52
Nvarchar(30) 52
Not null 52
Tên kết quả 52
KHOI_LOP (KHỐI LỚP) 52
TÊN TRƯỜNG 52
KIỂU DỮ LIỆU 52
RÀNG BUỘC 52
CHÚ THÍCH 52
MaKhoiLop 52
Varchar(3) 52
Not null 52
Mã khối lớp 52
TenKhoiLop 52
Nvarchar(30) 52
Not null 52
Tên khối lớp 52
LOAI_DIEM (LOẠI ĐIỂM) 52
TÊN TRƯỜNG 52
KIỂU DỮ LIỆU 52
RÀNG BUỘC 52
CHÚ THÍCH 52
MaLoai 52
Varchar(3) 52
Not null 52
Mã loại 52
TenLoai 52
Varchar(30) 52
Not null 52
Tên loại 52
HeSo 52
Int(4) 52
Not null 52
Hệ số 52
LOAI_NGUOI_DUNG (LOẠI NGƯỜI DÙNG) 52
TÊN TRƯỜNG 52
KIỂU DỮ LIỆU 52
RÀNG BUỘC 52
CHÚ THÍCH 52
viii
Trang 9Int(4) 52
Not null 52
Mã loại 52
TenLoai 52
Nvarchar(30) 52
Not null 52
Tên loại 52
LOP (LỚP) 53
TÊN TRƯỜNG 53
KIỂU DỮ LIỆU 53
RÀNG BUỘC 53
CHÚ THÍCH 53
MaLop 53
Varchar(11) 53
Not null 53
Mã lớp 53
TenLop 53
Nvarchar(30) 53
Not nul 53
Tên lớp 53
MaKhoiLop 53
Varchar(3) 53
Not null 53
Mã khối lớp 53
MaNamHoc 53
Varchar(6) 53
Not null 53
Mã năm học 53
SiSo 53
Int(4) 53
Not null 53
Sĩ số 53
MaGiaoVien 53
Varchar(6) 53
Not null 53
Mã giáo viên 53
LOP_MONHOC (LỚP MÔN HỌC) 53
TÊN TRƯỜNG 53
KIỂU DỮ LIỆU 53
RÀNG BUỘC 53
CHÚ THÍCH 53
MaLopMonHoc 53
Int(4) 53
Not null 53
Mã lớp môn học 53
MaLop 53
Varchar(11) 53
Not null 53
ix
Trang 10Mã lớp 53
MaMonHoc 53
Varchar(4) 53
Not null 53
Mã môn học 53
MON_HOC (MÔN HỌC) 53
TÊN TRƯỜNG 53
KIỂU DỮ LIỆU 53
RÀNG BUỘC 53
CHÚ THÍCH 53
MaMonHoc 53
Varchar(4) 53
Not null 53
Mã môn học 53
TenMonHoc 53
Nvarchar(30) 53
Not null 53
Tên môn học 53
SoTiet 53
Int(4) 53
Not null 53
Số tiết 53
HeSo 53
Int(4) 53
Not null 53
Hệ số 53
NAM_HOC (NĂM HỌC) 54
TÊN TRƯỜNG 54
KIỂU DỮ LIỆU 54
RÀNG BUỘC 54
CHÚ THÍCH 54
MaNamHoc 54
Varchar(6) 54
Not null 54
Mã năm học 54
TenNamHoc 54
Varchar(30) 54
Not null 54
Tên năm học 54
NGHE_NGHIEP (NGHỀ NGHIỆP) 54
TÊN TRƯỜNG 54
KIỂU DỮ LIỆU 54
RÀNG BUỘC 54
CHÚ THÍCH 54
MaNghe 54
Int(4) 54
Not null 54
Mã nghề 54
TenNghe 54
x
Trang 11Not null 54
Tên nghề 54
NGUOI_DUNG(NGƯỜI DÙNG) 54
TÊN TRƯỜNG 54
KIỂU DỮ LIỆU 54
RÀNG BUỘC 54
CHÚ THÍCH 54
MaNguoiDung 54
Int(4) 54
Not null 54
Mã người dùng 54
MaLoai 54
Int(4) 54
Not null 54
Mã loại 54
TenNguoiDung 54
Nvarchar(30) 54
Not null 54
Tên người dùng 54
username 54
Varchar(30) 54
Not null 54
Username 54
password 54
Varchar(30) 54
Not null 54
Password 54
MaGiaoVien 54
Varchar(6) 54
Null 54
Mã giáo viên 54
PHAN_CONG (PHÂN CÔNG) 55
TÊN TRƯỜNG 55
KIỂU DỮ LIỆU 55
RÀNG BUỘC 55
CHÚ THÍCH 55
MaPhanCong 55
Int(4) 55
Not null 55
Mã phân công 55
MaLopMonHoc 55
Int(4) 55
Not null 55
Mã lớp môn học 55
MaGiaoVien 55
Varchar(6) 55
Not null 55
Mã giáo viên 55
xi
Trang 12PHAN_LOP (PHÂN LỚP) 55
TÊN TRƯỜNG 55
KIỂU DỮ LIỆU 55
RÀNG BUỘC 55
CHÚ THÍCH 55
MaHocSinhLop 55
Varchar(13) 55
Not null 55
Mã học sinh lớp 55
MaLop 55
Varchar(11) 55
Not null 55
Mã lớp 55
MaHocSinh 55
Varchar(8) 55
Not null 55
Mã học sinh 55
TON_GIAO (TÔN GIÁO) 55
TÊN TRƯỜNG 55
KIỂU DỮ LIỆU 55
RÀNG BUỘC 55
CHÚ THÍCH 55
MaTonGiao 55
Int(4) 55
Not null 55
Mã tôn giáo 55
TenTonGiao 55
Nvarchar(30) 55
Not null 55
Tên tôn giáo 55
KQ_CA_NAM_TONG_HOP ( KẾT QUẢ CẢ NĂM TỔNG HỢP) 55
TÊN TRƯỜNG 55
KIỂU DỮ LIỆU 55
RÀNG BUỘC 55
CHÚ THÍCH 55
MaHocSinhLop 55
Varchar(13) 55
Not null 55
Mã học sinh lớp 55
MaHocLuc 55
Varchar(3) 55
Not null 55
Mã học lực 55
MaHanhKiem 55
Varchar(3) 55
Not null 55
Mã hạnh kiểm 55
DTBCaNam 55
Float(8) 55
xii
Trang 13Not null 55
Điểm trung bình cả năm 55
MaKetQua 55
Varchar(3) 55
Not null 55
Mã kết quả 55
KQ_HOC_KY_MON_HOC (KẾT QUẢ HỌC KỲ MÔN HỌC) 56
TÊN TRƯỜNG 56
KIỂU DỮ LIỆU 56
RÀNG BUỘC 56
CHÚ THÍCH 56
MaHocSinhLop 56
Varchar(13) 56
Not null 56
Mã học sinh lớp 56
MaMonHoc 56
Varchar(4) 56
Not null 56
Mã môn học 56
MaHocKy 56
Varchar(3) 56
Not null 56
Mã học kỳ 56
DTBMonHocKy 56
Float(8) 56
Not null 56
Điểm trung bình môn học kỳ 56
KQ_HOC_KY_TONG_HOP (KẾT QUẢ HỌC KỲ TỔNG HỢP) 56
TÊN TRƯỜNG 56
KIỂU DỮ LIỆU 56
RÀNG BUỘC 56
CHÚ THÍCH 56
MaHocSinhLop 56
Varchar(13) 56
Not null 56
Mã học sinh lớp 56
MaHocKy 56
Varchar(3) 56
Not null 56
Mã học kỳ 56
MaHocLuc 56
Varchar(3) 56
Not null 56
Mã học lực 56
MaHanhKiem 56
Varchar(3) 56
Not null 56
Mã hạnh kiểm 56
DTBMonHocKy 56
xiii
Trang 14Null 56
Điểm trung bình môn học kỳ 56
KQ_CA_NAM_MON_HOC (KẾT QUẢ CẢ NĂM MÔN HỌC) 56
TÊN TRƯỜNG 56
KIỂU DỮ LIỆU 56
RÀNG BUỘC 56
CHÚ THÍCH 56
MaHocSinhLop 56
Varchar(13) 56
Not null 56
Mã học sinh lớp 56
MaMonHoc 56
Varchar(4) 56
Not null 56
Mã môn học 56
DiemThiLai 56
Float(8) 56
Not null 56
Điểm thi lại 56
DTBCaNam 56
Float(8) 56
Not null 56
Điểm trung bình cả năm 56
2 Quan hệ giữa các bảng 57
57
Hình 28: Quan hệ giữa các bảng dữ liệu 57
II Thiết kế Class Diagram 58
1 Class Diagram đăng nhập 58
58
Hình 29: Class diagarm đăng nhập 58
2 Class Diagram quản lý người dùng 58
58
Hình 30: Class diagarm quản lý người dùng 58
3 Class Diagram quản lý học sinh 59
59
Hình 31: Class diagarm quản lý học sinh 59
4 Class Diagram phân công 59
59
Hình 32: Class diagarm phân công giáo viên 59
5 Class Diagram phân lớp 60
60
Hình 33: Class diagarm phân lớp học sinh 60
6 Class Diagram nhập điểm 60
60
Hình 34: Class diagarm nhập điểm 60
III Thiết kế giao diện 61
1 Thiết kế Menu 61
Menu Hệ thống 61
xiv
Trang 15STT 61
Popup Menu 61
Item Menu 61
Chức năng 61
1 61
Hệ thống 61
Đăng nhập 61
Cho phép người dùng đăng nhập vào hệ thống 61
2 61
Đăng xuất 61
Cho phép người dùng đăng xuất khỏi hệ thống 61
3 61
Quản lý người dùng 61
Cho phép quản trị viên thêm người dùng 61
4 61
Đổi mật khẩu 61
Cho phép người dùng đổi mật khẩu 61
5 61
Sao lưu 61
Cho phép quản trị viên sao lưu hệ thống 61
6 61
Phục hồi 61
Cho phép quản trị viên phục hồi hệ thống 61
7 61
Thoát 61
Thoát khỏi chương trình 61
Menu Hiển thị 61
61
STT 61
Popup Menu 61
Item Menu 61
Chức năng 61
1 61
Hiển thị 61
Thanh chức năng 61
Hiển thị/ẩn thanh chức năng 61
2 61
Thanh status 61
Hiển thị/ẩn thanh status 61
Menu Quản lý 62
62
STT 63
Popup Menu 63
Item Menu 63
Chức năng 63
1 63
Quản lý 63
Giáo viên 63
xv
Trang 16Cho phép người dùng thực hiện chức năng quản lý giáo viên 63
2 63
Học sinh 63
Cho phép người dùng thực hiện chức năng quản lý học sinh 63
3 63
Dân tộc 63
Cho phép người dùng thực hiện chức năng quản lý dân tộc 63
4 63
Tôn giáo 63
Cho phép người dùng thực hiện chức năng quản lý tôn giáo 63
5 63
Nghề nghiêp 63
Cho phép người dùng thực hiện chức năng quản lý nghề nghiệp 63
6 63
Lớp 63
Cho phép người dùng thực hiện chức năng quản lý lớp 63
7 63
Khối lớp 63
Cho phép người dùng thực hiện chức năng quản lý khối lớp 63
8 63
Lớp môn học 63
Cho phép người dùng thực hiện chức năng quản lý lớp môn học 63
8 63
Học kỳ 63
Cho phép người dùng thực hiện chức năng quản lý học kỳ 63
9 63
Năm học 63
Cho phép người dùng thực hiện chức năng quản lý năm học 63
10 63
Môn học 63
Cho phép người dùng thực hiện chức năng quản lý môn học 63
11 63
Loại điểm 63
Cho phép người dùng thực hiện chức năng quản lý loại điểm 63
12 63
Kết quả 63
Cho phép người dùng thực hiện chức năng quản lý kết quả 63
13 63
Học lực 63
Cho phép người dùng thực hiện chức năng quản lý học lực 63
14 64
Hạnh kiểm 64
Cho phép người dùng thực hiện chức năng quản lý hạnh kiểm 64
Menu Nghiệp vụ 64
64
STT 64
Popup Menu 64
Item Menu 64
Chức năng 64
xvi
Trang 17Nghiệp vụ 64
Phân công giáo viên 64
Cho phép người dùng phân công giáo viên 64
2 64
Phân lớp học sinh 64
Cho phép người dùng phân lớp học sinh 64
3 64
Nhập điểm 64
Cho phép người dùng nhập điểm cho học sinh 64
Menu Thống kê 64
64
STT 64
Popup Menu 64
Item Menu 64
Chức năng 64
1 64
Thống kê 64
Danh sách giáo viên 64
Cho phép người dùng thống kê danh sách giáo viên 64
2 64
Danh sách học sinh 64
Cho phép người dùng thống kê danh sách học sinh 64
3 64
Danh sách lớp 64
Cho phép người dùng thống kê danh sách lớp 64
4 64
Kết quả HK theo lớp 64
Cho phép người dùng thống kê kết quả học kỳ của học sinh theo lớp 64
5 64
Kết quả cả năm theo lớp 64
Cho phép người dùng thống kê kết quả cả năm theo lớp 64
Menu Tìm kiếm 65
65
STT 65
Popup Menu 65
Item Menu 65
Chức năng 65
1 65
Tìm kiếm 65
Học sinh 65
Cho phép người dùng tìm học sinh 65
2 65
Giáo viên 65
Cho phép người dùng tìm giáo viên 65
Menu Trợ giúp 65
65
STT 65
Popup Menu 65
xvii
Trang 18Item Menu 65
Chức năng 65
1 65
Trợ giúp 65
Thông tin trường 65
Xem thông tin về trường THPT An Phú 65
2 65
Thông tin phần mềm 65
Xem thông tin chương trình 65
3 65
Hướng dẫn sử dụng 65
Hướng dẫn sử dụng chương trình 65
2 Thiết kế một số form chính 66
Chương trình chính 66
66
Hình 35: Giao diện chương trình chính 66
Quản lý người dùng 66
66
Hình 36: Giao diện quản lý người dùng 66
Quản lý học sinh 67
67
Hình 37: Giao diện quản lý học sinh 67
Phân lớp học sinh 67
67
Hình 38: Giao diện phân lớp học sinh 67
Nhập điểm học sinh 68
68
Hình 39: Giao diện nhập điểm 68
Quản lý giáo viên 68
68
Hình 40: Giao diện quản lý giáo viên 68
Phân công giáo viên 69
69
Hình 41: Giao diện phân công giáo viên 69
Tìm kiếm học sinh 69
69
Hình 42: Giao diện tìm kiếm học sinh 69
F CÀI ĐẶT 70
G TỔNG KẾT 70
I Kết quả đạt được 70
II Hướng phát triển 70
H Tài liệu tham khảo 71
xviii
Trang 19DANH SÁCH CÁC HÌNH
Hình 1: Kiến trúc hệ thống 6
Hình 2: Kiến trúc NET Framework 10
Hình 3: Sơ đồ Use Case tổng quát 12
Hình 4: Sơ đồ Use Case cho Actor quản lý 13
Hình 5: Sơ đồ Use Case cho Actor người dùng 13
Hinh 6: Sơ đồ tuần tự cho Use Case đăng nhập 35
Hình 7: Sơ đồ tuần tự cho Use Case thêm người dùng 35
Hình 8: Sơ đồ tuần tự cho Use Case xoá người dùng 36
Hình 9: Sơ đồ tuần tự cho Use Case sửa người dùng 36
Hình 10: Sơ đồ tuần tự cho Use Case đổi mật khẩu 37
Hình 11: Sơ đồ tuần tự cho Use Case thêm năm học 37
Hình 12: Sơ đồ tuần tự cho Use Case xoá năm học 38
Hình 13: Sơ đồ tuần tự cho Use Case sửa năm học 38
Hình 14: Sơ đồ tuần tự cho Use Case thêm học sinh 39
Hình 15: Sơ đồ tuần tự cho Use Case xoá học sinh 39
Hình 16: Sơ đồ tuần tự cho Use Case sửa học sinh 40
Hình 17: Sơ đồ tuần tự cho Use Case thêm phân công 40
Hình 18: Sơ đồ tuần tự cho Use Case xoá phân công 41
Hình 19: Sơ đồ tuần tự cho Use Case sửa phân công 41
Hình 20: Sơ đồ tuần tự cho Use Case thêm phân lớp 42
Hình 21: Sơ đồ tuần tự cho Use Case xoá phân lớp 42
Hình 22: Sơ đồ tuần tự cho Use Case sửa phân lớp 43
Hình 23: Sơ đồ tuần tự cho Use Case thêm điểm 43
Hình 24: Sơ đồ tuần tự cho Use Case xoá điểm 44
xix
Trang 20Hình 25: Sơ đồ tuần tự cho Use Case sửa điểm 44
Hình 26: Sơ đồ tuần tự cho Use Case tìm học sinh 45
Hình 27: Sơ đồ lớp 45
Hình 28: Quan hệ giữa các bảng dữ liệu 54
Hình 29: Class diagarm đăng nhập 55
Hình 30: Class diagarm quản lý người dùng 55
Hình 31: Class diagarm quản lý học sinh 56
Hình 32: Class diagarm phân công giáo viên 56
Hình 33: Class diagarm phân lớp học sinh 57
Hình 34: Class diagarm nhập điểm 57
Hình 35: Giao diện chương trình chính 62
Hình 36: Giao diện quản lý người dùng 62
Hình 37: Giao diện quản lý học sinh 63
Hình 38: Giao diện phân lớp học sinh 63
Hình 39: Giao diện nhập điểm 64
Hình 40: Giao diện quản lý giáo viên 64
Hình 41: Giao diện phân công giáo viên 65
Hình 42: Giao diện tìm kiếm học sinh 65
Hình 43: Mô hình cài đặt 66
xx
Trang 21A PHẦN MỞ ĐẦU
I Lý do chọn đề tài
Ngày nay với sự phát triển không ngừng của khoa học máy tính Một số công việc làm bằng thủ công vừa tốn công, tốn sức lại hao tốn quá nhiều thời gian dần dần được chuyển sang hệ thống tự động hoá, đem lại sự thuận tiện trong công việc cho con người cũng như góp phần làm cho cơ quan hoạt động mang tính chuyên nghiệp và hiệu quả hơn Từ nhu cầu thực
tế đó đã xuất hiện nhiều phần mềm và công cụ để quản lý và xử lý các công việc thay cho con người
Trong quản lý giáo dục, với số lượng học sinh ngày càng tăng thì việc tính điểm và xếp loại học tập cho học sinh vào cuối mỗi học kỳ, năm học ngày càng chiếm nhiều thời gian
và tốn nhiều công sức của bộ phận giáo vụ và giáo viên phụ trách môn học Do đó, xây dựng phần mềm “ Quản lý điểm số” cho một trường học nói chung và trường trung học phổ thông nói riêng là hết sức cần thiết nhằm tiết kiệm thời gian, công sức của giáo viên đồng thời tăng
độ chính xác trong công tác tính điểm và xếp loại học sinh Đây là một công cụ hỗ trợ cần thiết và hiệu quả, giúp cho công việc dễ dàng hơn, tiết kiệm được thời gian và công sức đáng kể
Xuất phát từ nhu cầu thiết thực trên, nên em chọn đề tài “Quản Lý Điểm Số Học Sinh Trường Trung học Phổ Thông An Phú” nhằm quản lý thông tin học sinh và điểm cho học sinh toàn trường
II Giới thiệu sơ lược ứng dụng
1 Mục tiêu
Mục tiêu của đề tài đặt ra là xây dựng hệ thống quản lý điểm học sinh, hỗ trợ nhập thông tin học sinh, nhập điểm và tính điểm cho học sinh, nhập thông tin giáo viên, để việc quản lý điểm học sinh nhanh hơn và ít tốn thời gian hơn
2 Chức năng chính
Nhập thông tin học sinh khi mới vào trường
Phân lớp học sinh vào đầu năm học
Nhập thông tin giáo viên và chuyên môn của giáo viên
Phân công giảng dạy
Nhập điểm cho học sinh
Tính điểm trung bình môn, trung bình học kỳ, điểm tổng kết cả năm và xếp loại học sinh
Thống kê danh sách học sinh, danh sách giáo viên
Tìm kiếm học sinh, tìm kiếm giáo viên
Trang 22B PHẦN TỔNG QUAN
I Giới thiệu sơ lược về trường THPT An Phú
• Trường THPT An Phú được đặt tại thị trấn An Phú, huyện An Phú, tỉnh An Giang
Trường được thành lập năm 1981, ban đầu là một phân hiệu An Phú của trường THPT Tân Châu, với 2 lớp( một lớp 10 và một lớp 11), có khoảng 70 học sinh và 7 giáo viên
Từ năm 1983 trường được chính thức thành lập và mang tên là “Trường THPT
An Phú” cho đến nay
Hiện tại trường có 27 lớp học, 75 giáo viên và 1071 học sinh với 3 khối lớp 10,
11, 12
• Trường THPT An Phú là một trong những trường có chất lượng dạy và học cao ở tỉnh
An Giang với đội ngũ giáo viên nhiệt tình, yêu nghề mến trẻ, tinh thần trách nhiệm cao để hoàn thành tốt công tác giảng dạy
Nhiều năm liền đều có học sinh đạt giải cao trong các kỳ thi học sinh giỏi cấp tỉnh
Tỉ lệ tốt nghiệp ổn định
Tỉ lệ đậu đại học, cao đẳng từ 10% đến 15% trên năm
Đạt giải nhất toàn đoàn hội khỏe phù đổng nhiều năm liền
II Mô tả bài toán
1 Hiện trạng hệ thống
Hiện tại, trường THPT An Phú vẫn còn tính điểm bằng hình thức thủ công (viết tay) nên vẫn còn gặp một số hạn chế
Lưu trữ và tìm kiếm khó khăn và mất nhiều thời gian
Tính toán chậm và đôi khi thiếu chính xác
Độ an toàn không cao
Do đó phần mềm Quản lý điểm học sinh là cần thiết để khắc phục những hạn chế trên
2 Mô tả bài toán
• Một học sinh khi mới vào trường sẽ được nhập thông tin cá nhân vào hệ thống các thông tin gồm: Họ và tên, giới tính, ngày sinh, dân tộc, tôn giáo, họ tên cha, nghề nghiệp cha, họ tên mẹ, nghề nghiệp mẹ
• Vào đầu năm học học sinh sẽ được phân vào các lớp
Khối 10 thì phân theo dạng lớp mà học sinh đó đăng ký
Khối 11 và 12 thì có thể được phân vào lớp cũ (ví dụ lớp 10A1 sẽ lên lớp 11A1) hoặc có thể được phân vào lớp khác (ví dụ lớp 10A1 lên 11A2)
Trang 23• Với mỗi lớp sẽ lưu trữ các thông tin về lớp, sĩ số và giáo viên chủ nhiệm
• Trong mỗi khối lớp có 4 dạng lớp: lớp A, B, C, D Mỗi loại lớp có nhiều lớp
Dạng lớp A:
Môn nâng cao: Toán, Lý, Hóa
Môn cơ bản: Các môn còn lại
Dạng lớp B:
Môn nâng cao: Toán, Hóa, Sinh
Môn cơ bản: Các môn còn lại
Dạng lớp C:
Môn nâng cao: Văn, Sử, Địa
Môn cơ bản: Các môn còn lại
Dạng lớp D:
Môn nâng cao: Văn, Toán, Anh
Môn cơ bản: Các môn còn lại
• Trong một học kỳ các môn học sẽ có các hình thức kiểm tra như:
Kiểm tra thường xuyên: gồm kiểm tra miệng và kiểm tra 15 phút,
Kiểm tra định kỳ: kiểm tra 1 tiết
Kiểm tra học kỳ: thi
Trong đó, kiểm tra miệng (hệ số 1), 15 phút (hệ số 1), 1 tiết (hệ số 2) có thể có nhiều cột điểm Riêng điểm “thi” (hệ số 3) chỉ có một cột duy nhất vào cuối học kỳ
Sau mỗi học kỳ điểm trung bình môn của học kỳ và cả năm được tính như sau:2.1 Điểm trung bình môn của học kỳ (ĐTBmhk) là điểm trung bình cộng của điểm các bài kiểm tra thường xuyên (KTtx), kiểm tra điều kiện (KTđk) và kiểm tra học kỳ (KThk)
ĐKThk ĐKTđk
ĐKTtx
2.2 Điểm trung bình môn của cả năm (ĐTBmcn) là trung bình cộng của điểm trung bình môn học kỳ I (ĐTBmhkI) với điểm trung bình môn học kỳ II (ĐTBmhkII), trong đó ĐTBmhkII tính theo hệ số 2:
Trang 24 Điểm trung bình các môn học kỳ, cả năm học
a) Điểm trung bình các môn học kỳ (ĐTBhk) là trung bình cộng của điểm trung bình môn học kỳ của tất cả các môn với hệ số(a, b….) của từng môn học:
a x ĐTBmhk Toán + b x ĐTBmhk Vật lý + … ĐTBhk =
Điểm trung bình các môn học từ 3,5 trở lên
Không có môn nào có điểm trung bình dưới 2,0
Loại kém: các trường hợp còn lại
Đối tượng sử dụng
o Giáo viên dạy lớp nhập điểm cho học sinh
o Ban giám hiệu có toàn quyền tác động vào hệ thống
Trang 25 Yêu cầu hệ thống
o Có chế độ phân quyền cho các loại người dùng khác nhau
o Hỗ trợ nhập thông tin cơ bản của giáo viên dạy lớp và giáo viên chủ nhiệm
o Hỗ trợ nhập thông tin học sinh khi vào trường
o Hỗ trợ phân lớp học sinh vào đầu năm học
o Hỗ trợ nhập điểm cho học sinh
o Hỗ trợ thống kê điểm, xếp loại học lực của học sinh theo từng lớp
Chi tiết hóa
Sinh ra mã ở dạng nguyên mẫu
Lập và cung cấp tài liệu
2 Các sơ đồ lớp
Sơ đồ lớp (Class Diagram)
Bao gồm một tập hợp các lớp, các giao diện, sơ đồ hợp tác và mối quan hệ giữa chúng
Nó thể hiện mặt tĩnh của hệ thống
Sơ đồ đối tượng (Object Diagram)
Bao gồm một tập hợp các đối tượng và mối quan hệ giữa chúng Đối tượng là một thể hiện của lớp, sơ đồ đối tượng là một thể hiện của sơ đồ lớp
Sơ đồ Use case (Use Case Diagram)
Khái niệm actor: là những người dùng(tác nhân) hay hệ thống khác ở bên ngoài phạm vi của hệ thống mà có tương tác với hệ thống
Sơ đồ Use case bao gồm một tập hợp các Use case, các actor và thể hiện mối quan hệ tương tác giữa actor và Use case Nó rất quan trọng trong việc tổ chức và mô hình hóa hành vi của hệ thống
Sơ đồ tuần tự (Sequence Diagram)
Là một dạng biểu đồ tương tác (interaction), biểu diễn sự tương tác giữa các đối tượng theo thứ tự thời gian Nó mô tả các đối tượng liên quan trong một tình huống cụ thể và các bước tuần tự trong việc trao đổi các thông báo(message) giữa các đối tượng đó để thực hiện một chức năng nào đó của hệ thống
Trang 26 Sơ đồ hợp tác (Collaboration)
Gần giống như sơ đồ Sequence, sơ đồ hợp tác là một cách khác để thể hiện một tình huống có thể xảy ra trong hệ thống Nhưng nó tập trung vào việc thể hiện việc trao đổi qua lại các thông báo giữa các đối tượng chứ không quan tâm đến thứ tự của các thông báo đó Có nghĩa là qua đó chúng ta sẽ biết được nhanh chóng giữa 2 đối tượng cụ thể nào đó có trao đổi những thông báo gì cho nhau
Sơ đồ chuyển trạng thái (Statechart)
Chỉ ra một máy chuyển trạng thái, bao gồm các trạng thái, các bước chuyển trạng thái và các hoạt động Nó đặc biệt quan trọng trong việc mô hình hóa hành vi của một lớp giao diện(interface class) hay hợp tác và nó nhấn mạnh vào các đáp ứng theo sự kiện của một đối tượng, điều này rất hữu ích khi mô hình hóa một hệ thống phản ứng(reactive)
Sơ đồ hoạt động (Activity)
Là một dạng đặc biệt của sơ đồ chuyển trạng Nó chỉ ra luồng đi từ hoạt động này sang hoạt động khác trong một hệ thống Nó đặc biệt quan trọng trong việc xây dựng mô hình chức năng của hệ thống và nhấn mạnh tới việc chuyển đổi quyền kiểm soát giữa các đối tượng
Sơ đồ thành phần (Component)
Chỉ ra cách tổ chức và sự phụ thuộc của các thành phần(component) Nó liên quan tới sơ
đồ lớp, trong đó một thành phần thường ánh xạ tới một hay nhiều lớp, giao diện, collaboration
Quan hệ Thừa kế (Generalization)
Chỉ ra cấu hình của hệ thống khi thực thi
Trang 27 Use Case view: Mô tả cách ứng xử của hệ thống.
Logical view: Mô tả các đối tượng.
Process view: Mô tả việc đồng bộ hoá và các xử lý đồng thời.
Implementation view: Mô tả sự phụ thuộc và kết hợp giữa các component.
Deployment view: Chỉ ra cấu hình phần cứng.
4 Sơ đồ Use Case (Use Case diagram)
Mô tả toàn cảnh hệ thống, đơn giản và ít ký hiệu
4.1 Mục đích của sơ đồ Use Case
Mô hình hoá chuỗi hành động
Cung cấp tổng thể hệ thống
Đưa ra cơ sở để xác định giao tiếp giữa người, máy đối với hệ thống
Mô hình hoá cho một Use Case
Cho người dùng hiểu và giao tiếp với hệ thống
Làm cơ sở cho phát thảo các đặc tả kiểm tra
4.2 Các ký hiệu cơ bản
Khái niệm Ký hiệu Ý nghĩa
Actor Người dùng hệ thống, một hệ thống khác hoặc một sự kiện
thời gian
Actor có thể: Chỉ cung cấp thông tin cho hệ thống, chỉ lấy thông tin từ hệ thống, hoặc nhận thông tin từ hệ thống và cung cấp thông tin cho hệ thống
Use Case Là một khối chức năng được thực hiện bởi hệ thống để mang
lại một kết quả có giá trị đối với một Actor nào đó
Quy ước đặt tên Use Case: động từ đi trước, danh từ hoặc cụm từ theo sau
Relationship Quan hệ giữa các phần tử trong mô hình, bao gồm kết hợp
(association), tổng quát hoá (generalization)
Include Một Use Case có thể có chức năng của một Use Case khácExtend Dùng để chỉ các hành vi tự chọn (có thể hoặc không), các
hành vi theo điều kiện nhất định
Trang 285 Sơ đồ lớp
5.1 Khái niệm
Đối tượng (Object)
Mô hình hoá một vật hoặc một khái niệm trong thế giới thực
Một đối tượng có các đặc điểm như: Trạng thái (state), ứng xử (behavior), định danh (indentity)
Lớp (class)
Là tập hợp các đối tượng có chung các thuộc tính, các ứng xử và ngữ nghĩa
Là một khuôn mẫu để tạo ra đối tượng
Đối tượng là một thể hiện của một lớp
Gói ( package)
Là tập hợp các lớp hay các gói có liên quan với nhau
Sơ đồ lớp ( Class diagram)
Cung cấp một bức tranh mô tả một số hoặc tất cả các lớp trong mô hình
Thể hiện cấu trúc và ứng xử của một hay nhiều lớp
Thể hiện mối quan hệ thừa kế giữa các lớp
Các thao tác
Trang 295.3 Các kiểu lớp
Khái niệm Ký hiệu Ý nghĩa
Lớp thực thể
(Entity class)
Mô hình hoá các thông tin lưu trữ trong hệ thống
Độc lập với các đối tượng xung quanh
Sơ đồ tuần tự biểu diễn sự tương tác của các đối tượng theo thứ tự thời gian
Đặc điểm của biểu đồ tuần tự là phản ánh cấu trúc của biểu đồ lớp và thứ tự tương tác
6.1 Mục đích
Lập mô hình tương tác đối tượng
Hiện thực hoá Use Case
Lập mô hình các kịch bản sử dụng của Use Case
Khám phá tính logic của một phép toán, hàm hay thủ tục phức tạp
6.2 Các ký hiệu
Thông điệp
Thủ tục
Đường sinh
Trang 30II Môi trường phát triển
1 Kiến trúc NET framework
Khi Microsoft thông báo phát minh NET với ngôn ngữ C# vào tháng 7/2000, mãi đến tháng 4/2003 phiên bản 1.1 của bộ .NET Framework mới được lưu hành, nó là một Framework triển khai phần mềm hoàn toàn mới, một cách tiếp cận mới làm cho lập trình dễ hơn
Cách dễ hiểu nhất để nghĩ về NET Framework là một môi trường mà code của bạn sẽ hoạt động Có nghĩa là NET sẽ quản lý việc thi hành chương trình, khởi động chương trình, cấp phép hoạt động, cấp phát ký ức để dữ liệu làm việc, hổ trợ việc thu hồi tài nguyên và ký
ức không dùng đến, …Tuy nhiên ngoài việc tiến hành những công tác vừa nêu trên, NET còn chuẩn bị sẵn một thư viện lớp được gọi là NET Framework base class library cho phép thực hiện nhiều tác vụ trên windowns Tóm lại, NET Framework giữ vai trò: quản lý việc thi hành chương trình của bạn và cung cấp dịch vụ mà chương trình của bạn cần đến
Hình 2 : Kiến trúc NET Framework
Các thành phần chính của NET Framework là: Common Language Runtime(CLR) và Framework Base Classes Library
Common Language Runtime(CLR): Là bộ phận quản lý việc thi hành đoạn mã của
bạn, nạp chương trình cho chạy đoạn mã theo những tiến trình nhất định cũng như quản lý các tiến trình này và cung cấp tất cả các dịch vụ cho tiến trình CLR tạo một môi trường mà chương trình được thi hành CLR bao gồm một virtual machine tương tự như java virtual machine Ở cấp cao, CLR cho biên dịch các đối tượng, tiến hành các kiểm tra an toàn đối với các đối tượng này, bố trí chúng lên kí ức, cho thi hành và cuối cùng là thu hồi kí ức mà chúng chiếm dụng trong thời gian thi hành nhưng không còn sử dụng nữa CRL được xem là linh hồn của NET Framework
.NET Framework
Data and XMl classes(ADO.NET, SQL, XSLT, Xpath, XML,…)
Framework Base Classes Library
(IO, string, net, security, threading, text, reflection,
collections, GUI, XML/SOAP,…)
Common Language Runtime (CLR)Common Tye
Speciication (CTS) Common Language Speciication (CLS)
WebService Web Forms WindowsForms
Windows Platform
Trang 31Framework Base Classes Library: Đây là một thư viện lớp rất đồ sộ chứa những
code đã viết sẵn, cung cấp một API thiên đối tượng bao gồm tất cả các chức năng được bao trùm bởi NET Framework Với hơn 5000 lớp khác nhau, Framework Classes Library cung cấp những tiện nghi giúp triển khai nhanh chóng các ứng dụng trên desktop, client server, các dịch vụ web và các ứng dụng khác
2 Ngôn ngữ C#
Ngôn ngữ C# là một trong số các ngôn ngữ được NET Framework hỗ trợ, C# khá đơn giản, chỉ khoảng 80 từ khóa và hơn mười mấy kiểu dữ liệu được xây dựng sẵn Tuy nhiên, ngôn ngữ C# có ý nghĩa cao khi nó thực thi những khái niệm lập trình hiện đại C# bao gồm tất cả những hỗ trợ cho cấu trúc, thành phần component, lập trình hướng đối tượng Những tính chất đó hiện diện trong một ngôn ngữ lập trình hiện đại Và ngôn ngữ C# hội đủ những điều kiện như vậy, hơn nữa nó được xây dựng trên nền tảng của hai ngôn ngữ mạnh nhất là C++ và Java
3 Microsoft SQL server 2000
SQL Server 2000 là một hệ quản trị cơ sở dữ liệu (Relational Database Management System (RDBMS) ) sử dụng Transact-SQL để trao đổi dữ liệu giữa Client computer và SQL Server computer Một RDBMS bao gồm databases, database engine và các ứng dụng dùng để quản lý dữ liệu và các bộ phận khác nhau trong RDBMS
SQL Server 2000 được tối ưu để có thể chạy trên môi trường cơ sở dữ liệu rất lớn (Very Large Database Environment) lên đến Tera-Byte và có thể phục vụ cùng lúc cho hàng ngàn user SQL Server 2000 có thể hoạt động kết hợp tốt với các server khác như Microsoft Internet Information Server (IIS), E-Commerce Server, Proxy Server
SQL Server 2000 được cấu tạo bởi nhiều thành phần như Relational Database Engine, Analysis Service và English Query Các thành phần này khi phối hợp với nhau tạo thành một giải pháp hoàn chỉnh giúp cho việc lưu trữ và phân tích dữ liệu một cách dễ dàng
Trang 32D PHÂN TÍCH
I Sơ đồ Use Case
1 Sơ đồ Use Case tổng quát cho tất cả các Actor
Hình 3: Sơ đồ Use Case tổng quát
Trang 332 Sơ đồ Use Case cho Actor quản lý
Trang 34Hình 4: Sơ đồ Use Case cho Actor quản lý
3 Sơ đồ Use Case cho Actor giáo viên
Hình 5: Sơ đồ Use Case cho Actor người dùng
II Đặc tả Use Case
Trang 351 Đặc tả Use Case Đăng nhập
Mô tả: Người dùng đăng nhập vào hệ thống.
Điều kiện tiên quyết: Hệ thống chưa được đăng nhập.
Trình tự thực hiện:
1 Từ giao diện chính, người dùng chọn đăng nhập vào hệ thống
2 Hệ thống yêu cầu nhập thông tin đăng nhập (tên đăng nhập và mật khẩu)
3 Người dùng nhập thông tin đăng nhập
4 Người dùng nhấn nút Đăng Nhập [Ngoại lệ a]
5 Hệ thống kiểm tra thông tin đăng nhập [Ngoại lệ b]
6 Hệ thống thông báo đăng nhập thành công
7 Use case kết thúc
Ngoại lệ a: Người dùng nhấn nút Hủy Bỏ.
a.4 Người dùng nhấn nút Hủy Bỏ khi không muốn đăng nhập nữa
a.5 Use case kết thúc
Ngoại lệ b: Thông tin không hợp lệ.
b.5 Thông tin đăng nhập không hợp lệ
b.6 Hệ thống thông báo thông tin đăng nhập không hợp lệ, đăng nhập không thành công
b.7 Use case kết thúc
Kết quả: Đăng nhập thành công
2 Đặc tả Use Case Quản lý người dùng
Mô tả : Chức năng này cho phép quản trị viên quản lý thông tin người dùng bao gồm
thêm, cập nhật và xóa người dùng thông tin người dùng
Điều kiện tiên quyết: Người dùng phải đăng nhập vào hệ thống với quyền là người
quản trị (Admin)
Trình tự thực hiện:
1 Từ giao diện chính người dùng chọn quản lý người dùng
2 Hệ thống hiển thị giao diện quản lý người dùng
a Thêm người dùng: Quản trị viên muốn thêm người dùng mới.
a.3 Quản trị viên chọn nút Thêm Mới
a.4 Hệ thống yêu cầu nhập thông tin người dùng cần thêm
a.5 Quản trị viên nhập thông tin người dùng cần thêm
a.6 Quản trị viên chọn Lưu [Ngoại lệ d]
a.7 Hệ thống kiểm tra thông tin người dùng [Ngoại lệ e]
a.8 Thêm thành công, kết thúc use case Thêm người dùng
Ngoại lệ d: Quản trị viên không muốn thêm nũa.
d.6 Quản trị viên không chọn nút Bỏ qua
d.7 Người dùng không được thêm, use case Thêm người dùng kết thúc
Ngoại lệ e: Thông tin người dùng không hợp lệ.
e.7 Hệ thống thông báo thông tin người dùng cần thêm không hợp lệ, yêu cầu người dùng nhập lại
e.8 Trở lại bước a.5
Kết quả: Một người dùng được thêm vào hệ thống.
b Cập nhật người dùng: Quản trị viên muốn cập nhật thông tin người dùng.
b.3 Quản trị viên chọn người dùng cần cập nhật
b.4 Quản trị viên nhập lại thông tin người dùng cần cập nhật
b.5 Quản trị viên chọn nút Lưu.[Ngoại lệ f]
Trang 36b.6 Hệ thống kiểm tra thông tin người dùng [Ngoại lệ g]
b.7.Cập nhật thành công, use case Cập nhật người dùng kết thúc
Ngoại lệ f: Quản trị viên không muốn cập nhật thông tin người dùng nữa.
f.5 Quản trị viên chọn nút Bỏ qua
f.6 Quản trị viên không cập nhật người dùng nữa, use case Cập nhật người dùng kết thúc
Ngoại lệ g: Thông tin người dùng không hợp lệ.
g.6 Hệ thống thông báo thông tin người dùng cần thêm không hợp lệ, yêu cầu người dùng nhập lại
g.7 Trở lại bước b.4
Kết quả: Thông tin của một người dùng trong hệ thống được cập nhật.
c Xóa người dùng: Quản trị viên muốn xóa người dùng.
c.3 Quản trị viên chọn người dùng cần xóa
c.4 Quản trị viên chọn nút xoá
c.5 Hệ thống yêu cầu xác nhận lại có thật sự muốn xóa hay không
c.6 Quản trị viên xác nhận là muốn xóa [Ngoại lệ h]
c.7 Hệ thống kiểm tra các mối ràng buộc [Ngoại lệ i]
c.8 Người dùng được chọn bị xóa ra khỏi hệ thống, use case Xóa người dùng kết thúc
Ngoại lệ h:
h.6 Quản trị viên xác nhận là không muốn xóa
h.7 Không xóa người dùng, use case Xóa người dùng kết thúc
Ngoại lệ i: Có sự ràng buộc
i.7 Hệ thống thông báo có sự ràng buộc, không thể xoá, use case xoá kết thúc
Kết quả: Một người dùng bị xóa khỏi hệ thống.
3 Đặc tả Use Case Đổi mật khẩu
Mô tả: Chức năng này cho phép người dùng thay đổi mật khẩu đang sử dụng
Điều kiện tiên quyết: Người dùng phải đăng nhập vào hệ thống.
Trình tự thực hiện:
1 Từ giao diện chính người dùng chọn đổi mật khẩu
2 Hệ thống hiển thị giao diện đổi mật khẩu
3 Hệ thống yêu cầu nhập thông tin: mật khẩu cũ, mật khẩu mới, xác nhận mật khẩu mới
4 Người dùng nhập thông tin yêu cầu
5 Người dùng chọn nút Đồng ý.[Ngoại lệ a]
6 Hệ thống kiểm tra thôn tin .[Ngoại lệ b]
7 Đổi mật khẩu thành công
Ngoại lệ a: Người dùng không muốn đổi mật khẩu.
a.5 Người dùng chọn hủy bỏ
a.6 Kết thúc use case Đổi mật khẩu
Ngoại lệ b: Mật khẩu không hợp lệ
b.6 Hệ thống thông báo sai mật khẩu, yêu cầu nhập lại thông tin mật khẩu
b.7 Trở lại bước 4
Kết quả: đổi mật khẩu thành công.
Trang 374 Đặc tả Use Case Quản lý năm học
Mô tả: Chức năng này cho phép người quản lý quản lý năm học bao gồm thêm, cập
nhật, xóa thông tin năm học
Điều kiện tiên quyết: Người dùng phải đăng nhập vào hệ thống với quyền là người
quản lý
Trình tự thực hiện:
1 Từ giao diện chính người dùng chọn quản lý năm học
2 Hệ thống hiển thị giao diện quản lý năm học
a Thêm năm học: Người dùng muốn thêm năm học mới.
a.3 Người dùng chọn nút Thêm Mới
a.4 Hệ thống yêu cầu nhập thông tin năm học cần thêm
a.5 Người dùng nhập thông tin năm học cần thêm
a.6 Người dùng chọn Lưu [Ngoại lệ d]
a.7 Hệ thống kiểm tra thông tin năm học [Ngoại lệ e]
a.8 Thêm thành công, kết thúc use case thêm năm học
Ngoại lệ d: Người dùng không muốn thêm năm học mới.
d.5 Người dùng chọn nút Bỏ qua
d.6 Người dùng không muốn thêm năm học nữa, kết thúc use case thêm năm học
Ngoại lệ e: Thông tin năm học không hợp lệ.
e.7 Hệ thống thông báo thông tin năm học cần thêm không hợp lệ, yêu cầu người dùng nhập lại
e.8 Trở lại bước a.5
Kết quả: Một năm học được thêm vào hệ thống.
b Cập nhật năm học: Người dùng muốn cập nhật thông tin năm học.
b.3 Người dùng chọn năm học cần cập nhật
b.4 Người dùng nhập lại thông tin năm học
b.4 Người dùng chọn Lưu [Ngoại lệ f]
b.5 Hệ thống kiểm tra thông tin năm học [Ngoại lệ g]
b.6.Cập nhật thành công, use case Cập nhật năm học kết thúc
Ngoại lệ f: Người dùng không muốn cập nhật thông tin năm học nữa.
f.3 Người dùng không cập nhật năm học nữa người dùng chọn nút bỏ qua.f.4 Kết thúc use case Cập nhật năm học
Ngoại lệ g: Thông tin năm học không hợp lệ.
g.5 Hệ thống thông báo thông tin năm học cần thêm không hợp lệ, yêu cầu nhập lại
g.6 Trở lại bước b.4
Kết quả: Thông tin của một năm học trong hệ thống được cập nhật.
c Xóa năm học: Người dùng muốn xóa năm học.
c.3 Người dùng chọn năm học cần xóa
c.4 Người dùng chọn nút Xoá
c.5 Hệ thống yêu cầu xác nhận lại có thật sự muốn xóa không
c.6 Người dùng xác nhận là muốn xóa [Ngoại lệ h]
c.7 Hệ thống kiểm tra ràng buộc.[Ngoại lệ g]
c.8 Năm học được chọn bị xóa ra khỏi hệ thống, use case Xóa năm học kết thúc
Trang 38Ngoại lệ h: Người dùng không muốn xoá năm học
h.6 Người dùng xác nhận là không muốn xóa
h.7 Không xóa năm học, use case Xóa năm học kết thúc
Ngoại lệ g: có ràng buộc
g.7 Hệ thống thông báo có sự ràng buộc, không thể xoá, use case xoá kết thúc
Kết quả: Một năm học bị xóa khỏi hệ thống.
5 Đặc tả Use Case Quản lý học kỳ
Mô tả: Chức năng này cho phép người quản lý quản lý học kỳ bao gồm thêm, cập nhật,
xóa thông tin học kỳ
Điều kiện tiên quyết: Người dùng phải đăng nhập vào hệ thống với quyền là người
quản lý
Trình tự thực hiện:
1 Từ giao diện chính người dùng chọn quản lý học kỳ
2 Hệ thống hiển thị giao diện quản lý học kỳ
a Thêm học kỳ: Người dùng muốn thêm học kỳ mới.
a.3 Người dùng chọn nút Thêm Mới
a.4 Hệ thống yêu cầu nhập thông tin học kỳ cần thêm
a.5 Người dùng nhập thông tin học kỳ cần thêm
a.6 Người dùng chọn Lưu [Ngoại lệ d]
a.7 Hệ thống kiểm tra thông tin học kỳ [Ngoại kệ e]
a.8 Thêm thành công, kết thúc use case thêm học kỳ
Ngoại lệ d: Người dùng không muốn thêm học kỳ mới.
d.5 Người dùng chọn nút Bỏ qua
d.6 Người dùng không muốn thêm học kỳ nữa, kết thúc use case thêm học kỳ
Ngoại lệ e: Thông tin học kỳ không hợp lệ.
e.7 Hệ thống thông báo thông tin học kỳ cần thêm không hợp lệ, yêu cầu người dùng nhập lại
e.8 Trở lại bước a.5
Kết quả: Một học kỳ được thêm vào hệ thống.
b Cập nhật học kỳ: Người dùng muốn cập nhật thông tin học kỳ.
b.3 Người dùng chọn học kỳ cần cập nhật
b.4 Người dùng nhập lại thông tin học kỳ
b.4 Người dùng chọn Lưu [Ngoại lệ f]
b.5 Hệ thống kiểm tra thông tin học kỳ [Ngoại lệ g]
b.6.Cập nhật thành công, use case Cập nhật học kỳ kết thúc
Ngoại lệ f: Người dùng không muốn cập nhật thông tin học kỳ nữa.
f.3 Người dùng không cập nhật học kỳ nữa người dùng chọn nút bỏ qua.f.4 Kết thúc use case Cập nhật học kỳ
Ngoại lệ g: Thông tin học kỳ không hợp lệ.
g.5 Hệ thống thông báo thông tin học kỳ học cần thêm không hợp lệ, yêu cầu nhập lại
g.6 Trở lại bước b.4
Kết quả: Thông tin của một học kỳ trong hệ thống được cập nhật.
c Xóa học kỳ: Người dùng muốn xóa học kỳ.
c.3 Người dùng chọn học kỳ cần xóa
Trang 39c.4 Người dùng chọn nút Xoá.
c.5 Hệ thống yêu cầu xác nhận lại có thật sự muốn xóa không
c.6 Người dùng xác nhận là muốn xóa [Ngoại lệ h]
c.7 Hệ thống kiểm tra ràng buộc.[Ngoại lệ g]
c.8 Học kỳ được chọn bị xóa ra khỏi hệ thống, use case Xóa học kỳ kết thúc
Ngoại lệ h: Người dùng không muốn xoá học kỳ
h.6 Người dùng xác nhận là không muốn xóa
h.7 Không xóa học kỳ, use case Xóa học kỳ kết thúc
Ngoại lệ g: có ràng buộc
g.7 Hệ thống thông báo có sự ràng buộc, không thể xoá, use case xoá kết thúc
Kết quả: Một học kỳ bị xóa khỏi hệ thống.
6 Đặc tả Use Case Quản lý khối lớp
Mô tả: Chức năng này cho phép người quản lý quản lý khối lớp bao gồm thêm, cập
nhật, xóa thông tin khối lớp
Điều kiện tiên quyết: Người dùng phải đăng nhập vào hệ thống với quyền là người
quản lý
Trình tự thực hiện:
1 Từ giao diện chính người dùng chọn quản lý khối lớp
2 Hệ thống hiển thị giao diện quản lý khối lớp
a Thêm khối lớp: Người dùng muốn thêm khối lớp mới.
a.3 Người dùng chọn nút Thêm Mới
a.4 Hệ thống yêu cầu nhập thông tin khối lớp cần thêm
a.5 Người dùng nhập thông tin khối lớp cần thêm
a.6 Người dùng chọn Lưu [Ngoại lệ d]
a.7 Hệ thống kiểm tra thông tin khối lớp [Ngoại lệ e]
a.8 Thêm thành công, kết thúc use case thêm khối lớp
Ngoại lệ d: Người dùng không muốn thêm khối lớp mới.
d.5 Người dùng chọn nút Bỏ qua
d.6 Người dùng không muốn thêm khối lớp nữa, kết thúc use case thêm khối lớp
Ngoại lệ e: Thông tin khối lớp không hợp lệ.
e.7 Hệ thống thông báo thông tin khối lớp cần thêm không hợp lệ, yêu cầu người dùng nhập lại
e.8 Trở lại bước a.5
Kết quả: Một khối lớp được thêm vào hệ thống.
b Cập nhật khối lớp: Người dùng muốn cập nhật thông tin khối lớp.
b.3 Người dùng chọn khối lớp cần cập nhật
b.4 Người dùng nhập lại thông tin khối lớp
b.4 Người dùng chọn Lưu [Ngoại lệ f]
b.5 Hệ thống kiểm tra thông tin khối lớp [Ngoại lệ g]
b.6.Cập nhật thành công, use case Cập nhật khối lớp kết thúc
Ngoại lệ f: Người dùng không muốn cập nhật thông tin khối lớp nữa.
f.3 Người dùng không cập nhật khối lớp nữa người dùng chọn nút bỏ qua.f.4 Kết thúc use case Cập nhật khối lớp
Ngoại lệ g: Thông tin khối lớp không hợp lệ.
g.5 Hệ thống thông báo thông tin khối lớp học cần thêm không hợp lệ, yêu cầu nhập lại
Trang 40g.6 Trở lại bước b.4.
Kết quả: Thông tin của một khối lớp trong hệ thống được cập nhật.
c Xóa khối lớp: Người dùng muốn xóa khối lớp.
c.3 Người dùng chọn khối lớp cần xóa
c.4 Người dùng chọn nút Xoá
c.5 Hệ thống yêu cầu xác nhận lại có thật sự muốn xóa không
c.6 Người dùng xác nhận là muốn xóa [Ngoại lệ h]
c.7 Hệ thống kiểm tra ràng buộc.[Ngoại lệ g]
c.8 Khối lớp được chọn bị xóa ra khỏi hệ thống, use case Xóa khối lớp kết thúc
Ngoại lệ h: Người dùng không muốn xoá khối lớp
h.6 Người dùng xác nhận là không muốn xóa
h.7 Không xóa khối lớp, use case Xóa khối lớp kết thúc
Ngoại lệ g: có ràng buộc
g.7 Hệ thống thông báo có sự ràng buộc, không thể xoá, use case xoá kết thúc
Kết quả: Một khối lớp bị xóa khỏi hệ thống
7 Đặc tả Use Case Quản lý lớp
Mô tả: Chức năng này cho phép người quản lý quản lý lớp bao gồm thêm, cập nhật, xóa
thông tin lớp
Điều kiện tiên quyết: Người dùng phải đăng nhập vào hệ thống với quyền là người
quản lý
Trình tự thực hiện:
1 Từ giao diện chính người dùng chọn quản lý lớp
2 Hệ thống hiển thị giao diện quản lý lớp
a Thêm lớp: Người dùng muốn thêm lớp mới.
a.3 Người dùng chọn nút Thêm Mới
a.4 Hệ thống yêu cầu nhập thông tin lớp cần thêm
a.5 Người dùng nhập thông tin lớp cần thêm
a.6 Người dùng chọn Lưu [Ngoại lệ d]
a.7 Hệ thống kiểm tra thông tin lớp [Ngoại lệ e]
a.8 Thêm thành công, kết thúc use case thêm lớp
Ngoại lệ d: Người dùng không muốn thêm lớp mới.
d.5 Người dùng chọn nút Bỏ qua
d.6 Người dùng không muốn thêm lớp nữa, kết thúc use case thêm lớp
Ngoại lệ e: Thông tin lớp không hợp lệ.
e.7 Hệ thống thông báo thông tin lớp cần thêm không hợp lệ, yêu cầu người dùng nhập lại
e.8 Trở lại bước a.5
Kết quả: Một lớp được thêm vào hệ thống.
b Cập nhật lớp: Người dùng muốn cập nhật thông tin lớp.
b.3 Người dùng chọn lớp cần cập nhật
b.4 Người dùng nhập lại thông tin lớp
b.4 Người dùng chọn Lưu [Ngoại lệ f]
b.5 Hệ thống kiểm tra thông tin lớp [Ngoại lệ g]
b.6.Cập nhật thành công, use case Cập nhật khối kết thúc