吴明阳,王森琛
(山西应用科技学院,山西 太原 030062)
随着我国信息化工程的日益进展,企业间信息系统的使用也日益普遍,对信息化的要求水平日益提升,从而形成了一系列的问题:各行业信息系统之间相互隔绝,数据资源分散,造成了信息孤岛,企业的协作效能遭到抑制;不同的应用系统并没有一致的目标用户、流程逻辑、数据模型以及安全机制。所以,根据本课题研发的客户服务管理系统,作为中小企业协同工作平台的主要部分,它的研发有着很大的现实应用价值。
SSM框架包含Spring MVC、Spring、MyBatis 三个框架。
SpringMVC是一个基于MVC模式的增强型web管理模块,属于Spring结构中的一种。如果开发Web项目时使用了Spring框架,就可以很方便地组合SpringMVC,基本上实现了零配置。
SpringMVC的工作流程:用户发送一个被web.xml中的前端控制器截获的命令;相应的适配器通过HandlerMapping处理器映射处理进行匹配;适配器通过调用对应的Controller控制器进行业务处理;控制器调用该处理将ModelAndView模板和视图返回给DispatcherServlet发送者,然后发送者调用显示分析器以分析建模视图,将页面和相应信息返回给用 户[1]。
Spring是在J2EE标准技术的基础上发展起来的一组框架,所以它支持J2EE的所有技术,而且还额外提供了很多其他好用的功能。Spring包括支持依赖注入的IOC(InversionofControl,反向控制)功能,因此可以大大减少表示层、商务层和数据层的组合,所以程序员只需针对接口编程即可。
Mybatis是一个使用Java软件设计语言的ORM层软件结构。Mybatis事实上就是IBatis,它是由IBatis更名而来的。2010年,iBatis项目管理从Apache软件基金会中搬迁到了谷歌代码中心,并正式命名为MyBatis;2013年,项目改组后使得Github项目包含MyBatis项 目[2]。
Mybatis是一种高级的持久层结构,支持高级映射、数据库进程和自定义SQL。MyBatis不仅免除了基本全部的JDBC编写代码,并且也无需自动读取结果集和设置参数。由于Mybatis可以使用单一的XML符号或语言来反映和配置对象信息。因此,用Java模式直接映射POJO对象(PrinOldJavaObject,通常的Java对象)和数据库内的文本字段和记录的接口很方便。
要使用Mybatis的结构,首先需要获取SqessilsonFactory实例。SqlsessionFactory实例由SqlSessionFactoryBuilder的合成方法生成,该方法在与Mybatis对应的XML配置文件中配置。
传统的SSH架构主要指三种重要架构:Struts 2、Spring和Hibernation,而本文中的SSM架构主要指三种主要架构:Spring MVC、Spring和Mybatis。业务层用的也是Spring架构,所以SSM框架相较于SSH框架的优势主要体现在SpringMVC比Struts2的优势和MyBatis比Hibernate的优势上[3]。
1.4.1 SpringMVC的优势
比较SpringMVC和Struts2,SpringMVC的优势主要表现在以下几个方面:
(1)Struts2是类型层级的截断,每一种类型都相应一条request左右文,而SpringMVC则是方式层级的截断,每一种方式都相应一条request左右文,所以很易于完成restful风格的接口;
(2)Struts2是多组例子,按每个请求创建一组操作对象,类属性可以被与方式共用,而SpringMVC则是单例子的,只是一组例子,方式与变量并不共用,不用每次都新建对象并销毁,所以速度更快、性能更好。
1.4.2 MyBatis的优势
MyBatis相比于Hibernate的优点,主要表现在:虽然Hibernate是将整个数据库给封装好之后,自动产生SQL语言,但是对于数据库临时的表结构和字段的改变能力却比较薄弱,SQL语言优化比较困难。而MyBatis的SQL语言则是自动编译的,使用的是最原始的数据库使用语言,从而既能够实现更加详细的数据库优化,也能够减少查询字段,从而具备高灵活性、可优化、易于维护的优点。
信息系统总体设计是从业务发展要求到功能完成的重要流程,因此本节重点在系统总体设计构架上展开系统设计,从总体设计框架、运行结构、网络框架、单点上线等几个方面设计系统构架,并设计了信息系统功能结构图,阐明了信息系统建设的内涵和数据库表的组成。
系统总体架构采用了Spring技术和Java技术。外部门户上,通过设计的企业级网页,展现了企业形象与产品等信息,是提供给内部用户、外部顾客、外部供货商等的信息入口。
内部网用户在登录后,可以访问公司内部门户处理工作,外部顾客在登录后可以进行咨询和交互[4]。供应商登录外网后可以进行相关查询与投标工作。内门户网站主要为企业内部人员的工作平台,主要提供通过登录平台进入咨询中心、文件中心、待办综合、内部邮件信息管理等应用领域,以完成企业各类应用领域整合,并可管理企业内部门户网站展现信息内容等。内门户网站还按照使用人群的分类,设计了企业门户网站、政府机关门户网站、个人门户网站等三类不同层级的门户网站应用领域。框架支持层是对整个系统的支持,AD完成对内应用数据信息管理和验证信息内容的管理工作,通过SPS技术实现系统内门户网站版式的构建、门户网站内容管理。网络平台上每个应用领域均建立共同统一应用领域、共同统一角色管理机构。而数据分析信息的整合工作机制则是运用SSIS信息技术,统一完成对内所有数据分析、信息的获取、交换和加载。
外部门户上,通过设计的企业级网页,展现了企业形象与产品等信息,给内部用户、外部顾客、外部供货商等信息入口。内部用户注册后,即可进入公司内部门户,完成工作处理。一旦外部客户进来,他们就可以进行研究和互动,且在外部供应商进来后,他们就可以进行研究和投标。内部门户是内部员工的工作平台。在进入OA和电子邮件的机制上提供单一信号,可以对客户和供应商进行个人办公和服务管理。内部用户的主要应用支持包括简单的登录、时尚引擎、工作流引擎(程序批准)、第三方应用数据的数据接口管理。框架支撑层主要支撑整个系统。Ad管理用户数据和身份验证信息。系统结构由Struts 2、Mybatis、Spring和CXF web服务集成。
2.3.1 认证机制设计
所有用户信息统一保存在AD中,认证服务在服务器上的单一信号上运行,对用户进行认证并生成身份说明;为了保持用户友好性,将提供一个独立的用户管理应用程序来支持。第三方应用程序和内部门户之间的交互将通过三次握手完成。
系统认证机制结构解释如下:当用户进入系统并在服务器上传递唯一信号时,需要认证服务来确认用户的身份;同时,生成有效的身份描述,访问包括内部门户系统、办公系统、第三方系统在内的综合单点功能系统和其他系统功能;然后调用用户的身份验证服务,返回身份验证结果,并执行与系统相关的处理。
2.3.2 第三方应用同步用户机制设计
平台使用操作系统对所有角色进行统一的集成管理,实现角色的集成管理。不同系统的角色互不影响,不同系统中角色的具体权限是自定义的。集成机制如下:作用同步机制用于统一不同业务系统的作用信息,实现统一的作用管理。具体应用:系统提供滚动同步服务。第三方系统需要开发用于执行添加、抑制和改变角色信息的接口,统一调度的系统同步服务,并执行角色数据的同步处理。该功能可以对需要进行统一角色管理的各种应用系统信息进行统一维护和管理,包括添加、删除和编辑功能。角色管理包括添加、删除和编辑角色等功能。
系统允许第三方应用拥有自己的用户管理,系统为第三方应用提供同步服务;同步服务定期工作,以保持第三方应用程序用户和门户用户的信息同步,并执行单一信号。
数据库是对客户信息进行管理和存储,其对于客户的管理和客户服务系统的设计具有重要的作用。因此,对于数据库的设计必不可少。对于数据库的设计分为加密技术设计、实名认证技术设计和密钥管理。
(1)加密技术
我国加密技术的应用比较成熟,能够在一定程度上保证计算机网络数据库的安全,但我国的加密技术等级不太高,存在黑客入侵的现象。因此,在客户服务系统设计中,必须要对数据库进行加密设计。加密方法主要有静态加密和动态加密两种。静态加密是指修改数据证书,加入密码验证步骤,在使用和修改时,要求必须输入正确的密码。动态加密是借助动态数据流进行加密,让有权限的用户进行访问。动态加密相对于静态加密比较复杂,但能够更好地保证数据的安全。现今趋势下理应加强动态加密的使用,优化动态加密模式,降低加密的操作难度,提高加密等级,保证客户信息的安全。
(2)实名认证技术
因为信息被许多用户共享,无法区分其对信息是否构成威胁,所以,采用实名认证对用户的身份进行确认,对信息的收集、处理和登录进行相关的优化,可以提高对用户身份识别的能力,以此拦截非法用户,提高信息的安全,防止信息被窃取和泄露。对用户进行实名认证,必须要对登录系统、网络连接点和数据的选择进行优化,采用指纹验证、面部识别等技术,从而保证用户身份的正确。同时,也应根据用户的身份,设置相应的权限,控制信息的访问,保证客户服务系统数据库的安全。
(3)密钥管理技术
密钥管理技术是利用先进的管理技术来对计算机网络信息安全进行管理,让信息能够安全传输。密钥管理技术包括SKIP和ISAKMP两种技术。SKIP技术利用相应计算法则等技术来进行信息的传输,而ISAKMP将两把密钥分给交互双方,利用特殊通道进行传输,从而确保了信息传输的安全,从而能够将信息传递给客户,也保证信息在传输过程的安全。
系统测试是指根据设计的软件系统对数据的功能性和完整性进行的完整测试,以验证其是否满足用户期望和初始设计目标。本文件将测试数据和功能的完整性,以验证功能、数据和系统其他方面的正确性。系统测试确保系统功能的正常动作和数据的正常显示,是系统功能开发的总结和检查,决定了系统开发是否正常。它也是考察系统的重要指标,具有很大的使用价值。系统测试一般都是在系统广泛应用前,通过相应的软件测试,尽可能地发现该系统中存在的问题,从而能够及时地修改,保证系统的使用质量。系统测试的目的是开发出高质量的系统,让系统更加符合客户的需求。因此,对于客户服务系统开发而言,必须要进行系统测试,且通过对客户服务系统的测试能够及时地发现错误,并积极解决存在的问题。系统测试是软件生命周期中横跨两个阶段的过渡阶段,一般情况下,都是在系统程序编写完成后,对每个模块进行必要的测试。通过对每个模块的单元测试,能够及时地发现模块在运行过程存在的问题。而且在模块的编写和测试中,必须要保证测试和编写人员是同一个人或者同一个单位人员。一般的,对于客户服务系统进行综合测试,采用专门的测试人员承担这项任务,从而能够更加准确、及时地发现系统存在的问题,更容易解决其存在的问题,最终把一个高质量的系统交给客户使用。
3.1.1 测试目的
按照系统需求及设计要求,先建立了详尽的系统测试计划和测试用例,然后再经过试验确定系统功能上是不是合理,是否达到了最初设定并能够正常应用。如在试验过程中发现了错误,就必须加以修补和完善;如果是性能上的问题,就必须进行优化。通常分为功能测试、数据完整性检测、特性检测、压力试验等。
3.1.2 测试范围
本次测试涵盖了客户服务系统的所有功能,重点是客户查询、应用计划管理、客户投诉管理等功能模块。
3.1.3 测试环境配置
客户服务系统的软硬件配置要求如下。
(1)系统服务器配置
服务器硬件CPU 4GB以上、存储器8 GB以上、存储空间推荐硬盘500 GB或1T、网络带宽10 M以上、软件操作系统Linux、Web应用服务Tomcat7.5、数据库系统Oracle数据库。
(2)客户端配置
WEB侧操作系统Win7以上,CPU和存储器都2 G以上,浏览器Internet、Explorer版本 8.2以上。
3.2.1 测试目标
基于系统需求分析,确定系统需要实现的功能和实现的性能目标,设计具体的测试用例,通过测试过程判断系统数据处理、显示前后是否一致、正确。
3.2.2 测试方法
添加和删除数据时,请确认前台的数据是否一致;在数据变更过程中,确认数据变更是否成功,是否进行了数据类型的验证;数据查询的速度是否符合用户要求。
3.2.3 测试范围
所有用户能够访问和维护模块的数据。
3.2.4 完成标准
数据输出与预期一致,正确显示、保存。
3.2.5 测试用例
质保书查询。
3.2.6 前置条件
正确的用户名和密码登录进系统。
3.2.7 测试步骤
①产品分为五大部分:螺纹管、普圆、碳结圆、高线、二棒,选择螺纹管。
②客户可以根据批号、炉号、订单编号、车牌号、发货时间段等查询条件来查询相关产品的质保书。
3.2.8 预期结果
可以正常展现查询结果。
3.2.9 测试结果分析
用户可以看到质量保证书的检索结果,与预期一致,测试显示该功能数据的完整性正常。
测试人员根据设计团队、管理团队制定科学、有序、完整的测试计划,按照测试流程设计测试用例,严格按照测试规范执行测试任务。在软件测试过程中了解系统需求文件、设计文档等,并通过和开发人员进行交流互动,从而更好地了解系统需求以及所要实现的目标,对客户服务及管理系统各业务功能模块进行检测,并对出现的BUG进行修正,不断完善管理系统各功能,以便达到管理系统设计中最初的目标,使各功能都得以顺利使用。在进行多次测试后,系统会正常运行,不会发生致命错误,决定了可以在网上正式发表。
论文重点围绕服务水平管理工作开展深入探讨,并着重阐释了项目课题的研究背景,对服务需求开展了深入分析,最后设计、完成和试验了服务管理的系统功能。系统一般采用了J二EE技术,采用SSM架构开展深入探讨,采用了B/S访问模型。采用了当前最主导的AjaX信息技术、XML信息技术、Webservice信息技术,以改善用户使用感受。文中着重研究了系统总体设计框架、应用结构、信息技术框架、网络结构、单点登录方式和功能架构等,并设计了系统数据库,最后实现了系统数据完整性试验和功能测试。