基于SSH框架的学工管理系统的设计与实现
2015-04-24董萍
董 萍
三门峡职业技术学院是集教学研究、技术培训、项目开发、技术服务为一体的高等专科院校,最初的办公管理存在管理复杂、烦琐及信息冗余等弊端.随着计算机的普及和学院对协同办公要求的提高,对日常办公、基础信息管理、信息交流、即时沟通、数据共享、移动办公等方面提出了更进一步的需求.针对这一需求,笔者设计了融合最新办公自动化理念,能够支持智能查找、动态报表、及时交流等功能的学工管理系统.该系统能客观地反映学工管理系统中存在的问题,为决策提供重要依据,从而提高管理的科学性、针对性和高效率.
1 系统开发技术
SSH是Struts、Spring、Hibernate三种技术的简称,是目前软件开发人员使用比较高的Web应用程序开源框架,该框架继承了J2EE的分层架构模式,其框架中的业务逻辑的实现是通过Java对象完成[1].其中Struts框架是一种拥有Java类、servlet类和Jsp页面的可重复使用的MVC框架,具有程序可读性好、系统可维护性强、程序间各个层次的耦合度低的优点.Spring框架是一种基于JavaBean的由七个模块构成的分层框架技术.Hibernate是一个面向Java环境的对象/关系数据库映射工具,是一个开放源码的ORM数据访问层框架[2].
SSH框架将服务器端应用分为DAO层、Service层、Action控制层、Spring容器层、视图层,各层之间通过接口联系.在该框架中,DAO层完成数据库增加、删除、修改等细节,并将底层数据库访问操作和业务逻辑分开,对业务层提供面向对象的访问接口.Service业务层提供了处理应用程序的业务逻辑和业务校验.控制层的控制器Action接受用户的输入并调用业务层的业务方法和表示层的组件去完成用户的请求.服务器的各种组件的生成都是由Spring容器来控制,Spring容器提供了依赖注入、实例管理、事务处理等服务.视图层是用户看到并与之交互的界面,视图向用户显示相关的数据,并能接受用户的输入数据,但不能进行任何实际的业务处理[3,4].SSH2架构设计图如图1所示.
图1 SSH架构设计图
2 需求分析
通过用户访谈、收集资料、问卷调查、小组会议的需求捕获技术对学工管理系统进行需求获取.准确的需求分析可以减少系统的开发周期,降低系统开发成本和维护成本.
2.1 高校学工管理工作现状
目前高校对学工管理的主要方式仍以人工为主,使用计算机系统较少.因此每年高校在学工管理工作上所花费的时间和精力非常大,并且这个比例随着学生人数的增加呈现越来越高的趋势.为了降低学生管理成本,提高学生管理效率,提升学生管理品质,实现国家提出的和谐校园基本思想,需要设计一款适合普通高校使用的学工管理系统.
2.2 系统用例
用例图确定需求的范围,这些需求是设计开发的依据.用例图将系统看作黑盒,从外部执行者的角度来理解系统.图中的用例是用户与计算机之间一次典型的交互作用,在UML中,用例表示为一个椭圆,执行者是指用户在系统中用类似人的图形来表示的[5,6].
学工管理系统模块主要有:人员角色管理、角色管理、权限管理、角色权限管理、分栏管理、部门管理和学生登录信息管理功能.根据学工管理系统项目需求分析,得出系统主要用例图,如图2所示.主要角色(Actor)包括系统管理员、学工管理员、班主任、学生.
图2 系统管理用例
2.3 系统管理
基于SSH框架的学工管理系统的硬件系统架构如图3所示.根据该系统整体需求,基于SSH架构设计与实现的学工管理系统主要五大功能模块,如图4所示.
图3 硬件系统架构图
3 系统设计
3.1 软件系统设计架构
一个优秀的软件系统具有接口丰富、易开发和易维护的特点.模块化是实现这些特性的前提.因此在设计本系统软件架构时充分利用模块化概念能够更有利于实现上述软件特性.
图4 系统管理功能结构图
软件系统主要由GUI层、业务逻辑层、数据处理层和数据库层四个层次组成.
首先,GUI层是面向用户的,向用户提供Web使用界面,主要包含功能集合树、显示表、各功能输入、查询、修改模版等.用户在GUI层可以与系统进行各种交互,使用系统的各种功能.其次,是业务逻辑层.业务逻辑层主要对用户的各项请求进行业务分类,并进入对应的业务处理逻辑中对GUI的请求进行处理,实现逻辑上的处理.再次,是数据处理层.这层实现对数据的处理.针对数据的处理,在本层实现了与业务相关的数据处理和数据库访问函数,实现对数据的处理和访问.最后,是数据库层.在本层实现了数据库的所有数据表和数据关系.软件系统设计架构图如图5所示.
图5 软件系统设计架构图
由于前三层和数据库层实际运行在两台不同的硬件计算机上,因此它们之间的通信是建立在数据库中间件的基础上.中间件是负责管理Web服务器和数据库服务器之间通信并提供应用程序服务的一种服务程序.由于中间件是驻留在Web服务器上,因此这种软件能够调用原本作为Web服务器数据库服务器间的外部程序或代码,这样可以让程序设计更加灵活.中间件可以进行查询.通过将查询传递到数据库并将输出编排为HTML页面的方式来工作.随后只需由Web服务器将HTML页面返回到Web浏览器,从而将信息显示给最终用户.
3.2 数据库设计
数据库设计的好坏直接影响着系统的开发与设计.在学工管理系统中,数据库设计主要是用SQL Server 2008进行设计的,在设计的前期还运用了Powerdesigner进行数据库的辅助设计.一个好的学工管理系统需要有一个健壮的数据库来支持,因此,数据库的设计是基于SSH的学工管理系统设计的重点之一.在Web系统中,后台程序使用SQL语句对数据库进行查询和读写来完成用户的操作.
3.2.1 数据库系统需求分析
数据库模型主要参考软件模型的模块化设计,对管理对象进行抽象,分离出不同的系统表来进行管理.根据分析,可以建立学生基本信息表、专业表、课程表、成绩表、学分表、毕业信息表、办公行政表等.以学生为对象的数据组成关系图如图6所示.
图6 以学生为对象的数据组成关系图
3.2.2 数据库的设计过程
数据库的设计结构是否合理、功能是否齐全直接影响到本系统设计应用程序的性能.因此,在设计过程中需要严格按照确定用户需求→数据概念模型的设计→逻辑结构的实现三个步骤进行.在数据库设计过程中,通过对应用环境和项目要求进行详尽的调查分析,使用多层数据流图和数据字典描述整个系统,并设计学务管理系统的E-R图.通过对学院学工管理系统的需求进行分析和联系之后,可以得到数据库系统的E-R图.以该系统的成绩管理子用例的E-R图为例,如图7所示.
3.2.3 数据库关键表单的设计
表单是数据库中所有的数据库对象,其设计工作直接影响着后期的操作.根据系统设计的需要将各个分E-R图对系统进行表单设计.在一个关系数据库的表单中,数据按照类似于Excel表格的方式组织,按行组成记录,每一列为一个字段.因此,在学工管理系统的设计过程中,设计人员需要根据系统需要对表单的形式、字段的名称、类型、长度、主键和外键等信息进行设计.
图7 成绩管理子用例的E-R图
以用户信息表为例进行说明.一个用户信息表包括编号、姓名、性别、出生日期、手机号、固定电话、电子邮箱、QQ、家庭信息这几项信息,本文设计了表1作为用户信息表.
表1 _用户信息表
其他诸如角色表、权限角色表、权限表、分栏表、部门表与上述用户表类似,这里就不赘述了.
3.3 系统管理的表视图
系统模块中共涉及七张核心表,同时它也不同程度的和教师用户,学生用户表之间都有相关的联系,分别是:角色表、权限角色表、用户表、权限表、用户信息表、分栏表、部门表,Powerdesigner中的系统管理pdm表结构如图8所示.
3.4 系统实现
主要从开发平台、程序结构图、项目模块页面几方面进行详细说明.
图8 pdm表结构图
图9 cdm表结构图
3.4.1 开发平台
学工管理系统采用Tomcat作为服务器、SQL Server2008作为数据库系统、Windows XP作为操作系统、pring2.0+Hibernate+JavaScript+struts2作为平台技术支持进行系统开发.
3.4.2 程序结构图
程序结构图如图10所示.
图10 stu OA程序结构图
stu OA为项目的名称,也是项目的根目录.Web Root为Web目录,包括图片目录images和JSP文件.WEB-INF目录、lib目录及web.xml依然为固定的目录和文件.Src目录包含类似Action包、Service包、DAO包、Test包、Model包等包文件和 applicationContext.xml、struts.properties、struts.xml等配置文件.
3.4.3 项目模块页面
在电影《疯狂的石头》中,一块价值连城的祖母绿让众人为之疯狂,在现实生活中,也有一种这样的宝贝,从二十几年前的每块三、五元,飙升到现在的每克拉千元以上,价格数十倍于黄金。20多年间其身价翻了上千倍,让不少当地老百姓“暴富”,出现拿一块石头换一辆宝马车甚至一套好房子的现象……而造就这一切的,就是昌乐蓝宝石。
学工管理系统的核心模块是系统的管理功能,该功能主要是针对用户权限进行管理的.该系统有学生、班主任、学工管理员、系统管理员等不同的用户,用户不同权限就不同.
⑴ 系统用户登录页面
根据用户的类型不同,进入不同的操作界面.
图11 系统用户登录页面
(2)人员角色添加管理页面
点击“添加”链接,如图12,管理员对系统中各角色的用户进行添加.
图12 人员角色添加管理页面
4 系统测试
4.1 测试环境的配置
测试环境的配置按照下面四个步骤进行:
(1)安装JDK和 My Eclipse6.5、Tomcat6.0、SQL Server2008;
(2)在tomcat6.0下的webapps目录下将stu OA.war拷到下面;
(3)启动tomca,在登录http://ip地址:8080/stu OA/login.jsp后到达项目根目录;
(4)发布成功后即可进入登录页面.
4.2 系统的功能测试
以用户管理信息系统为例进行测试,本模块使用等价值划分法、边界值法和场景法进行测试.首先进行测试项等价类划分,由于测试项众多,因此只列出典型值作为示例.如表2所示.
表2 用户管理信息系统等价值划分表
将表2中的最大值、最小值进行提取,就可以得到边界值.经过测试,用户管理信息系统工作正常,对各种有效输入响应结果与预期一致.
4.3 系统的性能测试
系统的性能测试主要是对多用户并发时在系统响应速度、资源使用情况、网络吞吐量方面进行的测试,主要是为了检验系统性能是否符合设计需求.目前,Load Runner是业界公认的测试软件,该软件能够通过模拟实际用户的操作行为和实行实时性能监测的方式来确认和查找问题,是一种预测系统行为和性能的负载测试工具,能够对整个企业架构进行测试.基于SSH框架的学工管理系统的性能测试结果如图13所示.
图13 基于SSH框架的学工管理系统的性能测试结果
5 小结
本系统提出了以SSH2框架作为开发技术、SQL Server2008数据库作为数据库系统、Tomcat作为服务器、Windows XP作为操作系统、Spring2.0+Hibernate+JavaScript+struts2作为平台技术支持的基本方案.首先对高校学工管理系统的现状进行分析,指出基于SSH框架的系统设计架构、数据库设计和系统的实现过程,并对系统进行测试验证.实验证明该系统具有界面友好、使用方便、设计先进、通用性好的特点,基本达到系统预期的设计目标.但由于系统设计时采用的基础构件较为简单,易于调整设计,因此对于后续的开发者可以根据实际情况大幅度地修改系统,以满足不同院校或机构对不同管理的需求.
参考文献:
[1]冯鹏.基于SSH的教务管理系统的设计与实现[D].电子科技大学,2008.
[2]董萍.基于B/S模型的高校学务管理系统的设计与实现[J].沈阳工程学院学报:自然科学版,2014,10(03):260-265,270.
[3]秦衡.基于SSH2的学生信息管理系统的设计与实现[J].科技信息,2010(1):833,817.
[4]林喆.基于SSH架构的学生信息化管理软件的设计与实现[D].电子科技大学,2011.
[5]张兴科.基于J2EE的框架技术研究与应用[J].计算机与数字工程,2011,39(06):68-71.
[6]刘茜.基于SSH框架毕业实习管理系统设计与实现[D].厦门大学,2014.