注:本文介绍 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、设计思路:

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的插件,大概花费了三四天时间吧。

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

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

  1. 高校教学管理信息系统/教学管理系统

    摘  要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认识,科学化的管理,使信息存储达到准 ...

  2. 华东政法大学教学管理系统_华东政法大学教学管理信息系统登录入口、成绩查询网上选课查分...

    华东政法大学教学管理信息系统登录入口.学生期末考试成绩查询网上选课查分 学院教务系统入口_华东政法大学教学管理信息系统 用户名: 密码: 验证码: ... https://jwxt.ecupl.edu ...

  3. 计算机毕业设计Java高校教学管理信息系统(源码+系统+mysql数据库+lw文档)

    计算机毕业设计Java高校教学管理信息系统(源码+系统+mysql数据库+lw文档) 计算机毕业设计Java高校教学管理信息系统(源码+系统+mysql数据库+lw文档) 本源码技术栈: 项目架构:B ...

  4. java计算机毕业设计高校学生资助管理信息系统(附源码、数据库)

    java计算机毕业设计高校学生资助管理信息系统(附源码.数据库) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Ecli ...

  5. 教学管理信息系统的设计

    上海交通大学教学管理信息系统的设计 董传良 蒋磊宏 张增泰 摘 要:建设高水平的大学,校园信息系统的建设是重要的一环.本文针对上海交通大学多校区.地域分散的特点,介绍了基于Internet/Intra ...

  6. MySQL 案例-教学管理信息系统

    MySQL 案例-教学管理信息系统 一.数据库设计及创建 二.向表中插入数据.修改数据 三.完成以下查询设计及SQL代码 四.完成如下数据库应用设计 一.数据库设计及创建 对教学管理信息系统,在需求分 ...

  7. 基于JAVA薪酬福利管理信息系统计算机毕业设计源码+系统+数据库+lw文档+部署

    基于JAVA薪酬福利管理信息系统计算机毕业设计源码+系统+数据库+lw文档+部署 基于JAVA薪酬福利管理信息系统计算机毕业设计源码+系统+数据库+lw文档+部署 本源码技术栈: 项目架构:B/S架构 ...

  8. Python教学管理系统、学生选课考试系统源代码,基于Django

    项目介绍 系统主要功能包括, 院系管理员发布课程信息,教师选课,指定课程教材并编写教材大纲和学时数,然后根据教材编写每周教学内容:随后学生进行选课,其中学生选课是根据教师选课后的课程号进行选课,然后院 ...

  9. 华东政法大学教学管理系统_华东政法大学研究生教学管理信息系统入口

    华东政法大学研究生教学管理信息系统入口 http://ehall.ecupl.edu.cn/new/index.html 系统说明 1.VPN登录设置(当系统纳入内网管理,无法正常登录时设置) 为方便 ...

最新文章

  1. C语言的HashTable简单实现
  2. 基于OpenCV平滑图像
  3. 【Android 事件分发】ItemTouchHelper 简介 ( 拖动/滑动事件 | ItemTouchHelper.Callback 回调 )
  4. shell对文本进行操作命令
  5. php数组操作集锦- 掌握了数组操作, 也就掌握了php
  6. JavaScript数据结构与算法(六) 链表的实现
  7. [Java] 蓝桥杯ADV-188 算法提高 排列数
  8. Ubuntu中类似QQ截图的截图工具并实现鼠标右键菜单截图
  9. 第3章第1讲算法与流程图
  10. Windows 8.1系统及实用软件
  11. python调用swmm程序_Python SWMM5包_程序模块 - PyPI - Python中文网
  12. 天气类App原型制作分享-ColorfulClouds
  13. 【Collect】免费图片库网站推荐(国外高清可商用)
  14. 机器学习在信息安全领域的应用现状和畅想
  15. 《2022中国RPA采购指南》报告正式发布
  16. 10、VUE组件基本使用
  17. 关于ES6中let 和 const 命令的用法以及注意事项:
  18. STM32F103超声波HCSR04模块串口输出距离(附代码)
  19. QT报错:error dependent 'xxx' does not exist.
  20. java实现打印套打功能

热门文章

  1. 软著代办一般需要多少钱?
  2. 2022基于云开发的去水印小程序源码
  3. 排兵布阵 (分组背包)
  4. 1055 mysql_mysql8.0.1 报错1055
  5. 一个用python实现的东方时尚(驾校)抢课程序
  6. Vue获取当前的位置信息、经纬度
  7. linux 查看 man 路径配置文件 man.config,linux中的man(zz)
  8. ValueError: A 0.7-series setuptools cannot be installed with distribute.
  9. 云生态系统的构成、运行与平衡协作
  10. 虚拟机、云主机、VPS 三者之间的区别