基于Spring MVC及MyBatis框架的在线教育平台的设计与实现

2019-07-04 06:17郭东旭吴雨洽
关键词:页面框架数据库

刘 杰, 孙 浩, 郭东旭 吴雨洽

(沈阳师范大学 科信软件学院, 沈阳 110034)

随着现代科技和互联网技术的迅速发展,人类迈入了信息时代,高速的科技发展使得人们逐渐地去追求品质更高、更多元化的教育。互联网的网络教学模式,使得教学资源能够可视化,让在线教育更进一步,也更加便利。

1 系统相关技术

1.1 Spring MVC框架工作原理

Spring MVC框架对MVC的实现非常接近MVC模式的核心概念和特性,将Web项目中各模块的职责进行了清晰的划分,并且支持动态配置组件,所以在Web应用开发中受到广泛关注。其框架进行请求相应的工作原理如图1所示。Spring MVC框架实现了对AJAX、JSON的支持,使开发者在应用Spring MVC框架时也可使用HTML和JavaScipt技术开发页面,有效降低前后端的耦合度和提升页面开发的灵活度[2-3]。

图1 Spring MVC框架原理图Fig.1 The Spring MVC framework principles diagram

1.2 Mybatis框架

Mybatis是能够支持普通的SQL查询、存储过程和高级映射的优秀持久层框架(见图2)[4], 包括SQL Maps和DAO[5], 对于JDBC代码、参数以及结果集的检索Mybatis都不用再去手工设置, Mybatis通过使用注解或简单的XML来进行配置与原始映射, 能够将接口和Java中的POJOs映射成数据库中的记录。

图2 MyBatis框架功能架构Fig.2 MyBatis framework principles diagram

1.3 腾讯云技术

腾讯云是腾讯公司面向广大企业和个人的公有云平台,私课中国在线教育平台主要使用了腾讯云服务器,使得学生和老师之间通过对腾讯与服务器发出请求,直接进入直播间进行直播,主要用到了腾讯云互动直播功能(见图3)。腾讯云直播功能有以下优势:

1) 灵活接入:支持HLS/RTMP推流等多种直播源接入方式。提供RTMP推流SDK,对腾讯云深入优化,并集成了尖端的美白、降噪等功能,为手机直播打造一站式解决方案。

2) 可靠转换:提供快速可靠的格式转换;支持FLV、HLS以及RTMP下发;支持直播过程多码率转码和水印添加。

3) 超高容量支持:可支持百万并发直播收看;海量CDN节点提供全方位覆盖。

4) 播放器发布:提供快速播放器代码发布功能,轻松呈现直播效果; 支持自定义播放器密码。

图3 腾讯云直播产品结构Fig.3 Tencent cloud live product architecture

2 需求分析

2.1 可行性分析

在开发软件的过程中,如何选用技术,选取什么样的技术,是在开发的整个过程中必须要思考的工作。换句话说,能否运用当前的软件条件,结合开发人员自身技术条件,完成开发任务。因为国内在线教育平台选取的技术各不相同,值得借鉴的技术少,同时在开发的过程中也会遇到意想不到的意外和困难,这些困难都难以控制,因此,综合团队等各种因素,本论文选取的是JAVA技术和MySQL技术,这些技术都是开发人员相对熟悉的语言和数据库管理系统,即使在开发过程中遇到困难,也可以通过查阅书籍或者上网查找相关资料会找到解决方案。所以开发人员能够熟练的了解和掌握面向过程或者是对象的开发工具,网络能够平稳运行,实现该在线教育平台在技术上是可行的。

本平台系统开发目标简单,而且依托腾讯云Linux服务器和视频等成熟技术,并不需要花费额外成本,所以此系统的研发是可行的。另外,由于系统是团队自行研发,所以系统本身不存在任何版权争议问题,所开发的内容也符合国家相关政策和法律规定。目前“私课中国”在线教育平台已经经过1年多的开发、修改、测试,已经上线投入使用。日后如果系统需要维护,系统需要升级等方面也会全面的跟进。

综上所述,通过对技术性分析,经济性分析,系统运行可行性分析等3个方面的综合可行性分析,开发本课题的在线教育系统是可行的,并且具有很高的社会价值,经济价值和使用价值。

2.2 需求分析

在线教育系统可以支持3种用户的登录,分别是学生、教师、后台管理员。

学生:通过手机号注册,手机接收到验证码后,通过6位验证码进行验证。注册时除了手机号和密码外,必须填写所在城市和姓名。学生注册提交后,直接成为网站用户。成为网站用户后,学生可以通过导航栏进行选择(一对一、直播课),然后通过选择自己所需的课程选择教师,选择与教师匹配的上课时间,进行购买和支付方可进行课程学习。课程结束后,可以对教师进行评价或通过平台聊天与教师进行沟通。

教师:教师的注册方式与学生相同,但要想成为教师用户还必须填写所在城市和姓名。此外还必须填写学历,毕业院校,教师科目(复选),教龄,空闲时间等内容,为了保证教师身份的真实性和教师的质量,还需进行教师资格证的验证,上传相关证件照片之后,在管理员后台审核之后才能成为教师用户。教师用户后首先要填写自己安排课程的时间,然后设置课程,发布消息。如果有学生选择课程并支付成功,便可开课。同时在课程结束后,与学生进行互相评价,相互交流。师生用例图如图4所示。

图4 师生用例图Fig.4 Teacher and student use case diagram

3 系统设计

3.1 功能设计

根据用户需求和用例图将系统分为个人信息管理,在线学习,教师模块,系统管理模块,其功能模块图如图5所示。

图5 功能模块图Fig.5 Functional block diagram

3.2 数据库设计

在数据库中,如果一个业务对象对应多张表,在某些复杂的情况下,我们可以把对象型语言转换成数据型语义。在系统数据库的设计过程中,数据库不使用主-备约束限制,表与表之间是彼此独立的,每个数据表是对象持久化的直接结果。数据库不参与表与表之间的管理工作,每张表通过一个主数字表示对象信息。构建对象关系表时,储存两个对象的数字,说明两个对象之间存在相应的联系。对于更复杂的关系,同时也可以扩展延伸。“私课中国”在线教育系统数据库子图如图6所示。

图6 E-R图设计Fig.6 E-R diagram design

4 系统实现

“私课中国”在线教育平台的系统架构分为3个层次,前台交互层,业务逻辑层和数据服务层。系统总体架构如图7所示。

图7 系统架构图Fig.7 System Architecture Diagram

4.1 网站首页

为了方便用户直观地查看网站,保证用户的视觉体验,网站首页在主体设计过程中,应尽量简单,功能包括注册、登录、优秀教师、优秀课程、近期大课的等展示。

1) 导航栏:导航栏包括首页、筛选搜索、个人中心、登录和注册等链接。

2) 用户:用户类型分为普通用户和教师用户两种,教师用户拥有普通用户的所有功能外还额外拥有教师特有的功能。

3) 注册:分为学生注册和教师入驻。两种注册都用手机号码注册,并用手机短信验证码进行验证。注册时除了手机号码和密码外,必须填写所在城市和姓名(昵称)。如果是教师入驻,则填写上述内容之后还必须填写学历、毕业学校、教学科目(复选)、是否有教师资格证、教龄、空闲时间(重要)等内容。用户注册以及教师入驻提交之后,直接成为网站用户,填写了教师入驻内容的用户,在管理员后台审核之后才能成为教师用户。

4.2 课堂页

课堂页面是与教师预约上课、教师确认、学生支付之后,在预定的时间段点击“进入课堂”所到达的页面,既一对一实时视频辅导的页面。具有实时双向视频、文字聊天等功能。

1) 实时视频:实时的一对一视频,主屏幕为教师(被预约方),在小屏幕为用户(预约方),可以按钮可以切换两者。在实时视频过程中,不但要保证视频的清晰度或者流畅度,而且要保证音频的流畅,不能高延时的状况。

2) 文字聊天:页面右侧有文字聊天框。这个聊天框跟用户页面的是同一个,共享聊天记录。可以发送文字、表情、图片。这个课堂页面的聊天有一个用户页面所没有的功能:用户页面的聊天,点击发送的图片是放大查看。课堂页面里,学生(预约方)点击图片,依然是放大查看,再次点击关闭;教师(被预约方)点击,则双方的主视频屏幕由该图片覆盖,主屏幕变成一块背景为该图片的简单画板,教师可以在该图片上用鼠标画线,有红蓝黄绿黑白等几种简单的颜色可以选,还有清除功能。

4.3 网站后台

网站后台的操作者是系统管理员,系统管理员可以查看用户,教师,机构的所有消息,也可以对上课,账务的消息进行查看,进行系统参数的修改。

1) 系统设置: 系统设置里包含基本参数设置、自定义参数,角色定义,短信设置,用户管理,热更新管理等。在该子模块中,管理员可以进行有关于网页的设置。

2) 订单管理: 后台管理员可以通过订单列表中的查询栏,在查询栏输入任意一个订单的部分信息,就可以对订单的全部信息进行查看,包括订单编号,订单日期,支付单号,买方ID,教师ID等。

3) 会员管理: 会员管理模块还分为教师认证,教师档案,学生管理,排行榜,会员设置这5个子模块。管理员可以进入子模块,分别对教师,学生的注册信息进行详情的查看和编辑,还可以通过排行榜,对教师的上课量进行宏观的查看。

5 总 结

“互联网+”时代网络的发展下,网络在线教育已成为未来的趋势,本文提出的在线教育平台很好地实现了教育资源的可视化,使得学生在任何时间任何地点,只要有网络的地方便可通过在线教育平台学习知识,克服了时间、空间上的学习限制,同时弥补了学生在传统教育模式课堂上接受新知识能力的差异,使得学生的学习效率得到极大的提高。在线教育平台的上架运行会在教育领域中起到引领作用。

猜你喜欢
页面框架数据库
刷新生活的页面
框架
答案
K-框架和紧K-框架的算子扰动的稳定性
广义框架的不相交性
数据库
数据库
数据库
数据库
关于原点对称的不规则Gabor框架的构造