ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN BÁO CÁO ĐỒ ÁN MÔN: Nhập môn Công nghệ phần mềm - SE104.M26.KHCL Đề tài: Hệ thống quản lý điểm và sắp xếp lịch
Trang 1ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
BÁO CÁO ĐỒ ÁN MÔN: Nhập môn Công nghệ phần mềm - SE104.M26.KHCL
Đề tài: Hệ thống quản lý điểm và sắp xếp lịch thi
GVHD: Nguyễn Thị Thanh Trúc Nhóm sinh viên thực hiện:
🙡🙢 Tp Hồ Chí Minh, 06/2022 🙠🙣
Trang 2MỤC LỤC
CHƯƠNG 1: GIỚI THIỆU 3
1 Giới thiệu chung: 3
1.1 Mục đích: 3
1.2 Phạm vi hệ thống: 3
1.3 Khái niệm và thuật ngữ: 3
1.4 Tài liệu tham khảo: 3
1.5 Mô tả tài liệu: 3
2 Mô tả tổng thể: 3
2.1 Mô hình mô tả tổng thể hệ thống: 3
2.2 Chức năng hệ thống: 4
2.3 Mô hình người dùng hệ thống 4
2.4 Design constraints 5
2.5 Các ràng buộc và giả định: 5
CHƯƠNG 2: YÊU CẦU ĐẶC TẢ HỆ THỐNG 5
3.1 Yêu cầu chức năng của phần mềm 5
3.1.1 Tra cứu sinh viên: 5
3.1.2 Nhập hoặc sửa điểm của SV 6
3.1.3 Tính kết quả điểm tổng kết của từng môn, kết quả học tập cuối kì và kết quả học tập chung 7
3.1.4 Xử lý phúc khảo: 8
CHƯƠNG 3: THIẾT KẾ CƠ SỞ DỮ LIỆU 10
1 Entity Relation Diagram: 10
2 Danh sách và mô tả chi tiết các bảng dữ liệu: 10
CHƯƠNG 4: THIẾT KẾ GIAO DIỆN 12
1 Screen flow: 12
2 Screen details: 13
CHƯƠNG 5: THIẾT KẾ HỆ THỐNG 18
1 Kiến trúc hệ thống 18
2 Mô tả các thành phần trong hệ thống 18
CHƯƠNG 6: CÀI ĐẶT VÀ THỬ NGHIỆM 19
CHƯƠNG 7: NHẬN XÉT & KẾT LUẬN 19
CHƯƠNG 9: HƯỚNG PHÁT TRIỂN TRONG TƯƠNG LAI 19
CHƯƠNG 10: BẢNG PHÂN CÔNG 19
Trang 3CHƯƠNG 1: GIỚI THIỆU
1 Giới thiệu chung:
1.1 Mục đích:
hệ thống được phát triển (hiểu được những yêu cầu người dùng nào mà hệ thống đáp ứng) Và sử dụng trong quá trình thiết kế hệ thống
chức năng hệ thống (system test)
của hệ thống Sau đó, đưa ra yêu cầu chỉnh sửa để phù hợp với mục đích
1.2 Phạm vi hệ thống:
Sử dụng cho quản lý điểm thi và sắp xếp lịch thi cho sinh viên, các công việc như:
1 Nhập/sửa điểm thi các môn học cho từng sinh viên
2 Tính điểm và kết quả học tập
3 Xử lý phúc khảo và bảo lưu
4 Thống kê kết quả học tập, đánh giá sinh viên và chọn sinh viên học lực tốt
5 Sắp xếp lịch thi và in ra cho sinh viên theo dõi
1.3 Khái niệm và thuật ngữ:
1.4 Tài liệu tham khảo:
1.5 Mô tả tài liệu:
Tài liệu gồm 4 phần chính:
Phần 1: Giới thiệu chung: Giới thiệu tổng quan về tài liệu
Phần 2: Mô tả tổng thể: mô tả tổng thể hệ thống cần xây dựng
Phần 3: Đặc tả yêu cầu hệ thống: đặc tả các yêu cầu chức năng và phi chức năng của hệ
thống cần xây dựng
Phần 4: Thông tin hỗ trợ: mô tả các tài liệu đính kèm,
2 Mô tả tổng thể:
2.1 Mô hình mô tả tổng thể hệ thống:
Trang 42.2 Chức năng hệ thống:
● Tra cứu sinh viên
● Nhập và chỉnh sửa điểm của sinh viên
● Tính kết quả điểm tổng kết của từng môn, kết quả học tập cuối kì và kết quả học tập chung
● Xử lý phúc khảo
● Xử lý bảo lưu
● Lập thống kê kết quả học tập và xét giai đoạn hoàn thành của sinh viên
● Lập lịch thi và in
2.3 Mô hình người dùng hệ thống
Trang 52.4 Design constraints
2.5 Các ràng buộc và giả định:
● Máy tính bắt buộc phải kết nối mạng Lan cục bộ
● Phần mềm hỗ trợ sao lưu hệ thống theo thời gian
● Có thể tích hợp và sử dụng các nguồn dữ liệu khác nhau
● Máy tính bắt buộc phải sử dụng hệ điều hành Windows (phiên bản bất kỳ)
CHƯƠNG 2: YÊU CẦU ĐẶC TẢ HỆ THỐNG
3.1 Yêu cầu chức năng của phần mềm
3.1.1 Tra cứu sinh viên:
1.Thông tin chức năng chung:
Trang 6Tác nhân Bộ phận quản lý
2 Biểu đổ luồng xử lý chức năng (DFD)
3 Mô tả luồng sự kiện chính:
1 Bộ phận quản lý sẽ chọn chức năng
show danh sách
2 Hệ thống sẽ hiển thị danh sách SV
4 Mô tả dòng sự kiện phụ:
1 Bộ phận quản lý đăng nhập sai mật
khẩu
3 SV cần tìm không có trong danh sách
2 Hệ thống hiển thị đăng nhập lại
4 Hệ thống thông báo không có SV
3.1.2 Nhập hoặc sửa điểm của SV
1.Thông tin chức năng chung:
Tên chức năng Chỉnh sửa điểm SV
Trang 7Điều kiện sau SV có đầy đủ điểm của các môn
2 Biểu đổ luồng xử lý chức năng (DFD)
3 Mô tả luồng sự kiện chính:
1 Bộ phận quản lý sẽ chọn 1 SV
3 Bộ phận quản lý thực hiện việc
nhập/sửa điểm
2 Hệ thống sẽ hiển thị thông tin các môn của SV đó
4 Hệ thống cập nhật điểm sau khi nhập/sửa
4 Mô tả dòng sự kiện phụ:
3.1.3 Tính kết quả điểm tổng kết của từng môn, kết quả học tập cuối kì và kết quả học tập chung
1.Thông tin chức năng chung:
Tên chức năng Tính kết quả của SV
kết quả học tập cuối kì và kết quả học tập chung
Trang 8Ngoại lệ Không có
2 Biểu đổ luồng xử lý chức năng (DFD)
3 Mô tả luồng sự kiện chính:
1 Bộ phận quản lý chọn chức năng tính
điểm tổng kết từng môn
3 Bộ phận quản lý chọn chức năng tính
tổng điểm các môn
4 Bộ phận quản lý chọn chức năng tính
kết quả chung
2 Hệ thống sẽ đưa ra kết quả điểm tổng kết của từng môn
4 Hệ thống đưa ra kết quả tổng điểm các môn
5 Hệ thống đưa ra kết quả chung
4 Mô tả dòng sự kiện phụ:
3.1.4 Xử lý phúc khảo:
1.Thông tin chức năng chung:
Trang 9Điều kiện trước Có yêu cầu phúc khảo của SV
2 Biểu đổ luồng xử lý chức năng (DFD)
3 Mô tả luồng sự kiện chính:
1 Bộ phận quản lý sẽ chọn chức năng
show danh sách
2 Hệ thống sẽ hiển thị danh sách SV
4 Mô tả dòng sự kiện phụ:
1 Bộ phận quản lý đăng nhập sai mật
khẩu
3 SV cần tìm không có trong danh sách
2 Hệ thống hiển thị đăng nhập lại
4 Hệ thống thông báo không có SV
Trang 10CHƯƠNG 3: THIẾT KẾ CƠ SỞ DỮ LIỆU
1 Entity Relation Diagram:
2 Danh sách và mô tả chi tiết các bảng dữ liệu:
account (tài khoản login của user)
Field name Data type Constraint Description Note
2 username varchar(45) Not Null User’s account name
3 password varchar(45) Not Null User’s password
4 full_name varchar(50) Not Null User’s full name
5 is_staff bool Not Null User’s role
course (thông tin khoá học)
2 semester int Not Null Course’s semester
3 QT float Not Null Thành phần (%) điểm của
Trang 115 GK float Not Null
course_reg (record đăng ký môn của SV)
Field name Data type Constraint Description Note
2 student_id int Not Null Student’s username
3 course_id int Not Null Course’s unique ID
scoreboard (kết quả học tập từng môn học)
Field name Data type Constraint Description Note
2 student_id int Not Null Student’s username
3 course_id varchar(45) Not Null Course’s unique ID
Điểm số theo từng thành phần
exam_schedule (lịch thi các môn đang mở)
Field name Data type Constraint Description Note
2 course_id varchar(45) Not Null Course’s unique ID
3 date date Nullable Thời gian (ngày tháng và
ca thi) và địa điểm tổ chức thi
5 room varchar(45) Nullable
student_request (yêu cầu phúc khảo/bảo lưu)
Field name Data type Constraint Description Note
2 student_id int Not Null Student’s username
3 request varchar(45) Not Null Request’s detailed content
4 status varchar(45) Not Null Approval process
(pending, rejected, approved)
Trang 12CHƯƠNG 4: THIẾT KẾ GIAO DIỆN
1 Screen flow:
Trang 132 Screen details:
Login screen
login đến server
Student overview - Kết quả học tập
(static edge +
no header)
Hiển thị thông tin sinh viên
CSV
Trang 144 Bảng điểm List view Hiển thị kết quả học tập của
các môn học trong học kỳ
các môn học trong học kỳ
TB HK
cho một môn học
học kỳ
Student overview - Lịch thi
được sắp xếp
CSV
Staff overview - Danh sách sinh viên
Trang 15Tên Kiểu Ràng buộc Chức năng
Staff overview - Cập nhật bảng điểm
Trang 16Tên Kiểu Ràng buộc Chức năng
các môn học trong học kỳ
điểm (1) để cập nhật điểm
giữa kỳ, cuối kỳ
Nếu để trống có nghĩa cột điểm
đó chưa được nhập (hoặc xoá)
và điểm TBM sẽ chưa được
tính
Staff overview - Quản lý yêu cầu phúc khảo/bảo lưu
Staff overview - Lọc danh sách sinh viên theo xếp hạng/xếp loại
Trang 17Tên Kiểu Ràng buộc Chức năng
theo điều kiện (2)
Staff overview - Xếp lịch thi thủ công
Trang 18Tên Kiểu Ràng buộc Chức năng
đã/đang chờ xếp lịch
đã chọn trong danh sách (1)
CHƯƠNG 5: THIẾT KẾ HỆ THỐNG
1 Kiến trúc hệ thống
Mô hình Client-Server:
- Client:
• Sử dụng ngôn ngữ AutoIt3: không phụ thuộc NET như C#, tương thích với gần như mọi loại phiên bản Windows
• Kết nối đến Database và hiện thị giao diện người dùng Cho phép người dùng truy cập/truy xuất thông tin Database gián tiếp thông qua Server nếu có yêu cầu
- Server:
• Sử dụng ngôn ngữ NodeJS (Back-end Javascript Runtime) để xây dựng API xử lý các yêu cầu nhập/xuất được gửi từ Client (tương tác trực tiếp với Database)
• SQL sử dụng phiên bản MySQL
• Quản lý và chứa toàn bộ data
2 Mô tả các thành phần trong hệ thống
dùng thực hiện các thao tác nhập/xuất dữ liệu Đồng thời trong quá trình
sử dụng, thông báo cho người dùng khi có lỗi xảy ra
việc quản lý điểm & xếp lịch thi
diện người dùng, kiểm tra tính đúng đắn của các ràng buộc và thực hiện yêu
cầu nếu thỏa điều kiện
Trang 19CHƯƠNG 6: CÀI ĐẶT VÀ THỬ NGHIỆM
hoàn thành (%)
Ghi chú
cho việc in ấn
CHƯƠNG 7: NHẬN XÉT & KẾT LUẬN
- Tất cả thành viên trong nhóm đã cố gắng để hoàn thành và đáp ứng yêu cầu của đồ án trong phạm vi năng lực của từng cá nhân
- Ban đầu project có hướng đi full web application thế nhưng do thiếu kiến thức về mặt thiết kế web Front-end nên nhóm đã chuyển hướng sang thiết kế Windows Form Application bằng ngôn ngữ AutoIt3, một phần là do nhóm chưa hề được học qua ngôn ngữ C# trong các năm học đầu (cả 3 thành viên đều thuộc khoa Khoa Học Máy Tính) và thời gian hạn hẹp chưa thể sắp xếp tham gia khoá học C# nào cả
- Giao diện còn rất đơn giản, cần phải thiết kế lại để đáp ứng/đuổi kịp nhu cầu/xu hướng hiện tại, nhưng đây còn là vấn đề trong tương lai
- Do trong phạm vi đồ án nên nhóm chỉ mới tích hợp hệ thống xếp lịch thi thủ công (có kiểm tra trùng lặp), chưa tích hợp được tính năng xếp lịch thi tự động do còn hạn chế về mặt giải thuật cũng như nhiều yếu tố ràng buộc khác (một môn mở nhiều lớp, một phòng thi giới hạn bao nhiêu SV?,…)
CHƯƠNG 9: HƯỚNG PHÁT TRIỂN TRONG TƯƠNG LAI
- Chuyển đổi giao diện người dùng hoàn toàn sang web application để phù hợp hơn với nhu cầu sử dụng thực tế
- Tích hợp tính năng xếp lịch thi tự động giúp tiết kiệm thời gian và tránh sai sót
CHƯƠNG 10: BẢNG PHÂN CÔNG
hoàn thành (%)
(Nhóm trưởng)
Thiết kế giao diện người dùng Thiết kế Database Thiết kế Back-end API Tham gia viết document SDD + SRS
100%
Trang 20Chịu trách nhiệm tất cả Diagrams
HẾT