沈济南,梁 芳
(1.湖北民族学院 信息工程学院,湖北 恩施445000;2.湖北民族学院 理学院,湖北 恩施445000)
高校学生工作管理涉及到学生的课程学习、思想教育、日常生活等各个方面,工作繁杂,是高校管理中的一项十分重要的工作.传统的学生工作管理方法存在许多弊端,如工作效率低;信息更新、查询、维护困难等,已经不能适应当前高校的发展要求,也成为了高校管理的“瓶颈”[1].
本文提出了一个基于Spring、Struts 和iBatis 框架的学生工作管理系统.该系统结合湖北民族学院学生工作管理实际,为学生工作提供了信息化的解决方案.
在B/S 模式的管理信息系统开发中,常见的技术有ASP、PHP、JSP 及.NET 等[2-5].在JAVA 的Web 应用开发中,SUN 公司推出了经典的MVC(Model-View-Controller)设计模式,将模型层、显示层、控制层分离开来,各司其职,如图1 所示[6].
图1 MVC 模式Fig.1 MVC model
在MVC 模式中,开发者可以接触到许多的J2EE 框架,将不同层上的框架进行整合开发. 本系统采用Struts +Spring+iBatis 框架组合.表示层使用Struts 框架,完成页面显示、响应用户请求等功能;控制层使用Spring 框架,完成应用系统的业务逻辑与事务处理等功能;iBatis 负责数据持久化,完成与数据层的交互功能[3].
SSI 开发框架使每一层的功能和职责定义非常清晰,可以降低代码的耦合度,增强系统的健壮性和稳定性,提高系统的可维护性、拓展性和系统开发速度.
学生工作管理对学生从入校到毕业的过程进行全面管理,具体是对学生的日常生活、学习、活动等进行全面管理,主要包括学生学籍、档案、综合测评、寝室管理、社团组织、奖助学金、勤工助学等方面管理.结合调研湖北民族学院学生工作实际,设计系统的功能模块如图2.
图2 系统功能模块图Fig.2 The function module diagram of system
1)基本数据管理:该模块包括二级学院、系部、专业、班级、教师、学生、公寓楼栋、寝室等信息初始化、更新等管理操作,是学工系统的基础,也将提供和数字化校园其他系统的数据接口.
2)系统管理:包括系统角色管理、用户维护、权限管理等.
3)学生管理:包括军训、注册信息、奖学金、助学金、学生成绩(从教务系统导入)、学生奖惩、学籍变更、心理健康、毕业去向等.
4)班级管理:包括班级卫生、班级评优、贫困生档案、班干部档案、处分信息管理.
5)公寓管理:包括公寓入住信息、公寓变更、公寓安全、公寓卫生、公寓文化等.
6)档案管理:对系统运行过程中形成的历史文件等进行归档管理.
7)群团管理:包括学生科管理、团委管理、学生会管理、公寓部管理、党支部管理(党建学习、申请书管理、积极分子管理、预备党员管理、党员管理、党支部活动情况管理、党员学习情况管理、党支部信息统计、院系党建信息统计)等.
8)班主任管理:包括班主任评优、上交材料统计、谈话记录、班主任考勤、班主任日常工作的信息管理等.
9)勤工助学管理:包括勤工岗位安排、勤工岗位推荐、勤工岗位统计等.
10)综合测评:主要是对学生进行综合测评管理,依据管理条例,设置加分与减分细则,进行统计管理.
11)助学贷款:包括助学贷款政策、助学贷款申请、助学贷款审批、助学贷款发放、办理离校手续、贷款情况综合查询等.
文献[8]给出了基于RBAC 模型的权限设计思想在数字化校园中的应用.学生工作管理系统作为该数字化校园项目中的一部分,在设计该系统权限过程中,遵从了该设计思想,并依据本系统实际,对系统的用户进行了分类.学生工作管理系统中,将系统的角色分成了学生、教师、学工管理员和系统管理员四大类,系统各角色用例图如图3.
图3 系统用例图Fig.3 The use case diagram of system
根据系统功能需求,设计系统E- R图如图4.
图4 系统E-R 图Fig.4 The E-R diagram of system
学生工作管理系统的实现基于SSI 框架,采用tomcat 7.0 作为WEB 容器,数据库服务器采用Oracle 10g,开发工具使用Eclipse.在J2EE 架构中,表示层使用Struts 框架,控制层使用Spring 框架,数据持久化层采用iBatis.
1)Struts 框架.由于前台用户的请求具有不可预见性,后台的数据处理需要根据用户请求传递的参数进行相应的处理.故在表示层Struts 框架中,对所有请求的URL 统一处理,将所有的WEB 的运行环境和在运行期间的数据进行了封装.在服务器端请求数据时,直接应用Servlet 技术,而没有在其上进行其他的封装,通过fillMapByRequest 方法,在运行期间取出所有的request 中的数据,在运行期间对所有的请求参数进行自动的数据类型的一种转换.这样就让程序员从一般的前台数据中解脱出来,主要关心自己的业务逻辑,并且这样带来的好处时运行的效率很高,不容易出错,不会在程序期间出现一些不可见的Bug.主要代码如下:
2)Spring 框架.在Spring 框架中,使用doService 方法提供上层调用,而具体下层的实现只需要去实现这个类中用户自己想要的操作,所有的操作都在这一个类中去完成,代码如下.
3)iBatis 框架.Ibatis 框架的优点是容易控制,本系统只选择了它对于SQL 操作方便这一优点,而对于对象关联技术并没有去运用它的实现,交由SQL 实现.数据访问层的设计也提供了一个具体类,而其他的所有的数据访问层的操作都去操作这个类.
本系统的权限管理基于RBAC 思想。系统所有资源(包括系统中的功能菜单、各个界面的功能接口等)均以URL 的形式给出.对资源的操作规定成一组编码,二进制0001 表示增加操作,0010 表示更新操作,0100表示查看操作,1000 表示删除操作,它们的十进制形式分别为1,2,4,8.某角色的用户对资源进行具体的操作时,系统对该角色的操作权限进行判断,进而决定用户能否进行相关的操作.如:权限值为7,表示用户具有这个资源的增加、更新和查看功能[9].
图5 为系统的权限管理,以实现对系统的各级菜单等资源的动态设置,包括资源类型、资源名称、资源地址、操作等.如系统设置、综合测评等是一级菜单,而权限管理、角色管理等是系统设置的二级菜单.在权限资源库的基础上,通过将不同编号的资源分配给不同的角色,以实现角色的权限配置.
图5 系统权限管理Fig.5 The permission management of system
在对学生工作管理现状调研的基础上,基于MVC 模式,用Spring、Struts 和Ibatis 框架设计并实现了学生工作管理系统,系统能够满足学生工作管理的基本需要.通过系统中的基本数据模块,可以方便地和数字化校园的其他系统进行对接,满足数字化校园中各系统基础数据的一致性和完整性.
[1] 金敏辉.校园学生工作管理系统的设计与实现[D].杭州:浙江工业大学,2013.
[2] 沈济南,梁芳.基于C/S 与B/S 混合模式的学生成绩管理系统设计与实现[J].牡丹江师范学院学报:自然科学版,2006(4):18-19.
[3] 张阳.基于AJAX 技术的MVC 模式WEB 应用[J].西南民族大学:自然科学版2007,33(3):685-688.
[4] 李峰.基于ASP.NET 及索引服务的Web 站点全文检索系统[J].云南民族大学学报:自然科学版,2013,22(2):153-156.
[5] 汪涛,柳兵.基于J2EE 的就业管理信息系统的设计与实现[J].湖北民族学院学报:自然科学版,2013,31(2):216-218.
[6] Wojciechowski J,Sakowicz B,Dura K,et al.MVC model,struts framework and file upload issues in web applications based on J2EE platform[C]//Modern Problems of Radio Engineering,Telecommunications and Computer Science,Proceedings of the International Conference,IEEE,2004:342-345.
[7] 唐永瑞,张达敏.基于SSI 的应急事务管理系统的设计与实现[J].计算机技术与发展,2014,24(4):151-154.
[8] 梁芳.RBAC 模型在数字化校园中的应用研究[J].湖北民族学院学报:自然科学版,2012,30(3):299-301.
[9] 向军,翁建国,胡俊鹏.基于RBAC 的恩施旅游网安全策略机制研究[J].湖北民族学院学报:自然科学版,2013,31(3):313-315.