MVC架构下的教培信息发布系统的设计与实现
2019-11-03刘旺
刘旺
摘要:伴随着互联网技术大发展的浪潮,人们可以便捷地从网络上获取想要的信息。正是在这样的大背景下,門户平台已经成为当下各类企业、机构等发布信息的重要方式。该文所介绍的系统使用MVC设计模式将视图、模型和控制进行分离。为系统使用者构造了一个简单易用,界面美观的信息发布平台。系统主要实现了用户注册、登录、课程管理、教师管理、学生案例管理和在线咨询等功能。
关键词:MVC分层设计;SSM框架;B/S模式
中图分类号:TP393 文献标识码:A
文章编号:1009-3044(2019)23-0111-03
开放科学(资源服务)标识码(OSID):
1 背景
科学技术地快速发展颠覆了我们获取信息的方式,多年前大街小巷随处可见售卖报纸、杂志、期刊的岗亭现在早已经消失得无影无踪,这些传统的信息传播媒介被互联网的普及所取代,而各种不同类型的WE程序也得以运用到如政府、企业、高校等各类实体机构的宣传和日常事务的管理中去。本系统设计开发的Web应用程序主要面向教育培训机构,为他们提供一个轻便化、易管理的信息交流发布平台。
2 相关技术
2.1 MVC分层设计
MVC分层模式既Model View Controller的首字母缩写,分别为模型、视图和控制。利用MVC分层方式构建B/S模式的系统时,这三个组件各自扮演不同的角色,又能紧密协同完成任务。视图层可以简单理解为页面,它是系统与用户交互的窗口;模型层主要具体负责系统业务流程的处理,是整个系统的核心部分;控制层顾名思义既负责具体业务流向的控制;分层的思想将会使得业务处理更为明确、细化,维护也变得更加方便。如图1所示。
2.2 SSM开发框架简介
SSM框架是Spring,Spring MVC和MyBatis的缩写,也是继SSH之后,当前最为主流J2EE企业级框架。其中,Spring通过AOP和Ioc可以很好地实现层级解耦合业务对象管理;Spring MVC利用分发器DispacherServlet将所有资源和请求进行分发处理,相当于整个系统的“控制室”;持久层框架技术Mybatis对数据库的操作也会变得更加方便,安全。通过SSM框架的搭建的系统只需要改动相对应配置就可以对项目进行管理,这也很大程度上为工程的开发带来了诸多便利。
3 系统分析与设计
通过现实需求的分析与归纳,本信息发布系统的整体结构。如图2所示。
3.1 系统功能分析
通过评析,将系统功能做如下划分:
1)管理员注册与登录:作为系统后台的实际操作者,想要使用系统必须通过注册成为管理员。非管理员可以通过注册,填写相关信息成为管理员进而操作系统。
2)课程发布与管理:登录成功后,管理员可以通过课程管理模块对课程进行添加、删除和修改,这其中包含课程的分类信息、课堂模式、班制等内容的操作。
3)师资管理:管理员登录后,可以添加、删除以及修改师资的相关信息,具体内容有图片、文字说明,从教经历等。
4)学生案例管理:添加学生照片、绑定紧急联系人、绑定相关课程等。
5)在线咨询:方便前台用户在网页中直接与管理员或客服交流。
6)多页浏览:当数据无法在当前页面全部显示时,就要让信息分页展示。用户也可以选择跳转到指定的某个页码。
7)留言簿:前端用户开通过留言簿向管理员提出信息,这些信息是长时间保存的,管理员可通过留言列表进行翻看和回复。
8)基础信息浏览:前端用户在管理员发布信息之后,可以对信息进行浏览。
3.2 数据库设计
4 实现过程
4.1 注册/登录界面
进入主界面后用户可以输入密码进行登录,非注册用户可以选择点击下方的按钮注册,然后登录系统使用相应的功能。如图3所示。
4.2 课程信息发布界面
通过点击界面左侧边栏的课程分类下拉框,会弹出相应的课程大类(主干课程,辅修课程,人文素养与爱好),通过点击不同的课程大类对课程进行添加、修改等操作。如图5所示。
所添加课程与课程大类相关联的部分代码如下方所示:
var c_type = '${pd.c_type }';
var c_type_name = '';
if( c_type == 1 ){
c_type_name = '主干课程';
}else if( c_type == 2 ){
c_type_name = '辅修课程';
}else if( c_type == 3 ){
c_type_name = '人文素养与爱好';
}else{
……
}
对点击页面时所产生的课程大类参数进行判断,从而确定课程大类ID,进而将课程相关数据信息和该课程课程大类ID一同写入数据表中进行保存。
4.3 师资管理界面
师资管理功能与其他功能类似,通过点击对应按钮可对基础信息进行添加和修改等基本操作。如图6所示。
4.4 学生案例管理界面
学生案例主要对往期特色学员的学习感言和学习方法等内容进行管理,当后端用户对信息发布后,前端用户方可浏览该信息。如图7所示。
4.6 留言列表
前台用户可以在前端页面直接点击留言按钮,弹出框弹出后可将留言信息进行录入并提交。如图8所示。
同样的,后端管理员可在“留言列表”中对留言信息进行查看。如图9所示。
当数据过多时,可以选择分页浏览数据.实现的部分代碼如下:
……
function pagination(currentPage,totalPage){
// 分页处理
if(totalPage == 1){
$('#pagination').hide();
}else{
$('#pagination').show();
$('#currentPage').html(currentPage);
$('#totalPage').html(totalPage); //获取总页数
}
}
……
//分页请求数据
function paginationRequest(){
params.pageNum = $('#currentPage').html(); //当前页数据
getMappingData(displayUrl,params);
……
}
其它诸如课程管理模块、师资力量发布等模块的分页实现方式与此类似。
5 系统测试
本测试运用数据驱动测试。该测试也被称为黑盒测试,其主要目的是测试系统的既定功能是否满足要求。用这一种方法设计测试用例时完全无须考虑系统的内部构造,而仅仅是参照系统任务规格说明书,模拟用户实际使用过程,构造数据对功能模块进行测试。本次选择了具有代表性的师资管理模块进行测试,测试了包括空输入处理、异常输入验证、页面跳转、数据库存储和查询、表单展示、页面的弹出框提示等。以下是对师资管理功能模块的测试用例以及结果。
通过一系列测试表明,系统符合项目预期的要求。在项目开发初期存储于数据库内的测试数据而导致的一些问题,在完全清除表中非业务产生的数据后也得到解决,并且同样通过测试且验证。
6 结束语
本文以SSM框架为基本架构,实现了教培信息发布系统的开发,用户可以通过在浏览器URL内输入对应的地址进而查看信息。后端用户在验证登录后可对信息进行发布。系统的开发过程和业务处理方法有一定参考价值。但在开发过程中因考虑不足而带来的代码耦合,还需要在下一阶段的工作中解耦和优化,这将是下一步任务的重点。
参考文献:
[1] 张秀坤. MVC设计模式在Web开发中的应用研究[J]. 长春工程学院学报: 自然科学版, 2005, 6(3): 66-68.
[2] 胡静. 浅析黑盒测试与白盒测试[J]. 衡水学院学报, 2008, 10(1): 30-32.
[3] Nicholas C, Zakas. JavaScript 高级程序设计[M]. 北京: 人民邮电出版社, 2012.
[4] 王建国. 数据库设计在网站开发中的应用[J]. 山东农业工程学院学报, 2017, 34(4): 158-159.
【通联编辑:谢媛媛】