注:本文介绍 WHUT·计算机学院·数据库与系统综合实验 课程“教学管理信息系统”
源码(VS项目+SQL数据库)下载地址:
纸上得来终觉浅,绝知此事要躬行。
如果你对本实验有疑惑之处,欢迎参考此文章。
1、实验内容:
大学同时开设多门课程。每门课程有一个主讲教师,有多名学生选修;一个学生可选修多门课程并获得相应的学分和成绩;上课的基本单位是“次”(一次2学时),每一次课都规定了上课时间和教室(这一规定更灵活,并不像本校现在的情形!)。
2、开发环境:
- 编程环境:VS 2017
- 编程语言:C#
- 辅助插件:DevExpress V18.2.3
- SQL数据库:SQL Server 2008 R2
- DevExpress下载地址:https://www.evget.com/product/740/download
3、设计思路:
4、数据库表单:
4.1 学院表(表名:Collage):
4.2 专业表(表名:Major):
4.3 班级表(表名:Class):
4.4 教师基本信息表(表名:Teacher):
4.5 学生基本信息表(表名:Student):
4.6 课程基本信息表(表名:Course):
如上图,对于CStatus列,课程的状态有:待审核、已通过、已排课、选课中、待开课、已开课、已结课。
Cload列为本课程的容量,Cselected列为本课程已选人数。(上图数据仅供测试,详细数据请看后文测试过程)
4.7 课程安排表(表名:CourseSchedule):
由于本题要求一门课的每次课都有规定的时间和地点上课,所以,对于每一次课(课时),都有一个课程安排记录。上图中,Clesson列为本课程的第几次课时,Cweeks为本学期第几周上课,Cweek为周几上课,Csection为第几节上课。
4.8 选课信息表(表名:Grade):
如上图,Gtype为成绩类型,Gdata为成绩时间,Grade为成绩,GgradeNormal为平时成绩,GradeTest为考试成绩。
5、软件开发界面:
6、完整选课过程:
注:本节部分摘自实验报告,其中学生姓名为真实信息,所以在本文中添加马赛克。
6.1 教师申请开通课程
在本系统的设计中,课程要由老师来申请创建。教师端进入课程管理界面,可以点击“申请开通课程”按钮,添加一门新的课程。假如“王老师”申请开通一门课程“计算机网络”,则“王老师”需要填写课程的相关信息,其中课程号是不允许自己设置的,保证唯一性。填写完毕,点击“提交申请”按钮,即可向教务处提出申请。(默认开课年级为大三上,课时为5节,如有需要可自行修改)如下图所示:
6.2 教务处管理员审核通过:
老师申请开通一门课程后,教务处管理员有权审核通过或者拒绝通过。如下图所示,刚申请的“计算机网络”课程的状态是“待审核”,界面上也只有“通过”和“拒绝”按钮可访问。管理员点击“通过”按钮,该课程即审核通过。
6.3 教务处管理员安排课程
课程通过后,管理员需要根据教学楼等资源,对课程安排课表。本系统以课时为单位,更灵活,操作过程如下图所示:
6.4 教务处管理员开启选课:
该课程的课表安排完毕,则课程状态变为“已排课”状态,即可以开启选课了。管理员将该课程开启选课,如下图所示:
6.5 学生选课:
这时,学生端就可以进行选课操作了。如下图所示,当前学生端登录的学生角色是“大三”的学生,其可选课程也只有当前学期可选。在可选课程栏里选中一条课程,点击“添加至已选课程”,如果没有时间冲突,并且课堂容量充足的前提下,就完成了选课操作,在左侧“已选课程”栏就能够看到这门课程。当遇到时间冲突,或者容量不足的时候,自动提示相应的信息,如下图所示:
6.6 学生选课结束:
学生根据时间冲突做调成,最终完成了选课操作,如下图所示:
6.7 教务处管理员关闭选课
选课结束时间到,教务处关闭选课通道,如下图所示。
6.8 课程开始上课
然后就可以安排学生上课了,如下图所示:
6.9 教师查询课表、课堂信息
教师需要上课,也需要知道每节课的上课时间和地点,即课表,如下图“我的教学任务”栏表格所示:
同时,教师上课也需要知道哪些学生选修了我的课程,如下图所示,教师可以查看自己的课程对应的学生信息。
6.10 学生查询课表
同时,学生也需要知道每门课的上课时间和地点。下图课表栏默认显示的是当前周的课程,下图显示的是自主查询“第七周”的上课信息。其中“课次”为本门课程的第几个课时,“星期”为本周的星期几上课,“节次”为第几节课上本门课。
6.11 结课,教师录入成绩:
6.12 教师提交成绩
成绩录入完毕,点击提交按钮,即可提交本门课程的所有成绩。成绩只可以提交一次,提交后课程状态变成“已结课”状态,就不允许修改成绩了。如下图所示:
6.13 学生查询成绩
7、其他界面
补充第6节未提到的页面
7.1 登录界面:
如上图,共有三种角色,分别是:学生、教师和管理员。其中学生的登录账号和密码均为学号,教师的用户名和密码均为职工号,管理员的账号和密码均为“admin”。
7.2 教师信息管理界面:
7.3 学生信息管理界面:
7.4 课程信息管理界面:
7.5 选课操作:
8、笔者按:
个人觉得,本次数据库系统综合实验,最好能够自己独立完整个项目。笔者使用了.NET的第三方插件DevExpress,试用期30天,足够在这期间完成整个项目。其中学习摸索DevExpress的插件,大概花费了三四天时间吧。
本文仅供对本项目有困难的同学参考。