摘 要
现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本在线互动学习网站就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息,使用这种软件工具可以帮助管理人员提高事务处理效率,达到事半功倍的效果。此在线互动学习网站利用当下成熟完善的SpringBoot框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的Mysql数据库进行程序开发。实现了用户在线选择试题并完成答题,在线查看考核分数。管理员管理字典管理、试卷表管理、试题表管理、考试记录表管理、答题详情表管理、错题表管理、讨论管理、公告信息管理、回答管理、课程管理、课程视频管理、课程留言管理、老师管理、用户管理、作业管理、管理员管理等功能。在线互动学习网站的开发根据操作人员需要设计的界面简洁美观,在功能模块布局上跟同类型网站保持一致,程序在实现基本要求功能时,也为数据信息面临的安全问题提供了一些实用的解决方案。可以说该程序在帮助管理者高效率地处理工作事务的同时,也实现了数据信息的整体化,规范化与自动化。
关键词:在线互动学习网站;SpringBoot框架;Mysql;自动化
目 录
1 绪论
1.1 研究背景
当前社会各行业领域竞争压力非常大,随着当前时代的信息化,科学化发展,让社会各行业领域都争相使用新的信息技术,对行业内的各种相关数据进行科学化,规范化管理。这样的大环境让那些止步不前,不接受信息改革带来的信息技术的企业随时面临被淘汰,被取代的风险。所以当今,各个行业领域,不管是传统的教育行业,餐饮行业,还是旅游行业,医疗行业等领域都将使用新的信息技术进行信息革命,改变传统的纸质化,需要人手工处理工作事务的办公环境。软件信息技术能够覆盖社会各行业领域是时代的发展要求,各种数据以及文件真正实现电子化是信息社会发展的不可逆转的必然趋势。本在线互动学习网站也是紧跟科学技术的发展,运用当今一流的软件技术实现软件系统的开发,让考试信息完全通过管理系统实现科学化,规范化,程序化管理。从而帮助信息管理者节省事务处理的时间,降低数据处理的错误率,对于基础数据的管理水平可以起到促进作用,也从一定程度上对随意的业务管理工作进行了避免,同时,在线互动学习网站的数据库里面存储的各种动态信息,也为上层管理人员作出重大决策提供了大量的事实依据。总之,在线互动学习网站是一款可以真正提升管理者的办公效率的软件系统。
4 系统设计
在线互动学习网站的设计方案比如功能框架的设计,比如数据库的设计的好坏也就决定了该系统在开发层面是否高效,以及在系统维护层面是否容易维护和升级,因为在系统实现阶段是需要考虑用户的所有需求,要是在设计阶段没有经过全方位考虑,那么系统实现的部分也就无从下手,所以系统设计部分也是至关重要的一个环节,只有根据用户需求进行细致全面的考虑,才有希望开发出功能健全稳定的程序软件。
4.1 系统概要设计
本次拟开发的系统为了节约开发成本,也为了后期在维护和升级上的便利性,打算通过浏览器来实现系统功能界面的展示,让程序软件的主要事务集中在后台的服务器端处理,前端部分只用处理少量的事务逻辑。下面使用一张图(如图4.1所示)来说明程序的工作原理。
4.2 系统功能结构设计
在分析并得出使用者对程序的功能要求时,就可以进行程序设计了。如图4.2展示的就是管理员功能结构图,管理员在后台主要管理字典管理、试卷表管理、试题表管理、考试记录表管理、答题详情表管理、错题表管理、讨论管理、公告信息管理、回答管理、课程管理、课程视频管理、课程留言管理、老师管理、用户管理、作业管理、管理员管理等。
4.3.2 数据库表结构设计
数据库系统一旦选定之后,需要根据程序要求在数据库中建立数据库文件,并在已经完成创建的数据库文件里面,为程序运行中产生的数据建立对应的数据表格,数据表结构设计就是对创建的数据表格进行字段设计,字段长度设计,字段类型设计等,当数据表格合理设计完成之后,才能正常存储相关程序运行产生的数据信息。
表4.1字典表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | dic_code | String | 字段 | 是 |
3 | dic_name | String | 字段名 | 是 |
4 | code_index | Integer | 编码 | 是 |
5 | index_name | String | 编码名字 | 是 |
6 | super_id | Integer | 父字段id | 是 |
7 | beizhu | String | 备注 | 是 |
8 | create_time | Date | 创建时间 | 是 |
表4.2试卷表表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | exampaper_name | String | 试卷名称 | 是 |
3 | exampaper_date | Integer | 考试时长(分钟) | 是 |
4 | exampaper_myscore | Integer | 试卷总分数 | 是 |
5 | exampaper_types | Integer | 试卷状态 | 是 |
6 | exampaper_delete | Integer | 逻辑删除(0代表未删除 1代表已删除) | 是 |
7 | create_time | Date | 创建时间 | 是 |
表4.3试题表表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | exampaper_id | Integer | 所属试卷id(外键) | 是 |
3 | examquestion_name | String | 试题名称 | 是 |
4 | examquestion_options | String | 选项,json字符串 | 是 |
5 | examquestion_score | Integer | 分值 | 是 |
6 | examquestion_answer | String | 正确答案 | 是 |
7 | examquestion_analysis | String | 答案解析 | 是 |
8 | examquestion_types | Integer | 试题类型 | 是 |
9 | examquestion_sequence | Integer | 试题排序,值越大排越前面 | 是 |
10 | create_time | Date | 创建时间 | 是 |
表4.4考试记录表表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | examrecord_uuid_number | String | 考试编号 | 是 |
3 | yonghu_id | Integer | 考试用户 | 是 |
4 | exampaper_id | Integer | 所属试卷id(外键) | 是 |
5 | total_score | Integer | 所得总分 | 是 |
6 | insert_time | Date | 考试时间 | 是 |
7 | create_time | Date | 创建时间 | 是 |
表4.5答题详情表表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | examredetails_uuid_number | String | 试卷编号 | 是 |
3 | yonghu_id | Integer | 用户id | 是 |
4 | examquestion_id | Integer | 试题id(外键) | 是 |
5 | examredetails_myanswer | String | 考生答案 | 是 |
6 | examredetails_myscore | Integer | 试题得分 | 是 |
7 | create_time | Date | 创建时间 | 是 |
表4.6错题表表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | yonghu_id | Integer | 用户id | 是 |
3 | exampaper_id | Integer | 试卷(外键) | 是 |
4 | examquestion_id | Integer | 试题id(外键) | 是 |
5 | examredetails_myanswer | String | 考生作答 | 是 |
6 | insert_time | Date | 记录时间 | 是 |
7 | create_time | Date | 创建时间 | 是 |
表4.7讨论表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | forum_name | String | 讨论标题 | 是 |
3 | yonghu_id | Integer | 用户 | 是 |
4 | laoshi_id | Integer | 老师 | 是 |
5 | users_id | Integer | 管理员 | 是 |
6 | forum_content | String | 发布内容 | 是 |
7 | super_ids | Integer | 父id | 是 |
8 | forum_types | Integer | 讨论类型 | 是 |
9 | forum_state_types | Integer | 帖子状态 | 是 |
10 | insert_time | Date | 发帖时间 | 是 |
11 | update_time | Date | 修改时间 | 是 |
12 | create_time | Date | 创建时间 | 是 |
表4.8公告信息表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | gonggao_name | String | 公告名称 | 是 |
3 | gonggao_photo | String | 公告图片 | 是 |
4 | gonggao_types | Integer | 公告类型 | 是 |
5 | insert_time | Date | 公告发布时间 | 是 |
6 | gonggao_content | String | 公告详情 | 是 |
7 | create_time | Date | 创建时间 | 是 |
表4.9回答表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | zuoye_id | Integer | 作业 | 是 |
3 | yonghu_id | Integer | 学生 | 是 |
4 | huifu_file | String | 回答文件 | 是 |
5 | create_time | Date | 创建时间 | 是 |
表4.10课程表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | kecheng_name | String | 课程名称 | 是 |
3 | kecheng_photo | String | 课程照片 | 是 |
4 | kecheng_types | Integer | 课程类型 | 是 |
5 | kecheng_content | String | 课程介绍 | 是 |
6 | create_time | Date | 创建时间 | 是 |
表4.11课程视频表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | kecheng_id | Integer | 课程 | 是 |
3 | kechengshipin_name | String | 视频名称 | 是 |
4 | kechengshipin_photo | String | 视频照片 | 是 |
5 | kechengshipin_video | String | 视频 | 是 |
6 | kechengshipin_file | String | 课程资料 | 是 |
7 | shangpin_content | String | 视频简介 | 是 |
8 | create_time | Date | 创建时间 | 是 |
表4.12课程留言表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | kechengshipin_id | Integer | 课程 | 是 |
3 | yonghu_id | Integer | 用户 | 是 |
4 | kechengshipin_liuyan_text | String | 留言内容 | 是 |
5 | reply_text | String | 回复内容 | 是 |
6 | insert_time | Date | 留言时间 | 是 |
7 | update_time | Date | 回复时间 | 是 |
8 | create_time | Date | 创建时间 | 是 |
表4.13老师表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | laoshi_name | String | 老师姓名 | 是 |
3 | laoshi_phone | String | 老师手机号 | 是 |
4 | laoshi_photo | String | 老师头像 | 是 |
5 | laoshi_email | String | 电子邮箱 | 是 |
6 | create_time | Date | 创建时间 | 是 |
表4.14用户表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | yonghu_name | String | 用户姓名 | 是 |
3 | yonghu_phone | String | 用户手机号 | 是 |
4 | yonghu_id_number | String | 用户身份证号 | 是 |
5 | yonghu_photo | String | 用户头像 | 是 |
6 | yonghu_email | String | 电子邮箱 | 是 |
7 | banji_types | Integer | 班级 | 是 |
8 | create_time | Date | 创建时间 | 是 |
表4.15作业表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | laoshi_id | Integer | 老师 | 是 |
3 | zuoye_uuid_number | String | 作业唯一编号 | 是 |
4 | zuoye_name | String | 作业名称 | 是 |
5 | zuoye_types | Integer | 作业类型 | 是 |
6 | banji_types | Integer | 班级类型 | 是 |
7 | insert_time | Date | 作业发布时间 | 是 |
8 | zuoye_file | String | 作业文件 | 是 |
9 | zuoye_content | String | 作业详情 | 是 |
10 | create_time | Date | 创建时间 | 是 |
表4.16管理员表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | role | String | 角色 | 是 |
3 | addtime | Date | 新增时间 | 是 |
5 系统实现
系统实现部分就是将系统分析,系统设计部分的内容通过编码进行功能实现,以一个实际应用系统的形式展示系统分析与系统设计的结果。前面提到的系统分析,系统设计最主要还是进行功能,系统操作逻辑的设计,也包括了存储数据的数据库方面的设计等内容,系统实现就是一个最终的实施阶段,将前面的设计成果进行物理转化,最终出具可以运用于实际的软件系统。
5.1 管理员功能介绍
5.1.1 课程列表
如图5.1显示的就是课程列表页面,此页面提供给管理员的功能有:查看课程、新增课程、修改课程、删除课程等。
5.1.2 公告信息管理
公告信息管理页面提供的功能操作有:新增公告,修改公告,删除公告操作。下图就是公告信息管理页面。
结 论
通过对在线互动学习网站的开发,让我深刻明白开发一个程序软件需要经历的流程,当确定要开发一个在线互动学习网站的程序时,我在开发期间,对其功能进行合理的需求分析,然后才是程序软件的功能的框架设计,数据库的实体与数据表设计,程序软件的功能详细界面实现,以及程序的功能测试等进行全方位的细致考虑,虽然在此过程中,各个环节都遇到了大大小小的困难,但是通过对这些问题进行反复的分析,深入的思考,借助各种相关文献资料提供的方法与解决思路成功解决面临的各个问题,最后成功的让我开发的在线互动学习网站得以正常运行。
在线互动学习网站在功能上面是基本可以满足用户对系统的操作,但是这个程序软件也有许多方面是不足的,因此,在下一个时间阶段,有几点需要改进的地方需要提出来,它们分别是:
(1)操作页面可以满足用户简易操作的要求,但是在页面多样化设计层面上需要把一些比较丰富的设计结构考虑进来。
(2)程序软件的总体安全性能需要优化,例如程序的退出安全性,以及程序的并发性等问题都需要进行安全性升级,让开发的在线互动学习网站与现实中的相关网站更贴合。
(3)需要对程序的数据结构方面,程序的代码方面等进行优化,让运行起来的程序可以保持稳定运行,也让程序能够保证短时间内处理相关事务,节省处理事务的时间,提高事务处理的效率,同时对服务器上资源占用的比例进行降低。
在线互动学习网站的开发一方面是对自身专业知识技能进行最终考核,另一方面也是让自己学会独立解决程序开发过程中所遇到的问题,掌握将理论知识运用于程序开发实践的方法。在线互动学习网站的开发最终目标就是让系统更具人性化,同时在逻辑设计上,让系统能够更加的严谨。