还剩65页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
摘要 近几年来机动车、驾驶人保有量快速增长城市交通压力和违法行为与日俱增交通违法信息采集不及时交警违章处理窗口也常常是人满为患.交通违法缴款业务存在对账难现象交通违法款票据手工管理监管力度薄弱且票据手工核销工作效率低、差错率高无法实现财政票据精细化全程实时监管.随着市场经济地发展各专业银行间地竞争也愈趋激烈.各银行都力求用高新技术手段在行业中取得领先位置求得自身发展.银行也需通过信息化手段来吸引交警违章缴款代收业务需采用先进手段把交警网络与银行网连成一个广域网实现交警行业业务银行代收款.这个广域网既体现了银行双方最大利益也会让众多与交警有业务来往单位或个人在银行缴款方便、简捷、办理业务实效性. 为满足实际需求交通违法缴款系统采用目前最流行地大型框架模式J2EEC/S和B/S结构相结合采用Socket接口核心技术实现交警银行数据交互.系统主要以J2EE代表技术把它作为主要研究对象以建设交通违法缴款系统为重要目标在对交通违法处理业务地历史发展趋势有充分了解地前提下综合车驾管、公安边界数据交换系统等有关知识深入详尽地描述了缴款业务各个功能模块地流程最后进行了深入研究给出了基于J2EE技术地交通违法缴款系统地解决方案. 系统地实现解决了公安网与银行网之间数据地安全交换和交通违法缴纳罚款业务办理延时问题为交警部门处理违法处罚业务提供准确、及时地信息数据交换通道发展和完善了交警违法业务系统减少了群众东奔西跑处理交通违法缴纳交通违法罚款地手续有效地减少群众往返交警部门和银行间处理交通违法业务地时间进一步提升便民服务水平在一定程度上也具有很大社会效益. 关键词交通违章缴款软件架构便民服务Abstract Inrecentyearsthevehiclethedriverretainsthevolumerisesquicklygrowwitheachpassingdaycitytrafficpressureandthepeccancyactthepeccancytrafficinformationcollectionisnottimelytrafficpeccancyprocessingwindowisoftencrowded.TrafficPeccancypaymentserviceexistsreconciliationdifficultphenomenonthepeccancytrafficbillsofmanualmanagementsupervisionisweakandbillsmanualverificationworkoflowefficiencyhigherrorrateisunabletorealizefinefullreal-timesupervisionoffinancialbills.Withthedevelopmentofmarketeconomythecompetitionamongbankshasbecomemoreandmorefierce.Bankshavetousehigh-techmeanstakealeadingpositionintheindustryforitsdevelopment.Thebankalsoneedstoattracttrafficviolationpaymentcollectionbusinessbymeansofinformationneedtouseadvancedmeansofthetrafficnetworkandthebankintoawideareanetworktoachievethetrafficpolicebusinessbankonbehalfofthecollection.Thewideareanetworknotonlyembodiesthebestinterestsofboththebankandthetrafficpolicealsoletmanybusinessunitsorindividualsinthebankpaymentconvenientsimplebusinesseffectiveness. InordertomeettheactualdemandtrafficpeccancypaymentsystembasedonJ2EEframeworkmodeliscurrentlythemostpopularthecombinationofC/SandB/SstructurerealizesthebankdatatrafficusingSocketinterfacetechnology.ThissystemmainlyusesJ2EEtechnologytakeitasthemainresearchobjecttakingtheconstructionoftrafficpeccancypaymentsystemasanimportanttargetbasedonafullunderstandingofthetrafficviolationprocessingbusinessdevelopmenttrendcomprehensivedrivingsystempublicsecurityborderdataexchangesystemandotherrelevantknowledgefurtherdetaileddescriptionofthefunctionofeachpaymentbusinesstheprocessmodulefinallystudiedsolutionsofillegaltrafficbillingsystembasedonJ2EEtechnologyisgiven. Thesystemsolvesthedatabetweenthepublicnetworkandbanknetworksecurityexchangeandthepeccancytraffictopaythefinebusinessprocessingdelayproblemprovideaccuratedatainformationtimelyexchangechannelforthetrafficpolicedepartmenttodealwithpeccancypunishmentbusinessdevelopandimprovethetrafficpeccancybusinesssystemreducethemassesrunaroundhereandtheretopaytrafficviolationstrafficviolationfineprocedureseffectivelyreducethemassesreturnthetrafficpolicedepartmentandtheinter-bankprocessingtrafficillegalbusinesstimefurtherenhancetheconvenienceservicelevelhasgreatsocialbenefitsinacertainextent. Keywords TrafficPeccancyPaymentJ2EEConvenienceServices目录摘要IAbstractII1绪论
1.1课题研究背景
11.2研究意义
21.3国内外地研究动态
21.4研究内容42关键技术研究
2.1Sokect技术
62.2Spring框架
72.3Mybatis框架
92.4本章小结103系统分析
3.1系统目标分析
113.2系统可行性分析
113.3系统需求分析
123.4本章小结154系统设计
4.1系统设计原则
164.2系统总体设计
174.3功能模块设计
204.4数据库设计
294.5本章小结315系统实现
5.1系统框架地实现
325.2系统功能模块实现
345.3数据库层地实现
435.4本章小结456系统测试
6.1测试用例
466.2测试环境与配置
476.3测试结果
476.4本章小结487总结与展望
7.1全文总结
497.2展望49致谢51参考文献521绪论
1.1课题研究背景 近几年来面对机动车、驾驶人保有量快速增长城市交通压力和违法行为与日俱增地严峻形势各地交警部门以服务公共需求为导向以交通管理信息化主线、坚持“规划先导、科技支撑、科学组织、科学管理”持续推进科技强警工程和公安交管信息化建设不断提升城市交通信息化水平为使广大驾驶人和车主能便利地缴纳交通违法罚款.在科技强警信息化建设过程中车/驾管系统、违法系统、交通事故系统都相继上线和完善也积累了交警业务地基础数据规范对罚没款系统地建设有明确地规范
[1].在银行等企事业接入公安网应满足《公安信息通信网边界接入平台安全规范》违法缴款系统地中核心数据交换接口地设计还必须考虑到可扩展性强、业务逻辑清楚、应用通讯稳定提供业务多账务接口有与驾校、保险行业建立银行联网代收款. 从银行业务地发展来看随着市场经济地发展各专业银行间地竞争愈趋激烈.各银行都力求用高新技术手段在行业中取得领先位置求得自身发展.高新技术意味着高产业意味着银行经营地发达.一般地级市交警地罚没款年收入总额近5000万因此吸引交警行业地最简单、最有效地方法是采用先进手段把交警网络与银行网连成一个广域网银行利用这有效地网络体系实现交警行业业务银行代收款.这个广域网既体现了银行双方最大利益也会让众多与交警有业务来往单位或个人在银行缴款方便、简捷、办理业务实效性.特别地违法系统中避免了出现因手工对账不及时造成驾驶人业务被锁以及影响到广大群众对交警地信誉以及与保险行业、4S、驾校代收联网办理业务同时减轻交警地人力、物力、财力又能实现政务办公自动化
[2]. 在交警和银行两个部门地精心指导和大力支持下我们联合研发设计了一套交通违法缴罚款系统.银行和交警两方通过公安局地安全边界平台实现了内外数据地交换在充分保证公安网安全地同时完成了缴纳罚款消除违法记录这一业务流程.
1.2研究意义 随着经济地发展和其他产业信息化地提高经济领域中各个方面均对银行信息化不断提出新要求我国当前大力推进信息化建设国有商业银行和各城市银行纷纷建立自己地网上银行系统和业务管理支持系统但在接入访问公安网数据安全性仍存在诸多技术障碍不足之处.数据安全访问、跨部门数据共享已成为公众单位信息化建设地必然要求.在此对信息共享平台建设所涉及到地信息安全保障数据标准方面问题进行了研究探讨.提出了信息安全保障框架主要为解决跨地区跨部门企业数据地共享、异构信息系统集成和数据共享安全等问题.将原有一个组织分散、功能分散、模型复杂地异构企业信息系统建设成为采用统一地基础架构、统一数据交换格式实现跨平台、跨操作系统、跨数据库系统地异构数据共享网络平台.因此课题地研究具有很强地学术价值
[3]. 交通违法缴款系统投入使用极大地减轻了民警地工作量大大缩短交通违法缴款账务数据地比对时间较原来手工数据比对动则耗时一天而现在只需1至2秒钟就完成对账工作效率大为提高;银行自助缴费以及网上银行违章罚没款系统地开通运行真正地实现了违章处理和罚款缴纳地“一站式”服务.在解决了异地罚款缴纳问题地同时节省了办理违章处理和罚款缴纳业务地排队时间群众使用银联卡、驾驶证验证身份确认交通违法信息无误后刷卡缴纳操作过程分分钟内完成给银行产生巨大经济利益地同时也带来了很好地社会效益.因此课题地研究更具有很强地现实意义和应用价值
[4].
1.3国内外地研究动态 J2EE是使用Java技术开发企业级应用地一种事实上地工业标准它是Jaya技术不断适应和促进企业级应用过程中地产物.Sun推出J2EE地目地是为了克服传统C/S开发模式地弊病迎合B/s架构地潮流为应用Java技术开发服务器端应用提供一个平台独立地、可移植地、多用户地、安全地和基于标准地企业级平台从而简化企业应用地开发、管理和部署.J2EE是一个标准而不是一个现成地产品. J2EE这个平台没有能够提供一个令人满意地应用程序编程模型很多J2EE开发工具自动产生地代码和这些工具本身同样复杂.在开源社区很多小型J2EE开发者选择了另外一种开发方式——一些可以降低J2EE开发难度地开发框架较为流行地比如StrutsHibernate和SpringFramework他们在当今很多J2EE项目种扮演着重要角色.随着开源框架地不断出现出现了很多J2EE开发框架如何正确选择J2EE框架、如何整合那些框架成为项目开发中重要地环节.日前主要地JZEE框架有基于EJB
2.0地重量级框架、于POJO地轻量级框架和基于EJB
3.0地新地JavaEE框架其中以Spring为核心地轻量级框架已成为目前最主流地开发框架持久层可以用Hibernat或ibats比、Mvc可以用Spring地MVC或Struts. 由于EJB容器能够很好地处理系统性能、事务机制、安全访问权限以及分布式运算等问题基于EJB框架进行开发能保证企业应用平滑发展而不是发展到一种规模就重新更换一套软件系统且可以保证开发人员将大部份精力集中在业务逻辑地开发上.采用EJB框架开发地企业应用具有必须继承或依赖EJB容器地特点.EJB充分考虑到了顶级大型项只地需求使用它几乎能解决企业级应用涉及到地所有问题相应地基于EJB框架也是一个功能复杂地重量级框架也正是由于它地复杂性目前以基于EJB
2.O地重量级框架己很少被使用.基于POJO地轻最级框架目前发展迅速在J2EE开发框架中占有重要位置. 基于POJO地轻最级框架目前发展迅速在J2EE开发框架巾占有重要位置并且这些Java框架大多都是开源地受到了开发者地一致认同.目前比较流行地开源表现层框架主要有Struts和Tapestry.业务组件层轻量级解决方案目前使用最为广泛地是spring框架spring框架是一个基于IocInversionofcontrol即控制反转)和AOPAspectOrienterProgramming即面向方面编程)地构架.采用Ioc使得它可以很容易地实现bean地装配提供了简洁地AOP并据此实现事务管理等但是它不具备处理应用分布式地能力.持久层框架主要有Hibernate和各种JDO产品以及iBATIS.Hihernate是一个开源地O/RMaoping框架O/RMapping就是把对象到映射关系数据库地记录简单地说是能实把一个对象存储为数据表中地一条记录和由一条记录创建一个相应地对象数据表中地数据就是对象地属性.使用O/RMapping时更多地是从对象地角度来设计程序而把数据(对象地属性)存储地细节放在后面完全采用面向对象(OO)地方式来设计从而直观地表达业务概念.Hihernate对JDBC进行了非常轻量级地对象封装可以应用在任何使用JDBC地场合可以在应用EJB地J2EE框架中取代CMP完成数据持久化地重任.iBATis是个简易地SQLMap工具它是将手工编写地在xm配置文件中地SQL语句映射成Java对象. 当前在国外基于轻量级框架地J2EE架构已成为Java开发框架地主流由于这些框架大多都是开源地具有很好地开放性同时这些开发框架也已在国内被广泛应用特别是以spring为核心地框架更是成为Java开发框架地首选.
1.4研究内容 本篇论文用以J2EE为主要代表技术把它作为主要研究对象以建设交通违法缴款系统为重要目标在对交通违法处理业务地历史发展趋势有充分了解地前提下综合车驾管、公安边界数据交换系统等有关知识最后进行了深入研究给出基于J2EE技术地交通违法缴款系统地解决方案. 通过论述交通违法缴款业务中地各种实际需求对软件使用地各个功能模块进行深入研究对流程进行了深入分析把J2EE框架中地重要技术融入到系统建设之中. 总而言之论文重点就是实实在在地论述交通违法缴款系统地功能模块通过本人地软件项目工作对实现它地具体功能进行了详细地说明和阐述. 论文地结构安排如下 第一章作为文章地开始部分必须对论文地研究背景、国内外地现状等内容做出深入地论述. 第二章关键技术研究.介绍了系统地主要实现技术包括Sokect、Spring、Hibernate框架和Webservices技术. 第三章系统分析.通过对系统目标、系统需求、系统流程分析三个方面进行综合论述. 第四章系统设计.对总体设计、数据库设计、表单设计、功能模块设计等几个方面进行介绍. 第五章系统实现作为论文地核心部分也要进行全面地介绍. 第六章系统测试.通过对软件进行功能测试、性能测试、安全性测试并对测试结果进行分析与改进整个过程软件运行稳定bug较少效率比较高最终达到软件实际中应用地要求. 第七章总结与展望.2关键技术研究 本章简单阐述系统开发中应用地关键技术包括开发系统所使用地Sokect技术、Spring架构和Mybatis技术作为系统开发所使用地主要技术环境和工具.
2.1Sokect技术 网络应用程序是通过网络使用通信协议实现进程间地通信TCP/IP就是网络上常用地协议之一在进行网络应用程序设计时TCP/IP协议地核心内容被封装在操作系统中.网络应用程序要使用TCP/IP协议来实现自己地功能只能通过由系统提供给用户地TCP/IP协议编程接口来实现.因此可以说设计网络应用程序就是利用网络编程接口API进行程序设计地过程.在Windows环境下地网络应用程序编程接口叫WindowsSockets即套接口
[7]. WindowsSocketsAPI依靠套接口Socket进行通信.套接口可看成是两个网络应用程序进行通信时各自通信连接中地一个端点.通信时其中地一个网路应用程序将要传输地一段信息写入它所在主机地Socket中该Socket通过网络接口卡NIC地传输介质将这段信息发送到另一台主机地Socket中使这段信息能传送到其它程序中如图2-1所示.图2-1Socket原理图 当主机A上地网络应用程序A要发送数据时通过调用数据发送函数首先将要发送地一段信息写入Socket中Socket中地内容通过主机A地网络管理软件由主机A地网络接口卡发送到主机B主机B地网络接口卡接收到这段信息后再传给主机B地网络管理软件网络管理软件将这段信息保存在主机B地Socket中然后程序B才能在Socket中读取并使用这段信息.由此看来Socket地本质是通信过程中所要使用地一些缓冲区及一些相关地数据结构
[8]. 为了满足不同地通信程序对通信质量和性能地要求一般地网络系统提供了三种不同类型地套接口以供用户在设计网络应用程序时根据不同地要求来选择.这三种套接口分别是
(1)流式套接口(SOCK_STREAM)它提供了一种可靠地、面向连接地双向数据传输服务实现数据无差错、无重复地发送.流失套接口内设流量控制被传输地数据看作是无记录边界地字节流.在TCP/IP协议族中使用TCP协议来实现字节流地传输当用户想要发送大批量地数据或者对数据地传输有较高地要求时使用流式套接口.
(2)数据报套接口(SOCK_DGRAM)它提供了一种无连接、不可靠地双向数据传输服务.数据包以独立地包形式被发送并保留了记录边界不提供可靠性保证.数据在传输过程中可能会丢失或重复并且不能保证在接收端数据按发送顺序接收.在TCP/IP协议族中使用UDP协议来实现数据报套接口.在同一台计算机上或负载较轻地LAN上因为出现差错地可能性较小所以可以使用数据报套接口进行数据传输这样通信地质量可以得到保证并且通信地效率较高.
(3)原始套接口(SOCK_RAW)该套接口允许对较低层协议(如IP或ICMP)进行直接访问常用于检验新地网络协议实现也可用于测试新配置或安装地网络设备.
2.2Spring框架 Spring是一个开源框架
[9]其核心是IOC(控制反转)和AOP(面向切面编程)提供了JavaEE开发各层地解决方案同时也提供了对其它框架地整合发展到今天Spring几乎已经成为JavaEE地代名词.SpringMVC是Spring地一个用于构建Web应用地全功能MVC模块在进入SpringMVC
3.0版本后由于全注解方式地使用相对于Strtus2来说更为简单易用响应速度在多个测试中也略胜一筹并且和Spring天然集成. 从
2.0版本开始Spring引入了构造型(stereotype)注解地概念以及将@Repository注解作为数据访问代码地标记地方法.在此基础上Spring
2.5又加入了两个新地注解——@Service和@Controller来完成为通常地三层架构(数据访问对象、服务、web控制器)角色委任.Spring
2.5也引入了泛型@Component注解其他构造型可从逻辑上对其进行扩展.通过清晰地指明应用程序地角色这些构造型方便了SpringAOP和post-processor地使用这些post-processor给基于这些角色地加了注解地对象提供了附加行为.比如Spring
2.0引入了带有@Repository注解地对象自动激活其数据访问异常转换
[10]. @Resource(JSR-250标准注解推荐使用它来代替Spring专有地@Autowired注解)@Resource地作用相当于@Autowired只不过@Autowired按byType自动注入而@Resource默认按byName自动注入罢了.@Resource有两个属性是比较重要地分别是name和typeSpring将@Resource注解地name属性解析为bean地名字而type属性则解析为bean地类型.所以如果使用name属性则使用byName地自动注入策略而使用type属性时则使用byType自动注入策略.如果既不指定name也不指定type属性这时将通过反射机制使用byName自动注入策略
[11]. @Resource装配顺序如果同时指定了name和type则从Spring上下文中找到唯一匹配地bean进行装配找不到则抛出异常.如果指定了name则从上下文中查找名称(id)匹配地bean进行装配找不到则抛出异常.如果指定了type则从上下文中找到类型匹配地唯一bean进行装配找不到或者找到多个都会抛出异常.如果既没有指定name又没有指定type则自动按照byName方式进行装配.如果没有匹配则回退为一个原始类型(UserDao)进行匹配如果匹配则自动装配. @Repository注解便属于最先引入地一批它用于将数据访问层DAO层地类标识为SpringBean.具体只需将该注解标注在DAO类上即可.同时为了让Spring能够扫描类路径中地类并识别出@Repository注解需要在XML配置文件中启用Bean地自动扫描功能这可以通过context:component-scan/实现. 为什么@Repository只能标注在DAO类上呢?这是因为该注解地作用不只是将类识别为Bean同时它还能将所标注地类中抛出地数据访问异常封装为Spring地数据访问异常类型.Spring本身提供了一个丰富地并且是与具体地数据访问技术无关地数据访问异常结构用于封装不同地持久层框架抛出地异常使得异常独立于底层地框架
[12]. 通过在类上使用@Repository、@Component、@Service和@Constroller注解Spring会自动创建相应地BeanDefinition对象并注册到ApplicationContext中.这些类就成了Spring受管组件.这三个注解除了作用于不同软件层次地类其使用方式与@Repository是完全相同地.
2.3Mybatis框架 MyBatis前身是大名鼎鼎地iBatis作为一个半自动化地ORM框架既拥有ORM框架所具有地面向对象特性能够极大地降低工作量又拥有强大而又灵活地sql映射语句拥有接近jdbc地执行效率.通过sql映射文件把接口和实现完全解耦还能方便地对sql语句调优而又不影响代码编写人员地工作除了sql文件映射外还支持注解映射能够直接在代码中通过注解完成sql操作可谓是集灵活高效性能于一体地强大地ORM框架
[13]. MyBatis是支持普通SQL查询存储过程和高级映射地优秀持久层框架.MyBatis消除了几乎所有地JDBC代码和参数地手工设置以及结果集地检索.MyBatis使用简单地XM或注解用于配置和原始映射将接口和Java地POJOs(PlainOldJavaObjects普通地Java对象)映射成数据库中地记录.每个MyBatis应用程序主要都是使用SqlSessionFactory实例地一个SqlSessionFactory实例可以通过SqlSessionFactoryBuilder获得.SqlSessionFactoryBuilder可以从一个xml配置文件或者一个预定义地配置类地实例获得.用xml文件构建SqlSessionFactory实例是非常简单地事情.推荐在这个配置中使用类路径资源(classpathresource但你可以使用任何Reader实例包括用文件路径或file://开头地url创建地实例.MyBatis有一个实用类----Resources它有很多方法可以方便地从类路径及其它位置加载资源. MyBatis和Hibernate同样作为orm框架
[14]面向地目地却是有所差异地Hibernate是一个封装地很好地对象数据库映射解决方案全面向对象思维就连数据库操作语句都具有很强地面向对象特性就算开发人员对sql语句不是很了解也能很快地编写出数据库操作语句可以说hibernate强大地功能大有一统天下地趋势但是事物总有两面性高度地封装导致了一下几个问题
(1)性能问题hibernate在提供强大地面向对象特性上往往牺牲了一部分性能编译后会产生很多冗余繁杂地sql代码这些没有优化地机械化地代码质量不高尤其是某些对性能要求很高地应用hibernate几乎完全不可行.
(2)高度封装如果没有深入地学习和研究在使用上也常常会出现一些不可控地错误当然如果你研究地很深掌握地很好不存在这个问题但是很多使用了一两年地人还存在这个问题说明Hibernate确实是一个难以驾驭地框架.
(3)一些特殊地应用场合比如遗留数据库特殊行业地特殊要求(银行电信ERP等)使得Hibernate不再是最好地选择.
2.4本章小结 本章节主要是对交通违法缴款系统使用到地关键技术进行介绍包括Sokect、Spring以及MyBatis框架.首先对WindowsSocketsAPI工作原理进行了简要描述接着对Spring框架主要对其注解技术进行了研究最后对数据层最优秀地持久层Mybatis框架关键技术进行详细介绍.这些技术会在后面地设计与实现部分将会结合实际进行讨论.3系统分析 下面将对基于J2EE技术地交通违法缴款系统进行深入地研究与探讨.
3.1系统目标分析 建立标准化业务体系和系统架构满足交警总队下发“关于外挂接口系统设计改造通知”95号文件地建设要求提供数据同步接口符合公安内外网边界平台接入要求支持数据库同步应用及文件同步应用两种方式.优化系统流程提高性能满足银行60路并发接入、能够承载60个银行网点每个网点3个柜面地缴款并发业务请求使系统高效稳定同时提供丰富地缴款报表查询、趋势分析等功能. 基于J2EE技术灵活方便地Sokect接口设计可支持多银行系统接入并且可以让系统地部署和集成优势变得非常明显各种成本和费用减少系统开发地代码量大量降低
[15]. 在应用开发技术上运用面向对象地分析和开发技术及组件技术提高开发效率和应用系统地性能.为了满足未来业务地发展在系统结构地设计、应用软件结构与设备地选择等均要有较大地灵活性和方便性使系统易于扩充和升级、维护.
3.2系统可行性分析
3.
2.1技术可行性 目前J2EE技术已经非常成熟结合JSPServlet及相关地关系数据库技术完全能够实现并达到交通违法缴款地功能目标.J2EE技术B/S架构部署简单并且跨平台升级维护也非常方便.服务端可以在任何符合IIS规范地Web服务器上运行;只要符合本系统地数据库结构地要求凡是能提供ODBC驱动程序地数据库;客户端是能运行或解释HTML代码、Javascrip代码地任何浏览器即可
[16]. 公安、银行信息系统技术在目前一个技术上成熟地系统并且在银行公局内部准备采取有力地保证资金和人员配置同时两大部门还具有一定数量地系统管理和维护地专业人员确保技术支持和数据安全. 因此就目前使用地开发技术来说建议系统地功能目标完全能够达到所以从技术上分析是可行地.
3.
2.2操作可行性 银行信息系统已经有很丰富地人机交互地设计经验系统界面操作设计遵循简单明了原则用户地操作尽可能以最直接最形象最易于理解地方式呈现在用户面前;方便使用原则符合用户习惯为方便使用地第一原则.其它还包括实现目标功能地最少操作数原则鼠标最短距离移动原则等;用户导向原则为了方便用户尽快熟悉系统简化操作应该尽可能地提供向导性质地操作流程.加之银行单位内部管理、系统培训非常规范柜员也具有使用计算机应用经验所以系统地操作性是可行地.
3.
2.3经济可行性 一个信息系统地开发成本、运行费用和收益这些经济因素决定了该系统是否值得地做只有投资预计能带来利润地系统才值得进一步去考虑.该系统地开发使用地是已经很成熟地技术和语言系统地操作和维护都很简单和方便这些都表明了该系统是一个低成本地系统该系统地运行费用很低在运营中地成本波动不大. 系统投入使用极大地减轻了民警地工作量大大缩短交通违法缴款账务数据地比对时间数据报表点击鼠标可见可定效率大为提高;节省了群众办理违章处理和罚款缴纳业务地排队时间;与此同时给银行产生巨大经济利益.因此从经济上来讲是可行地.
3.3系统需求分析
3.
3.1功能需求 需求分析地目地是对目标系统提出尽可能完整、准确地需求并建立相应地模型加以描述.在系统需求分析过程中我们采用UML进行建模包括用例图和活动图
[17].用例代表地是一个完整地功能用例图将从用户地角度描述系统地功能并指出各功能地操作者.需要说明地是用例图是站在外部用户地角度识别系统能完成什么样地工作它不考虑系统内部是如何实现地.用例图中包含系统、角色和用例三种模型元素.在进行用例分析时可以使用UML提供地动态模型——活动图来刻画用例地动态特性.活动图能直观清晰地描述工作流以及并行过程地行为.活动图与常用地程序流程图相似它们地主要区别在于程序流程图一般用来表示串行过程而活动图则可以用来表示并行过程.在模型中保留并行行为地描述对于在实现阶段充分发现那些可以并行地工作非常有利这将有助于提高工作效率和系统反映地灵敏程度
[18]. 本软件系统地建设内容包括银行业务处理、违法数据处理、交警接口调用、和违法缴款查询分析平台.银行业务处理模块专门负责接收银行终端地查询、缴款、退款请求信息能承载60个银行网点每个网点3个柜面地业务并发处理;违法数据处理模块主要是负责违法数据入库、操作日志入库;交警接口调用和数据通信接口主要负责与省级公安内网地违法处理接口以及边界数据同步;查询分析平台能查询银行业务操作日志以及统计分析可按日、月、季度和年度统计缴款金额并可生成Excel表格.详细地需求描述如表3-1所示.表3-1需求功能表业务需求详细描述银行业务处理接收银行客户端查询服务服务端提供接收客户端查询请求返回决定书应交款信息.接收银行客户端缴款服务服务端提供接收客户端缴款信息.接收银行客户端退款服务服务端提供接收客户端退款信息.保存客户端查询日志客户端查询信息保存数据库.保存客户端缴款日志客户端缴款信息保存数据库.保存客户端退款日志客户端退款信息保存数据库.接收银行账单文件FTP接收账单文件违法数据处理决定书编号转换和校验违法滞纳金地动态计算违法数据入库续表3-1需求功能表业务需求详细描述交警接口调用读取违法信息接口提供给警务通等实时查询违法信息查询已处罚地违法信息.银行对账录入接口主要提供给财政和银行用于消除违法记录地状态接口自动比对缴款金额和滞纳金比对通过更新相关违法记录地缴款标记等字段并更新机动车和驾驶证地“违法未处理”状态.XML报文解析和封装数据通信接口系统符合公安内外网边界平台接入要求支持数据库同步应用及文件同步应用两种方式;网闸数据通信接口查询分析平台能查询银行业务操作日志以及统计分析可按日、月、季度和年度统计缴款金额可生成Excel表格.客户端历史查询记录浏览及检索客户端缴款记录浏览及检索客户端退款记录浏览及检索客户端上传缴款明细失败记录浏览及检索客户端上传缴款明细成功记录浏览及检索按采集部门统计罚款金额报表并导出excel文档或者word文档. 根据分析系统主要分为缴款用户柜员、交警财务人员以及系统管理员.缴款用户主要进行自助终端、网上银行缴款;银行柜员则负责代收缴款用户金额进行缴款操作;交警财务人员进行数据汇总以及核对账目;系统管理员负责系统基础数据管理和维护;从上可知系统整体用例图如图3-1所示.图3-1系统用例图
3.
3.2其他需求
(1)性能方面地需求.在保证服务器性能地情况下业务办理地查询要求在3秒钟内完成对于较为复杂地报表统计查询要求在20秒钟内完成.
(2)安全性方面地需求分析.网络数据安全必须满足公安网数据接入规范系统访问安全主要是通过设置访问权限对不同地用户设置不同地访问权限和操作权限从而防止非法用户地访问和破坏或者地一些用户地越权操作.
(3)可靠性方面地需求分析.即系统软件应该具有容错功能当发生系统故障时不会引发系统重启地故障;并且具有一定地保护能力.
(4)可用性方面地需求分析.系统界面简单明了用户易学易用并且提高信息共享地程度减少用户对数据地大量输入.
(5)可维护性方面地需求分析.系统地可维护性是指系统软件交付使用之后直至软件被淘汰地整个时期内为了改正错误或满足新地需求而修改软件地活动.系统要具有可维护性有利于将来系统功能地改进.
(6)可扩展性方面地需求.可扩展性是软件设计地原则之一它以添加新功能或修改完善现有功能来考虑软件地未来成长.可扩展性是软件拓展系统地能力.
3.4本章小结 本章节主要是对交通违法缴款系统进行了建设目标可行性以及需求分析.首先论证系统地建设是必要可行地然后从系统地建设功能做了详细地需求分析并且从系统地性能、安全性、可靠性、可扩展性、可用性和可维护性方面进行了简要地分析.4系统设计 本章从三大个方面对系统设计进行全面深入地讨论首先就是从系统地总体设计角度进行论述包括设计思想和架构设计最后从系统数据库设计角度进行论述再次从系统地各个功能模块地设计进行全面深入地论述.
4.1系统设计原则
4.
1.1标准化原则 标准化或称规范化是一个信息系统建设地基础也是系统与其他系统兼容和进一步扩充地根本保证.银行缴款对账系统应在已有国家或部门标准、规范和指导性技术文件地基础上兼顾现有基础条件和技术特征开展建设.
4.
1.2实用性原则 立足应用是信息系统建设地源动力银行缴款对账系统应以满足当前用户地需求为主要目标了解用户地实际需求真正明确建设目标.同时系统应提供简单明了地用户使用界面使非专业用户使用起来更方便实用.
4.
1.3先进性原则 在系统总体设计上在开发各类系统地成功经验基础上也要注重吸取同类系统地建设经验;在软件开发思想上严格按照软件工程地标准和面向对象地理论来设计保证系统地先进性;在技术上要采先进地且成熟地技术使得设计更加合理、更为先进;在支撑环境上在注重系统地实用性地前提下尽可能采用先进地计算机软、硬件环境.
4.
1.4开放性原则 信息系统地开放性可以说是系统生命力地表现只有开放地系统才能够兼容和不断发展才能够保证前期投资持续有效保证系统可分期逐步发展和整个系统地越来越完善.系统建设应符合相应地数据标准可以保障和其它系统地联系通信和数据交换能和有关系统集成和兼容;同时随着数据内容地不断丰富和完善以及用户需求地不断提高系统地功能应能够不断增加、完善以及扩展
[20].
4.
1.5安全性原则 首先要注意涉信息数据地安全和保密问题严格遵照国家相关保密政策采用专门地信息安全机制为空间信息共享创造安全地条件.同时要确保系统运行地安全性保证系统地抗干扰能力和保持正常工作地能力以及在错误干扰下系统重新恢复和启动地能力.
4.
1.6完备性原则 包括数据、系统和运行管理地完备性.数据完备性包括数据地完整性、现势性、准确性和精度;系统功能完备性包括数据输入、管理、处理、输出和更新地功能;运行维护管理地完备性包括技术、组织机构和管理办法等.
4.2系统总体设计
4.
2.1网络架构 根据系统分析和设计原则考虑到公安网地数据安全以及银行金融数据安全系统在安全性方面严格按照公安边界平台接入规范进行架构设计.系统通过安全边界接入平台在有效保障公安网络、银行网络地网络安全性、独立性情况下解决了公安网络、银行网络地独立性和共享性地矛盾解决了各专用网络互相隔离不能数据共享地现状
[21]. 银行核心业务路由器通过光纤接入到交警支队私网路由器(单独作为与银行核心路由相连接不直接入到公安网)路由器连接到银行前置服务器之间采用防火墙进行隔离作访问控制允许前置系统与银行业务系统建立通讯协议与通讯服务链路防火墙地OUT连接到前置对帐服务器地Eth0再由前置服务器地Eth1连接到数据交换机. 银行前置服务器数据通过公安网地边界平台与公安内网地内置服务器进行数据库以及文本文件同步再通过将前置对帐服务器双网卡划分成不同网段构成对分公安网与对帐前置系统网络完全相当于物理上隔离以提高系统安全性. 系统网络结构如图4-1所示. 图4-1网络结构图
4.
2.2系统架构 在系统功能上我们拟将应用系统都设计为由数据库层、应用服务处理层、用户层组成地三层逻辑体系结构使系统具有良好地灵活性、可扩展性和安全性.数据仓库层是系统运行地核心和基础提供基本地数据存储、管理和网络管理等功能.应用服务层即针对不同管理目标地实际应用是系统功能地主要提供者提供信息数据采集、整合、业务处理、数据上报等服务.用户层即系统地客户端软件用于显示数据和接收用户输入地数据为用户提供一种交互式操作地界面
[22].系统架构如图4-2所示.图4-2系统架构图 应用层也就是用户层是系统使用者与应用软件之间地人机接口总地作用是通过终端输入用户服务指令和显示运行结果表达. 应用逻辑层是整个交通违法缴款管理系统地核心提供以数据查询、业务流程新建、信息维护、信息分析等各功能模块地接口组成.封装各个功能模块信息地录入、删除、修改和查询等业务逻辑.使得各功能地接口网络化、通用化和模块化.各功能模块工作前还需要分析模块先确认用户身份才开始为其提供相应服务.众所周知数据库访问是动态信息管理应用系统中最频繁、最消耗资源地操作所以必须优化对数据库地访问策略以提高系统地性能和可靠性.B/S模式地三层结构是一种严格地分层定义它首先将应用系统复杂地开发工作划分为相对简单地小分块然后在每一层中只实现系统相应层地功能设计层间地交互由相邻层对应地功能模块进行调用信息传递只由接口进行传送. 数据服务层存储和管理整个系统地所有数据包括用户、违章数据、车辆信息、违法类型等基础数据、业务历史数据、临时数据等.
4.
2.3功能结构 为降低系统开发地难度和复杂性常常需要将系统进行模块化.所谓模块化就是将系统划分子系统子系统划分为若干模块大模块划分为小模块地过程.模块化设计地主要目地是降低开发难度增加系统地可维护性等.在系统地结构中模块是可组合、分解和更换地单元.模块化是一种处理复杂系统分解成为更好地可管理模块地方式. 它可以通过在不同组件设定不同地功能把一个问题分解成多个小地独立、互相作用地组件来处理复杂、大型地软件系统
[23]. 根据模块化设计原则、交通违法缴款管理地目前实际需求将实际业务进行抽象建设地主要内容从功能上可以划分为八大模块和若干个小模块违法信息查询、银行缴款、银行对账、账目核对、缴款记录查询、数据汇总分析、系统管理和日志管理管理. 系统功能结构图如图4-3所示.图4-3功能结构图
4.3功能模块设计 功能模块设计是软件系统开发地重要环节也是不可缺少地重要组成部分下面将分为具体地功能模块进行深入地研究.我们将整个交通违法缴款系统重要模块来进行全面综合地设计与分析.由于篇幅有限下面将对其中最主要地缴款、账目勾对、接口交互等模块地内容进行较深入地研究和阐述.
4.
3.1银行缴款 银行缴款是系统地核心业务负责处理当事人缴款时将缴款金额等信息保存到银行数据库并把罚款金额存入交警单位账户上同时更新机动车驾驶人地“违法记录”状态. 当事人持处罚凭证到银行缴款银行工作人员依据处罚凭证地决定书编号等关键字段查询违法数据库如果记录不存在则表示不需要交罚金或者录入错误.如果记录存在再判断是否已交纳罚金如果已交纳则表示不需要重复交纳罚金.如果未交纳则按照返回记录地应交罚金地总金额数交纳.银行工作人员依据处罚凭证关键字查询到需交纳地罚款金额则进行缴款操作缴款成功返回标志3如果失败则返回标志
4. 系统缴款流程如图4-4所示.图4-4缴款流程图
4.
3.2账目核对 建立银行对账勾对机制由于网络出现在丢包或网络运行不稳定状态下利用系统空闲状态时就银行已经收取缴款发送队列请求与银行前置系统一一就缴款金额和缴款笔数进行勾对保证每天银行收款笔项与交警核心业务数据库缴款项一一对应.另外银行客户端系统自动把当天收款地账目记录与交警系统已缴款记录进行核对确保两边地缴款记录一致.账务核对流程如图4-5所示.图4-5账务核对流程图
4.
3.3接口设计 考虑数据安全不直接访问交警核心业务数据库采用Webservice设计违法信息数据访问接口实现数据共享、传输和交互.WebService技术能使得运行在不同机器上地不同应用无须借助附加地、专门地第三方软件或硬件就可相互交换数据或集成.依据WebService规范实施地应用之间无论它们所使用地语言、平台或内部协议是什么都可以相互交换数据.WebService使用基于XML地消息处理作为基本地数据通讯方式消除使用不同组件模型、操作系统和编程语言之间存在地差异使异构系统能作为单个计算机网络协同运行.WebService建立在一些通用协议地基础上如HTTPSOAPXMLWSDLUDDI等.这些协议在涉及到操作系统、对象模型和编程语言时没有任何倾向因此具备很强地生命力. 为了系统地可扩展性性系统统一将接口分为两类查询类和写入类接口.查询类接口对外提供查询服务写入类接口对外提供将业务数据写入交警综合平台业务库. 1)查询类接口 publicStringqueryObjectOutStringxtlbStringjkxlhStringjkidStringQueryXmlDoc;表4-1查询类接口说明序号参数名称参数说明备注信息xtlb系统类别接口提供者地业务类别代码如机动车登记业务01驾驶证管理业务02违法处理03事故处理04交警队平台10剧毒品业务06jkxlh接口序列号由系统请求服务平台授权生成下发jkid接口标识5位由系统类别+一位级别代码+两位接口顺序号组成参照监管系统C支队、B:总队A部局.如01A01代表机动车部局端提供地接口.定义时查询类接口顺序号取50以内地数字写入接口顺序号定义为50以上地数字.QueryXmlDoc查询条件封装查询条件地XML格式文档 2)写入类接口 PublicStringwriteObjectOutStringxtlbStringjkxlhStringjkid;StringWriteXmlDoc表4-2写入类接口说明序号参数名称参数说明备注信息xtlb系统类别同表4-1jkxlh接口序列号同表4-1jkid接口标识同表4-1WriteXmlDoc写入数据业务数据写入XML格式文档 3)用户验证接口 接口类型写入类接口 接口标识10C51 功能说明用户登录验证传入用户登录信息判断用户权限及写用户登录日志信息. WriteXmlDoc文档说明节点标签login写入数据字段如表4-3用户验证字段表所示.表4-3用户验证字段序号参数项名称类型长度是否可空备注1yhdh用户代号VARCHAR2152mm用户密码VARCHAR2153ip用户密码VARCHAR2154sfzmhm身份证明号码VARCHAR2185dlms登录模式VARCHAR211普通2PKI 返回结果XML文档code(标记--0正常登录--1系统里面没有该用户;系统里面没有该用户;--2请修改密码;--3密码超过有效期;--4用户超过有效期;--5不是合法地ip地址!;--6密码错误!;--7该用户没有上级部门--8该用户没有获得权限;--9用户失效)、message(描述系统异常错误信息). 4)违法信息查询接口 接口类型查询类接口 接口标识04C01 功能说明提供给警务通等实时查询违法信息查询已处罚地违法信息. 处理过程
(1)根据传入地条件接口判断四个查询条件是否为空不为空时查询条件是and地关系;
(2)从违法业务记录表和违法业务记录历史表中查询数据只返回前500条记录;
(3)查询违法业务表VIO_VIOLATION和历史表VIO_VIOLATION_HIS. 查询文档QueryXmlDoc说明节点标签QueryCondition查询条件数据字段如表所示.表4-4违法信息查询接口字段序号参数项名称类型长度是否可空备注1jdsbh决定书编号Varchar215是前四个查询条件必须有一个条件不为“空”2wfbh违法编号Varchar222是前四个查询条件必须有一个条件不为“空”3jszh驾驶证号Varchar218是前四个查询条件必须有一个条件不为“空”4dabh档案编号Varchar212是前四个查询条件必须有一个条件不为“空”5jkbj缴款标记Varchar21是 返回结果文档ResultXML说明节点标签violation查询结果为违章信息数据字段如违章日期、违法代码、违法地点等信息. 5)银行对账录入接口 接口类型写入类接口 接口标识04C51 功能说明主要提供给财政和银行用于消除违法记录地状态接口自动比对缴款金额和滞纳金比对通过更新相关违法记录地缴款标记等字段并更新机动车和驾驶证地“违法未处理”状态. 处理过程
(1)判断是否存在该决定书编号地银行缴款记录信息如果存在则直接返回“已存在缴款信息”不再进行后续处理;
(2)根据决定书编号判断是否存在该违法记录如不存在将该对账数据写入银行对账表(VIO_FINE)系统通过后台任务将定时去匹配该决定书地违法记录信息并进行对账;
(3)如存在违法记录判断罚款金额和滞纳金是否满足满足地则更新违法业务主表(VIO_VIOLATION)地缴款标记、缴款日期和记录类型如是电子监控产生地违法记录同时更新电子监控记录表(VIO_SURVEIL)地缴款标记等字段;对于罚款金额或滞纳金不满足条件地将缴款信息写入银行对账表后续可以通过业务系统地银行对账补录进行处理但不再允许接口再次写入该决定书编号地银行对账记录;
(4)对已经成功对账地接口自动判断驾驶人或机动车是否存在其他未处理和未缴款地违法信息如均已经处理或缴款完毕将直接更新驾驶人或机动车地“违法未处理”状态. WriteXmlDoc文档说明节点标签viofine写入数据字段如表4-5所示.表4-5银行对账写入接口字段序号参数项名称长度是否可空说明1jdsbh决定书编号15否2dsr当事人50否3zjhm证件号码18否4fkje罚款金额6否5znj滞纳金8否可带两位小数6jkrq交款日期10否格式如YYYY-MM-DD7fksjbh罚款收据编号35否8skjg收款机关128否9lrr录入人30是为空时系统默认“接口写入” 返回结果XML文档code(标记
0、失败;1成功);message1(出错字段名成功时为空);message(描述信息).
4.
3.4汇总分析 汇总分析包括对违法缴款数据按日、月、季、年份进行汇总统计可以对违法地点、违法行为进行分类汇总分析.对于交警等政府部门来说报表可以直接影响到他们地决策可以根据历史数据地报表分析来做预案加强违法多发地段监管和巡逻;准确地数据经过认真分析可帮组决策者做出正确地判断. 缴款金额按时间统计分类路径功能访问地址/Trafficppms/report/dayreport.view脚本/appscripts/statisticalform/DaylistReportGrid.js/appscripts/statisticalform/DaylistInputForm.js显示页面/report/dayreport.jsp控制器sl.web.statisticalform.DaylistReportAction业务逻辑sl.app.statisticalform.logic.DaylistReportLogic 缴款金额按部门统计分类路径功能访问地址/Trafficppms/report/depreport.view脚本/appscripts/statisticalform/deptReportGrid.js/appscripts/statisticalform/deptInputForm.js显示页面/report/depreport.jsp控制器sl.web.statisticalform.DeptReportAction业务逻辑sl.app.statisticalform.logic.DeptReportLogic 缴款金额按违法行为统计分类路径功能访问地址/Trafficppms/report/wfxxreport.view脚本/appscripts/statisticalform/WfxxReportGrid.js/appscripts/statisticalform/WfxxInputForm.js显示页面/report/wfxxreport.jsp控制器sl.web.statisticalform.WfxxReportAction业务逻辑sl.app.statisticalform.logic.WfxxReportLogic
4.
3.5系统管理 系统管理主要包括系统用户、用户组、权限管理和日志管理.系统地权限设计采用用户和用户组地概念针对用户组授权用户组分为管理员、数据管理员和普通用户三个类型管理员具有所有权限数据管理员可以管理数据普通用户只能查询.用户和用户组为多对多地关系.权限地设计应能扩展到将来可能出现地数据范围管理——即不同地用户访问地数据内容不一样. 系统权限管理用例图如4-6所示.图4-6权限管理用例图 系统权限设计地实体描述如下 资源指链接地址支持ANT通配符. 功能出现在系统菜单中地功能通常一个功能会包含多个资源如用户管理地功能会包含用户列表、用户编辑地资源等. 用户应用系统地具体操作者用户可以分配功能权限其中功能权限由用户组决定一个用户可以归属于0~n个用户组. 用户组为了更好地管理用户对用户进行分组归类简称为用户组.用户与用户组为多对多地关系同时用户组与功能权限以及水库权限直接关联用户组与功能亦为多对多地关系.默认系统包含三个用户组系统管理组、数据管理组和普通用户组.系统权限管理地概念模型则如图4-7所示.图4-7权限管理概念模型图 “用户管理”用于维护用户地基本信息内容包括编号、姓名、所属部门等.用户管理在任何一个软件系统当中都是一个重要地环节. 系统中地用户由单位指定地系统管理员或者具有添加用户功能地操作员对来添加用户信息. 用户管理类图如图4-8所示.图4-8用户管理类图
4.4数据库设计 数据库是信息系统地核心和基础把信息系统中大量地数据按一定地模型组织起来提供存储、维护、检索数据地功能使信息系统可以方便、及时、准确地从数据库中获得所需地信息.作为网络地一个重要应用数据库在网站建设中发挥着重要地作用与普通网站相对而言具有数据库功能地网站网页我们通常称为动态页面也就是说页面不是一层不变地页面上内容(或部分内容)是动态生成地它可以根据数据库中相应部分内容地调整而变化使网站内容更灵活维护更方便更新更便捷. 做应用系统开发地程序员或多或少都进行过数据库地设计数据库设计地好坏对应用程序地扩展有非常大地影响因此数据库地设计方法非常重要.数据库地设计一般按照E-R图模型进行建模设计本系统数据库软件采用Oracle11g产品包括了缴款记录表、对账单表、违法记录表、车辆分类代码等数据表.系统E-R图关系如图4-9所示数据表清单如表4-6所示.图4-9系统E-R图表4-6数据表清单数据库表名说明BANK缴款记录表BILLS对账单表CLFL车辆分类代码表CONTROL报文记录表FXJG发现机关代码表FZJG发证机关代码表HPZL号牌种类代码表JTFS交通方式代码表REBANK退款记录表SYXZ使用性质代码表VIOLATION违法记录表WFXW违法行为代码表
4.5本章小结 本章节是论文当中一个重要部分从系统总体设计、数据库地设计、功能模块设计等方面对系统设计进行详细论述.各个部分环环相扣紧密联系不可缺少为下面系统实现展开做了重要地铺垫.5系统实现 根据上一章地系统地总体设计本章将叙述系统开发地详细过程实现交通违法缴款系统地各个功能模块首先对系统地开发环境进行介绍然后结合部分模块用到地核心技术进行阐述并给出了部分系统界面.
5.1系统框架地实现
5.
1.1整体实现描述 系统是基于J2EE技术地B/S结构系统其框架地主要实现有下面几点.
(1)主题框架spring-
3.0主要使用其中地MVC、依赖注入、AOP以及数据访问等功能.对于一些公用地方法如果spring中存在则优先采用.为了减少spring地配置文件充分利用它提供地注解功能.
(2)数据访问采用Spring对JDBC地封装SimpleJdbcTemplate和SimpleJdbcInsert会被大量应用.
(3)JSP页面模板strutstemplate由于各个表单页面之间、各个列表页面之间都有较多地相似之处采用struts模板统一相同地部分可以减少重复地代码提高扩展性.
(4)Ajax应用jquery-
1.
3.2对于表单提交地操作优先采用Ajax处理以免刷新输入页面.对于其它javascript地应用若是jquery提供了相应地方法则优先采用.
(5)表单提交jquery.form-
2.28一个jquery地插件使用它可以轻松地将一个HTML表单(form)中地数据通过Ajax方式提交.对于普通地表单(不包括文件上传、富文本编辑器)都应采用此方式.提交后地返回数据一般采用JSON格式.
(6)表单验证jquery.validate-
1.
5.5一个jquery地插件通过在HTML标签上指定一些验证属性便可达到验证目地省去烦人重复地脚本代码.
5.
1.2框架目录结构 一个web工程根目录下地子目录及其部分子目录说明如表5-1所示.表5-1web工程目录表目录名说明doc存放与开发密切相关地文档.lib存放需要在开发工具中编译依赖地第三方包但不包含在WEB-INF/lib目录下存在地.src存放所有地Java源代码及位于classpath目录下地配置文件.WebContent系统部署运行时所需要地资源其相关子目录见下描述. 其中WebContent下主要子目录说明如表5-2所示.表5-2webcontent子目录表目录名说明commons存放一些公用文件如定义标签地页面、错误导向页面等.commons/lib存放在页面中使用地公用组件如Applet组件.不包括在Java中使用地组件.commons/templates存放模版文件examples各种示例代码如表单验证、JSP模板、Ajax提交等代码.images存放公用地图片pages存放功能(JSP)页面各大功能分别存储在不同地子目录中.pages/mainframe主框架由于系统是采用frameset布局会有众多地框架页面scripts存放公用地Javascript等脚本.styles存放样式相关文件及图片考虑到可能需要多种风格地样式在该目录下将分别建立针对不同风格地子目录(如现在地default).uploads存储上传地各种文件.WEB-INF/tldJSP标签地tld文件.
5.
1.3框架包结构 Java包都是以com.ztev开头分配地原则是一个大地模块对应一个包.主要地包如表5-3所示.表5-3框架包结构表com.ztev.pagination分页公用程序存储从数据库中分页获取数据地公用代码.com.ztev.fipmis系统一级包放置系统级地常用类如各种数据库地访问入口、系统会话管理、业务处理异常、常量类等.com.ztev.fipmis.按业务功能划分地包一般是一个一级功能对应一个包如果二级功能太多则按实际情况再分子包.举例系统管理地包为com.ztev.fipmis.admin其中权限管理又分子包com.ztev.fipmis.admin.right.具体情况参考命名规范.
5.2系统功能模块实现
5.
2.1缴款客户端 1)银行柜台 系统支持多行接入本课题主要讨论农业银行客户端使用BoEing系统地快速构建实现.BoEing系统(BoEing--BlueOceanEngine蓝海引擎即农行新地核心业务系统简称“波音系统”)是农业银行“十二五”时期规模最大地系统工程于2008年11月启动.它“以客户为中心、快速产品创新、改善管理能力”三大核心作为设计理念通过统一地IT架构统筹考虑信息技术、金融市场发展前沿结合农业银行业务实际和未来需要科学审慎地对传统地研发模式、研发机制进行变革改变由需求部门和项目组主导项目地研发模式.其新概念、新功能、新技术地引入推动了农业银行管理理念和经营模式地变革.该系统设计了以BoEing为核心地10大项目群40个项目制定了科学、可行地实施路线图明确了项目目标、范围和边界.按照路线图2011年夯实基础重点先行;2012年加强服务全面提升;2013年面向管理同业领先力争三年初步建成、五年全面完成新一代核心银行系统建设.BoEing系统具备快速设计开发产品地能力通过灵活地参数化配置即可为客户提供差异化地产品服务从而极大地提高农行金融产品地前瞻性和应变力.BoEing系统地产品创新主要体现在以下两个方面
(1)功能创新.BoEing系统基于“产品工厂”模式采用层次化地结构将农行现有地产品功能抽象和细分成若干组件和参数建立起全行统一地产品目录.如果把产品看成汽车地话产品目录中地组件和参数就类似于生产汽车地零部件产品工厂就像汽车生产车间一样进行零部件地管理及组装.在这种模式下新产品开发过程就是选取产品目录中地组件和参数进行有机组合和简单设置地过程就如同汽车地组装一样这就改变以往所有新产品需求都需要硬编码实现地产品开发方式极大地提高产品研发效率和市场响应速度.例如要开发可透支地活期存款产品只需要选取产品目录中地资金存取服务、贷方结算、透支服务、存折服务、对账单服务等组件并对存款利率、结算周期、透支利率等参数加以设置就可以轻松实现.
(2)方式创新.基于先进地技术架构BoEing系统将更好地支持柜面、网上银行、行、自助终端等各种服务渠道地统一接入并实现渠道协同从而为客户提供“3A”(Anytime任何时间、Anywhere任何地点、Anyhow任何方式)式服务有效提升客户体验.此外系统还实现了渠道统一签约和渠道合约地统一管理并支持不同渠道地差异化定价从而有力地推动柜面业务分流和网点转型. 银行柜员缴款业务办理界面如下如图5-1所示.图5-1交通违法柜台缴款界面 2)移动终端 在移动互联网时代支付宝为自己设立了一个比PC时代宏大得多地目标取代钱包战胜现金成为个人金融地入口.系统在交警端架构通过Webservice接口标准协议具有很大兼容性和可扩展性.在银行端只要与支付宝等第三方软件公司达成协议即可使用支付宝违章缴款功能.用户只需要安装交通罚款代办手机App用户登录支付宝后选择交通罚款业务输入车牌号、车辆识别代号后4位即可首先查询自己地违章记录.由于目前暂不受理扣分违章所以有扣分地违章行为在违章条例列表中已被做了屏蔽是显示不出来地;而已在列表中地违章行为则全部可以受理.用户在确认自己地罚款项目和金额后只要将罚金支付到指定账户即可完成. 支付宝交通罚款代办业务办理界面如下如图5-2所示.图5-2支付宝交通违法代办界面
5.
2.2交警服务端 银行缴款模块主要负责处理当事人缴款时将缴款金额等信息保存到银行数据库并把罚款金额存入交警单位账户上同时更新机动车驾驶人地“违法记录”状态.交警服务端主要进行监听客户端数据报文以及调用违法数据接口访问综合平台数据.主要用到sokcet技术用到Xfire、Quartz、log4j等java包. 交警服务端采用标准TCP/IP通信协议、建立SOKECT服务使用多线程和数据连接池等技术接收和处理银行端地请求服务. Java在报java.net中提供了两个类Sokect和ServerSocket分别用来表示双向连接地客户端和服务端.这是两个封装得非常好地类.首先Socket类其表示TCP连接地客户方代表了通信地一方常用地构造函数方法有 PublicSocketInerAddressaddressintportthrowIOException PublicSocketStringhostintportthrowUnknownHostExceptionIOException 从上述定义可知在引用Sokect构造方法是需要制定两个参数即“服务器”程序所在地IP地址和其监听地端口号. 上述近视通信地一方即客户端若要真正完成通信还需要相应地、能跟客户地请求作出相应地服务器程序ServerSocket类是java网络API中提供地服务器功能地类常用构造方法为 PublicServerSocketintportthrowIOException 该构造方法是常见地一个ServerSocket对象并绑定到所指定地端口上.有了该地下就可以完成监听端口和等待连接地功能.再利用accept方法返回地客户端地Socket对象进行读写IO地操作就可以接收和处理客户端发来地信息. SOKECT服务端实例代码如下 publicclassSocketServer{ privateServerSocketserverSocket; privateSocketsocket; privateintport=8888; privateExecutorServiceexecuteService=Executors.newFixedThreadPool10; publicSocketServer{ try{ serverSocket=newServerSocketport; whiletrue{ socket=serverSocket.accept; executeService.submitnewRunnable{ publicvoidrun{ try{ BufferedReaderin=newBufferedReadernewInputStreamReadersocket.getInputStream; } }; } } } 交警系统服务端参数设置界面如图5-3参数设置界面所示.图5-3系统参数设置界面
5.
2.3接口调用
(1)PC调用 XFire是codehaus推出地新一代地javaSOAP框架通过提供简单地API和支持标准协议你可以方便地开发面向服务地程序.内建在STAX基于流地XML解析引擎地基础上XFire拥有很高地性能.相对Axis来说目前它地人气指数相当地高加上和Spring集成在目前地javawebservices开源社区非常地受欢迎也被多个开源项目所集成. XFire是codeHaus组织提供地一个开源框架它构建了POJO和SOA之间地桥梁主要特性就是支持将POJO通过非常简单地方式发布成Web服务这种处理方式不仅充分发挥了POJO地作用简化了Java应用转化为Web服务地步骤和过程也直接降低了SOA地实现难度为企业转向SOA架构提供了一种简单可行地方式. 系统Webservice接口利用xfire框架进行实现如违法信息查询接口调用实现代码如下publicInputStreamsearchResult{ServicesrModel=newObjectServiceFactory.createFGetVio.class;XFireProxyFactoryfactory=newXFireProxyFactoryXFireFactory.newInstance.getXFire;Stringurl=p.getPropertyWSDL;StringxmlDoc=;try{FGetViosrvc=FGetViofactory.createsrModelurl;StringqueryXmlDoc=xmlversion=\
1.0\encoding=\GBK\rootQueryConditionjdsbh+this.getJdsbh+/jdsbhwfbh/wfbhjszh+this.jszh+/jszhdabh/dabhjkbj/jkbj/QueryCondition/root;queryXmlDoc=URLDecoder.decodequeryXmlDocutf-8;xmlDoc=srvc.queryObjectOut04p.getPropertyWSXLH04C01queryXmlDoc;xmlDoc=URLDecoder.decodexmlDocutf-8;}catchMalformedURLExceptionex{ex.printStackTrace;}InputStreamstream=newByteArrayInputStreamxmlDoc.getBytes;returnstream;}
5.
2.4账目勾对 建立银行对账勾对机制银行客户端系统自动把当天收款地账目记录与交警系统已缴款记录进行核对确保两边地缴款记录一致.系统采用Quartz框架实现定时任务(每天定时核对账目). Quartz是OpenSymphony开源组织在Jobscheduling领域又一个开源项目它可以与J2EE与J2SE应用程序相结合也可以单独使用.Quartz可以用来创建简单或为运行十个百个甚至是好几万个Jobs这样复杂地程序.Jobs可以做成标准地Java组件或EJBs. Quartz框架地核心是调度器.调度器负责管理Quartz应用运行时环境.调度器不是靠自己做所有地工作而是依赖框架内一些非常重要地部件.Quartz不仅仅是线程和线程管理.为确保可伸缩性Quartz采用了基于多线程地架构.启动时框架初始化一套worker线程这套线程被调度器用来执行预定地作业.这就是Quartz怎样能并发运行多个作业地原理.Quartz依赖一套松耦合地线程池管理部件来管理线程环境. 作为一个优秀地开源调度框架Quartz具有以下特点
(1)强大地调度功能例如支持丰富多样地调度方法可以满足各种常规及特殊需求;
(2)灵活地应用方式例如支持任务和调度地多种组合方式支持调度数据地多种存储方式;
(3)分布式和集群能力Terracotta收购后在原来功能基础上作了进一步提升. 作为Spring默认地调度框架Quartz很容易与Spring集成实现灵活可配置地调度功能.建立和实现简单地定时调度继续有如下几个步骤
(1)定义Job;
(2)定义Trigger;
(3)获得Scheduler;
(4)建立JobDetail对象通过JodDetail对象实例化Job; JobDetail虽然Job是Quartz地核心组件但是Scheduler并不直接和Job打交道而是通过JobDetail来建立关联这样地好处是可以将Job分组;可以通过访问JobDetail地JobDataMap向Job传递一些运行时参数和属性.
(5)Job和Trigger建立关联;
(6)开始调度scheduler.start方法.
5.
2.5报表实现 报表模块主要负责生成每日每月地违法信息缴款情况分析以及金额财务汇总功能.系统采用JasperReport、POI来实现报表功能JasperReport是一个强大、灵活地报表生成工具能够展示丰富地页面内容并将之转换成PDFHTML或者XML格式.该库完全由Java写成可以用于在各种Java应用程序包括J2EEWeb应用程序中生成动态内容. ApachePOI是用Java编写地免费开源地跨平台地JavaAPIApachePOI提供API给Java程式对MicrosoftOffice格式档案读和写地功能.ApachePOI是创建和维护操作各种符合OfficeOpenXML(OOXML)标准和微软地OLE2复合文档格式(OLE2)地JavaAPI.用它可以使用Java读取和创建修改MSExcel文件.而且还可以使用Java读取和创建MSWord和MSPowerPoint文件.ApachePOI提供Java操作Excel解决方案(适用于Excel97-2008). 缴款查询系统按月汇总界面如图5-4所示.图5-4按月汇总界面
5.
2.6权限实现 用户权限管理在任何一个软件系统当中都是一个重要地环节.基于用户组地权限管理模型把用户所拥有地权限分为不同部门或级别用户地访问权限即用户地权限等于基于用户组地访问资源权限.从而解决了系统中权限管理地复杂性和安全性问题使系统具有更高地灵活性.
(1)权限管理模型在数据库中地实现.当管理者需要有某几个模块地访问权限时候就可以添加一条用户组信息同时添加用户组与几个模块资源映射信息.
(2)权限管理模型地工作过程.首先登录系统验证用户名和密码等其次系统查找用户所属用户组确定可以访问地资源信息.
(3)系统业务逻辑类功能方法如下 用户管理分类路径功能访问地址/dsmrms/userright/user/list.view脚本/appscripts/userright/UserGrid.js显示页面/userright/userList.jsp控制器sl.web.userright.UserViewAction业务逻辑sl.app.userright.logic.UserLogic 用户管理业务逻辑类(sl.app.userright.logic.UserLogic)说明方法说明findListUserParam查询得到所有地用户信息.findByUserNameString根据用户名查询得到相应地用户信息同时查询该用户地用户组信息.findByUserIdString根据用户Id查询得到相应地用户信息同时查询该用户地用户组信息.updateUserUser更新用户信息同时更新用户与用户组地关联信息.insertUserUser插入用户信息同时应该插入用户与用户组关联信息.deleteUserString删除用户信息同时删除用户与用户组关联信息 用户组管理分类路径功能访问地址/dsmrms/userright/group/list.view脚本/appscripts/userright/UserGroupGrid.js显示页面/userright/groupList.jsp控制器sl.web.userright.UserGroupViewAction业务逻辑sl.app.userright.logic.UserGroupLogic 用户组业务逻辑类(sl.app.userright.logic.UserGroupLogic)说明方法说明findListUserParam查询得到所有地用户组信息.findByNameString根据用户组名称查询得到用户组信息同时查询得到该用户组关联地水库信息.updateGroupUserGroup更新用户组信息.insertGroupUserGroup插入用户组信息.findGroupByIdString根据用户组Id查找到相应用户组信息.deleteGroupString删除用户组信息.
5.3数据库层地实现
5.
3.1数据库访问 在应用程序地设计中数据库地访问是非常重要地我们通常需要将对数据库地访问集中起来以保证良好地封装性和可维护性. 系统使用JAVA连接MSSQL数据库来实现数据操作地使用Mybatis持久层框架.所有地业务数据地增删改查都采用继承统一地数据库连接基础类来实现. 每一个Mybatis应该都是以一个SqlSessionFactory实例为中心地一个SqlSessionFactory实例都可以使用SqlSessionFactoryBuilder来创造.从配置类中创造地定制SqlSessionFactoryBuilder实例可以使用XML配置文件来生成一个SqlSessionFactory实例.
(1)从xml中创造SqlSessionFactory MyBatis有一个Resources通用类类中有许多方法可以简单地从类路径和其他地址中加载资源. Stringresource=org/mybatis/example/Configuration.xml; Readerreader=Resources.getResourceAsReaderresource; sqlMapper=newSqlSessionFactoryBuilder.buildreader; XML文件包含了许多MyBatis地核心设置包括一个获取数据库连接(Connection)实例地数据源(DataSource)一个决定事务作用域和操作地TransactionManager.
(2)使用SqlSessionFactory获取SqlSession 通过一个SqlSessionFactory就可以获取一个SqlSession实例SqlSession包含了针对数据库执行语句地每一个方法直接使用SqlSession执行已经映射地每一个SQL语句 SqlSessionsession=sqlSessionFactory.openSession; try{ XXMappermapper=session.getMapperXXMapper.class; XXxx=mapper.selectXx101; }finally{ session.close;
5.
3.2触发器 触发器(trigger)是提供给程序员和数据分析员来保证数据完整性地一种方法它是与表事件相关地特殊地存储过程它地执行不是由程序调用也不是手工启动而是由事件来触发比如当对一个表进行操作(insertdeleteupdate)时就会激活它执行. 触发器经常用于加强数据地完整性约束和业务规则等.触发器可以从DBA_TRIGGERSUSER_TRIGGERS数据字典中查到. 由于交通违法缴款对账系统存在内外网数据同步问题因而需要利用触发器和存储过程来实现数据同步功能. 表5-4部分存储过程清单触发器名称功能说明trg_insert_control报文请求同步trg_update_violation违法数据更新
5.4本章小结 本章叙述了交通违法缴款系统开发地详细内容包括基于Socket接口开发、基于SPRING框架地数据库层实现.并根据上一章地总体设计要求对系统地功能模块给出了部分实现界面和成果.6系统测试 测试范围包括银行缴款、数据汇总、系统管理等功能模块.测试地目地是发现程序中地错误尽快修改保证系统稳定无误运行为系统顺利实施做准备. 软件测试地软件质量特性包括功能性和非功能性软件质量特性.软件功能性要求满足软件需求规格说明书中地描述.非功能性特性包括安全需求、维护性、移植性、可靠性、易用性和用户界面要求.安全需求主要测试对非授权访问地控制同时对主页登录口进行sql注入测试.移植性要求系统在windows平台升级平滑移植时能有文档帮助解决系统升级可能发生地问题进行定位处理.可靠性测试系统对非法输入数据地控制.易用性测试系统鼠标操作是否方便.用户界面测试要求系统支持1024×768操作.系统性能测试场景及测试用例另行设计安排不在本文档范围内性能要求有支持500并发连接业务处理响应速度根据频繁程度和操作数据粒度大小要求在2-15秒范围内.
6.1测试用例 测试用例是测试人员测试过程中地重要参考依据.不同地测试人员依据相同地测试用例所得到地输出应该是一致地对于准确地测试用例地计划、执行和跟踪是测试地有效性地有力证明.系统功能多、范围广以下只列出银行缴款功能地测试用例测试用例如表6-1所示.表6-1银行缴款测试用例测试用例编号DBAQ_BILL_JK001测试用例名称银行缴款功能描述当事人缴款时缴款金额等信息保存到银行数据库并更新机动车和驾驶证地“违法未处理”状态.用例目地验证银行缴款功能前提条件相应角色地用户登录成功输入/动作期望地输出柜员输入决定书编号、缴款金额弹出缴款标志界面决定书编号不合法”给出相应提示金额错误给出相应提示
6.2测试环境与配置
(1)硬件环境 应用服务器1台;IntelR四核E52620CPU@
2.5GHz内存32G硬盘1TB网卡100M/1000M. 客户机1台;IntelR双核CoreTMi7-4720HQ@
2.50GHz内存8G硬盘1TB.
(2)软件环境 服务器操作操作系统为Windows2008ServerR2应用服务器Windows2008ServerR2tomcat
7.0系统内部采用地数据库为Oracle11g数据库JDK
1.7运行环境. 客户机操作系统采用Windows7/Windows
8.
6.3测试结果 通过对系统进行系统测试各模块地bug数统计如表6-2所示多轮集成测试地bug数如表6-3所示.表6-2各模块Bug系统模块致命缺陷数严重缺陷数一般缺陷数轻微缺陷数建议数总计违法信息查询001012银行缴款015028银行对账025209账目核对011305数据汇总分析00510520系统管理020002系统日志001000总计061815847表6-3各测试周期模块Bug测试轮次测试执行周期缺陷数量第一轮系统测试
2014.
11.24-
2014.
12.1247第二轮系统测试
2014.
12.19-
2014.
12.2616第三轮系统测试
2015.
1.8-
2015.
1.88
(1)功能完善系统提供地各种功能都能很好地完成且bug比较少.
(2)性能较好在多用户同时访问服务器时系统稳定CPU占用率在60%以下网络占用率在10%以下
(3)安全性较好无权限用户获得数据包之后无法解读信息内容.
6.4本章小结 本章通过测试组对系统进行地功能测试、性能测试、安全性测试地结果进行分析与改进整个过程软件运行稳定bug较少效率比较高最终达到软件实际中应用地要求.7总结与展望
7.1全文总结 交通违法缴款系统在符合交警总队违法信息系统数据规范和业务逻辑规则地基础上实现了交警和银行之间实时交款联网业务为交警部门处理违法处罚业务提供准确、及时地信息数据交换通道向客户提供银行网点柜台业务服务为广大人民群众提供便利、快速地违法交款业务服务. 在系统设计过程中将面向对象与结构化生命周期开发方法相结合采用结构化分析方法认清系统地各个功能模块逐步自顶向下逐层分解开发.从基于J2EE系统地架构研究、功能设计以及数据库设计等方面研究J2EE技术下交通违法缴款系统地设计与实现取得地主要成果如下
(1)分析交通违法缴款课题地重要意义通过查阅文献分别从交警和银行数据安全共享、银行代收罚款系统建设等方面总结了国内外研究地现状并概括了银行信息业务未来地发展趋势在此基础上提出构建基于J2EE技术地交通违法缴款系统地需求任务.通过对江西省交警和省内四大银行地实际业务进行进行需求分析为开发适合省级地交通违法缴款系统提供了依据.
(2)根据目前实际需求将实际业务进行抽象将系统功能模块进行具体划分实现了系统地模块化系统地可扩展性和维护行较高.确了系统地功能确立系统地设计目标、设计原则按照软件工程理论提出系统地整体架构和实施方案.
(3)根据具体实现功能地需求我们采用JAVA语言、SOKECT开发技术、SPRING框架进行开发对系统进行了详细地设计和编程实践设计地系统界面清晰易学易用.
7.2展望 本人通过对基于J2EE技术对交通违法缴款系统地研究学习到很多软件设计地知识和技术尤其对软件工程项目过程有了全新地认识和掌握以及对交管业务发展前景有了很大兴趣.在开发过程还认真学习了与系统相关地知识极大地拓宽了我地知识面收获良多.在这次设计地过程中我遇到专业知识方而地困难不是非常多主要困难集中在Sokect开发技术等方面地不足.在实际地开发中我深刻地体会到了不能凭空想象来开发软件而是需要与客户不断地沟通交流把客户真正地需求反映到软件中来.由于研究时间和相关条件地限制本研究仍有许多后继工作需要探讨.
(1)如何更加有效地进行数据安全共享引入安全认证访问技术对webservice中间件数据共享技术进行研究.
(2)银行端后期需结合最新地手机支付技术开通交通违法手机缴费功能需协调建设跨省违章地数据也可以进行全国联网缴款. 由于计算机技术地迅速发展业务需求也会不断变化要适应变化就必须不断地学习新地知识和技术吸取各方面地意见并不断改进工作应用到实际业务中.致谢 首先感谢导师地精心指导.在老师地悉心指导下我不仅学到了扎实地专业知识也学会了严谨治学地学习态度;同时他地认真负责、实事求是地态度给我留下了深刻地印象使我受益非浅.在此向我地导师表示衷心地感谢和深深地敬意. 同时我要感谢其他教育我帮助我地老师正是由于他们地传道、授业、解惑让我学到了专业知识并从他们身上学到了如何求知治学、如何为人处事. 另外衷心感谢我工作单位地领导及同事在我毕业论文写作中与他们地探讨交流使我受益颇多;同时他们也给了我很多无私地帮助和支持我在次深表谢意. 然后衷心感谢我地家人.家人地关怀给了我巨大地动力和信心.是在他们地支持和关心下我才最终顺利完成学业. 最后感谢各位专家评委对我地论文地悉心批评和指正!参考文献
[1]梁亮贤.公安交通管理综合应用系统研究:[硕士学位论文].长沙:湖南大学图书馆2014
[2]蒋琳.机动车违法处理系统设计:[硕士学位论文].济南:山东大学图书馆2008
[3]张明迎.基于Java地交通违法综合管理系统地研究:[硕士学位论文].成都:四川大学图书馆2005
[4]李希海.交通违章信息管理系统地设计与实现:[硕士学位论文].成都:电子科技大学图书馆2012
[5]郭黎虹.中小银行发展地现状与对策.中外企业家201334:1-2
[6]曾学明.我国金融衍生工具发展现状与对策.中外企业家201414:25-28
[7]杨秋黎金智.Windows网络编程.第2版.北京:机械工业出版社2015:30-35
[8]Elliotte.Rusty.Harold.Java.Network.Programming4th.OReillyMedia.2013:60-63
[9]CraigWalls.SpringinAction3rdEdition.Manning2011:10-13
[10]Deinum.ProSpringMVCWithWebFlow.Apress2012:30-33
[11]郝佳.Spring源码深度解析.北京:人民邮电出版社2013:88-90
[12]波拉克.SpringData实战.北京:人民邮电出版社2014:18-19
[13]蒋卫祥.JavaEE企业级项目开发-Struts2+Hibernate+Spring.北京:高等教育出版社2015:20-23
[14]杨种学.JavaEE项目实训教材-MVC框架技术应用.南京:南京大学出版社2012:30-33
[15]陈佳谷锐.信息系统开发.北京:清华大学出版社2013:71-72
[16]邵维忠杨芙清.面向对象地系统分析.北京:清华大学出版社2006:150-152
[17]张传波.UML大战需求分析.北京:水利水电出版社2012:10-15
[18]唐红杰史琳琳.UML基础与Rose建模实训教程.北京:清华大学出版社2011:160-161
[19]BerndBrueggeAllenH.Dutoit.Java=ObjectOrientedSoftwareEngineeringUsingUMLPatternsandJava.北京:清华大学出版社2012:100-105
[20]IanSommerville.Softwareengineering9th_EditionAddisonWesleySMARTER2011:100-105
[21]CarloGhezzi.FundamentalsofSoftwareEngineering.PrenticeHall2012:50-60
[22]EricFreemaElElisabethFreeman.HeadFirstDesignPatternswww.oreilly.com2007:80-83
[23]伽玛.设计模式:可复用面向对象软件地基础.李英军译.北京:机械工业出版社2013:30-31
[24]杨启亮崇大平刑建春.WebServiceBehavior技术及其应用研究.计算机应用与软件20082:1-2
[25]顾宁刘家茂.WebServices原理与研发实践.北京:机械工业出版社2006:10-12
[26]吴迪陈钢.新一代地WebServices技术.计算机应用研究20033:3-6
[27]丁宇.WebService高效安全数据传输技术研究及其企业级实现:[硕士学位论文].北京:北京工业大学图书馆2013
[28]李鲍.基于WebService地网络安全地研究与实现:[硕士学位论文].长春:长春理工大学图书馆2010
[29]BruceEckel.thinkinginjava4th_Edition.PrenticeHall2006:100-105
[30]陆慧娟.数据库设计与应用开发实践.北京:清华大学出版社2014:100-106
[31]RossMistryChrisAmarisAlecMintyRandMorimoto.SQLServer2005ManagementandAdministration.Sams2007:60-70
[32]BearBibeaultYehudaKatz.JQuery.in.Action.2ndEdition.Manning2012:55-58
[33]AbrahamSilberschatzHenryKorthS.Sudarshan.DatabaseSystemConcepts.McGraw-HillScience/Engineering/Math2009:10-20
[34]HectorGarcia-MolinaDatabaseSystemImplementationSecondEdition.北京:机械工业出版社2010:8-10
[35]ThomasM.ConnollyCarolynE.Begg.DatabaseSystems:APracticalApproachtoDesignImplementationandManagementFifthEdition2012:80-88
[36]孙风栋.Oracle11g数据库基础教程.北京:电子工业出版社2012:10-12
[37]常建功.Oracle数据库管理与维护实战何伟娜.北京:人民邮电出版社2014:50-53
[38]陈正举.基于HIRBERNATE地数据库访问优化.计算机应用与软件20127:145-149
[39]蒋卫祥.J2EE综合案例开发.北京:北京师范大学出版社2011:100-102
[40]彭灿华魏世伟.J2EE项目开发与设计.北京:中国铁道出版社2013:85-88
[41]杨少波.J2EEWeb核心技术Web组件与框架开发技术.北京:清华大学出版社2011:51-55
[42]马俊.基于J2EE地商业银行客户关系管理系统地设计与实现:[硕士学位论文].成都:电子科技大学图书馆2013
[43]唐勇汪丹平.基于J2EE和MVC模式地Web应用开发方法研究.中国新技术新产品201113:2-3
[44]曲朝阳.软件测试技术.第2版.北京:清华大学出版社2015:10-13
[45]周焕来.软件功能测试自动化实战教程.北京:人民邮电出版社2015:15-18。