唐小玲

(四川工业科技学院,四川 德阳 618000)

对于企业而言,企业核心竞争力主要通过“资质”来体现,很多企业参与投标也会将资质信息作为标书的一部分内容,使客户可以透过资质了解企业实力。资质管理在企业中负责资质原材料管理,具体包含原材料储存、外借等,传统资质管理模式不仅工序繁琐,也无法保证资料的安全性,还会浪费企业资源。当企业业务领域拓宽之后,运营规模也随之扩大,原来资质管理不再适用于当前企业管理需求。企业转型升级之后,信息化建设成为新的目标,利用各项信息数据,推进企业管理自动化、数字化与智能化。在此基础上企业资质管理开始与信息化融合,构建资质管理系统,提高资质材料管理效率。企业构建资质管理系统时,SSM 框架的效果最为理想,本文在SSM 框架基础上开发资质管理系统,为企业资质管理工作提供支持。

1 SSM 框架与相关技术

企业开发资质管理系统,SSM 框架作为开发工具,是由Spring、SpringMVC、MyBatis 这三个开源框架组成。以往企业开发系统采用SSH 框架(Struts+Spring+Hibernate),相比该框架SSM 框架采用轻量级配置,并体现了注解开发的优势,ORM 更具灵活性,SQL 也到很大改善[1]。SSH 框架的重点在于配置开发,Hibernate 在JDBC 封装性上,更多是面向对象,增删改查数据维护在实施中也更加自动化,然而SQL 优化效果却不是非常理想。结合当前SSM 框架在资质管理系统开发中的应用经验,相关技术分析如下:

1.1 Spring

Spring 为轻量级开源框架,其中IOC 容器与AOP是该技术的核心,见图1。应用IOC(Inversion of Control,即控制反转)进行系统设计,IOC 对于已经完成设计的对象,转移至容器控制,容器具有创建、查找依赖对象的功能,同时可注入到组合对象中[2]。AOP(Aspect Oriented Programming,面向切面编程),在系统设计中提取与系统有关的编程,保证独立性的同时,利用切面切入系统之中,以免业务逻辑代码混合了其他系统逻辑。

图1 Spring 框架

1.2 Spring MVC

Spring MVC 框架为轻量级Web 框架,设计前端控制器模式时,也利用该技术设计请求驱动框架,见图2。

图2 Spring MVC 框架

1.3 MyBatis

MyBatis 是在iBatis 基础上延伸而来,属于持久层框架,见图3。应用中通常只需要了解SQL,无需花费大量精力处理JDBC 过程代码[3]。MyBatis 利用XML、注解,可对待执行statement 进行合理配置,同时采用Java 对象、statement 的sql,映射之后可形成sql 语句,再利用MyBatis 框架便可完成sql 的执行,结果映射为Java 对象后便可返回。

图3 MyBatis 框架

2 资质管理系统设计方案

2.1 系统架构

资质管理系统架构需要在B/S 架构、SSM 框架基础上展开设计,由前端界面层、后端Web Service 层组成[4]。界面层联系用户,浏览器内用户按照需求执行对系统的操作,向应用层传输HTTP 请求,应用层处理请求之后在界面层显示处理结果。Shiro 技术认证前端传输数据,认证之后的数据向后端Web Service 层传输。Spring 容器、Activiti 工作流引擎会存在于Web Service 层之中[5]。

2.2 系统功能模块

资质管理系统的功能模块设计需要用到类图(class diagram),代表系统内部静态结构。类图即提高了程序代码和数据库数据结构的规范性。资质管理系统功能模块包括技术人员资质模块、企业资质模块、系统管理模块等[6]。技术人员资质模块用例核心类表示,分为Qualification Controller 类、Qualification Service 类、技术人员类、技术人员资质类,技术认证类、上传文件类、下载记录类、生成文档类、反馈信息类、PicWordDAO 接口等。其中Qualification Controller 类负责校验请求参数、用户权限,调取Qualification Service 类的业务逻辑和Dao接口数据库的各项操作。

2.3 系统数据库

因为MySQL 的体积不大,且运行速度非常快,具有开源免费的优势,资质管理系统开发应用MySQL 这一关系型数据库,一般会在数据库表中储存资质管理所需的各项数据。设计数据库时,已经简化处理的原始信息进行转换,为需要信息项目提供支持,定义表列属性也更加详细,资质管理系统内有存储需求的类,也可转换为关系型数据表。基于需求分析期间形成的领域模型可以直接生成核心类。按照需求分析用例,还可通过核心用例设计数据库。核心数据库表包括用户信息表、技术人员信息表、企业资质信息表、角色信息表等。

2.4 SSM 框架整合

构建资质管理系统架构,可实现系统内部所有模块功能,此环节需要用到jar 文件、源码包、mvc-dispatcher-servlet.xml 文件等,整合SSM 技术框架。其中mvcdispatcher-servlet.xml 文件在系统中依靠自动扫描控制器实现相关的功能,自动化搜索类,对相关对象进行初始化处理。经过框架整合后,在其中导入源码包,便可构建完成资质管理信息系统的架构。

2.5 管理模块设计

资质管理系统中的管理模块,包括登录认证模块、用户权限模块、角色管理模块,负责用户注册账号、账号与管理、系统各个角色管理等工作。要想使资质管理系统运行更加安全,管理模块设计应该在用户角色访问控制基础上展开,即系统管理员负责管理模块的各项操作。如果有用户想要登录系统主页,判断其角色,若确定非管理员,便会对其隐藏管理模块入口。登录认证模块的设计时,用户面对系统显示的登录界面,输入账号、密码后可进入。SpringMVC 框架中包括DispatcherServlet,主要负责接收用户提出的各项请求信息,以此为依据利用URL 调取LoginController 包含的login 方法,认证用户信息。用户权限模块设计时,尽管安全框架有通配符负责权限校验,然而在设计过程中依然需要紧密联系企业中的业务授权模块,划分模块权限,再进一步分配给每一名用户,如管理员、销售、普通用户等。角色管理模块的访问者只有管理员,负责在资质管理系统中增删角色。一般管理员联系企业业务的具体需求,在系统中添加相应的角色信息、分配权限。管理员在角色管理页面中调取SysController 中list,由该方法包含的Dao 中selectAllUalidList,获取相应角色的信息,向前段反馈。最后储存角色信息,SysController 的addRo1e 中post 可以处理角色信息。

3 资质管理系统测试

资质管理系统设计之后,需要对各项功能进行测试。因为PowerBuilder 可以在系统测试时,发现代码错误,所以系统设计过程中,便已经完成所有代码测试。资质管理系统测试的重点,在于数据,测试时分析可能会漏掉的条件,并输入合理性差的数据,已经明确的数据也需要输入系统中及时检查结果,对比提前计算的一致性。经过上述流程,可以纠正资质管理系统存在错误,从而在SSM 框架基础上完成资质管理系统开发。

3.1 登录模块

登录功能测试阶段,针对用户注册、登录、密码修改等功能进行了测试。测试人员分别采取填写注册信息、输入不同的密码、输入空密码、填写错误的原密码等形式进行功能测试,最终测试结果均与系统设计预期一致,而且能够保证登录模块运行的功能。

3.2 技术人员资质模块

对于技术人员资质功能进行测试,测试内容包括添加信息权限、技术人员与资质信息、查看信息与身份证、信息查询、下载等。测试过程中从管理员审核权限、下载模板、删除资质信息等发方面进行此模块功能的检验,测试结果与设计预期相符。

3.3 企业资质模块

对资质管理系统中企业资质模块进行测试,测试内容分别为企业资质信息、信息查看、信息下载、信息删除等。测试人员在系统测试阶段,输入显示的所有信息、查看详细的企业资质信息、根据不同条件查询信息、将企业资质信息删除,最终测试效果与系统运行功能一致。

3.4 非功能性测试

资质管理系统测试阶段,系统功能实现进行验证。对于非功能性的测试,主要是针对资质管理系统性能、安全性、兼容性等进行。当结束了非功能性测试之后,系统开发人员与测试人员,综合分析非功能性测试所得结果,如果测试发现与预期结果不符,便要对相应的功能进行改进。下面针对资质管理系统功能浏览器的兼容性和性能进行测试,测试结果如下:(1) 测试目的。资质管理系统的所有功能,分别检验所有功能在火狐、IE8 等浏览器中的有效性;(2) 测试用例级别。此项功能的测试重点测试兼容性;(3) 测试流程。资质管理系统的测试人员,分别利用Chrome、IE8、360 等浏览器进行功能测试。测试之后,确定各个浏览器页面布局不存在异常,而且所有功能均得到实现,满足资质管理系统兼容性要求。

总而言之,资质管理系统最大的作用在于提升资质管理工作效率,利用系统中业务方面的需求,并对比所有框架技术。系统设计与开发采用SSM 框架,搭建系统技术架构,使资质管理系统页面更为丰富,并将资质管理原本的操作流程加以简化。通过UML 建模语言(图4)所包含的用例图,总结资质管理系统功能需求,结合资质管理系统开发的目标与要求,在系统设计之前必须要搭建好SSM 框架,并在框架中融入Activiti、Quartz、Shiro等技术。除此之外,开发人员还应该科学掌握所有系统开发方法,在资质管理方面实现所有资质搜索、下载,按照系统中查询所得结果,确定下载资质信息。资质管理员向所有用户分配相应的权限,普通用户不能在系统中直接下载资质信息,而是必须通过了资质管理员审批方可下载。

图4 UML 用例图

4 结论

综上所述,企业资质管理在开展信息化、自动化转型期间,为了使原本的资质管理模式转变为自动化管理,非常注重资质管理系统的开发。设计系统过程中,针对企业资质管理的各项业务需求,采用SSM 框架,制定资质管理系统开发、设计方案。资质管理系统在企业中运行、应用,不仅可以提高资质管理工作的效率,还可以推进资质管理实现自动化,减少人力资源耗损,也在企业管理基础上融入SSM 框架,资质管理员具有资质分配权限,在资质管理系统的帮助下,使资质分配、资质信息下载等更加高效地进行,将原本资质管理的业务流程简化,有利于提高企业资质管理水平。