摘 要
互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以很好地为人们提供服务。针对学生选课信息管理混乱,出错率高,信息安全性差,劳动强度大,费时费力等问题,采用学生选课系统可以有效管理,使信息管理能够更加科学和规范。
学生选课系统在Eclipse环境中,使用Java语言进行编码,使用Mysql创建数据表保存本系统产生的数据。系统可以提供信息显示和相应服务,其管理员管理专业,教师,学生,课程,查看学生选课以及学生成绩信息。教师查询学生,查询课程,审核学生选课信息,为学生学习的课程进行成绩打分。学生参与课程选课,查询选课信息,查询已选课程的成绩信息。
总之,学生选课系统集中管理信息,有着保密性强,效率高,存储空间大,成本低等诸多优点。它可以降低信息管理成本,实现信息管理计算机化。
关键词:学生选课系统;Java语言;Mysql
目 录
第1章 绪论
1.1 课题背景
互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以很好地为人们提供服务。所以各行业,尤其是规模较大的企业和学校等都开始借助互联网和软件工具管理信息,传播信息,共享信息等等,以此可以增强自身实力,提高在同行业当中的竞争能力,并从各种激烈的竞争中获取发展的机会。针对学生选课信息管理混乱,出错率高,信息安全性差,劳动强度大,费时费力等问题,经过分析和考虑,在目前的情况下,可以引进一款学生选课系统这样的现代化管理工具,这个工具就是解决上述问题的最好的解决方案。它不仅可以实时完成信息处理,还缩短学生选课信息管理流程,使其系统化和规范化。同时还可以减少工作量,节约学生选课信息管理需要的人力和资金。所以学生选课系统是信息管理环节中不可缺少的工具,它对管理者来说非常重要。
3.4 功能需求
不同的系统提供的服务也不相同,其对应的功能也不相同,所以,系统开工前,需要明确其用途,确定其功能。由此,才可以进行各个任务的开展。
学生选课系统经过分析,确定了其需要设置管理员的角色,其操作的功能通过用例图展示(见下图)。管理员管理专业,教师,学生,课程,查看学生选课以及学生成绩信息。
学生选课系统经过分析,确定了其需要设置教师的角色,其操作的功能通过用例图展示(见下图)。教师查询学生,查询课程,审核学生选课信息,为学生学习的课程进行成绩打分。
学生选课系统经过分析,确定了其需要设置学生的角色,其操作的功能通过用例图展示(见下图)。学生参与课程选课,查询选课信息,查询已选课程的成绩信息。
4.2 功能结构设计
在前面分析的管理员功能的基础上,进行接下来的设计工作,最终展示设计的管理员结构图(见下图)。管理员管理专业,教师,学生,课程,查看学生选课以及学生成绩信息。
在前面分析的教师功能的基础上,进行接下来的设计工作,最终展示设计的教师结构图(见下图)。教师查询学生,查询课程,审核学生选课信息,为学生学习的课程进行成绩打分。
在前面分析的学生功能的基础上,进行接下来的设计工作,最终展示设计的学生结构图(见下图)。学生参与课程选课,查询选课信息,查询已选课程的成绩信息。
4.3.2 数据库物理设计
本数据库是关系型数据库,因此对二维表的结构设计也比较关键。毕竟二维表格模型就是关系型数据库中的关系模型。而一些常用的关系模型中的概念也需要了解,才可以对关系模型进行设计。下面就简单介绍关系,元组,属性,域,关键字等常用概念的含义。
关系:关系就是数据库中的一张数据表,每张数据表都有命名,也就是每个关系也有名字,那就是数据表名;
元组:元组就是数据表中的一行记录;
属性:属性就是数据表中的字段,也就是数据表中的一列;
域:域就是对数据表中属性的取值进行限定;
关键字:关键字就是数据表中的主键;
在了解了表结构设计的常用概念后,接下来就需要使用前面绘制的E-R模型完成表结构的设计工作,并在数据库中创建数据表,并为各个数据表进行命名。以下就对设计的结果通过表格形式进行展示。
表4.1教师信息表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
jiaoshizhanghao | varchar(200) | 否 | 教师账号 | |
mima | varchar(200) | 否 | 密码 | |
jiaoshixingming | varchar(200) | 否 | 教师姓名 | |
nianling | int(11) | 否 | 年龄 | |
zhicheng | varchar(200) | 是 | NULL | 职称 |
xingbie | varchar(200) | 是 | NULL | 性别 |
shouji | varchar(200) | 否 | 手机 | |
zhaopian | varchar(200) | 是 | NULL | 照片 |
表4.2 课程信息表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
kechengmingcheng | varchar(200) | 是 | NULL | 课程名称 |
kechengfenlei | varchar(200) | 是 | NULL | 课程分类 |
kaikeshijian | datetime | 是 | NULL | 开课时间 |
jieshushijian | datetime | 是 | NULL | 结束时间 |
kechengxuefen | float | 是 | NULL | 课程学分 |
kechengneirong | longtext | 是 | NULL | 课程内容 |
fengmian | varchar(200) | 是 | NULL | 封面 |
jiaoshizhanghao | varchar(200) | 是 | NULL | 教师账号 |
jiaoshixingming | varchar(200) | 是 | NULL | 教师姓名 |
clicktime | datetime | 是 | NULL | 最近点击时间 |
clicknum | int(11) | 是 | 0 | 点击次数 |
表4.3 专业信息表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
zhuanyemingcheng | varchar(200) | 是 | NULL | 专业名称 |
表4.4 管理员信息表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 | 主键 | |
username | varchar(100) | 否 | 用户名 | |
password | varchar(100) | 否 | 密码 | |
role | varchar(100) | 是 | 管理员 | 角色 |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 新增时间 |
表4.5 学生信息表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
xuehao | varchar(200) | 否 | 学号 | |
mima | varchar(200) | 否 | 密码 | |
xingming | varchar(200) | 否 | 姓名 | |
nianling | int(11) | 否 | 年龄 | |
zhuanye | varchar(200) | 是 | NULL | 专业 |
xingbie | varchar(200) | 是 | NULL | 性别 |
shouji | varchar(200) | 否 | 手机 | |
zhaopian | varchar(200) | 是 | NULL | 照片 |
表4.6 学生成绩信息表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
kechengmingcheng | varchar(200) | 是 | NULL | 课程名称 |
xuehao | varchar(200) | 是 | NULL | 学号 |
xingming | varchar(200) | 是 | NULL | 姓名 |
chengji | int(11) | 是 | NULL | 成绩 |
shifouhege | varchar(200) | 是 | NULL | 是否合格 |
pingyu | longtext | 是 | NULL | 评语 |
jiaoshizhanghao | varchar(200) | 是 | NULL | 教师账号 |
jiaoshixingming | varchar(200) | 是 | NULL | 教师姓名 |
表4.7 学生选课信息表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
kechengmingcheng | varchar(200) | 是 | NULL | 课程名称 |
shifouxuanze | varchar(200) | 是 | NULL | 是否选择 |
xuanzeshijian | datetime | 是 | NULL | 选择时间 |
jiaoshizhanghao | varchar(200) | 是 | NULL | 教师账号 |
jiaoshixingming | varchar(200) | 是 | NULL | 教师姓名 |
xuehao | varchar(200) | 是 | NULL | 学号 |
xingming | varchar(200) | 是 | NULL | 姓名 |
sfsh | varchar(200) | 是 | 否 | 是否审核 |
shhf | longtext | 是 | NULL | 审核回复 |
5.1.1 教师管理
管理员进入指定功能操作区之后可以管理教师。其页面见下图。教师的资料需要管理员负责管理,包括修改,新增,删除等操作。
5.1.2 学生管理
管理员进入指定功能操作区之后可以管理学生信息。其页面见下图。学生是本系统的一个角色,其相关信息需要管理员添加,修改,删除等。
5.1.3 专业信息管理
管理员进入指定功能操作区之后可以管理专业信息。其页面见下图。管理员在本页面修改专业名称,删除指定的专业信息,管理员提交专业名称可以查询专业信息。
5.2.1 课程查询
教师进入指定功能操作区之后可以查询课程。其页面见下图。课程信息是管理员负责增删改查,教师只需要查询课程,查看课程详情。
5.2.2 学生选课管理
教师进入指定功能操作区之后可以管理学生选课信息。其页面见下图。学生参与课程选课,教师负责审核,并在课程学习结束之后,为学生学习的课程进行打分。
5.2.3 学生成绩管理
教师进入指定功能操作区之后可以管理学生成绩信息。其页面见下图。教师修改学生成绩的分数等信息,可以删除学生成绩信息。
5.3.1 课程信息管理
学生进入指定功能操作区之后可以管理课程信息。其页面见下图。学生查看课程的学分,开课时间与结束时间,课程名称等信息,学生点击课程信息右侧的学生选课按钮,可以选择该课程。
结 论
采用Java+Mysql的方式设计制作的学生选课系统,在功能上可以满足管理人员对于信息的管理需求;在界面的设计上,尽最大努力用自身的美工知识做到界面美观简洁。在操作方面上,让系统可以方便操作,同时对用户常见的误操作行为进行分析总结,并尽力在系统中避免同样的由于用户的误操作所带来的错误现象。
作为毕业设计,分配给本系统的设计与制作时间还是不足的,所以,学生选课系统还有许多需要完善的地方。
第一个就是本系统的编程代码问题,各个程序文件的代码存在冗余的地方非常多,导致代码不够简洁,同时对代码的注释也比较麻烦。编码期间,对于很多页面可以共享的函数与方法都没有单独列出来,而是在需要用到函数和方法的页面上都重新编写了代码,通过后期的技术学习,以及对编码过程的分析总结,发现可以把共用的函数或方法编写在同一个页面上,在之后的页面中,需要使用此函数的页面,则可以直接调用函数,无需再编写代码了,这样可以简化代码,也能节省时间和存储空间。
第二个就是对数据库的设计不够好,在数据处理中,影响程序运行速度。因此需要对数据库的性能进行优化。通过这方面知识的学习,在某个开发技术类的博客中,发现可以用数据库连接池技术来解决数据库的性能问题,另外还需规范数据库里面的关系模式,降低数据库的冗余率,提高运行速度。
如果说平时的作业也是检查对知识的掌握情况,那么制作毕业设计,将是对自身所有知识的一个全面检测。因为系统能够制作完成则是经历了很多阶段,正如文中所展示的那样,先有可行性分析,对功能的分析,对功能的设计,对数据库的设计,对程序功能的编码实现,对完成编码程序的测试等,这些环节缺一不可,而且还都需要认真对待,大学学到的所有知识在制作系统时,才会发现不够用。所以这个项目制作,在检测自身能力的同时,也对问题分析,资料搜集,问题解决等能力进行了培养。
我通过制作本系统,熟悉了程序开发的流程,提高了对程序的编码能力,培养了独立分析与解决问题的能力;但也让我明白自身的不足之处,所以在接下来的时间,我还是要加强对技术知识的学习,去逐渐完善本系统。
标签:200,varchar,springboot,选课,学生,LW,课程,NULL From: https://blog.csdn.net/weixin_66784080/article/details/144705359