Trong phần trình bày này của em sẽ đề cập đến việc dự đoán điểm số của sinh viên để giúp cho phòng đào tạo có những phương án mở lớp sao cho hiệu quả nhất, tránh tình trạng sinh viên khô
Trang 1VIỆN TOÁN ỨNG DỤNG VÀ TIN HỌC
Trang 2MỤC LỤC
LỜI MỞ ĐẦU 2
I Mô hình hóa nghiệp vụ và đặc tả yêu cầu phần mềm 3
1 Khảo sát và đánh giá hiện trạng 3
1.1 Khảo sát hiện trạng 3
1.2 Đánh giá hiện trạng 3
2 Mô hình nghiệp vụ 4
3 Mô hình tính toán 4
4 Thu thập dữ liệu 5
5 Đặc tả yêu cầu phần mềm 5
II Phân tích hệ thống 5
1 Phân tích hệ thống về mặt chức năng 5
1.1 Biểu đồ phân cấp chức năng 5
1.2 Biểu đồ luồng dữ liệu mức ngữ cảnh 7
1.3 Biểu đồ luồng dữ liệu mức đỉnh 7
2 Phân tích hệ thống về mặt dữ liệu 8
III Thiết kế hệ thống 9
1 Thiết kế hệ thống về mặt dữ liệu 9
2 Thiết kệ hệ thống về mặt giao diện 10
3 Thiết kế hệ thống về mặt chương trình 11
3.1 Thiết kế module quản lý dữ liệu 12
3.2 Thiết kế module xây dựng mô hình 12
LỜI KẾT 13
Trang 3LỜI MỞ ĐẦU
Sức mạnh của công nghệ đang vươn rất xa trong thời đại 4.0 hiện nay Nếu chúng ta biết tận dụng sức mạnh này, rất nhiều bài toán khó của những thời điểm trước sẽ được giải quyết một cách dễ dàng hơn rất nhiều Trong đó phải kể tới bài toán dự đoán, có rất nhiều vấn đề cần dự đoán trong cuộc sống của chúng
ta, ví dụ như khả năng rời bỏ hệ thống của khách hàng, dự báo thời tiết, dự báo chứng khoán đầu tư, dự báo doanh số nhà phân phối, nhà cung cấp, Trong phần trình bày này của em sẽ đề cập đến việc dự đoán điểm số của sinh viên để giúp cho phòng đào tạo có những phương án mở lớp sao cho hiệu quả nhất, tránh tình trạng sinh viên không đăng ký được bị chậm tiến độ, ảnh hưởng đến nhiều vấn đề của những sinh viên đó
Ngoài phần mở đầu và phần kết luận, báo cáo của em gồm 3 phần:
- Phần I: Mô hình hóa nghiệp vụ và đặc tả yêu cầu phần mềm
- Phần II: Phân tích hệ thống
- Phần III: Thiết kế hệ thống
Trang 4I Mô hình hóa nghiệp vụ và đặc tả yêu cầu phần mềm
1 Khảo sát và đánh giá hiện trạng
1.1 Khảo sát hiện trạng
- Phòng đào tạo dựa vào số lượng sinh viên đăng ký học phần để mở số lớp tương ứng cho kỳ học tiếp theo
- Số lượng sinh viên không qua môn là khá nhiều (~30% của K60,K61), số sinh viên này bắt buộc phải học lại Và số lượng sinh viên đạt điểm thấp (D, D+) cũng khá nhiều (~45% của K60, K61), số sinh viên này có thể muốn cải thiện điểm do môn này chiếm nhiều tín chỉ (4TC) Sẽ có khá nhiều sinh viên muốn học môn này vào kỳ sau nhưng lại không đăng ký học phần vì lúc biết kết quả
đã hết thời hạn đăng ký học phần rồi
1.2 Đánh giá hiện trạng
- Với hiện trạng nêu trên có thể số lượng sinh viên có nhu cầu học sẽ cao hơn số lượng sinh viên tối đa được phép đăng ký lớp học
=> Ảnh hưởng đến lộ trình học tập, tốt nghiệp đúng hạn của sinh viên
=> Phòng đào tạo cần có phương án mở lớp hợp lý
=> Phải dự đoán số lượng sinh viên có khả năng đăng ký lớp Giải Tích Số tại ngay kỳ học tới
Trang 52 Mô hình nghiệp vụ
3 Mô hình tính toán
-Mô hình: Hồi quy tuyến tính cổ điển (ước lượng bình phương cực tiểu)
Y X1 + X2
Với: là các hệ số thực
Y là điểm thi Giải Tích Số
X1 là điểm thi Đại Số
X2 là điểm thi Giải Tích III
- Ta sẽ dự đoán các hệ số và từ đó dự đoán được điểm Giải Tích Số của từng sinh viên với công thức
Với: là ma trận thiết kế, trong đó n là lượng hàng dữ liệu, k là lượng biến
dùng để dự đoán
là vector kết quả
4 Thu thập dữ liệu
- Thu thập dữ liệu môn Giải Tích, Đại Số, Giải Tích Số trên sami.hust.edu.vn
- Thu thập điểm từ ảnh chụp từ các nhóm lớp trên Facebook
Nhập liệu, yêu cầu hỗ trợ
Xử lý
Trang 65 Đặc tả yêu cầu phần mềm
- Người dùng phần mềm được toàn quyền quản lý dữ liệu bên trong (xem, thêm, xóa, sửa)
- Người dùng sẽ được nhìn thấy tất cả số liệu trong cơ sở dữ liệu Giao diện phải phần gợi ý dành cho người dùng
- Hiển thị biểu đồ biểu thị tỷ lệ số lượng sinh viên đạt điểm qua với số lượng sinh viên bị điểm F, D, D+
II Phân tích hệ thống
1 Phân tích hệ thống về mặt chức năng
1.1 Biểu đồ phân cấp chức năng
- Hệ thống gồm các chức năng liên quan đến dữ liệu bao gồm:
+ Xem, thêm, xóa, sửa dữ liệu điểm môn Giải Tích, Đại Số, Giải Tích Số của khóa cũ
+ Xem, thêm, xóa, sửa dữ liệu điểm môn Giải Tích, Đại Số của khóa mới
- Hệ thống có chức năng đưa ra gợi ý quyết định dành cho người dùng
- Hệ thống hiển thị được biểu đồ tỷ lệ về số lượng sinh viên bị điểm F, D, D+
Trang 7Sơ đồ phân cấp chức năng
Hỗ trợ ra quyết
định mở lớp
Quản lý điểm thi khóa cũ
Hiển thị Thêm điểm Sửa điểm
Quản lý điểm thi khóa mới
Hiển thị Thêm điểm Sửa điểm Gợi ý mở lớp
Trang 81.2 Biểu đồ luồng dữ liệu mức ngữ cảnh
1.3 Biểu đồ luồng dữ liệu mức đỉnh
2 Phân tích hệ thống về mặt dữ liệu
- Dữ liệu chương trình gồm 2 bảng điểm: Bảng điểm khóa cũ và bảng điểm
khóa mới
+ Bảng điểm khóa cũ: Giải Tích, Đại Số, Giải Tích Số
+ Bảng điểm khóa mới: Giải Tích, Đại Số
- Mô hình thực thể (2 thực thể)
Upload điểm số
Hệ thống dự đoán
điểm Phòng Đào Tạo
Đưa ra gợi ý
Trang 9III Thiết kế hệ thống
1 Thiết kế hệ thống về mặt dữ liệu
- Bảng điểm thi khóa cũ: (Tên bảng: KetQua)
Tên
trường
Số
Unsigned integer
0 - 100 Yes
Điểm thi
khóa cũ
Giải Tích
Đại Số
Giải Tích Số
Điểm thi khóa mới
Giải Tích Đại Số
Trang 10Tích III integer
Tích Số
Unsigned integer
0 - 100 Yes
- Bảng điểm thi khóa mới: (Tên bảng: DuDoan)
Tên
trường
Số
Unsigned integer
0 - 100 Yes
Tích III
Unsigned integer
0 - 100 Yes
2 Thiết kệ hệ thống về mặt giao diện
Giao diện của chương trình gồm 7 phần
Vùng quản lý dữ liệu
Vùng upload file dữ liệu
Trang 11Vùng gợi ý
(1) Hiển thị điểm thi Giải Tích, Đại Số, Giải Tích Số khóa cũ
(2) Hiển thị điểm Giải Tích, Đại Số, điểm Giải Tích Số dự đoán của khóa mới (3) Nhập, xóa điểm thi của khóa cũ
(4) Nhập, xóa điểm thi của khóa mới
(5) Biểu đồ tỷ lệ lượng sinh viên đạt điểm F,D,D+ và đạt điểm > D+
(6) Hiển thị mô hình dự đoán
(7) Hiển thị gợi ý cho phòng đào tạo có nên mở lớp hay không
3 Thiết kế hệ thống về mặt chương trình
- Sơ đồ thiết kế
3.1 Thiết kế module quản lý dữ liệu
- Sử dụng hệ thống quản trị cơ sở dữ liệu MySQL
- Sử dụng module có tên là mysql để kết nối cơ sở dữ liệu với server NodeJS
- Sử dụng bộ ngôn ngữ kết nối MySQL với NodeJS mới nhất (ver 13.04.4502)
- Mở port 3000 để kết nối server
3.2 Thiết kế module xây dựng mô hình
- Sử dụng thư viện tính toán mathjs
Người quản lí
Giao diện Web (HTML, CSS)
Xử lí, phân tích (NodeJS)
Nhập liệu
Gợi ý
MySQL (Dữ liệu)
Trang 12+ math.multiply( ) để nhân ma trận.
+ math.inv( ) để tính ma trận nghịch đảo
+ math.transpose( ) để tính ma trận chuyển vị
Trang 13LỜI KẾT
Hệ hỗ trợ quyết định hỗ trợ phòng đào tạo mở lớp bộ môn Giải Tích Số vẫn còn chưa được áp dụng vào trong thực tế, do vẫn còn nhiều yếu tố tác động khác đến điểm số của sinh viên, như chương trình học tập, giảng viên giảng dạy,
và một số yếu tố khác Trong tương lai, em sẽ cố gắng hoàn thiện, nâng cấp sao cho phần mềm này hiệu quả hơn và có tính ứng dụng vào thực tiễn cao hơn Sau
đó em hy vọng có thể xây dựng được những hệ thống có quy mô lớn hơn, có tính thương mại hơn
Vì thời gian tìm hiểu và xây dựng hệ thống còn hạn chế nên bài báo cáo không tránh khỏi những thiếu sót Rất mong nhận được những đóng góp quý báu từ thầy cô và các bạn
Em xin chân thành cảm ơn !!!