TRƯỜNG ĐẠI HỌC CẦN THƠ
KHOA CÔNG NGHỆ THÔNG TIN & TRUYỀN THƠNG
BÀI BÁO CÁO
NGƠN NGỮ MƠ HÌNH HỐ
ĐỀ TÀI:
HỆ THỐNG QUẢN LÝ ĐIỂM THPT
Giáo viên hướng dẫn:
Sinh viên thực hiện:
Trần Đức Thiện
B1812815
Trần Dương Nhất
B1809622
Lê Vĩ Đình
B1809565
Lê Trần Duy Quang
B1812811
ThS. BÙI ĐĂNG HÀ PHƯƠNG
Hòa An, 26 tháng 12 năm 2020
MỤC LỤC
CHƯƠNG 1: MÔ TẢ HỆ THỐNG
5
1.1
Giới thiệu hệ thống
5
1.2
Phạm vi của hệ thống
5
1.3
Các tác nhân và các chức năng của từng tác nhân
5
1.3.1
Tác nhân học sinh
5
1.3.2
Tác nhân giáo viên
5
1.3.3
Tác nhân admin
6
CHƯƠNG 2: USE CASE DIAGRAMS
2.1
Use case diagrams của các tác nhân
7
7
2.1.1
Use case diagram của tác nhân học sinh
7
2.1.2
Use case diagram của tác nhân giáo viên
8
2.1.3
Use case diagram của tác nhân admin
9
2.2
Mô tả bằng văn bản các use cases
10
2.2.1
Use case “Tìm điểm”
10
2.2.2
Use case “Tìm hạnh kiểm”
11
2.2.3
Use case “Tìm giáo viên”
12
2.2.4
Use case “Tìm lớp”
13
2.2.5
Use case “Tìm mơn học”
13
2.2.6
Use case “Quản lý hạnh kiểm”
14
2.2.7
Use case “Quản lý giáo viên”
15
2.2.8
Use case “Quản lý học kỳ năm học”
16
2.2.9
Use case “Quản lý lớp học”
18
2.2.10
Use case “Quản lý môn học”
19
2.2.11
Use case “Quản lý thống kê”
21
CHƯƠNG 3: CLASS DIAGRAMS
23
3.1
Class diagram
23
3.2
Logical data model
24
3.3
Bảng mơ tả thuộc tính
25
3.3.1
Bảng mơ tả thuộc tính của class HOC_SINH
25
3.3.2
Bảng mơ tả thuộc tính của class GIAO_VIEN
26
3.3.3
Bảng mơ tả thuộc tính của class KET_QUA
27
3.3.4
Bảng mơ tả thuộc tính của class MON_HOC
27
2
3.3.5
Bảng mơ tả thuộc tính của class NAM_HOC
28
3.3.6
Bảng mơ tả thuộc tính của class HOC_KY
28
3.3.7
Bảng mơ tả thuộc tính của class LOP
29
3.3.8
Bảng mơ tả thuộc tính của class TAI_KHOAN
29
3.3.9
Bảng mơ tả thuộc tính của class THUOC_LOP
30
3.3.10
Bảng mơ tả thuộc tính của class DUONG/AP
30
3.3.11
Bảng mơ tả thuộc tính của class PHUONG/XA
31
3.3.12
Bảng mơ tả thuộc tính của class QUAN/HUYEN
31
3.3.13
Bảng mơ tả thuộc tính của class THANHPHO/TINH
32
3.4
Bảng mơ tả phương thức
33
3.4.1
Bảng mơ tả phương thức của class HOC_SINH
33
3.4.2
Bảng mô tả phương thức của class GIAO_VIEN
35
3.4.3
Bảng mô tả phương thức của class TAI_KHOAN
37
3.4.4
Bảng mô tả phương thức của class LOP
38
3.4.5
Bảng mô tả phương thức của class MON_HOC
39
3.4.6
Bảng mô tả phương thức của class KET_QUA
41
3.4.7
Bảng mô tả phương thức của class DUONG/AP
43
3.4.8
Bảng mô tả phương thức của class PHUONG/XA
45
3.4.9
Bảng mô tả phương thức của class QUAN/HUYEN
47
3.4.10
Bảng mô tả phương thức của class THANHPHO/TINH
49
3.4.11
Bảng mô tả phương thức của class HOC_KY
50
3.4.12
Bảng mô tả phương thức của class NAM_HOC
51
3.4.13
Bảng mô tả phương thức của class THUOC_LOP
52
CHƯƠNG 4: SEQUENCE DIAGRAMS
54
4.1
Sơ đồ tương tác “Tìm học sinh”
54
4.2
Sơ đồ tương tác “Thêm học sinh”
55
4.3
Sơ đồ tương tác “Sửa học sinh”
56
4.4
Sơ đồ tương tác “Xóa học sinh”
58
4.5
Sơ đồ tương tác “Quản lý học sinh”
59
4.6
Sơ đồ tương tác “Tìm điểm”
60
4.7
Sơ đồ tương tác “Thêm điểm”
61
4.8
Sơ đồ tương tác “Sửa điểm”
62
4.9
Sơ đồ tương tác “Xóa điểm”
63
4.10
Sơ đồ tương tác “Quản lý điểm”
64
4.11
Sơ đồ tương tác “Đăng nhập”
65
CHƯƠNG 5: KẾT LUẬN
5.1
Kết quả đạt được
66
66
3
5.2
Hướng phát triển
TÀI LIỆU THAM KHẢO
66
67
4
CHƯƠNG 1: MÔ TẢ HỆ THỐNG
1.1 Giới thiệu hệ thống
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 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, nhóm em đã thiết kế, xây dựng “Website quản lý điểm
THPT”.
1.2 Phạm vi của hệ thống
Hệ thống được áp dụng tại 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.
1.3 Các tác nhân và các chức năng của từng tác nhân
1.3.1 Tác nhân học sinh
Tìm điểm:
Tìm điểm theo tên.
Tìm điểm theo mã học sinh.
Tìm điểm theo học kỳ năm học.
In điểm.
Tìm hạnh kiểm.
Tìm giáo viên.
Tìm lớp.
Tìm mơn học.
1.3.2 Tác nhân giáo viên
Tìm điểm:
Tìm điểm theo tên học sinh.
Tìm điểm theo mã học sinh.
Tìm điểm theo lớp.
Tìm điểm theo mơn.
Thêm điểm.
Sửa điểm.
Xóa điểm.
5
Thống kê:
Thống kê số lượng học sinh điểm giỏi.
Thống kê số lượng học sinh điểm khá.
Thống kê số lượng học sinh điểm trung bình.
Thống kê số lượng học sinh có điểm dưới trung bình.
In thống kê.
Tìm học sinh:
Tìm học sinh theo mã.
Tìm học sinh theo tên.
Tìm học sinh theo lớp.
Xóa học sinh.
Sửa học sinh.
Thêm hạnh kiểm.
Xóa hạnh kiểm.
Sửa hạnh kiểm.
1.3.3 Tác nhân admin
Tìm học sinh:
Tìm học sinh theo mã.
Tìm học sinh theo tên.
Tìm theo học sinh theo lớp.
thêm học sinh.
Xóa học sinh.
Sửa học sinh.
Tìm giáo viên:
Tìm giáo viên theo mã.
Tìm giáo viên theo tên.
Tìm giáo viên theo môn.
Thêm giáo viên.
Sửa giáo viên.
Xóa giáo viên.
Tìm mơn học.
Xóa mơn học.
Sửa mơn học.
Thêm mơn học.
Tìm lớp học.
Xóa lớp học.
Sửa lớp học.
Thêm lớp học.
Thêm học kì năm học.
Sửa học kì năm học.
6
Xóa học kì năm học.
Thống kê:
Thống kê số lượng học sinh giỏi
Thống kê số lượng học sinh khá.
Thống kê số lượng học sinh trung bình.
Thống kê số lượng học sinh có dưới trung bình.
In thống kê
CHƯƠNG 2: USE CASE DIAGRAMS
2.1 Use case diagrams của các tác nhân
2.1.1 Use case diagram của tác nhân học sinh
7
2.1.2 Use case diagram của tác nhân giáo viên
8
2.1.3 Use case diagram của tác nhân admin
9
2.2 Mô tả bằng văn bản các use cases
2.2.1 Use case “Tìm điểm”
Tên Use case: Tìm điểm
ID: TĐ-01
Actor chính: Học sinh, Giáo viên.
Mức độ cần thiết: Bắt buộc
Phân loại: Trung bình
Các thành phần tham gia và mối quan tâm: Học sinh, Giáo viên muốn tìm điểm theo tên,
tìm theo mã học sinh, tìm theo học kì năm học, tìm theo mơn và phần mở rộng là có thể in
điểm.
Mơ tả tóm tắt: Khi có yêu cầu cần tra cứu điểm thì chức năng tìm điểm được sử dụng để tìm
điểm theo nhiều lựa chọn khác nhau (tìm theo tên, tìm theo mã học sinh, tìm theo học kì năm
học, tìm theo môn và chức năng mở rộng là in điểm sau khi tìm)
Trigger: Có u cầu thực hiện tìm điểm.
Type: external
Các mối quan hệ:
+Association (kết hợp): Học sinh, Giáo viên
+Include(bao gồm): Đăng nhập
+Extend(mở rộng): In điểm
+Generalization(tổng qt hóa): Tìm điểm theo tên, tìm điểm theo mã học sinh, tìm điểm
theo học kì năm học, tìm theo mơn.
Luồng xử lý bình thường của sự kiện:
1. Chọn chức năng tìm điểm.
2. Các tùy chọn được hiện ra:
Sub 1: Tìm điểm theo tên
Sub 2: Tìm theo mã học sinh
Sub 3: Tìm theo học kì năm học
Sub 4: Tìm theo mơn
3. Hiển thị ra thông báo yêu cầu nhập hoặc chọn dữ diệu. nếu là tìm theo tên, theo mã
học sinh thì nhập dữ liệu cịn ngược lại nếu tìm theo học kì, theo mơn học thì có dữ liệu
sẵn cho ta chọn.
Sub 5: Nhập dữ liệu
4. Kiểm tra lại thông tin trong cơ sở dữ liệu. nếu đúng thi sang bước 5 ngược lại nếu sai
thì trở lại bước 3.
5. Hiển thị điểm ra màn hình.
Sub 6: In điểm
6. Kết thúc một sự kiện.
Các luồng sự kiện con:
Sub1: Tìm điểm theo tên
1. Nhập tên cần tra điểm
2. Kiểm tra thông tin nhập vào
3. Thơng báo lỗi nếu tên khơng có trong cơ sở dữ liệu và quay lại Sub1-1 ngược lại đến
bước 5.
Sub2: Tìm theo mã học sinh
10
1. Nhập mã cần tra điểm
2. Kiểm tra thông tin nhập vào
3. Thơng báo lỗi nếu tên khơng có trong cơ sở dữ liệu và quay lại Sub2-1 ngược lại đến
bước 5.
Sub 3: Tìm điểm theo mơn
1. Chọn mơn học cần tra điểm
2. trở lại bước 5
Sub 4: Tìm điểm theo lớp
1. Chọn lớp cần tra điểm
2. trở lại bước 5
Sub 5: In điểm
1. Chọn in hoặc không in bản điểm
2. sang bước 6
Luồng luân phiên/đặc biệt (Alternate/Exceptional flows):
...
2.2.2 Use case “Tìm hạnh kiểm”
Tên Use case: Tìm hạnh kiểm
ID: THK-01
Actor chính: Học sinh, giáo viên,
Mức độ cần thiết: Bắt buộc
admin.
Phân loại: Trung bình
Các thành phần tham gia và mối quan tâm: Học sinh, giáo viên, admin muốn biết hạnh
kiểm của mình hoặc học sinh mình đang dạy.
Mơ tả tóm tắt: Khi có yêu cầu muốn biết hạnh kiểm của học sinh thì chức năng tìm hạnh kiểm
được học sinh và giáo viên sử dụng.
Trigger: khi có yêu cầu muốn biết hạnh kiểm
Kiểu sự kiện: external
Các mối quan hệ:
+Association (kết hợp): Học sinh, giáo viên
+Include(bao gồm): Đăng nhập
+Extend(mở rộng):
+Generalization(tổng quát hóa):
Luồng xử lý bình thường của sự kiện:
1. Chọn chức năng tìm hạnh kiểm
2. Nhập các thơng tin
Sub 1: Nhập thơng tin
3. Hiển thị hạnh kiểm ra màn hình
4. Kết thúc một sự kiện
Các luồng sự kiện con (Subflows):
Sub1: Nhập thông tin
1. Nhập tên học sinh cấn tìm hạnh kiểm
2. Kiểm tra lại thông tin nhập
3. Nếu thông tin nhập đung thì sang bước 3 ngược lại quay lại Sub1-1
11
2.2.3 Use case “Tìm giáo viên”
Tên Use case: Tìm giáo viên
Actor chính: Học sinh, admin
ID: TGV-01
Mức độ cần thiết: Bắt buộc
Phân loại: Trung bình
Các thành phần tham gia và mối quan tâm:
Học sinh, admin muốn tìm giáo viên để biết giáo viên đó dạy mơn học và lớp nào.
Mơ tả tóm tắt:
Khi u cầu biết thơng tin một giáo viên nào đó dạy mơn học và dạy lớp nào thì thực hiện
chức năng tìm giáo viên được học sinh và admin sử dụng.
Trigger: Có u cầu thực hiện tìm một giáo viên
Kiểu sự kiện: external
Các mối quan hệ:
+Association (kết hợp): Học sinh, admin
+Include(bao gồm): Đăng nhập
+Extend(mở rộng):
+Generalization(tổng qt hóa): Tìm giáo viên theo tên, tìm giáo viên theo mã, tìm giáo
viên theo mơn.
Luồng xử lý bình thường của sự kiện:
1. Chọn chức năng tìm giáo viên
2. Chọn chức năng cần tinh chỉnh
Sub 1: Tìm giáo viên theo tên
Sub 2: Tìm giáo viên theo mã
Sub 3: Tìm giáo viên theo mơn
3. Hiển thị kết quả ra màn hình
4. Kết thúc một sự kiện
Các luồng sự kiện con (Subflows):
Sub1: Tìm giáo viên theo tên
4. Nhập tên giáo viên
5. Kiểm tra tên giáo viên
6. Thông báo giáo viên không tồn tại nếu không có trong danh sách và quay lại bước
Sub1-1 hoặc tùy chọn sang bước 4, ngược lại đến bước 3
Sub2: Tìm giáo viên theo mã
4. Nhập mã giáo viên
5. Kiểm tra mã giáo viên
6. Thông báo mã giáo viên không tồn tại nếu khơng có trong danh sách và quay lại bước
Sub2-1 hoặc tùy chọn sang bước 4, ngược lại đến bước 3
Sub 3: Tìm giáo viên theo mơn
1. Nhập mơn học
2. Kiểm tra thông tin môn học
1. Thông báo mã giáo viên khơng tồn tại nếu khơng có trong danh sách và quay lại bước
Sub3-1 hoặc tùy chọn sang bước 4, ngược lại đến bước 3
12
2.2.4 Use case “Tìm lớp”
Tên Use case: Tìm lớp học
ID: TL-01
Actor chính: Học sinh, Giáo viên,
Mức độ cần thiết: Bắt buộc
admin
Phân loại: Trung bình
Các thành phần tham gia và mối quan tâm:
Học sinh, Giáo viên, admin muốn biết danh sách lơp học và giáo viên chủ nhiệm của
một lớp nào đó
Mơ tả tóm tắt:
Khi có u cầu muốn biết thơng tin của một lớp học nào đó thì chọn chức năng tìm lớp
được học sinh, giáo viên, admin sử dụng.
Trigger: Có u cầu tìm thơng tin của một lớp học
Kiểu sự kiện: external
Các mối quan hệ:
+Association (kết hợp): Học sinh, giáo viên, admin
+Include(bao gồm): Đăng nhập
+Extend(mở rộng):
+Generalization(tổng quát hóa):
Luồng xử lý bình thường của sự kiện:
1. Chọn chức năng tìm lớp
2. Chọn chức năng cần tin chỉnh
Sub 1: Tìm lớp học
3. Hiển thị kết quả tìm kiếm
4. Kết thúc một sự kiện
Các luồng sự kiện con (Subflows):
Sub1: Tìm lớp học
1. Nhập lớp học
2. Kiểm tra thông tin nhập vào
3. Thông báo khơng có lớp học nếu lớp học đó khơng tồn tại và trở lại bước Sub1-1 hoặc
tùy chọn sang bước 4, ngược lại đến bước 3
2.2.5 Use case “Tìm mơn học”
Tên Use case: Tìm mơn học
Actor chính: Học sinh, admin
ID: TMH-01
Mức độ cần thiết: Bắt buộc
Phân loại: Trung bình
Các thành phần tham gia và mối quan tâm:
Học sinh, admin muốn tìm mơn học trong chương trình dạy
Mơ tả tóm tắt:
Khi có u cầu cần tìm kiếm mơn học trong chương trình giảng dạy thì chọn chức
năng tìm mơn học được học sinh và admin sử dụng.
Trigger: Có yêu cầu xem mơn học trong chương trình giảng dạy
Kiểu sự kiện: external
Các mối quan hệ:
13
+Association (kết hợp): Học sinh, admin
+Include (bao gồm): Đăng nhập
+Extend (mở rộng):
+Generalization (tổng qt hóa):
Luồng xử lý bình thường của sự kiện:
1. Chọn chức năng tìm mơn học
Sub 1: Tìm mơn học
2. Hiển thị kết quả ra màn hình
3. Kết thúc một sự kiện
Các luồng sự kiện con (Subflows):
Sub1: Tìm môn học
1. Nhập môn học cần tra
2. Kiểm tra thông tin nhập
3. Thơng báo lỗi nếu mơn học có trong chương trình giảng dạy và quay lại bước Sub1-1
hoặc tùy chọn bước 3, ngược lại sang bước 2
2.2.6 Use case “Quản lý hạnh kiểm”
Tên Use case: Quản lý hạnh kiểm
Actor chính: Giáo viên
ID: QLHK-01
Mức độ cần thiết: Bắt buộc
Phân loại: Trung bình
Các thành phần tham gia và mối quan tâm:
Giáo viên muốn thêm, sửa, xóa hạnh kiểm trong danh sách học sinh
Mơ tả tóm tắt:
Người sử dụng khi có u cầu tinh chỉnh xếp loại hạnh kiểm, thì chọn chức năng quản
lý hạnh kiểm
Trigger: Có yêu cầu tinh chỉnh kết quả hạnh kiểm
Kiểu sự kiện: external
Các mối quan hệ:
+Association (kết hợp): Giáo viên
+Include(bao gồm): Đăng nhập
+Extend(mở rộng):
+Generalization(tổng quát hóa): Thêm hạnh kiểm, sửa hạnh kiểm, xóa hạnh kiểm
Luồng xử lý bình thường của sự kiện:
1. Chọn chức năng quản lý hạnh kiểm
2. Chọn chức năng cần tinh chỉnh
Sub 1: Thêm hạnh kiểm
Sub 2: Sửa hạnh kiểm
Sub 3: Xóa hạnh kiểm
3. Thông báo xác nhận thực hiện việc cập nhật
Sub 4: Thông báo xác nhận
4. Cập nhật thông tin mới vào cơ sở dữ liệu
5. Kết thúc một sự kiện
Các luồng sự kiện con (Subflows):
Sub1: Thêm hạnh kiểm
7. Chọn học sinh cấn thêm hạnh kiểm
14
8. Nhập thông tin
9. Nhấn nút lưu lại hoặc hủy bỏ
10. Nếu nhấn nút lưu lại thì chuyển sang bước 3, ngược lại thì trở lại bước Sub1-2 hoặc tùy
chọn đến bước 5.
Sub 2: Sửa hạnh kiểm
7. Chọn học sinh cần sửa
8. Nhập thông tin cần sửa
9. Nhấn nút lưu lại hoặc hủy bỏ
10. Nếu nhấn nút lưu lại thì chuyển sang bước 3, ngược lại nếu hủy bỏ thì trở lại bước
Sub2-2 hoặc tùy chọn đến bước 5.
Sub 3: Xóa hạnh kiểm
1. Chọn học sinh cần xóa hạnh kiểm
2. Nhấn nút xóa
3. Chuyển sang bước 3
Sub 4: Thơng báo xác nhận
1. Nếu chấp nhận thì hệ thống sẽ chuyển sang bước 4
2. Ngược lại nếu khơng chấp nhận thì hệ thống sẽ chuyển sang bước 5
Luồng luân phiên/đặc biệt (Alternate/Exceptional flows):
- Sub 2-1 và Sub 3-1: Quản lý hạnh kiểm thực hiện tìm kiếm học sinh và hiển thị kết
quả tìm kiếm và cho phép chọn một học sinh từ kết quả tìm.
- Bước 4: Trong quá trình cập nhật dữ liệu nếu có sự cố mất điện xảy ra thì dữ liệu sẽ
khơng được cập nhật.
...
2.2.7 Use case “Quản lý giáo viên”
Tên Use case: Quản lý giáo viên
Actor chính: Admin
ID: QLGV-01
Mức độ cần thiết: Bắt buộc
Phân loại: Trung bình
Các thành phần tham gia và mối quan tâm:
Admin muốn Tìm, thêm, sửa, xóa giáo viên cho danh sách giáo viên của trường
Mơ tả tóm tắt:
Khi có u cầu tinh chỉnh danh sách giáo viên, thì chức năng quản lý giáo viên được
admin sử dụng để thực hiện các chức năng (tìm, thêm, sửa, xóa giáo viên)
Trigger: Có u cầu Thực hiện tinh chỉnh một giáo viên
Kiểu sự kiện: external
Các mối quan hệ:
+Association (kết hợp): Admin
+Include(bao gồm): Đăng nhập, tìm giáo viên
+Extend(mở rộng):
+Generalization(tổng qt hóa): tìm giáo viên theo tên, tìm giáo viên theo mã, tìm giáo
viên theo mơn, thêm giáo viên, sửa giáo viên, xóa giáo viên.
Luồng xử lý bình thường của sự kiện:
1. Chọn chức năng quản lý giáo viên
2. Chọn chức năng cần tinh chỉnh
Sub 1: Tìm giáo viên
Sub 2: Thêm giáo viên
15
Sub 3: Sửa giáo viên
Sub 4: Xóa giáo viên
3. Thơng báo xác nhận thực hiện việc cập nhật
Sub 5: Thông báo xác nhận
4. Cập nhật thông tin mới vào cơ sở dữ liệu
5. Kết thúc một sự kiện
Các luồng sự kiện con (Subflows):
Sub1: Tìm giáo viên
11. Nhập thơng tin cần tìm
12. Kiểm tra thơng tin nhập
13. Thơng báo lỗi nếu khơng có giáo viên trong danh sách trường và quay lại bước Sub1-1
ngược lại qua bước 4
14. Hiển thị kết quả ra màn hình.
15. Sang bước 5 hoặc tùy chọn trở lại bước 2.
Sub 2: Thêm giáo viên
11. Nhập thông tin giáo viên cần thêm
12. Kiểm tra thông tin nhập
13. Thông báo bỏ trống nếu nhập không hết thông tin và quay lại bước Sub2-1, ngược lại
qua bước Sub2-4.
14. Nhấn nút lưu lại hoặc hủy bỏ
15. Nếu chọn lưu lại thì tiếp tục với bước 3, ngược lại thì bước 5 hoặc tùy chọn trở lại bước
2.
Sub 3: Sửa giáo viên
1. Chọn giáo viên cần sửa
2. Nhập thông tin cần hiệu chỉnh
3. Kiểm tra thông tin nhập vào
4. Thông báo lỗi nếu bỏ trống và trở lại bước Sub3-2, ngược lại qua bước Sub 3-5
5. Nhấn nút lưu lại hoặc hủy bỏ
6. Nếu chọn lưu lại thì tiếp tục với bước 3, ngược lại thì bước 5 hoặc tùy chọn trở lại bước
2.
Sub 4: Xóa giáo viên
1. Chọn giáo viên cần xóa
2. Chọn nút xóa
3. Sang bước 3
Sub 5: Thơng báo xác nhận
1. Nếu chấp nhận thì nhấn nút thì hệ thống sẽ thực hiện bước 4
2. Nếu không chập nhận thì hệ thống sẽ chuyển sang bước 5.
Luồng luân phiên/đặc biệt (Alternate/Exceptional flows):
- Sub 3-1 và Sub 4-1: Quản lý giáo viên thực hiện tìm kiếm học sinh và hiển thị kết quả
tìm kiếm và cho phép chọn một giáo viên từ kết quả tìm.
- Bước 4: Trong quá trình cập nhật dữ liệu nếu có sự cố mất điện xảy ra thì dữ liệu sẽ
khơng được cập nhật.
2.2.8 Use case “Quản lý học kỳ năm học”
Tên Use case: Quản lý học kì năm học
Actor chính: Admin
ID: QLHKNH-01
Mức độ cần thiết: Bắt buộc
Phân loại: Trung bình
16
Các thành phần tham gia và mối quan tâm:
Admin muốn thêm, sửa, xóa học kì năm học trong chương trình giảng dạy.
Mơ tả tóm tắt:
Khi có u cầu tinh chỉnh học kì năm học trong danh sách giảng dạy của trường, thì
chức năng quản lý học kì năm học được admin sử dụng để thực hiện các chức năng có trong đó.
Trigger: Có u cầu tinh chỉnh học kì năm học trong danh sách giảng dạy của trường.
Kiểu sự kiện: external
Các mối quan hệ:
+Association (kết hợp): Admin
+Include(bao gồm): Đăng nhập
+Extend(mở rộng):
+Generalization(tổng qt hóa): Thêm học kì năm học, sửa học kì năm học, xóa học kì năm
học.
Luồng xử lý bình thường của sự kiện:
1. Chọn chức năng quản lý học kì năm học
2. chọn chức năng cần tinh chỉnh
Sub 1: Thêm học kì năm học
Sub 2: Sửa học kì năm học
Sub 3: Xóa học kì năm học
3. Thơng báo u cầu xác nhận thực hiện cập nhật
Sub 4: Thông báo xác nhận
4. Cập nhật thông tin mới vào cơ sở dữ liệu
5. Kết thúc một sự kiện.
Các luồng sự kiện con (Subflows):
Sub 1: Thêm học kì năm học
16. Nhập học kì năm học cần thêm
17. Kiểm tra thơng tin nhập
18. Thông báo lỗi nếu bỏ trống hoặc nhập không đúng thông tin và quay lại bước Sub1-1,
ngược lại qua bước Sub1-4.
19. Nhấn nút lưu lại hoặc hủy bỏ
20. Nếu chọn lưu lại thì tiếp tục với bước 3, ngược lại thì bước 5 hoặc tùy chọn trở lại bước
2.
Sub 2: Sửa học kì năm học
7. Chọn học kì năm học cần sửa
8. Nhập thông tin cần hiệu chỉnh
9. Kiểm tra thông tin nhập vào
10.
Thông báo lỗi nếu bỏ trống hoặc nhập không đúng thông tin và trở lại bước Sub22, ngược lại qua bước Sub2-5
11.
Nhấn nút lưu lại hoặc hủy bỏ
12.
Nếu chọn lưu lại thì tiếp tục với bước 3, ngược lại thì bước 5 hoặc tùy chọn trở lại
bước 2.
Sub 3: Xóa học kì năm học
4. Chọn học kì năm học cần xóa
5. Chọn nút xóa
6. Sang bước 3
Sub 4: Thơng báo xác nhận
3. Nếu chấp nhận thì nhấn nút thì hệ thống sẽ thực hiện bước 4
4. Nếu khơng chập nhận thì hệ thống sẽ chuyển sang bước 5.
17
Luồng luân phiên/đặc biệt (Alternate/Exceptional flows):
- Sub 2-1 và Sub 3-1: Quản lý học kì năm học thực hiện tìm kiếm học kì năm học và
hiển thị kết quả tìm kiếm và cho phép chọn một một học kì năm học từ kết quả tìm.
- Bước 4: Trong quá trình cập nhật dữ liệu nếu có sự cố mất điện xảy ra thì dữ liệu sẽ
khơng được cập nhật.
2.2.9 Use case “Quản lý lớp học”
Tên Use case: Quản lý lớp học
Actor chính: Admin
ID: QLLH-01
Mức độ cần thiết: Bắt buộc
Phân loại: Trung bình
Các thành phần tham gia và mối quan tâm:
Admin muốn tìm, thêm, sửa, xóa lớp học trong danh sách lớp học của trường.
Mơ tả tóm tắt:
Khi có u cầu tinh chỉnh về danh sách lớp học trong danh sách lớp của trường, thì
chức năng quản lý mơn học được admin sử dụng để thực hiện các chức năng có trong đó.
Trigger: Có yêu cầu tinh chỉnh lớp học trong danh sách lớp học của trường.
Kiểu sự kiện: external
Các mối quan hệ:
+Association (kết hợp): Admin
+Include(bao gồm): Đăng nhập, tìm lớp học
+Extend(mở rộng):
+Generalization(tổng qt hóa): Tìm lớp học, Thêm lớp học, sửa lớp học, xóa lớp học.
Luồng xử lý bình thường của sự kiện:
1. Chọn chức năng quản lý lớp học
2. chọn chức năng cần tinh chỉnh
Sub 1: Tìm lớp học
Sub 2: Thêm lớp học
Sub 3: Sửa lóp học
Sub 4: Xóa lớp học
3. Thông báo yêu cầu xác nhận thực hiện cập nhật
Sub 4: Thông báo xác nhận
4. Cập nhật thông tin mới vào cơ sở dữ liệu
5. Kết thúc một sự kiện.
Các luồng sự kiện con (Subflows):
Sub1: Tìm lớp học
16. Nhập thơng tin cần tìm
17. Kiểm tra thơng tin nhập
18. Thơng báo lỗi nếu khơng có lớp học trong danh sách lớp học của trường và quay lại
bước Sub1-1 ngược lại qua bước 4
19. Hiển thị kết quả ra màn hình
20. Sang bước 5 hoặc tùy chọn trở lại bước 2.
Sub 2: Thêm lớp học
21. Nhập lớp cần thêm
18
22. Kiểm tra thông tin nhập
23. Thông báo lỗi nếu bỏ trống thông tin quan trọng và quay lại bước Sub2-1, ngược lại qua
bước Sub2-4.
24. Nhấn nút lưu lại hoặc hủy bỏ
25. Nếu chọn lưu lại thì tiếp tục với bước 3, ngược lại thì bước 5 hoặc tùy chọn trở lại bước
2.
Sub 3: Sửa lớp học
13.
Chọn lớp học cần sửa
14.
Nhập thông tin cần hiệu chỉnh
15.
Kiểm tra thông tin nhập vào
16.
Thông báo lỗi nếu bỏ trống thông tin quan trọng và trở lại bước Sub3-2, ngược lại
qua bước Sub3-5
17.
Nhấn nút lưu lại hoặc hủy bỏ
18.
Nếu chọn lưu lại thì tiếp tục với bước 3, ngược lại thì bước 5 hoặc tùy chọn trở lại
bước 2.
Sub 4: Xóa lớp học
7. Chọn lớp học cần xóa
8. Chọn nút xóa
9. Sang bước 3
Sub 5: Thơng báo xác nhận
5. Nếu chấp nhận thì nhấn nút thì hệ thống sẽ thực hiện bước 4
6. Nếu khơng chập nhận thì hệ thống sẽ chuyển sang bước 5.
Luồng luân phiên/đặc biệt (Alternate/Exceptional flows):
- Sub 3-1 và Sub 4-1: Quản lý lớp học thực hiện tìm kiếm lớp học và hiển thị kết quả
tìm kiếm và cho phép chọn một lớp học từ kết quả tìm.
- Bước 4: Trong q trình cập nhật dữ liệu nếu có sự cố mất điện xảy ra thì dữ liệu sẽ
khơng được cập nhật.
2.2.10 Use case “Quản lý môn học”
Tên Use case: Quản lý mơn học
Actor chính: Admin
ID: QLMH-01
Mức độ cần thiết: Bắt buộc
Phân loại: Trung bình
Các thành phần tham gia và mối quan tâm:
Admin muốn tìm, thêm, sửa, xóa mơn học trong chương trình giảng dạy.
Mơ tả tóm tắt:
Khi có u cầu tinh chỉnh về danh sách môn học trong chương trình giảng dạy, thì
chức năng quản lý mơn học được admin sử dụng để thực hiện các chức năng có trong đó.
Trigger: Có u cầu tinh chỉnh mơn học trong danh sách giảng dạy.
Kiểu sự kiện: external
Các mối quan hệ:
+Association (kết hợp): Admin
+Include(bao gồm): Đăng nhập, tìm mơn học
+Extend(mở rộng):
19
+Generalization(tổng qt hóa): Tìm mơn học, Thêm mơn học, sửa mơn học, xóa mơn học.
Luồng xử lý bình thường của sự kiện:
1. Chọn chức năng quản lý môn học
2. chọn chức năng cần tinh chỉnh
Sub 1: Tìm mơn học
Sub 2: Thêm mơn học
Sub 3: Sửa mơn học
Sub 4: Xóa mơn học
3. Thông báo yêu cầu xác nhận thực hiện cập nhật
Sub 4: Thông báo xác nhận
4. Cập nhật thông tin mới vào cơ sở dữ liệu
5. Kết thúc một sự kiện.
Các luồng sự kiện con (Subflows):
Sub1: Tìm mơn học
21. Nhập thơng tin cần tìm
22. Kiểm tra thơng tin nhập
23. Thơng báo lỗi nếu khơng có mơn học trong danh sách giảng dạy và quay lại bước Sub11 ngược lại qua bước 4
24. Hiển thị kết quả ra màn hình
25. Sang bước 5 hoặc tùy chọn trở lại bước 2.
Sub 2: Thêm môn học
26. Nhập môn cần thêm
27. Kiểm tra thông tin nhập
28. Thơng báo lỗi nếu mơn học khơng có trong CTĐT và quay lại bước Sub2-1, ngược lại
qua bước Sub2-4.
29. Nhấn nút lưu lại hoặc hủy bỏ
30. Nếu chọn lưu lại thì tiếp tục với bước 3, ngược lại thì bước 5 hoặc tùy chọn trở lại bước
2.
Sub 3: Sửa môn học
19.
Chọn môn học cần sửa
20.
Nhập thông tin cần hiệu chỉnh
21.
Kiểm tra thông tin nhập vào
22.
Thông báo lỗi nếu bỏ trống hoặc sai quy định của CTĐT và trở lại bước Sub3-2,
ngược lại qua bước Sub3-5
23.
Nhấn nút lưu lại hoặc hủy bỏ
24.
Nếu chọn lưu lại thì tiếp tục với bước 3, ngược lại thì bước 5 hoặc tùy chọn trở lại
bước 2.
Sub 4: Xóa mơn học
10.
Chọn mơn học cần xóa
11.
Chọn nút xóa
12.
Sang bước 3
Sub 5: Thơng báo xác nhận
7. Nếu chấp nhận thì nhấn nút thì hệ thống sẽ thực hiện bước 4
8. Nếu khơng chập nhận thì hệ thống sẽ chuyển sang bước 5.
Luồng luân phiên/đặc biệt (Alternate/Exceptional flows):
- Sub 3-1 và Sub 4-1: Quản lý môn học thực hiện tìm kiếm mơn học và hiển thị kết quả
tìm kiếm và cho phép chọn một mơn học từ kết quả tìm.
- Bước 4: Trong quá trình cập nhật dữ liệu nếu có sự cố mất điện xảy ra thì dữ liệu sẽ
20
không được cập nhật.
2.2.11 Use case “Quản lý thống kê”
Tên Use case: Thống kê
Actor chính: admin
ID: TK-01
Mức độ cần thiết: Bắt buộc
Phân loại: Trung bình
Các thành phần tham gia và mối quan tâm:
admin muốn thống kê số lượng học sinh giỏi, khá, trung bình, dưới trung bình và in
thống kê đó lại.
Mơ tả tóm tắt:
Khi có u cầu muốn biết kết quả học tập đạt được của học sinh trường mình thì chọn
chức năng thống kê được admin sử dụng (thống kê học sinh giỏi, khá, trung bình, dưới trung
bình)
Trigger: Có yêu cầu thực hiện thống kê
Kiểu sự kiện: external
Các mối quan hệ:
+Association (kết hợp): Admin
+Include(bao gồm): Đăng nhập
+Extend(mở rộng): In thống kê
+Generalization(tổng quát hóa): Thống kê số lượng học sinh giỏi, thống kê số lượng học
sinh khá, thống kê số lượng học sinh trung bình, thống kê số lượng học sinh dưới trung
bình
Luồng xử lý bình thường của sự kiện:
1. Chọn chức năng thống kê
2. Chọn chức năng cần tinh chỉnh
Sub 1: Thống kê số lượng học sinh giỏi
Sub 2: Thống kê số lượng học sinh khá
Sub 3: Thống kê số lượng học sinh trung bình
Sub 4: Thống kê số lượng học sinh dưới trung bình
3. Hiển thị kết quả ra màn hình
Sub 5: In thống kê
4. Kết thúc một sự kiện
Các luồng sự kiện con (Subflows):
Sub1: Thống kê số lượng học sinh giỏi
26. Chọn danh mục (ví dụ: lớp, trường, khối)
27. Lấy dữ liệu từ cơ sở dữ liệu
28. Tính tốn dữ liệu
29. Trở về bước 3
Sub2: Thống kê số lượng học sinh khá
31. Chọn danh mục (ví dụ: lớp, trường, khối)
32. Lấy dữ liệu từ cơ sở dữ liệu
33. Tính tốn dữ liệu
34. Trở về bước 3
Sub 3: Thống kê số lượng học sinh trung bình
21
1. Chọn danh mục (ví dụ: lớp, trường, khối)
2. Lấy dữ liệu từ cơ sở dữ liệu
3. Tính tốn dữ liệu
4. Trở về bước 3
Sub 4: Thống kê số lượng học sinh dưới trung bình
1. Chọn danh mục (ví dụ: lớp, trường, khối)
2. Lấy dữ liệu từ cơ sở dữ liệu
3. Tính tốn dữ liệu
4. Trở về bước 3
Sub 5: In thống kê
1. chọn in hoặc không in thống kê
2. Tùy chọn sang bước 4 hoặc trở lại bước 2.
22
CHƯƠNG 3: CLASS DIAGRAMS
3.1 Class diagram
23
3.2 Logical data model
3.3
B
ảng mơ tả thuộc tính
24
3.3.1 Bảng mơ tả thuộc tính của class HOC_SINH
STT
Tên thuộc tính
Kiểu
Kích
thướ
c
1.
MA_HS
Character
10
2.
MA_LOP
Character
10
3.
MA_DUONG/AP
4.
TEN_HS
5.
GIOI_TINH
Variable
character
Character
6.
NGAY_SINH
Date
7.
NOI_SINH
8.
DIA_CHI
9.
USERNAME
Variable
character
Variable
character
Variable
character
Khóa Duy
chính nhất
Not
Min
Null
Max
Giá
trị
mặc
nhiên
x
Số
chữ
số
thập
phân
Miền
giá trị
Ràng
buộc
tồn
vẹn
luận lý
x
50
Khóa ngồi
Diễn giải
Mã học sinh
LOP
Mã lớp
x
Địa chỉ học sinh
x
Tên học sinh
10
Giới tính
50
Ngày
tháng
năm sinh
Nơi sinh
50
50
TAIKHOAN
Địa chỉ thường
trú
Tên tài khoản
đăng nhập
3.3.2 Bảng mơ tả thuộc tính của class GIAO_VIEN
STT
Tên thuộc tính
Kiểu
Kích
thước
Khóa
chính
Duy
nhất
Not
Null
Min
Max
Giá
trị
mặc
nhiê
Số chữ
số thập
phân
Miền
giá trị
Ràng
buộc
tồn
vẹn
Khóa ngồi
Diễn giải
25