
















Preview text:
TRƯỜNG ĐẠI HỌC KINH DOANH VÀ CÔNG NGHỆ HÀ NỘI 
KHOA CÔNG NGHỆ THÔNG TIN ------------------ - 
BÁO CÁO ĐỒ ÁN MÔN HỌC 
NHẬP MÔN CÔNG NGHỆ PHẦN MỀM  2. Nội dung 
Phần này trình bày chi tiết các yêu cầu và hiện trạng của nghiệp vụ quản lý học sinh, làm cơ sở 
cho việc phân tích, thiết kế và triển khai hệ thống.   
2.1. Giới thiệu bài toán cần giải quyết và qui trình thực hiện 
các công việc chính 
2.1.1. Bối cảnh và mục tiêu 
Trong các trường học hiện nay, hầu hết các khâu quản lý học sinh vẫn đang được thực hiện thủ 
công hoặc bán thủ công (qua Excel, giấy tờ…). Điều này dẫn đến:  • 
Tốn thời gian: Giáo viên, nhân viên văn phòng phải nhập liệu trùng lặp, đối chiếu nhiều  nguồn khác nhau.  • 
Dễ sai sót: Nhập nhầm số liệu, bỏ sót bản ghi, nhầm lẫn tên lớp, điểm số…  • 
Khó tra cứu, báo cáo: Khi cần thống kê, báo cáo tổng kết hoặc thay đổi quy định, phải 
rà soát thủ công trong hàng trăm, hàng nghìn bản ghi.  • 
Khả năng mở rộng thấp: Khi thêm khối lớp, môn học, quy định mới, phải chỉnh sửa 
nhiều biểu mẫu, qui trình. 
Mục tiêu của hệ thống quản lý học sinh là: 
1. Tự động hóa hoàn toàn quy trình nhập, lưu trữ và tra cứu thông tin học sinh. 
2. Chuẩn hóa biểu mẫu đầu vào/đầu ra, tránh sai sót và nhập trùng. 
3. Cung cấp công cụ báo cáo, thống kê nhanh chóng, đáp ứng kịp thời các yêu cầu thay  đổi. 
4. Bảo mật và phân quyền: Chỉ người có thẩm quyền mới được phép xem, sửa, xóa dữ  liệu. 
5. Dễ dàng mở rộng: Hệ thống thiết kế theo kiến trúc module, có thể bổ sung khối lớp, 
môn học, biểu mẫu mới mà không phải viết lại toàn bộ.     
2.1.2. Mô tả qui trình các công việc chính 
Dưới đây là qui trình tổng quan của 6 công việc cốt lõi sẽ được hệ thống hỗ trợ.   
A. Tiếp nhận học sinh  • 
Qui trình hiện tại: 
1. Phụ huynh nộp hồ sơ giấy (CMND/CCCD, học bạ, giấy khai sinh…) tại văn  phòng. 
2. Nhân viên văn thư kiểm tra, đối chiếu thông tin, ghi tay vào sổ hoặc nhập vào file  Excel. 
3. Chuyển hồ sơ cho hiệu phó học sinh duyệt, sau đó lưu vào tủ hồ sơ.  •  Vấn đề: 
1. Thời gian xử lý lâu (15–30 phút/hồ sơ). 
2. Dễ nhầm lẫn khi gõ tên, ngày sinh, địa chỉ. 
3. Không có bản sao lưu điện tử tập trung, mất khó khôi phục.  Yêu cầu hệ  thống: 
1. Giao diện nhập liệu trực tuyến (web/mobile). 
2. Kiểm tra tính hợp lệ (validation) ngay khi nhập (định dạng ngày tháng, độ dài  tên…). 
3. Tự động sinh mã học sinh, lưu vào CSDL tập trung.   
B. Lập danh sách lớp  • 
Qui trình hiện tại: 
1. Căn cứ vào số lượng học sinh, độ tuổi, giới tính, nguyện vọng… giáo vụ phân lớp  thủ công. 
2. Ghi danh sách lên bảng hoặc in ra Excel. 
3. Công bố danh sách, tiếp nhận yêu cầu chuyển lớp (nếu có).  •  Vấn đề: 
1. Khó cân đối sĩ số, phân bổ giáo viên chủ nhiệm. 
2. Khi có thay đổi (học sinh xin chuyển), phải sửa đi sửa lại nhiều lần. 
3. Không lưu được lịch sử thay đổi.  • 
Yêu cầu hệ thống: 
1. Module “Phân lớp tự động” với các tiêu chí: sĩ số tối đa, tỉ lệ nam/nữ, nhóm năng  lực… 
2. Cho phép “kéo–thả” chuyển học sinh giữa các lớp. 
3. Lưu lịch sử, xuất Excel/PDF danh sách nhanh chóng.       
C. Tra cứu học sinh  • 
Qui trình hiện tại: 
1. Giáo viên hoặc hiệu phó tìm trong sổ tay hoặc mở hàng loạt file Excel. 
2. Tìm theo tên, mã số hoặc lớp, mất thời gian khi dữ liệu lớn.  •  Vấn đề: 
1. Tìm kiếm chậm, thao tác nhiều bước. 
2. Không hỗ trợ tra cứu nâng cao (theo kết quả học tập, hành vi…). Yêu cầu hệ  thống: 
1. Thanh tìm kiếm toàn cục (theo tên, mã HS, lớp, năm học). 
2. Bộ lọc nâng cao: theo điểm TB, khen thưởng/kỷ luật, địa chỉ nhà. 
3. Hiển thị kết quả tức thì, cho phép xem chi tiết, chỉnh sửa nhanh.   
D. Nhập bảng điểm môn  • 
Qui trình hiện tại: 
1. Giáo viên bộ môn nhận biểu mẫu (Excel hoặc giấy). 
2. Nhập điểm thủ công vào Excel, gửi cho giáo vụ. 
3. Giáo vụ tổng hợp, kiểm tra, sau đó nhập vào sổ tổng kết.  •  Vấn đề: 
1. Dễ sai sót khi gõ số, đặc biệt với lớp đông. 
2. Mất nhiều bước chuyển đổi giữa file, không có kiểm tra ràng buộc. 
3. Không lưu lịch sử chỉnh sửa, khó truy vết khi có tranh chấp.  Yêu cầu hệ  thống: 
1. Form nhập điểm trực tuyến, cho phép copy–paste hàng loạt. 
2. Kiểm tra ràng buộc: điểm tối đa, định dạng số. 
3. Lưu log mọi lần sửa, gửi thông báo email/notification khi điểm được nhập.   
E. Lập báo cáo tổng kết  • 
Qui trình hiện tại: 
1. Giáo vụ thu thập file điểm của tất cả môn. 
2. Mở Excel, ghép bảng, tính trung bình, xếp loại học lực, hạnh kiểm. 
3. In báo cáo, gửi cho ban giám hiệu duyệt, sau đó lưu trữ.  •  Vấn đề:     
1. Quá trình ghép bảng dễ nhầm lẫn, công thức sai. 
2. Mất nhiều thời gian (có thể vài ngày cho cả trường). 
3. Khó tùy chỉnh khi cần bổ sung thông tin mới (như xếp loại kỹ năng sống…).   
Yêu cầu hệ thống: 
1. Báo cáo tự động: tích hợp dữ liệu điểm, kết quả rèn luyện, chuyên cần… 
2. Cho phép xuất nhanh PDF/Word theo mẫu của Sở. 
3. Module “Tùy biến báo cáo”: thêm/bớt cột, nhóm lớp, thống kê đồ họa.   
F. Thay đổi quy định  • 
Qui trình hiện tại: 
1. Khi Sở/Giáo viên chủ nhiệm đề xuất quy định mới (chấm điểm, xếp loại…). 
2. Giáo vụ, ban giám hiệu chỉnh sửa biểu mẫu giấy/Excel, phổ biến cho giáo viên. 
3. Mọi người phải cập nhật thủ công, dễ lộn xộn.  •  Vấn đề: 
1. Mất nhiều thời gian triển khai. 
2. Dễ có giáo viên chưa cập nhật kịp, gây sai lệch kết quả. 
3. Không có cơ chế “phiên bản” quy định.  • 
Yêu cầu hệ thống: 
1. Cấu hình quy tắc tính điểm, xếp loại linh hoạt trong phần quản trị. 
2. Phiên bản hóa: lưu lại lịch sử quy định, cho phép “rollback”. 
3. Phân quyền chỉ Ban giám hiệu mới được sửa, giáo vụ/gv chỉ được xem.   
2.2. Xác định và mô hình hóa yêu cầu phần mềm 
2.2.1. Phân loại các yêu cầu 
A. Yêu cầu nghiệp vụ (Business Requirements)  ST   Biể Qui Gh T  u  địn i       mẫ h  ch Tên yêu cầu  u  ú    1  Tiếp nhận học sinh   BM1 QĐ1  2  Lập danh sách lớp   BM2 QĐ2  3  Tra cứu học sinh   BM3    4  Nhập bảng điểm môn   BM4 QĐ4      5  Lập báo cáo tổng kết   BM5 QĐ5  6  Thay đổi qui định    QĐ6 
Mô tả chi tiết một số yêu cầu  • 
BM1 – Tiếp nhận học sinh: Form gồm các trường: mã HS (tự sinh), họ tên, ngày sinh, 
giới tính, địa chỉ, phụ huynh, liên hệ. Validation ngay khi nhập.  • 
BM4 – Nhập bảng điểm môn: Cho phép giáo viên chọn lớp, môn, nhập điểm theo danh 
sách, kiểm tra giới hạn (0–10 hoặc 0–100), hiển thị cảnh báo lỗi.  • 
BM5 – Lập báo cáo tổng kết: Tích hợp đa nguồn: điểm các môn, rèn luyện, chuyên cần. 
Tự động tính TB chung, xếp loại. Xuất theo mẫu QĐ của Sở. 
B. Yêu cầu hệ thống (System Requirements) 
1. Tính an toàn (Safety) o Cơ chế backup & restore tự động hàng  ngày. 
o Kiểm thử rollback dữ liệu khi lỗi. 
2. Tính bảo mật (Security) o Phân quyền theo vai trò: Admin (BGH), 
Giáo vụ, Giáo viên, Giáo viên bộ môn. o Mã hóa mật khẩu,  SSL/TLS cho kết nối. 
o Audit log: ghi nhận mọi thao tác thêm/sửa/xóa. 
C. Yêu cầu chất lượng (Non-functional Requirements)  Tiêu chí  Mô tả 
Thiết kế module hóa, micro-services, dễ dàng thêm chức năng mới (ví dụ:  Tính tiến hóa 
module thư viện, module tin tức…). 
Giao diện Web responsive (desktop/mobile), UX thân thiện, hướng dẫn sử  Tính tiện dụng  dụng ngay trong form. 
Thời gian phản hồi < 1s cho thao tác tìm kiếm, < 3s cho báo cáo tổng  Tính hiệu quả 
hợp. Hỗ trợ caching, indexing. 
Chạy được trên Windows, Linux, hỗ trợ các trình duyệt phổ biến  Tính tương thích 
(Chrome, Edge, Firefox). Có thể deploy trên cloud hoặc server nội bộ. 
2.2.2. Bảng trách nhiệm cho từng loại yêu cầu  S       Đ T ịa      T      đ Tên yêu cầu  Người thực hiện 
Tần suất thực hiện  iể       m  t h ự c  h iệ n      1 Tiếp nhận học sinh   Văn thư/Hiệu phó   Đầu năm học   V ă n  p h ò n g  tr ư ờ n g  2 Lập danh sách lớp   Giáo vụ   Đầu năm học   V ă n  p h ò n g  tr ư ờ n g  3 Tra cứu học sinh   Giáo viên/Hiệu trưởng   Hàng tuần/tháng   To à n  tr ư ờ n g 
4 Nhập bảng điểm môn Giáo viên bộ môn   Hàng tháng/cuối kỳ   Ph ò n g  gi á o  vi ê n 
5 Lập báo cáo tổng kết Ban giám hiệu/Giáo vụ   Cuối kỳ/năm học   V ă n  p h     ò n g  tr ư ờ n g  6 Thay đổi qui định   Ban giám hiệu   Khi có phát sinh   V ă n  p h ò n g  tr ư ờ n g 
2.2.3. Sơ đồ luồng dữ liệu cho từng yêu cầu + Sơ Đồ Tiếp Nhận Học Sinh Mới  Văn thư/Hiệu phó  D1  D6  D2  D5  Thiết bị nhập  Tiếp nhận học sinh  Thiết bị xuất  D3  D4    Tên 
Biểu mẫu và qui định liên quan:   BM1:  Hồ Sơ Học Sinh       
Họ và tên:................................................. 
Giới tính:.................................................. 
Ngày sinh:................................................. 
Địa chỉ:..................................................... 
Email:.......................................................   
QĐ1: Tuổi học sinh từ 15 đến 20.     
D1: Thông tin về học sinh (Họ và tên, Ngày sinh, Email, Giới tính, Địa chỉ)  D2: Không có  D3: Không có  D4: D1  D5: D4  D6: D4  Thuật toán:  
B1: Nhận D1 từ người dùng 
B2: Kết nối cơ sở dữ liệu  B3: Tính tuổi học sinh 
B4: Kiểm tra tuổi học sinh 
B5: Nếu không thỏa mãn qui định -> B8 
B6: Lưu D4 xuống bộ nhớ phụ  B7: Xuất D5 ra máy in 
B8: Đóng kết nối cơ sở dữ liệu  B9: Kết thúc 
+ Sơ đồ lập danh sách lớp  Giáo vụ  D1  D6  D2  D5  Thiết bị nhập  Lập danh sách lớp  Thiết bị xuất  D3  D4    Tên 
Biểu mẫu và qui định liên quan:   BM2:  Danh Sách Lớp       
Lớp:............................................... 
Sĩ số:...............................................      STT  Họ Tên    Giới    Năm Sinh    Địa Chỉ  Tính      1          2         
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. 
D1: Yêu cầu & thông tin HS (Lớp, Sĩ số, Họ tên, Ngày sinh, Email, Giới tính, Địa chỉ)  D2: Không có  D3: Không có 
D4: D1 + kiểm tra sĩ số ≤ 40 HS/lớp  D5: Không có 
D6: D4 (DS lớp hoàn chỉnh trả giáo vụ)  Thuật toán:   B1. Nhập D1 từ giáo vụ  B2. Kết nối CSDL 
B3. Phân lớp tự động theo QĐ2 (khối 10:4 lớp; 11:3 lớp; 12:2 lớp; mỗi lớp ≤ 40 HS) 
B4. Nếu có lớp vượt sĩ số → thông báo lỗi → B6 
B5. Lưu D4 vào bảng DANH_SACH_LOP  B6. Đóng kết nối CSDL  B7. Kết thúc 
+ Sơ Đồ Tra Cứu thông Tin Học Sinh  Giáo viên/Hiệu trưởng  D1  D6  D2  D5  Thiết bị nhập  Tra cứu học sinh  Thiết bị xuất  D3  D4        Tên 
Biểu mẫu và qui định liên quan:   BM3:  Danh Sách Học Sinh          STT  Họ Tên    Lớp   TB Học    TB Học Kỳ  Kỳ I  II      1          2         
D1: Tiêu chí tra cứu (từ khóa, bộ lọc)  D2: Không có  D3: Không có  D4: Không có 
D5: D1 → truy vấn, sinh D6 D6: 
Kết quả tra cứu (danh sách HS)  Thuật toán:  
B1. Nhập D1 từ giáo viên  B2. Kết nối CSDL 
B3. Truy vấn bảng HOC_SINH theo D1  B4. Lấy D6 (kết quả)  B5. Trả D6 cho giáo viên  B6. Đóng kết nối CSDL  B7. Kết thúc 
+ Sơ đồ nhập bảng điểm môn  Giáo viên bộ môn  D1  D6  D2  D5  Thiết bị nhập  Nhập bảng điểm môn  Thiết bị xuất  D3  D4        Tên 
Biểu mẫu và qui định liên quan:   BM4: 
Bảng Điểm Môn Học       
Lớp:............................................... 
Môn:............................................... 
Học kỳ:...............................................    STT  Họ Tên    Điểm    Điểm 1 tiết    Điểm TB  15’      1          2         
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 
D1: Bảng điểm HS (Họ tên, Điểm 15’, Điểm 1 tiết, Điểm TB)  D2: Không có  D3: Không có 
D4: D1 (điểm đã kiểm tra hợp lệ) 
D5: D4 (Lệnh in biên bản điểm) 
D6: D4 (Xác nhận “đã lưu”)  Thuật toán:  
B1. Nhập D1 từ giáo viên  B2. Kết nối CSDL 
B3. Kiểm tra mỗi điểm ∈ [0,10] 
B4. Nếu có lỗi → thông báo → B8 
B5. Lưu D4 vào bảng DIEM_MON 
B6. Gửi lệnh in biên bản (D5)  B7. Trả D6 cho giáo viên  B8. Đóng kết nối CSDL  B9. Kết thúc     
+ Sơ đồ lập Báo Cáo Tổng Kết  Ban giám hiệu/Giáo vụ  D1  D6  D2  D5  Thiết bị nhập  Lập báo cáo tổng kết  Thiết bị xuất  D3  D4    Tên 
Biểu mẫu và qui định liên quan:   Biểu mẫu 5.1  BM5.1   
Báo Cáo Tổng Kết Môn     
Môn:............................................... 
Học kỳ:...............................................  STT  Lớp    Sĩ Số   Số Lượng    Tỉ Lệ  Đạt      1          2         
QĐ5: Học sinh đạt môn/đạt nếu có điểm trung bình >= 5.    Biểu mẫu 5.2  BM5.2   
Báo Cáo Tổng Kết Học Kỳ     
Học kỳ:...............................................  STT  Lớp    Sĩ Số    Số Lượng    Tỉ Lệ  Đạt      1              2         
D1: Yêu cầu báo cáo + tham số (môn/kỳ)  D2: Không có  D3: Không có 
D4: D1 → tổng hợp số liệu (TB, SL đạt, tỉ lệ) 
D5: D4 (Lệnh in/ xuất file) D6:  D4 (Trả báo cáo cho BGH)  Thuật toán:  
B1. Nhập D1 từ Ban giám hiệu  B2. Kết nối CSDL 
B3. Truy vấn DIEM_MON, HOC_SINH; tính TB, SL đạt, tỉ lệ (QĐ5)  B4. Tổng hợp D4 
B5. Gửi lệnh in/ xuất file (D5)  B6. Trả D6 cho BGH  B7. Đóng kết nối CSDL  B8. Kết thúc 
+ Sơ đồ thay đổi qui định  Ban giám hiệu  D1  D6  D2  D5  Thiết bị nhập  Thay đổi qui định  Thiết bị xuất  D3  D4    Tên 
Biểu mẫu và qui định liên quan: 
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. 
D1: Qui định mới (tham số QĐ1/QĐ2/QĐ4/QĐ5)  D2: Không có  D3: Không có  D4: D1 (đã cập nhật)  D5: Không có 
D6: D4 (Xác nhận “QĐ đã cập nhật”)  Thuật toán:  
B1. Nhập D1 từ Ban giám hiệu  B2. Kết nối CSDL 
B3. Cập nhật bảng QUY_DINH theo D1  B4. Đóng kết nối CSDL  B5. Kết thúc 
2.3. Thiết kế dữ liệu 
2.3.1. Thiết kế CSDL mức khái niệm 
Các thuộc tính của từng thực thể :  
HocSinh(MaHS, HoTen, NgaySinh, GioiTinh, DiaChi, Email) 
Lop(MaLop, TenLop, Khoi, SiSoToiDa)  MonHoc(MaMon, TenMon) 
DiemMon(MaDiem, MaHS, MaMon, HocKy, Diem15, Diem1Tiet, DiemTB) 
BaoCao(MaBC, MaLop, LoaiBC, MaMon, HocKy, NgayLap, SiSoLop,  SoLuongDat, TyLeDat) 
QuiDinh(MaQD, LoaiQD, GiaTriToiThieu, GiaTriToiDa) Các  quan hệ chính:  •  HocSinh (N:1) Lop  •  HocSinh (1:N) DiemMon  •  MonHoc (1:N) DiemMon  • 
Lop (1:N) BaoCao Mô hình thực thể ER:      SiSoToiDa  MaLop  TenLop  HoTen  NgaySinh  MaHS  GioiTinh  Khoi  Lop  HocSinh  1  Email  DiaChi    MaMon  TenMon  1  MaDiem  BaoCao  DiemMon  MonHoc  MaMon  MaBC  MaHS  MaLop  LoaiBC  1  N  Diem15  MaMon  N  SoLuongDat  BaoCao  HocKy  DiemMon  HocKy  Diem1T  DiemTB  NgayLap  SiSoLop  TyLeDat        MaQĐ  LoaiQĐ  QuyDinh  GiaTriToiDa  GiaTriToiThieu   
2.3.2. Thiết kế CSDL mức logic Mô 
hình E_R sang mô hình quan hệ:    Chuẩn hóa 3NF: 
HocSinh(MaHS, HoTen, NgaySinh, GioiTinh, DiaChi, Email, MaLop) 
Lop(MaLop, TenLop, Khoi, SiSoToiDa)  MonHoc(MaMon, TenMon)     
DiemMon(MaDiem, MaHS, MaMon, HocKy, Diem15, Diem1Tiet)  BaoCao(MaBC,    MaLop,   
LoaiBC,MaMon,HocKy,NgayLap,SiSoLop,  SoLuongDat) 
QuiDinh(MaQD, LoaiQD, GiaTriToiThieu, GiaTriToiDa) 
Mô hình quan hệ đạt chuẩn tối thiểu 3NF: 
2.3.3 Sơ đồ logic hoàn chỉnh. 
2.3.4 Danh sách các bảng dữ liệu (table) trong sơ đồ:  Tên bảng dữ  STT  Diễn giải  liệu  1  HocSinh 
Lưu trữ thông tin học sinh: MaHS, HoTen, NgaySinh, GioiTinh, DiaChi,    Tên bảng dữ  STT  Diễn giải  liệu      Email, MaLop  2  Lop 
Lưu trữ thông tin lớp: MaLop, TenLop, Khoi, SiSoToiDa  3  MonHoc 
Lưu trữ danh sách môn học: MaMon, TenMon 
Lưu trữ điểm môn của học sinh theo kỳ: MaDiem, MaHS, MaMon, HocKy,  4  DiemMon  Diem15, Diem1Tiet 
Lưu trữ báo cáo tổng kết: MaBC, MaLop, LoaiBC, MaMon (nullable),  5  BaoCao 
HocKy (nullable), NgayLap, SiSoLop, SoLuongDat 
Lưu trữ các quy định hệ thống: MaQD, LoaiQD, GiaTriToiThieu,  6  QuiDinh  GiaTriToiDa