基于Spring MVC的高校学院学工助理系统的设计与实现

2018-09-29 02:38李天赐李璟璐于姗姗刘梓艺
智能计算机与应用 2018年4期

李天赐 李璟璐 于姗姗 刘梓艺

摘 要:为了提高学工助理的工作效率,本文提出的一种基于Spring MVC框架的学工助理JavaWeb系统可以协助学工助理让学生了解重要信息、辅导员的工作状态、借用信息等,解决了学生的需求。系统具有操作简单、流程清晰、界面友好等特点。

关键词:Spring MVC; 学工助理; JavaWeb

Abstract: In order to improve the work efficiency of student worker assistant, this paper proposes the student worker assistant JavaWeb system based on Spring MVC framework which can enable students to understand the important information, the working state of the counselor, borrowing information, etc., so as to satisfy the students' needs. The system is simple in operation, clear in process and friendly in interface.

Key words: Spring MVC; academic assistant; JavaWeb

引言

随着互联网技术的不断提高,大学生的学习生活内容也变得日渐丰富[1]。在面对许多科研竞赛,评比优秀称号等活动中,作为辅导员的助手-学工助理也常为之忙碌。例如,学生在需要找辅导员咨询问题时,因为不能根据学工助理得知辅导员在学工办的办公情況,而时常没能及时找到辅导员而苦恼;在学生借用学工办物品时,经常跑到学工助理办公室完成申请表之后,还需要等学工助理咨询老师签字盖章,这样使得平时的借用工作效率很低。设计一个基于Spring MVC的学工助理系统不仅可以提高学工助理的办事效率,也可以方便学生了解辅导员的办公状态以便咨询。

1 系统分析与设计

1.1 需求分析

在对学工助理进行功能需求获取时,主要是以业务需求和用户需求分析得出功能需求[2]。

(1)在业务需求中,学工助理需要能够及时发布一些重要的消息、更新老师在学工办的状态、审批学生的申请借用单、以及登录学工助理官方QQ回复学生疑问。

(2)在用户需求中,学生需要查看学院里的一些重要信息、查看老师在学工办的状态、申请借用、以及咨询学工助理等问题。

(3)在功能需求中,学工助理需要拥有可以发布最新消息、更新老师状态、审批借用消息、用QQ回复学生疑问的功能。学生需要拥有可以查看最新消息和老师状态、申请借用、咨询学工助理的功能。为了方便管理学工助理的账号,系统需要一个管理员。系统功能如图1所示。

1.2 功能分析

(1)登录。 为了方便学生进入页面,对学工助理和管理员设置单独的页面网址。学工助理和管理员在登录时需要输入一个网址,这个网址不向学生公开,是属于学工助理和管理员特有的登录网址。学工助理和管理员在登录界面时,需要填写学号和密码以验证自己的身份。

(2)发布最新消息。在进入最新消息页面时,系统需要判断用户身份。如果为学生登录,页面则显示最新发布的消息。如果为学工助理登录,系统除了需要显示最新发布消息外还需要有添加、删除、修改最新消息的功能。

(3)更新老师状态。老师的状态有办公、开会、外出办事、查课/寝、出差、下班等。如果是学生登录,界面显示老师的状态以及回学工办的大约时间。如果是学工助理登录,界面还需要学工助理调整老师的状态以及输入老师回学工办的大致时间。

(4)申请借用。如果是学生登录,界面显示借用单和借用记录。借用单的信息包括借用理由、借用时间、归还时间、借用物品、担保人、日期。学生借用时,需要填写申请单信息之后查看历史借用记录以验证是否借用成功。学工助理在登录,查看到申请借用信息后,需要依据借用信息询问学工办老师意见再进行信息审核。

(5)学工在线。学工在线功能图标则是一个QQ企鹅的图片,学生可通过点击图标打开QQ与学工助理官方QQ对话,进行咨询或留言。

(6)管理学工助理账号。本功能是利用软件设计模式中Singleton(单例模式)的思想,保证只有一个实例,以实现只有单个管理员才能对学工助理的信息进行修改,避免多个管理员产生冲突。

1.3 系统框架设计

本系统是采用经典的MVC架构,选取当前流行的Spring技术作为支撑,构建Spring MVC框架。Spring的IOC模式使得系统具有高解耦性和Aop模式,使得系统具有强大的可扩展性。这两大模式使得Spring技术深受开发者的青睐[3]。Spring MVC的运行原理是浏览器发送请求给DispatcherSerlet。并在查询HandlerMapping时找到处理请求的Controller后,DispatcherServlet把请求转发给Controller,Controller根据Service服务进行相关的业务处理后把数据发给ModelAndView。根据ModelAndView的指定视图,DispatcherServlet查找到对应的ViewResolver进行解析。最后将模型数据传给View响应浏览器,View显示业务处理最终结果,Spring MVC运行原理如图2所示。

1.4 数据库设计

在数据库设计时,需要依据需求分析结果绘出实体图。如图3所示。

在设计的时候,系统设计员需要考虑查询速度,在必要时设计数据冗余可以实现空间换时间的效果[6]。在设计数据库表字段之间的关联时,本系统采用的是无关联数据库,以达到高扩展性。在数据库表实现时,一定注意要把实体上的每一个属性对应数据库表的每一个字段,如高校学院学工助理表需要学号、姓名、密码、性别、电话,班级的字段,见表1。

2 系统实现

页面实现是利用目前比较受欢迎的Boostrap框架及JSP技术,以JavaScript、Html、Css、JQuery、ajax技术为辅。为了方便PC端和移动客户端的使用,系统利用Boostrap框架中的col-sm-*,col-md-*技术,以实现界面能够依据屏幕大小进行自适应调节,达到移动端和PC端界面都能够让用户有良好的使用体验感。学工助理的主界面如图4所示。

学工助理系统功能较为简单,只需要依托SpringMVC结构进行增、删、查、改数据库表的内容即可完成目标。以更新老师状态功能为例,学工助理点击老师状态,选择老师现在的状态并输入老师回学工办所需要的大概时间,保存修改。JSP页面依据修改的事件,把前台收集到的信息根据action="<%= request.getContextPath()%>/switch/save"传输到SwitchController。Controller根据RequestMapping注解找到save()方法。save()方法调用由ServiceImpl类实现的Service接口类访问Dao类。Dao类通过DaoImpl实现类对数据库进行访问,修改老师状态数据和老师回学工办的时间数据并返回成功。修改后的信息返回给Controller,Controller依据修改后的信息再次从数据库中读取出数据通过DispatcherSerlet和ViewResolver传送到前台显示修改结果即可完成功能。

3 系统测试

在系统经历了需求分析、系统设计、程序实现后,开发人员对系统进行了软件测试[7]。高校学院学工助理系统是采用黑盒测试为主,白盒测试为辅的测试方法。在高校学院学工助理系统中,学生经常会去访问老师在学工办的状态,因此以“更新老师状态”的功能为例进行测试。在对更新老师状态的功能进行黑盒测试时,学工助理需要调整老师的状态,而学生需要在更改后立即刷新一下界面查看老师的状态。此外还对登录、发布最新消息、申请借用、学工在线、管理学工助理账号的功能进行测试。在多次测试中,系统功能均已达到了系统所需要的性能要求。

4 结束语

本文介绍的基于Spring MVC的高校学院学工助理系统可以提高学工助理工作效率。虽然学工助理系统是一个特别简单的系统,但是这个系统可以减少许多同学来往学工办的时间、能够让学生了解学院重大通知、快速借用物品等。由于所有技术支持都来源于学生群体,系统之后的运行与维护也是一个很大的任务。在学工助理的工作不断变化时,系统也需要随着变更控制而改进[8]。

参考文献

[1] 李福荣,吴海涛. 基于AOP的科研申报系统的设计与实现[J]. 电子设计工程,2016,24(7),8-10.

[2] 温立辉. Spring框架在模型层的应用[J]. 福建电脑,2017(5):147-148.

[3] 张少应,陈庆荣. 基于Spring的数据库访问技术研究[J]. 信息技术,2016(10):81-84.

[4] 黄俊勇. 基于Spring框架的研究与设计[J]. 电脑知识与技术,2018,14(3):116-117,120.

[5] 宋佳,范伟,黄鹏. 基于Spring的Java平台程序架构研究[J]. 计算机与网络,2016(22):68-71.

[6] 田丽华,孙颖馨,王金甫. Spring 框架下 IoC 容器的在线考试系统设计[J]. 重庆理工大学学报(自然科学),2015,29(1):82-84,90.

[7] 陈鑫,聂开,王珏辉,等. 基于Spring框架的实习实训过程管理与评价系统[J]. 无线互联科技,2017(9):140-141.

[8] 肖祥林. 基于Spring框架的通用网络报名系统设计与实现[J]. 现代计算机(专业版),2017(10):81-84.

[9] 赵威. 强海水混响背景下水中兵器攻击目标检测研究[J]. 智能计算机与应用,2016,6(2):51-54.

[10]石鑫,周勇,胡光波. 基于信号峰脊陡变调制的雷达测距算法[J]. 物联网技术,2015,5(4):12-14.

[11]刘昊晨,梁红. 线性调频信号参数估計和仿真研究[J]. 计算机仿真,2011,28(2):157-159,263.

[12]刘家亮,王海燕,姜喆,等. 垂直线列阵结构对PTRM阵处理空间增益的影响[J]. 鱼雷技术,2010,18(4):263-267.