【数据库系统综合实验】教学管理信息系统—学生选课及课程安排数据库综合实验

注:本文介绍 WHUT·计算机学院·数据库与系统综合实验 课程“教学管理信息系统”

源码(VS项目+SQL数据库)下载地址:https://gitee.com/cxh1231/WHUT_DBSystemComprehensiveExperiment

纸上得来终觉浅,绝知此事要躬行。

如果你对本实验有疑惑之处,欢迎参考此文章。

 

1、实验内容:

  大学同时开设多门课程。每门课程有一个主讲教师,有多名学生选修;一个学生可选修多门课程并获得相应的学分和成绩;上课的基本单位是“次”(一次2学时),每一次课都规定了上课时间和教室(这一规定更灵活,并不像本校现在的情形!)。

 

2、开发环境:

 

  • 编程环境:VS 2017
  • 编程语言:C#
  • 辅助插件:DevExpress V18.2.3  
  • SQL数据库:SQL Server 2008 R2
  • DevExpress下载地址:https://www.evget.com/product/740/download

3、设计思路:

【数据库系统综合实验】教学管理信息系统—学生选课及课程安排数据库综合实验_第1张图片

 

 4、数据库表单:

4.1 学院表(表名:Collage):

【数据库系统综合实验】教学管理信息系统—学生选课及课程安排数据库综合实验_第2张图片

4.2 专业表(表名:Major):

【数据库系统综合实验】教学管理信息系统—学生选课及课程安排数据库综合实验_第3张图片

4.3 班级表(表名:Class):

【数据库系统综合实验】教学管理信息系统—学生选课及课程安排数据库综合实验_第4张图片

4.4 教师基本信息表(表名:Teacher):

【数据库系统综合实验】教学管理信息系统—学生选课及课程安排数据库综合实验_第5张图片

4.5 学生基本信息表(表名:Student):

【数据库系统综合实验】教学管理信息系统—学生选课及课程安排数据库综合实验_第6张图片

4.6 课程基本信息表(表名:Course):

【数据库系统综合实验】教学管理信息系统—学生选课及课程安排数据库综合实验_第7张图片

  如上图,对于CStatus列,课程的状态有:待审核、已通过、已排课、选课中、待开课、已开课、已结课。
  Cload列为本课程的容量,Cselected列为本课程已选人数。(上图数据仅供测试,详细数据请看后文测试过程)

4.7 课程安排表(表名:CourseSchedule):

【数据库系统综合实验】教学管理信息系统—学生选课及课程安排数据库综合实验_第8张图片


  由于本题要求一门课的每次课都有规定的时间和地点上课,所以,对于每一次课(课时),都有一个课程安排记录。上图中,Clesson列为本课程的第几次课时,Cweeks为本学期第几周上课,Cweek为周几上课,Csection为第几节上课。

4.8 选课信息表(表名:Grade):

   如上图,Gtype为成绩类型,Gdata为成绩时间,Grade为成绩,GgradeNormal为平时成绩,GradeTest为考试成绩。

 

5、软件开发界面:

【数据库系统综合实验】教学管理信息系统—学生选课及课程安排数据库综合实验_第9张图片

 

6、完整选课过程:

注:本节部分摘自实验报告,其中学生姓名为真实信息,所以在本文中添加马赛克。 

6.1 教师申请开通课程

  在本系统的设计中,课程要由老师来申请创建。教师端进入课程管理界面,可以点击“申请开通课程”按钮,添加一门新的课程。假如“王老师”申请开通一门课程“计算机网络”,则“王老师”需要填写课程的相关信息,其中课程号是不允许自己设置的,保证唯一性。填写完毕,点击“提交申请”按钮,即可向教务处提出申请。(默认开课年级为大三上,课时为5节,如有需要可自行修改)如下图所示:

【数据库系统综合实验】教学管理信息系统—学生选课及课程安排数据库综合实验_第10张图片

6.2 教务处管理员审核通过:

  老师申请开通一门课程后,教务处管理员有权审核通过或者拒绝通过。如下图所示,刚申请的“计算机网络”课程的状态是“待审核”,界面上也只有“通过”和“拒绝”按钮可访问。管理员点击“通过”按钮,该课程即审核通过。

【数据库系统综合实验】教学管理信息系统—学生选课及课程安排数据库综合实验_第11张图片

6.3 教务处管理员安排课程

  课程通过后,管理员需要根据教学楼等资源,对课程安排课表。本系统以课时为单位,更灵活,操作过程如下图所示:

【数据库系统综合实验】教学管理信息系统—学生选课及课程安排数据库综合实验_第12张图片

6.4 教务处管理员开启选课:

  该课程的课表安排完毕,则课程状态变为“已排课”状态,即可以开启选课了。管理员将该课程开启选课,如下图所示:

【数据库系统综合实验】教学管理信息系统—学生选课及课程安排数据库综合实验_第13张图片

6.5 学生选课:

  这时,学生端就可以进行选课操作了。如下图所示,当前学生端登录的学生角色是“大三”的学生,其可选课程也只有当前学期可选。在可选课程栏里选中一条课程,点击“添加至已选课程”,如果没有时间冲突,并且课堂容量充足的前提下,就完成了选课操作,在左侧“已选课程”栏就能够看到这门课程。当遇到时间冲突,或者容量不足的时候,自动提示相应的信息,如下图所示:

【数据库系统综合实验】教学管理信息系统—学生选课及课程安排数据库综合实验_第14张图片

6.6 学生选课结束:

  学生根据时间冲突做调成,最终完成了选课操作,如下图所示:

【数据库系统综合实验】教学管理信息系统—学生选课及课程安排数据库综合实验_第15张图片

6.7 教务处管理员关闭选课

  选课结束时间到,教务处关闭选课通道,如下图所示。

【数据库系统综合实验】教学管理信息系统—学生选课及课程安排数据库综合实验_第16张图片

6.8 课程开始上课

  然后就可以安排学生上课了,如下图所示:

【数据库系统综合实验】教学管理信息系统—学生选课及课程安排数据库综合实验_第17张图片

6.9  教师查询课表、课堂信息

  教师需要上课,也需要知道每节课的上课时间和地点,即课表,如下图“我的教学任务”栏表格所示:

【数据库系统综合实验】教学管理信息系统—学生选课及课程安排数据库综合实验_第18张图片

  同时,教师上课也需要知道哪些学生选修了我的课程,如下图所示,教师可以查看自己的课程对应的学生信息。

【数据库系统综合实验】教学管理信息系统—学生选课及课程安排数据库综合实验_第19张图片

6.10  学生查询课表

  同时,学生也需要知道每门课的上课时间和地点。下图课表栏默认显示的是当前周的课程,下图显示的是自主查询“第七周”的上课信息。其中“课次”为本门课程的第几个课时,“星期”为本周的星期几上课,“节次”为第几节课上本门课。

【数据库系统综合实验】教学管理信息系统—学生选课及课程安排数据库综合实验_第20张图片

6.11  结课,教师录入成绩:

【数据库系统综合实验】教学管理信息系统—学生选课及课程安排数据库综合实验_第21张图片

6.12  教师提交成绩

  成绩录入完毕,点击提交按钮,即可提交本门课程的所有成绩。成绩只可以提交一次,提交后课程状态变成“已结课”状态,就不允许修改成绩了。如下图所示:

【数据库系统综合实验】教学管理信息系统—学生选课及课程安排数据库综合实验_第22张图片

6.13 学生查询成绩

【数据库系统综合实验】教学管理信息系统—学生选课及课程安排数据库综合实验_第23张图片

 

7、其他界面 

补充第6节未提到的页面

7.1 登录界面:

【数据库系统综合实验】教学管理信息系统—学生选课及课程安排数据库综合实验_第24张图片

  如上图,共有三种角色,分别是:学生、教师和管理员。其中学生的登录账号和密码均为学号,教师的用户名和密码均为职工号,管理员的账号和密码均为“admin”。

7.2 教师信息管理界面:

【数据库系统综合实验】教学管理信息系统—学生选课及课程安排数据库综合实验_第25张图片

7.3 学生信息管理界面:

【数据库系统综合实验】教学管理信息系统—学生选课及课程安排数据库综合实验_第26张图片

7.4 课程信息管理界面:

【数据库系统综合实验】教学管理信息系统—学生选课及课程安排数据库综合实验_第27张图片

7.5  选课操作:

【数据库系统综合实验】教学管理信息系统—学生选课及课程安排数据库综合实验_第28张图片

 

8、笔者按:

  个人觉得,本次数据库系统综合实验,最好能够自己独立完整个项目。笔者使用了.NET的第三方插件DevExpress,试用期30天,足够在这期间完成整个项目。其中学习摸索DevExpress的插件,大概花费了三四天时间吧。

  本文仅供对本项目有困难的同学参考。

你可能感兴趣的:(数据库)