摘要 本文首先介绍了在线课程管理系统的现状及开发背景,然后论述了系统的设计目标、系统需求、总体设计方案以及系统的详细设计和实现,最后对在线课程管理系统进行了系统检测并提出了还需要改进的问题。本系统能够实现教师管理,科目管理,教学计划管理,学生管理,课程管理,课程留言管理,课程收藏管理,通知公告管理等功能[1]。在设计方面,本系统采用B/S三层结构,采用MVC模式,这种模式通过VUE技术来表现页面的动态设计,从系统的安全性和代码的可重用性方面考虑,运用springboot对程序的关键代码进行封装,后台数据库选用MySQL数据库。经过设计开发测试,基本满足了用户的相关需求,较好实现了在线课程管理系统相关的功能和模块。
关键字 在线课程管理系统; springboot框架; MySQL数据库
目 录
- 绪论
1.1 选题背景
目前整个社会发展的速度,严重依赖于互联网,如果没有了互联网的存在,市场可能会一蹶不振,严重影响经济的发展水平,影响人们的生活质量。计算机的发展,不管是从硬件还是软件,都有很多技术储备,每年都有很多的技术和软件产生,纵观各个领域,无一不用互联网软件,办公用的还是电脑居多,但是人手一台智能设备已经变成了现在人们的生活日常,哪怕的普通的老百姓都成了上知天文下知地理的所在,这些都依赖于互联网技术。互联网技术在信息的传播方面是巨大的,而信息的处理就变成了各种产业管理者和维护者的重任。人们已经习惯了互联网的存在,所以经常操作一些互联网产品变成了日常,所以开发一个在线课程管理系统,让人们使用是没有一点问题的,并且在这个过程中不仅能够规范课程信息管理的使用流程还有信息处理流程,也能让整个信息的传播处理,都存在一种可控制的范围,最重要的是,计算机在课程信息管理方面可以给管理者提供更好的帮助。
- 系统设计
4.1 系统设计目标
系统设计的时候,就要制定需要达成的目标。在功能上,要严格符合设计需求,不仅仅要减少操作步骤,也要符合预期。因此,在规范化的今天设计出符合项目要求的系统,必须要达到下面设定的目标。
第一个目标就是友好性:友好性主要体现在用户使用过程中,不会对系统的操作产生一种不满,减少操作者的愤怒,这是相当重要的一个体现。前几年好多软件在这个友好性方面失去了市场,就是因为在友好性这方面没有做好。国内互联网发展初期,软件设计的目的就是能用就行,至于友好性的对比,那是不存在的,因为硬件效率比较低,计算机属于新兴行业,所以大哥不说二哥,都是不友好的。随着计算机硬件的提升,很多开发者开始注意到要牺牲一定的计算器性能来提升友好性,因为计算机发展到现在,第一印象很重要,一个软件设计的不好看,会让大部分人对其产生质疑,所以要在友好性上面下很大功夫进行雕琢。
第二个目标就是安全性:安全性其实贯穿着整个软件行业的发展史,计算机就是为解决人类重复性计算以及数据存储的目的而诞生的,很多行业都需要计算机来进行计算,减少出错几率,并且把数据保留,可以实时查询,所以数据的安全性也很重要。
只要保证数据安全性的前提,开发出符合功能需求的友好界面操作,那么就达到了系统设计的目的。
4.2功能结构设计
本系统主要是基于数据的增加,修改,删除等操作,使用者能够通过提前设定的登录功能进入指定的操作区,这里对使用者设计的功能进行结构展示。
管理员功能结构图的绘制结果见图4.1。管理员登录进入本系统操作的功能包括对教学计划,通知公告,教师,学生,课程信息进行增删改查,以及管理课程收藏和课程留言,管理班级等信息。
教师功能结构图的绘制结果见图4.2。教师登录进入本系统操作的功能包括新增教学计划,新增课程信息,对学生的课程留言进行回复,查看通知公告。
学生功能结构图的绘制结果见图4.3。学生登录进入本系统操作的功能包括观看课程视频,查看课程知识,对课程留言,查看通知公告,更改个人信息。
4.3.2 数据库物理设计
本系统数据在数据库中都是通过各种二维表进行记录保存的,在数据库中设计这样的二维表也是比较重要的内容,因为它影响着数据的存储效率。在设计二维表也就是关系模型之前,一些有关二维表方面的常用概念需要进行充分了解。
关系:一张具体的数据表即表示关系,关系的名称与数据表的名称保持一致;
元组:数据表中,每行显示的数据即代表元组;
属性:数据表中,每列表示的数据即代表属性;
关键字:数据表中,为了与其他数据表进行区分,则需要在每张表中进行主键的设置;
通过上节内容可以知晓数据库中的各个实体,并通过一定方式把这些实体表示的内容进行数据表的转换,通常来说,每个实体都会对应一张具体的数据表,在本系统指定的数据库中创建命名好的数据库,才可以对数据表进行创建与设计。在线课程管理系统数据表设计结果展示如表4.1,表4.2,表4.3,表4.4,表4.5,表4.6,表4.7,表4.8:
表4.1 通知公告表
字段 | 注释 | 类型 | 空 |
id (主键) | 主键 | int(11) | 否 |
gonggao_name | 通知公告名称 | varchar(200) | 是 |
gonggao_photo | 通知公告图片 | varchar(200) | 是 |
gonggao_types | 通知公告类型 | int(11) | 否 |
insert_time | 通知公告发布时间 | timestamp | 是 |
gonggao_content | 通知公告详情 | text | 是 |
create_time | 创建时间 | timestamp | 是 |
表4.2 教师表
字段 | 注释 | 类型 | 空 |
id (主键) | 主键 | int(11) | 否 |
username | 账户 | varchar(200) | 是 |
password | 密码 | varchar(200) | 是 |
jiaoshi_name | 教师姓名 | varchar(200) | 是 |
jiaoshi_phone | 教师手机号 | varchar(200) | 是 |
jiaoshi_id_number | 教师身份证号 | varchar(200) | 是 |
jiaoshi_photo | 教师头像 | varchar(200) | 是 |
sex_types | 性别 | int(11) | 是 |
jiaoshi_email | 电子邮箱 | varchar(200) | 是 |
create_time | 创建时间 | timestamp | 是 |
表4.3 教学计划表
字段 | 注释 | 类型 | 空 |
id (主键) | 主键 | int(11) | 否 |
jiaoshi_id | 教师 | int(11) | 是 |
续表4.3
字段 | 注释 | 类型 | 空 |
kecheng_id | 课程 | int(11) | 是 |
jiaoxuejihua_uuid_number | 教学计划编号 | varchar(200) | 是 |
jiaoxuejihua_name | 教学计划名称 | varchar(200) | 是 |
jiaoxuejihua_file | 教学计划文件 | varchar(200) | 是 |
jiaoxuejihua_types | 教学计划类型 | int(11) | 是 |
jiaoxuejihua_content | 教学计划内容 | text | 是 |
insert_time | 记录时间 | timestamp | 是 |
create_time | 创建时间 | timestamp | 是 |
表4.4 课程表
字段 | 注释 | 类型 | 空 |
id (主键) | 主键 | int(11) | 否 |
jiaoshi_id | 教师 | int(11) | 是 |
kecheng_name | 课程名称 | varchar(200) | 是 |
kecheng_uuid_number | 课程编号 | varchar(200) | 是 |
kecheng_photo | 课程照片 | varchar(200) | 是 |
kecheng_video | 课程视频 | varchar(200) | 是 |
kecheng_file | 课件 | varchar(200) | 是 |
kecheng_types | 科目 | int(11) | 是 |
kecheng_clicknum | 课程热度 | int(11) | 是 |
kecheng_content | 课程内容 | text | 是 |
zhishiyaodian_content | 知识要点 | text | 是 |
kaoshidagang_content | 考试大纲 | text | 是 |
shangxia_types | 是否上架 | int(11) | 是 |
kecheng_delete | 逻辑删除 | int(11) | 是 |
create_time | 创建时间 | timestamp | 是 |
表4.5 课程收藏表
字段 | 注释 | 类型 | 空 |
id (主键) | 主键 | int(11) | 否 |
kecheng_id | 课程 | int(11) | 是 |
xuesheng_id | 学生 | int(11) | 是 |
kecheng_collection_types | 类型 | int(11) | 是 |
insert_time | 收藏时间 | timestamp | 是 |
create_time | 创建时间 | timestamp | 是 |
表4.6 课程留言表
字段 | 注释 | 类型 | 空 |
id (主键) | 主键 | int(11) | 否 |
kecheng_id | 课程 | int(11) | 是 |
xuesheng_id | 学生 | int(11) | 是 |
kecheng_liuyan_text | 留言内容 | text | 是 |
insert_time | 留言时间 | timestamp | 是 |
reply_text | 回复内容 | text | 是 |
update_time | 回复时间 | timestamp | 是 |
create_time | 创建时间 | timestamp | 是 |
表4.7 管理员表
字段 | 注释 | 类型 | 空 |
id (主键) | 主键 | bigint(20) | 否 |
username | 用户名 | varchar(100) | 否 |
password | 密码 | varchar(100) | 否 |
role | 角色 | varchar(100) | 是 |
addtime | 新增时间 | timestamp | 否 |
表4.8 学生表
字段 | 注释 | 类型 | 空 |
id (主键) | 主键 | int(11) | 否 |
username | 账户 | varchar(200) | 是 |
password | 密码 | varchar(200) | 是 |
xuesheng_name | 学生姓名 | varchar(200) | 是 |
xuesheng_phone | 学生手机号 | varchar(200) | 是 |
xuesheng_id_number | 学生身份证号 | varchar(200) | 是 |
xuesheng_photo | 学生头像 | varchar(200) | 是 |
sex_types | 性别 | int(11) | 是 |
banji_types | 班级 | int(11) | 是 |
xuesheng_email | 电子邮箱 | varchar(200) | 是 |
create_time | 创建时间 | timestamp | 是 |
5.1管理员功能实现
5.1.1 通知公告管理
管理员进入如图5.1所示的通知公告管理界面之后,管理员点击信息显示栏中最右侧的修改,删除按钮可依次完成通知公告信息的修改,删除等操作。通知公告信息有通知公告名称,通知公告内容等信息[12]。
5.1.2 教师管理
管理员进入如图5.2所示的教师管理界面之后,管理员点击信息显示栏中最右侧的修改,删除按钮可依次完成教师信息的修改,删除等操作。
5.1.3 学生管理
管理员进入如图5.3所示的学生管理界面之后,管理员点击信息显示栏中最右侧的修改,删除按钮可依次完成学生信息的修改,删除等操作。学生的账号密码,管理员也能重置。
结 论
开发与实现在线课程管理系统已经花费了半年时间,在这期间,作为学生的我收获了很多知识。因为独自开发在线课程管理系统,仅仅依靠在校期间学到的软件开发方面的知识显然是不行的,还需要通过其他的学习渠道进行程序开发类知识的拓展,比如去图书馆借阅书籍,比如数据库设计的书籍,Java编程语言方面的书籍,软件工程方面的书籍等,还可以通过上网查看编程方面的博客,这些博客呈现的知识是各个软件开发者在工作生涯中总结的编程知识,都是编程知识中的精华,可以帮助学习开发的人员在编程中避免很多开发误区,还可以节省开发的时间[14]。另外,也可以通过数字图书馆下载相似系统方面的参考文献进行程序开发类的知识学习。总而言之,当一个人完成在线课程管理系统的设计与开发后,不仅自身的专业知识水平得到了提升,还提高了自己将理论转为实际操作的能力,以及面对问题通过知识学习进而解决问题的能力。
在线课程管理系统的设计实现,让我有以下几点体会:
(1)在确定要研究的系统之后,对于系统的研究内容也就是系统的功能的分析与设计是比较重要的部分,这方面主要是站在使用者的角度进行考虑,可以参考相似系统的功能进行设计,也能通过对目标用户群进行问卷调查等方式进行功能需求的确定,只有确定了系统需要的功能之后,才可以开展系统的配套数据库的设计,系统的编码等后续工作。
(2)对于系统的代码编写是一项比较复杂的工作,这也是系统的后端部分,用户操作系统看到的只是代码运行之后呈现出来的操作界面前端部分,编写的代码与运行实现的界面是相对应的,所以编写代码时,需要一边编写,一边查看代码的运行效果,这里就需要编写代码的人员注意一些编写细节,比如规范命名程序变量,注释关键代码等,这些编码习惯会帮助开发者在该系统中进行功能拓展或功能维护中提高效率。
(3)系统的功能模块在编码实现之后,也需要单独进行测试,发现问题之后能够及时进行解决,当系统的所有的功能都实现之后,再次对该系统整体进行测试,方便开发者在检验系统功能的基础上,进行系统问题的修复与完善[15]。
由于时间比较短暂,加上开发期间我都是一边学习理论,一边进行实操,对于开发的在线课程管理系统除了具备能够正常运行,能够提供信息管理功能,以及能够保证系统运行期间产生的数据的安全性等特点外,本系统也具备一些缺点,首先表现的就是当使用者使用系统时,在对数据进行查询或者更新时,系统响应时间比较长,增加了用户的等待时间,让用户的使用体验不够理想,其次,在线课程管理系统的功能操作的流程设计上也存在一些不合理之处,最后,在线课程管理系统对于权限划分,功能模块细分上也存在一些漏洞。
总的说来,在今后的时间里面,自己除了要加强理论知识的学习外,还要继续投入时间和精力去对在线课程管理系统进行修复,让本软件拥有更强的性能,比如安全性以及可靠性。