【数据库系统综合实验】教学管理信息系统—学生选课及课程安排数据库综合实验
注:本文介绍 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的插件,大概花费了三四天时间吧。
本文仅供对本项目有困难的同学参考。
【数据库系统综合实验】教学管理信息系统—学生选课及课程安排数据库综合实验相关推荐
- 高校教学管理信息系统/教学管理系统
摘 要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认识,科学化的管理,使信息存储达到准 ...
- 华东政法大学教学管理系统_华东政法大学教学管理信息系统登录入口、成绩查询网上选课查分...
华东政法大学教学管理信息系统登录入口.学生期末考试成绩查询网上选课查分 学院教务系统入口_华东政法大学教学管理信息系统 用户名: 密码: 验证码: ... https://jwxt.ecupl.edu ...
- 计算机毕业设计Java高校教学管理信息系统(源码+系统+mysql数据库+lw文档)
计算机毕业设计Java高校教学管理信息系统(源码+系统+mysql数据库+lw文档) 计算机毕业设计Java高校教学管理信息系统(源码+系统+mysql数据库+lw文档) 本源码技术栈: 项目架构:B ...
- java计算机毕业设计高校学生资助管理信息系统(附源码、数据库)
java计算机毕业设计高校学生资助管理信息系统(附源码.数据库) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Ecli ...
- 教学管理信息系统的设计
上海交通大学教学管理信息系统的设计 董传良 蒋磊宏 张增泰 摘 要:建设高水平的大学,校园信息系统的建设是重要的一环.本文针对上海交通大学多校区.地域分散的特点,介绍了基于Internet/Intra ...
- MySQL 案例-教学管理信息系统
MySQL 案例-教学管理信息系统 一.数据库设计及创建 二.向表中插入数据.修改数据 三.完成以下查询设计及SQL代码 四.完成如下数据库应用设计 一.数据库设计及创建 对教学管理信息系统,在需求分 ...
- 基于JAVA薪酬福利管理信息系统计算机毕业设计源码+系统+数据库+lw文档+部署
基于JAVA薪酬福利管理信息系统计算机毕业设计源码+系统+数据库+lw文档+部署 基于JAVA薪酬福利管理信息系统计算机毕业设计源码+系统+数据库+lw文档+部署 本源码技术栈: 项目架构:B/S架构 ...
- Python教学管理系统、学生选课考试系统源代码,基于Django
项目介绍 系统主要功能包括, 院系管理员发布课程信息,教师选课,指定课程教材并编写教材大纲和学时数,然后根据教材编写每周教学内容:随后学生进行选课,其中学生选课是根据教师选课后的课程号进行选课,然后院 ...
- 华东政法大学教学管理系统_华东政法大学研究生教学管理信息系统入口
华东政法大学研究生教学管理信息系统入口 http://ehall.ecupl.edu.cn/new/index.html 系统说明 1.VPN登录设置(当系统纳入内网管理,无法正常登录时设置) 为方便 ...
最新文章
- C语言的HashTable简单实现
- 基于OpenCV平滑图像
- 【Android 事件分发】ItemTouchHelper 简介 ( 拖动/滑动事件 | ItemTouchHelper.Callback 回调 )
- shell对文本进行操作命令
- php数组操作集锦- 掌握了数组操作, 也就掌握了php
- JavaScript数据结构与算法(六) 链表的实现
- [Java] 蓝桥杯ADV-188 算法提高 排列数
- Ubuntu中类似QQ截图的截图工具并实现鼠标右键菜单截图
- 第3章第1讲算法与流程图
- Windows 8.1系统及实用软件
- python调用swmm程序_Python SWMM5包_程序模块 - PyPI - Python中文网
- 天气类App原型制作分享-ColorfulClouds
- 【Collect】免费图片库网站推荐(国外高清可商用)
- 机器学习在信息安全领域的应用现状和畅想
- 《2022中国RPA采购指南》报告正式发布
- 10、VUE组件基本使用
- 关于ES6中let 和 const 命令的用法以及注意事项:
- STM32F103超声波HCSR04模块串口输出距离(附代码)
- QT报错:error dependent 'xxx' does not exist.
- java实现打印套打功能
热门文章
- 软著代办一般需要多少钱?
- 2022基于云开发的去水印小程序源码
- 排兵布阵 (分组背包)
- 1055 mysql_mysql8.0.1 报错1055
- 一个用python实现的东方时尚(驾校)抢课程序
- Vue获取当前的位置信息、经纬度
- linux 查看 man 路径配置文件 man.config,linux中的man(zz)
- ValueError: A 0.7-series setuptools cannot be installed with distribute.
- 云生态系统的构成、运行与平衡协作
- 虚拟机、云主机、VPS 三者之间的区别