Professional Documents
Culture Documents
Thành phố Hồ Chí Minh – 6/2021
MỤC LỤC
Chương 1: Giới thiệu
1.1 Đề tài.............................................................................................
1.2 Khảo sát thực trạng........................................................................
1.3 Xác định yêu cầu............................................................................
Chương 2: Phân tích và mô hình hóa yêu cầu phần mềm
2.1 Giới thiệu phần mềm và mô tả qui trình thực hiện…..............................
2.2 Phân loại các yêu cầu.........................................................................
2.3 Bảng trách nhiệm cho từng loại yêu cầu.............................................
2.4 Sơ đồ luồng dữ liệu cho từng loại yêu cầu............................................
Chương 3: Thiết kế dữ liệu
3.1 Thiết kế hệ thống.....................................................................................
3.1.1 Kiến trúc hệ thống.............................................................
3.1.2 Mô tả các thành phần trong hệ thống.................................
3.2 Thiết kế dữ liệu........................................................................................
3.2.1 Thuật toán lập sơ đồ Logic......................................................
3.2.2 Danh sách các bảng dữ liệu trong sơ đồ..................................
3.2.3 Mô tả từng bảng dữ liệu...........................................................
Chương 4: Thiết kế giao diện
4.1 Sơ đồ liên kết các màn hình....................................................................
4.2 Danh sách các màn hình.........................................................................
4.3 Mô tả các màn hình.................................................................................
Chương 5: Cài đặt và thử nghiệm
Chương 6: Nhận xét và kết luận
Chương 7: Hướng phát triển
Chương 8: Tài liệu tham khảo
Chương 9: Bảng phân công công việc
CHƯƠNG 1:
GIỚI THIỆU
1.1 Đề tài
Đề tài thống nhất: Quản lý danh sách học sinh
Mô hình phát triển: Mô hình 3 lớp
1.2 Khảo sát thực trạng
Hiện nay, chúng ta đang sống trong một xã hội ngày càng phát triển của đất
nước, điều này làm cho việc giáo dục, đào tạo học sinh ngày căng tăng và nhu cầu cho
con em đến trường của phụ huynh ngày một nhiều sau mỗi năm. Với phát triển của
giáo dục và sự gia tăng số lượng học sinh thì việc quản lý và lưu trữ thông tin học
sinh theo cách cổ điển đang gây ra rất nhiều bất lợi và tốn nhiều công sức. Và khi sự
bùng nổ các dịch vụ trên Internet ở nước ta ngày càng lớn, thì việc có sự xuất hiện
một phần mềm quản lý học sinh để giúp giảm thiểu công sức lao động của các giáo
viên trong việc quản lý cũng như giúp các phụ huynh và học sinh có thể theo dõi, truy
xuất nhanh chóng, chính xác thông tin, tình trạng học tập một cách dễ dàng là một
việc rất cần thiết và khả thi vào lúc này.
1.3 Xác định yêu cầu
Dựa theo khảo sát thực trạng, thì có thể nhận thấy rằng tồn tại những công việc tốn rất
nhiều thời gian nhưng vẫn lặp đi lặp lại hằng năm như: Tiếp nhận hồ sơ học sinh xin
vào trường mỗi năm, phân chia lớp học cho các học sinh sao cho cân đối, yêu cầu về
quản lý những môn học cho các học sinh trong trường, sắp xếp thời khóa biểu, quản
lý, lưu trữ điểm số những môn học cho các học sinh,...Thông thường thì những công
việc này chỉ dừng lại ở mức độ dùng Excel hay một số công cụ khác để thực thi và
quản lý, lưu trữ. Vì vậy việc xây dựng nên một phần mềm “Quản lý học sinh” là một
vấn đề cực kỳ cần thiết.
CHƯƠNG 2:
PHÂN TÍCH VÀ MÔ HÌNH HÓA YÊU CẦU PHẦN MỀM
2.1 Giới thiệu phần mềm và mô tả quy trình thực hiện các công việc chính
2.1.1 Giới thiệu phần mềm
Để làm nên một phần mềm quản lý học sinh một cách hoàn hảo và đầy đủ thì
sẽ cần thực hiện rất nhiều công việc và xây dựng nên rất là nhiều những tính năng
cho phần mềm. Do đó, trong khuôn khổ phần mềm mà nhóm xây dựng, sẽ có lược
qua những công việc mang tính phức tạp cao và sẽ tập trung thực hiện một số công
việc chính đó là:
1. Quản lý việc tiếp nhận học sinh - điều kiện là học sinh phải ở
trong độ tuổi từ 15 đến 20 tuổi.
2. Thực hiện chức năng xây dựng danh sách lớp
3. Xây dựng chức năng quản lý thông tin và kết quả học tập của học sinh
4. Chức năng nhập vào và lưu trữ bảng điểm các môn
5. Chức năng lập báo cáo tổng kết
Bên cạnh đó, phần mềm còn có các chức năng khác như cho phép người dùng thay
đổi độ tuổi tối thiểu hoặc tối đa có thể nhận vào trường, thay đổi sĩ số tối đa của
các lớp, số lượng các lớp và tên của các lớp trong trường, thay đổi tên và số lượng
các môn học và cuối cùng là thay đổi điểm đạt môn/ đạt.
2.1.2 Quy trình thực hiện
1. Tiếp nhận học sinh :
Hồ sơ tiếp nhận mỗi học sinh sẽ gồm có các thông tin như họ tên, giới tính, ngày
sinh, địa chỉ và Email của học sinh đó.
2. Lập danh sách lớp :
Một lớp sẽ gồm có: Tên lớp, sĩ số và thông tin của từng học sinh trong lớp đó.
3. Tra cứu thông tin học sinh:
Những thông tin cần tra cứu của một học sinh bất kỳ sẽ gồm có: Họ tên, lớp trực
thuộc của học sinh đó và điểm trung bình kỳ I, kỳ II của học sinh.
4. Quản lý bảng điểm môn học:
Thực hiện việc lưu trữ và cập nhật điểm 15’, điểm 1 tiết và điểm trung bình của
các môn theo tên của từng học sinh ở mỗi lớp và mỗi học kỳ.
5. Lập báo cáo tổng kết:
Việc lập báo cáo tổng kết sẽ có 2 phần đó là Báo cáo tổng kết môn và Báo cáo
tổng kết học kỳ. Ở mỗi phần báo cáo sẽ có chứa thông tin lớp, sĩ số của lớp đó
cùng với số lượng học sinh đạt và tỉ lệ học sinh đạt của lớp đó.
Yêu cầu nghiệp vụ cần phải bảo đảm được tính đúng đắn.
2.2.2 Yêu cầu tiến hóa.
STT Nghiệp vụ Tham số cần thay đổi Miền giá trị cần thay đổi
1 Tiếp nhận học sinh Độ tuổi học sinh được Độ tuổi lớn nhất, độ tuổi
nhận vào trường nhỏ nhất
2 Lập danh sách lớp Cơ cấu mỗi lớp và số Sĩ số tối đa của các lớp, số
lượng lớp trong trường lượng và tên các lớp trong
trường
3 Thay đổi quy định Môn học Số lượng môn học, tên các
về môn học môn học
4 Thay đổi về báo Điểm môn học Điểm đạt môn/đạt
cáo tổng kết
2.2.3 Yêu cầu hiệu quả
3 Thay đổi quy Cho biết số lượng Cập nhật giá trị
định môn học môn học, tên các mới
môn học
4 Thay đổi quy Cho biết điểm đạt Cập nhật giá trị
định lập bảng môn học mới
điểm
1 Tiếp nhận học sinh Đọc tài liệu hướng Thực hiện theo
dẫn sử dụng đúng yêu cầu
2 Lập danh sách lớp Đọc tài liệu hướng Thực hiện theo
dẫn sử dụng đúng yêu cầu
3 Tra cứu học sinh Thực hiện theo
đúng yêu cầu
Sơ đồ luồng dữ liệu:
QĐ2: Có 3 khối lớp (10, 11, 12). Khối 10 có 4 lớp (10A1, 10A2, 10A3, 10A4). Khối 11
có 3 lớp (11A1, 11A2, 11A3). Khối 12 có 2 lớp (12A1, 12A2). Mỗi lớp không quá 40
học sinh.
Sơ đồ luồng dữ liệu:
Các luồng dữ liệu:
D1: Lớp, Sĩ Số
D2: Không có
D3: Danh sách học sinh, Danh sách các lớp, Sĩ số tối đa
D4: D1
D5: D1 + Danh sách học sinh
D6: D5
Thuật toán:
Bước 1. Nhận D1 từ người dùng.
Bước 2. Kết nối cơ sở dữ liệu.
Bước 3. Đọc D3 từ bộ nhớ phụ.
Bước 4. Kiểm tra “Lớp” (D1) có thuộc “Danh Sách Lớp” (D3).
Bước 5. Tính sĩ số lớp.
Bước 6. Kiểm tra qui định sĩ số lớp tối đa.
Bước 7. Nếu không thỏa tất cả các qui định trên thì tới Bước 11.
Bước 8. Lưu D4 xuống bộ nhớ phụ.
Bước 9. Xuất D5 ra máy in (nếu có yêu cầu).
Bước 10. Trả D6 cho người dùng.
Bước 11. Đóng kết nối cơ sở dữ liệu.
Bước 12. Kết thúc
2.4.3 Sơ đồ luồng dữ liệu yêu cầu tra cứu học sinh
Biểu mẫu 3:
Sơ đồ luồng dữ liệu:
2.4.4 Sơ đồ luồng dữ liệu cho yêu cầu nhập bảng điểm môn học
Biểu mẫu 4 và quy định 4:
QĐ4: Có 2 học kỳ (I, II). Có 9 môn học (Toán, Lý, Hóa, Sinh, Sử, Địa, Văn, Đạo
Đức, Thể Dục). 0 <= Điểm <= 10
Sơ đồ luồng dữ liệu:
Các luồng dữ liệu:
D1: Lớp, Môn, Học kỳ, Mã số học sinh, Điểm 15p, Điểm 1 tiết
D2: Không có
D3: Danh sách học sinh
D4: D1 + Điểm trung bình
D5: D4
D6: D5
Thuật toán:
Bước 1. Nhận D1 từ người dùng.
Bước 2. Kết nối cơ sở dữ liệu.
Bước 3. Đọc D3 từ bộ nhớ phụ.
Bước 4. Kiểm tra “Môn Học” (D1) có thuộc “danh sách môn học” (D3).
Bước 5. Kiểm tra “Học kỳ” (D1) có thuộc “danh sách học kỳ” (D3).
Bước 7. Kiểm tra “Điểm 15p” (D1) có nằm trong khoảng “0-10” .
Bước 8. Kiểm tra “Điểm 1 tiết” (D1) có nằm trong khoảng “0-10”
Bước 9. Nếu không thỏa tất cả điều kiện trên thì tới bước 14
Bước 10. Tính “Điểm trung bình” từ bộ nhớ phụ.
Bước 11. Lưu D4 xuống bộ nhớ phụ.
Bước 12: Xuất D5 ra máy in (nếu có yêu cầu).
Bước 13. Trả D6 cho người dùng.
Bước 14. Đóng kết nối cơ sở dữ liệu.
Bước 15. Kết thúc.
2.4.5 Sơ đồ luồng dữ liệu cho yêu cầu lập báo cáo tổng kết
Biểu mẫu 5.1 và quy định 5.1
QĐ5: Học sinh đạt môn/đạt nếu có điểm trung bình >= 5.
Sơ đồ luồng dữ liệu:
Sơ đồ luồng dữ liệu:
Các luồng dữ liệu:
D1: Học kỳ
D2: Không có
D3: Danh sách lớp, Bảng điểm môn học, Điểm đạt
D4: Danh sách lớp, số lượng đạt, tỉ lệ
D5: D4
D6: D5
Thuật toán:
Bước 1: Nhận D1 từ người dùng.
Bước 2: Kết nối cơ sở dữ liệu.
Bước 3: Đọc D3 từ bộ nhớ phụ.
Bước 4: Tính số lượng đạt theo từng lớp trong học kỳ.
Bước 5: Tính tỉ lệ đạt theo từng lớp trong học kỳ.
Bước 6: Lưu D4 xuống bộ nhớ phụ.
Bước 7: Xuất D5 ra máy in ( Nếu có yêu cầu ).
Bước 8: Trả D6 cho người dùng.
Bước 9: Đóng kết nối cơ sở dữ liệu.
Bước 10: Kết thúc.
2.4.6 Sơ đồ luồng dữ liệu cho yêu cầu thay đổi quy định
Quy định 6:
QĐ6: Người dùng có thể thay đổi các qui định như sau:
+ QĐ1: Thay đổi tuổi tối thiểu, tuổi tối đa.
+ QĐ2: Thay đổi sĩ số tối đa của các lớp, thay đổi số lượng và tên các lớp trong
trường.
+ QĐ4: Thay đổi số lượng và tên các môn học.
+ QĐ5: Thay đổi điểm đạt môn/đạt
5 Microsoft SQL Server Tiếp nhận truy vấn và trả kết quả cho
ASP.NET, đồng thời thực hiện các công việc
liên quan đến lưu trữ (thêm, xóa, sửa,...)
6 Student Database Lưu trữ dữ liệu cho phần mềm quản lý học
sinh
HOCSINH
HOCSINH THAMSO
3.2.1.2 Yêu cầu “Lập danh sách lớp”
Thiết kế dữ liệu với tính đúng đắn
THAMSO LOP
HOCSINH QUATRINHHOC HOCKY
HOCSINH
MONHOC
QĐ4: Có 2 học kỳ (I, II). Có 9 môn học (Toán, Lý, Hóa, Sinh, Sử, Địa, Văn, Đạo
Đức, Thể Dục). 0 <= Điểm <= 10
HOCSINH
MONHOC
TONGKETM
MONHOC
ON
THAMSO
Thiết kế dữ liệu với tính tiến hóa
QĐ5: Học sinh đạt môn/đạt nếu có điểm trung bình >= 5.
Quy định liên quan: Quy định 5
Sơ đồ luồng dữ liệu liên quan về việc thay đổi quy định:
Các thuộc tính mới: không có
Các tham số mới: không có
Thiết kế dữ liệu: table HOCSINH, table THAMSO, table
CHUONGTRINHHOC, table LOP, table QUATRINHHOC, table HOCKY, table
BANGDIEMMON, table MONHOC, table KHOI, table TONGKETMON, table
LOAIHINHKIEMTRA, table CT_BANGDIEMMON.
Các thuộc tính trừu tượng: không có
Sơ đồ Logic:
KHOI LOP HOCSINH
TONGKETM
MONHOC
ON
THAMSO
3.2.1.6 Yêu cầu về “Lập báo cáo tổng kết học kỳ”
Thiết kế dữ liệu với tính đúng đắn
TONGKETM
MONHOC
ON HOCSINH
THAMSO
Thiết kế dữ liệu với tính tiến hóa
Quy định liên quan: không có
Sơ dồ luồng dữ liệu liên quan đến quy định: không có
Các thuộc tính mới: không có
Các tham số mới: không có
Thiết kế dữ liệu: table HOCSINH, table THAMSO, table
CHUONGTRINHHOC, table LOP, table QUATRINHHOC, table HOCKY, table
BANGDIEMMON, table MONHOC, table KHOI, table TONGKETMON, table
LOAIHINHKIEMTRA, table CT_BANGDIEMMON, table
TONGKETHOCKY.
Các thuộc tính trừu tượng: không có
Sơ đồ Logic: không có
TONGKETM
MONHOC
ON HOCSINH
THAMSO
CHUCNANG PHANQUYEN
NGUOIDUNG NHOMNGUOIDUNG
3.2.2 Danh sách các bảng trong sơ đồ:
STT Tên bảng dữ liệu Diễn giải
1 HOCSINH Hồ sơ học sinh
2 LOP Thông tin lớp học
3 KHOI Thông tin các khối
4 QUATRINHHOC Quá trình học của học sinh tại trường
5 HOCKY Học kỳ
6 MONHOC Danh sách các môn học
7 BANGDIEMMON Bảng điểm các môn học
8 LOAIHINHKIEMTRA Hình thức kiểm tra và hệ số điểm
9 CT_BANGDIEMMON Chi tiết bảng điểm môn
10 CHUONGTRINHHOC Chương trình học của các khối lớp
11 TONGKETMON Báo cáo tổng kết môn
12 TONGKETHOCKY Báo cáo tổng kết học kỳ
13 THAMSO Bảng tham số
14 CHUCNANG Bảng chức năng người dùng
15 NHOMNGUOIDUNG Nhóm người dùng
16 NGUOIDUNG Người dùng có thể thay đổi quy định
17 PHANQUYEN Bảng phân quyền cho nhóm người
dùng
STT Tên thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải
1 MaLop int identiy PRIMARY KEY Mã lớp
2 TenLop nvarchar(10) NOT NULL Tên lớp
3 SiSo int NOT NULL Sĩ số
4 MaKhoi int NOT NULL Mã Khối
STT Tên thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải
3.2.3.10 Bảng NHOMNGUOIDUNG
1 MaChucNang int identity PRIMARY KEY Mã chức năng
2 TenChucNang nvarchar(50) NOT NULL Tên chức năng
3 TenManHinhDuoc nvarchar(50) NOT NULL Tên màn hình được
Load load với từng chức
năng
STT Tên thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải
1 MaNhom int identity PRIMARY KEY Mã nhóm người
dùng
2 TenNhom nvarchar(30) NOT NULL Tên nhóm
CHƯƠNG 4:
THIẾT KẾ GIAO DIỆN
STT Biến cố Xử lý
1 Nhập giá trị vào txt Lop Hiển thị lên DataGridView những học sinh có họ
tương ứng với giá trị được nhập vào
2 Nhập giá trị vào txt Ho Hiển thị lên DataGridView những học sinh có họ
tương ứng với giá trị được nhập vào
3 Nhập giá trị vào txt Ten Hiển thị lên DataGridView những học sinh có tên
tương ứng với giá trị được nhập vào
4 Nhập giá trị vào txt TBI Hiển thị lên DataGridView những học sinh có điểm
trung bình kì I tương ứng với giá trị được nhập vào
5 Nhập giá trị vào txt TBII Hiển thị lên DataGridView những học sinh có điểm
trung bình kì II tương ứng với giá trị được nhập vào
6 Nhập giá trị vào txt NamHoc Hiển thị lên DataGridView những học sinh có trong
danh sách theo năm tương ứng với giá trị được nhập
vào
7 Khởi tạo màn hình Thiết lập các Control và thông tin hiển thị về trạng thái
mặc định
STT Biến cố Xử lý
1 Chọn button Thêm Lưu thông tin giá trị họ, tên, ngày sinh, giới tính, địa
chị, email mới nhập vào dữ liệu
2 Khởi tạo màn hình Thiết lập các Control và thông tin hiển thị về trạng thái
mặc định
* Lưu ý: Có thể thêm nhiều học sinh bằng cách enter sau khi nhập đủ thông tin của học
sinh trước
4.3.6 Màn hình quản lý lớp học:
Mô tả các đối tượng trên màn hình
STT Tên Kiểu Ràng buộc Chức năng
1 btSetting button Cho phép mở màn hình thay đổi
sĩ số tối đa
2 btLapDanhSach button Cho phép mở màn hình lập danh
sách lớp
3 btSuaDanhSach button Cho phép mở màn hình sửa danh
sách lớp
4 btSave button Cho phép cập nhật lại thông tin
các lớp học
5 btDelete button Cho phép xóa các lớp học được
chọn
6 btAdd button Cho phép mở màn hình thêm lớp
7 GridClass DataGridView Chứa thông tin danh sách các
lớp học
STT Biến cố Xử lý
1 Chọn button Thêm Lưu thông tin giá trị tên lớp, khối lớp mới nhập vào dữ liệu
2 Khởi tạo màn hình Thiết lập các Control và thông tin hiển thị về trạng thái
mặc định
STT Biến cố Xử lý
1 Chọn button Thêm Cập nhật lại thông tin các học sinh được chọn vào danh
sách lớp được chọn
2 Chọn LCheckbox_Click Lấy thông tin học sinh tương ứng với hàng được chọn
trên GridStudent
2 Khởi tạo màn hình Thiết lập các Control và thông tin hiển thị về trạng thái
mặc định
STT Biến cố Xử lý
1 Chọn button Xóa Xóa thông tin các học sinh được chọn ra khỏi danh sách
lớp tương ứng
2 Chọn LCheckbox_Click Lấy thông tin học sinh tương ứng với hàng được chọn
trên GridStudent
2 Khởi tạo màn hình Thiết lập các Control và thông tin hiển thị về trạng thái
mặc định
STT Biến cố Xử lý
1 Chọn button Thêm Lữu trữ thông tin gồm tên môn học mới và điểm đạt
tương ứng với môn học đó vào danh sách môn học
2 Khởi tạo màn hình Thiết lập các Control và thông tin hiển thị về trạng thái
mặc định
STT Biến cố Xử lý
1 Chọn button Thêm Lưu trữ thông tin chương trình học mới vào dữ liệu
2 Khởi tạo màn hình Thiết lập các Control và thông tin hiển thị về trạng thái
mặc định
STT Biến cố Xử lý
1 LTextbox_Click trên Thêm, xóa , thay đổi điểm 15p, điểm học kì , điểm 1 tiết của
GridSocre học sinh
2 LCheckBox_Click Chọn học sinh muốn thêm, xóa hoặc thay đổi điểm
trên GridScore
3 Chọn button Thêm Thêm điểm cho học sinh được chọn
4 Chọn button Delete Xóa điểm tương ứng của học sinh được chọn
5 Chọn button Save Cập nhật lại điểm của các học sinh và tính lại điểm trung
bình, lưu trữ vào danh sách điểm
6 Khởi tạo màn hình Thiết lập các Control và thông tin hiển thị về trạng thái mặc
định
STT Biến cố Xử lý
1 Chọn button Setting Hiển thị lên màn hình thay đổi điểm đạt học kì
2 Khởi tạo màn hình Thiết lập các Control và thông tin hiển thị về trạng thái
mặc định
STT Biến cố Xử lý
1 Chọn button Lưu Cập nhật lại giá trị điểm đạt mới cho học kì và lưu giá
trị đó vào dữ liệu
2 Khởi tạo màn hình Thiết lập các Control và thông tin hiển thị về trạng thái
mặc định
CHƯƠNG 5:
CÀI ĐẶT VÀ THỬ NGHIỆM
CHƯƠNG 6:
NHẬN XÉT VÀ KẾT LUẬN