城市公共交通智能卡信息管理系统的设计与实现.doc
硕士学位论文 (专业学位) 城市公共交通智能卡信息管理系统的设计与实现姓 名: 学 号:所在院系:软件学院职业类型:工程硕士专业领域:软件工程指导教师:副指导教师: 二一四年三月 A dissertation submitted toTongji University in conformity with the requirements forthe degree of Master of EngineeringDesign and Implementation of the Smart Card System in City Public TransportCandidate: Student Number: School/Department: School of Software EngineeringDiscipline: Computer Science and Technology Major: Software EngineeringSupervisor: March, 2014城市公共交通智能卡信息管理系统的设计与实现同济大学学位论文版权使用授权书本人完全了解同济大学关于收集、保存、使用学位论文的规定,同意如下各项内容:按照学校要求提交学位论文的印刷本和电子版本;学校有权保存学位论文的印刷本和电子版,并采用影印、缩印、扫描、数字化或其它手段保存论文;学校有权提供目录检索以及提供本学位论文全文或者部分的阅览服务;学校有权按有关规定向国家有关部门或者机构送交论文的复印件和电子版;在不以赢利为目的的前提下,学校可以适当复制论文的部分或全部内容用于学术活动。 学位论文作者签名: 年 月 日 同济大学学位论文原创性声明本人郑重声明:所呈交的学位论文,是本人在导师指导下,进行研究工作所取得的成果。除文中已经注明引用的内容外,本学位论文的研究成果不包含任何他人创作的、已公开发表或者没有公开发表的作品的内容。对本论文所涉及的研究工作做出贡献的其他个人和集体,均已在文中以明确方式标明。本学位论文原创性声明的法律责任由本人承担。 学位论文作者签名: 年 月 日同济大学 硕士学位论文 摘要摘要金卡工程在交通领域内的应用越来越受到城市交通管理部门的重视,城市公共交通智能卡或一卡通建设已经是智能交通系统建设的重要内容。智能卡的安全性较高,各个城市对其的应用也越来越广泛,随之带来的就是对智能卡信息的管理工作量将变得巨大。本课题基于先进的信息化建设基础,对城市公共交通智能卡信息管理系统进行设计和实现,用于解决传统公共交通收费管理混乱、效率低下、智能卡数据安全等问题。本文针对城市公共交通智能卡应用和管理的现状,以一个城市的应用为背景,设计与实现适用性较强的城市公共交通智能卡信息管理系统。结合城市公共交通智能卡应用的背景和特点,对该系统需要实现的功能和业务流程进行了详细的分析,在分析完成所有需要实现的功能之后,结合业务流程的特点,确定了使用以SSH框架、MVC模式为结构的系统开发技术。最后确定了实现包括智能卡信息管理、卡主信息管理、二级运营单位管理、车载POS管理、充值结算管理、挂失管理和系统维护管理功能的应用系统。论文使用了结构化设计方法对系统进行结构设计、功能模块设计,确保了设计的系统具有良好的可扩展性,能够适应城市交通的发展。设计与实现的公共交通智能卡管理信息系统应用于城市智能交通系统中,能够实现对整个城市内公共交通智能卡的统一管理,进行交通资源的合理配置,同时解决传统公共交通在收费管理上存在的混乱现象。此外,还能减少智能卡信息错乱产生的概率,能够显著的提高公平交通收费管理的科学性,以及降低公共交通管理部门的人力资源成本。关键词:智能卡信息管理;信息系统;SSH框架;结构化设计ITongji University Master of Engineering AbstractAbstractGold project in the transport sector have attracted the attention of urban traffic management department, urban public transport smart card or card is already an important part of building intelligent transportation system construction. The high-security smart card, the cities are increasingly being used for its application, the attendant is on the smart card information management will become a huge workload. This thesis is based on advanced information technology foundation for urban public transport smart card information management system design and implementation for solving the traditional public transport fares poorly managed inefficient, smart cards, data security and other issues.In this thesis, the status of urban public transport smart card applications and management to the application of a city as the background, design and implementation of the applicability of a strong urban public transport smart card information management systems. With urban background and characteristics of public transport smart card applications, the system needs to achieve the functions and business processes carried out a detailed analysis, after the analysis is completed all the required functions implemented, combined with the characteristics of business processes to determine the use to SSH framework MVC model structure for the system development techniques. Finalize the implementation of information management, including smart cards, card master information management, management of two operating units, automotive POS management, and prepaid billing management, and report the loss of management and system maintenance management applications. Paper using structured design methods for systems design, function modules designed to ensure that the design of the system has good scalability, able to adapt to the development of urban transport.Design and public transport smart card management information systems used in urban intelligent transportation system, able to achieve throughout the urban public transport smart card unified management, the rational allocation of transport resources, while addressing traditional public transport fares poorly managed and inefficient problems. In addition, can reduce the probability of confusion generated by the smart card information, can significantly improve the scientific management of equitable transportation fees, and reduce the cost of public transport human resource management department.Key words: Smart Card Management; Information System; SSH Framework; Structured DesignIII同济大学 硕士学位论文 目录目录摘要IAbstractII目录IV第1章 绪论11.1 研究背景与意义11.1.1 研究背景11.1.2 研究意义21.2 国内外研究现状21.3 论文研究内容31.4 论文组织框架4第2章 理论基础和技术分析52.1 系统体系结构52.1.1 C/S系统体系结构52.1.2 B/S系统体系结构62.1.3 C/S和B/S的比较72.2 开发语言与技术82.2.1 Java语言82.2.2 JSP技术92.2.3 SQL Server92.3 设计框架与模式102.3.1 SSH框架102.3.2 MVC模式122.4 结构化设计132.5 本章小结14第3章 城市公共交通智能卡信息管理系统的需求分析153.1 可行性分析153.2 角色需求分析163.3 模块需求分析163.3.1 智能卡信息管理模块分析173.3.2 卡主信息管理模块分析183.3.3 二级运营单位管理模块分析203.3.4 车载POS管理模块分析213.3.5 充值结算管理模块分析223.3.6 挂失管理模块分析233.4.7 系统维护管理模块分析253.4 业务流程分析263.5 数据流程分析303.6 系统数据字典313.7 非功能需求分析323.7.1 系统性能需求分析323.7.2 系统安全需求323.7.3 操作系统安全需求333.7.4 数据传输安全需求333.7.5 数据存储安全需求333.8 本章小结34第4章 城市公共交通智能卡信息管理系统的详细设计354.1 系统架构设计354.2 模块设计364.2.1 智能卡信息管理模块设计374.3.2 卡主信息管理模块设计404.3.3 二级运营单位管理模块设计434.3.4 车载POS管理模块设计454.3.5 充值结算管理模块设计484.3.6 挂失管理模块设计504.3.7 系统维护管理模块设计524.4 数据库设计554.4.1 数据库概念结构设计554.4.2 数据库逻辑结构设计564.5 本章小结59第5章 城市公共交通智能卡信息管理系统的实现与测试615.1 系统实现和使用的环境615.2 系统实现615.2.1 登录实现615.2.2 智能卡信息管理模块实现635.2.3 卡主信息管理模块实现645.2.4 二级运营单位管理模块实现645.2.5 车载POS管理模块实现655.2.6 充值结算管理模块实现665.2.7 挂失管理模块实现685.2.8 系统维护管理模块实现695.3 系统测试705.4 本章小结73第6章 总结与展望776.1 总结776.2 展望78致谢79参考文献80个人简历、在读期间发表的学术论文与研究成果85V第1章 绪论第1章 绪论本章主要对系统设计与实现的背景、意义、国内外研究现状进行阐述,提出课题研究的内容,总结论文的组织框架。1.1 研究背景与意义1.1.1 研究背景20世纪末开始,国内就启动了以发展国内电子货币为目的、以电子货币应用为重点的各类卡基应用系统工程-金卡工程。金卡工程建设的总体目标是要建立起一个现代化的、实用的、比较完整的电子货币系统,形成和完善符合国内国情、又能与国际接轨的金融卡业务管理体制,在全国400个城市覆盖3亿城市人口的广大地区,基本普及金融卡的应用。在国家信息化领导小组的直接领导下,国内IC卡的开发生产和应用如雨后春笋般迅猛发展起来。目前已广泛应用于金融、电信、交通、商贸、旅游等领域1。金卡工程在交通领域内的应用是伴随着国内智能交通的发展而进行的。在国内,中国的智能交通系统的研发最早可以追溯到20世纪80年代对于公路收费系统的研发。智能交通系统建设在中国开展的时间较短,目前仍处于起步阶段2。从区域发展情况来看,北京、上海、广州等东部沿海和经济发达城市的智能交通建设已经初具规模,而中西部地区的智能交通系统主要还集中在高速公路收费系统,城市内部的智能交通系统有待于继续建设和完善3-5。智能交通产业的发展速度和方向与交通设施的建设情况密切相关。公路和城市路网的新建、改建、优化都将带动智能交通领域投资的增加6。在智能交通系统建设中,智能卡或一卡通系统是重要的工作内容。城市公共交通智能卡的使用,解决了市民乘坐无人售票公交车时没零钱的烦恼,还可以让公交企业杜绝因收到残币、假币而带来的经济损失7-9。因刷卡消费的每次交易时间约为300毫秒,有效的缩短了上车时间,提高了公共交通的使用效率。在城市交通系统中使用最多的卡就是NXP公司生产的含Mifarel芯片的IC卡,该卡在全球市场上占有最大的份额10。但是,随着Mifarel芯片里的安全算法被破解之后,一个更加安全的非接触CPU卡被人民重视并开始重视。非接触CPU卡也被成为智能卡,北京公共交通是第一个使用该卡的城市,得到了良好的应用效果11。智能卡的安全性较高,各个城市对其的应用也越来越广泛,随之带来的就是对智能卡信息的管理工作量将变得巨大。智能卡里记录的是一个市民在基本信息,这些信息的保护是智能卡首要保证的问题。其次,如果管理所有智能卡里的市民信息将是智能卡管理需要考虑的重要因素,尤其是在智能卡应用越来越广泛的情况下,积累的智能卡信息数据将会呈几何倍数的增加。鉴于这种背景,本课题运用先进的信息化建设技术,在城市已有的智能交通网络中,使用J2EE技术,提出了一套基于SSH框架和MVC模式的城市公共交通智能卡信息管理系统设计与实现的方案。1.1.2 研究意义本文提出的城市公共交通智能卡信息管理系统设计与实现的技术方案,以Web系统建设思想为指导,结合Java技术和SSH框架,运用结构化设计和MVC模式,对智能卡信息管理系统进行分析和设计。该课题的提出也正是基于智能卡数量增加带来的诸多管理问题。将设计与实现的公共交通智能卡管理信息系统应用于城市智能交通系统中,能够为智能卡管理部门提供一个统一的科学性、有序性的智能卡信息管理平台,主要体现在三个方面:首先,实现对整个城市内公共交通智能卡的统一管理,进行交通资源的合理配置,同时解决传统公共交通收费管理混乱和效率低下的问题。其次,减少智能卡信息错乱产生的概率,能够显著的提高公平交通收费管理的科学性,提高管理的效率。最后,该系统的实现和应用也能够降低公共交通管理部门的人力资源成本。1.2 国内外研究现状目前在国内,随着金卡工程建设的不断深入发展,IC卡已在众多领域获得广泛应用,并取得了初步的社会效益和经济效益。到目前为止,国内智能卡的发行量已经到了一个很庞大的数量12。尽管IC卡的发行量保持了较高的增长率,但市场销售额在还很小。据CC工D统计,2001年国内计算机市场销售额约2502亿,而IC卡的销售额不到21亿元,IC卡作用并不明显。IC卡市场还构不成国内IT业的亮点,对IT市场的拉动作用并不明显13。这一方面制约IT企业对IC卡技术的投入,另一方面,也预示着国内IC卡市场的巨大发展空间。随着政府管理和支持力度的加大、技术研发水平的提升,IC卡市场竞争格局将发生深刻的变化。由于高端芯片、核心模块、金融POS机、生产设备等被国外企业所掌握,造成国外品牌对一些细分市场的相对垄断。随着政府智能卡项目的启动,移动通信市场的逐步开放,国内企业技术实力和工艺流程的优化,使得国外品牌市场份额受到很大程度的限制,而国内品牌将会有快速的发展。一些从电信市场成长起来的国内IC卡企业,依托雄厚的资金和技术实力,将在身份证、金融、社保、交通等领域继续拓展业务,直接参与国际化竞争14-16。智能卡是IC卡的一种,其必须遵循一套严格的标准,智能卡的使用为城市智能交通的建设奠定了基础,发挥了不可磨灭的作用。智能交通系统的建设在国内起步较晚,到目前为止,国内在该方面的建设还处在初步的水平。国内的智能交通市场规模巨大,从近几年发展的数据来看,成长率也是相对较高的,此外,在经济较为发达的沿海城市,智能交通系统的建设已经具备了一定的规模。在这种情况下,智能卡信息的管理也给相应的管理部门造成了很到的工作负担,并且随着智能交通系统的发展,智能卡应用将会呈爆发式增长,相应的信息管理工作将会遇到很大的瓶颈17。当前情况下,针对智能卡信息管理的研究还处在最初提出的阶段,在实时性的解决途径方面还需要一定的时间和投入。本课题鉴于在信息管理系统方面建设的经验,以及智能卡应用发展遇到的问题,提出了一种城市公共交通智能卡信息管理系统建设的技术方案,用于解决智能卡应用增长带来的诸多管理问题。1.3 论文研究内容城市公共交通智能卡信息管理系统的设计与实现,主要的目的将现代化的技术手段应用在传统的智能交通管理中智能卡的管理工作中,实现对整个城市内公共交通智能卡的统一管理,进行交通资源的合理配置,同时解决传统公共交通收费管理混乱和效率低下的问题。此外,还能减少智能卡信息错乱产生的概率,能够显著的提高公平交通收费管理的科学性,以及降低公共交通管理部门的人力资源成本。在本文的研究中,主要的工作有以下几个方面:(1)论文对该系统设计和实现的背景、目的、意义和可行性就行了分析和阐述,总结了金卡工程、智能交通、智能卡信息管理系统在国内外相关研究进展的概况,规划了系统设计和实现的基本框架和内容;(2)对系统设计和实现过程中需要用到的技术和框架进行分析和选择。包括对系统体系结构的分析、对系统开发语言和框架的选择进行了详细的阐述,最后对系统设计的结构化设计思想进行分析。对系统设计和实现技术的详细阐述和选择,能够为系统后续的需求分析和详细设计奠定良好的基础;(3)对系统的研究的可行性进行了分析,阐述了系统设计的原则,在此基础上,对系统展开了功能需求分析和非功能需求分析,为系统的详细设计打下坚实的理论基础;(4)对系统进行了详细的设计,在城市公共交通智能卡信息管理系统详细的需求分析基础上,首先对该系统进行了架构设计和系统功能模块设计,最后对系统数据库进行了设计;(5)在对该系统进行需求分析和系统结构设计的基础上,使用Java语言对城市公共交通智能卡信息管理系统进行了代码设计,并对实现的系统进行测试。本文的创新之处就在于针对城市公共交通智能卡管理信息化建设中存在的问题,将智能卡硬件技术管理和智能卡信息软件管理系统分离开进行独立管理操作,本课题主要实现对智能卡信息的软件系统管理,提高智能卡信息管理的科学性。课题中,使用J2EE技术,采用目前比较成熟的SSH框架和MVC模式的思想设计实现了城市公共交通智能卡信息管理系统,实现的系统具有较高的性价比,提高了城市公共交通管理部门智能卡管理工作的效率和科学性。1.4 论文组织框架本文的章节安排如下:第一章,绪论 章中主要对系统设计的背景、意义和可行性就行了分析和阐述,总结了该系统在国内外相关研究进展的概况,规划了系统设计和实现的基本框架和内容。第二章,理论基础与技术分析 本章中主要对系统设计和实现过程中需要用到的技术和框架进行分析和选择。包括对系统体系结构的分析、对系统开发语言和框架的选择进行了详细的阐述,最后对系统设计的结构化设计思想进行分析。对系统设计和实现技术的详细阐述和选择,能够为系统后续的需求分析和详细设计奠定良好的基础。第三章,城市公共交通智能卡信息管理系统的需求分析 本章中主要对系统的研究的可行性进行了分析,阐述了系统设计的原则,在此基础上,对系统展开了功能需求分析和非功能需求分析,为系统的详细设计打下坚实的理论基础。第四章,城市公共交通智能卡信息管理系统的详细设计 本章主要对系统进行了详细的设计,在城市公共交通智能卡信息管理系统详细的需求分析基础上,首先对该系统进行了架构设计和系统功能模块设计,最后对系统数据库进行了设计。第五章,城市公共交通智能卡信息管理系统的实现与测试 本章中主要对该系统进行需求分析和系统结构设计的基础上,使用Java语言对城市公共交通智能卡信息管理系统进行了代码设计,并对实现的系统进行测试。正文的最后一部分对文章进行了总结与展望,主要对论文的工作进行了总结,并对下一步的研究工作进行了探讨。3第2章 理论基础和技术分析第2章 理论基础和技术分析本章主要介绍系统设计与开发过程中使用的理论知识和技术。2.1 系统体系结构软件实现和部署、数据库设计是计算机体系结构整体中不可分割的部分,两者之间的主次关系处在同一个优先级。系统数据库的设计技术随着计算机技术的不断发展也在不断的进步,按照应用划分,计算机体系结构可以划分为四个时期:上世纪六十年代至八十年代,体系结构以集中式为主;上世纪八九十年代,体系结构以共享式为主;上世纪九十年代初期,体系结构以分布式C/S架构为主;上世纪九十年代到现在,体系结构以B/S架构为主。计算机软件体系结构的发展进程见图2-1。图2-1 软件体系结构发展图2.1.1 C/S系统体系结构C/S体系架构18是上世纪八十年代出现的, C/S架构依据不同的层数结构可以分成三种类型,分别是多层结构、三层结构和两层结构,在C/S体系结构中,两层结构是目前最为常见的。本节将从两层结构去探讨C/S架构实现和应用的基本原理。两层C/S体系结构将系统分成两个部分,且两个部分是不相同的,每个部分在系统中承担的角色和用途是不一样的,两个部分之间相互补充,共同来实现完成的功能。用户端向服务器传递请求以此实现事务的完成,服务器接到了用户传递的请求后,将信息处理之后将结果返回。两层结构如图2-2所示。图2-2 C/S体系结构图C/S体系结构的工作是由服务器端和客户机端承担的,两个部分承担的工作性质不同,服务器端所承担的工作是最重要的、任务最重的,主要是对系统用户的请求进行运算处理,并将处理结果返回至用户界面。与服务器端不同,客户端在功能实现方面箱柜简单,其最主要的工作是与客户进行交互,将客户的情况和数据输送至服务器端进行处理。C/S架构优点明显,如计算效率高,功能齐全等,但是也存在着不少的缺点,如扩展性较差、维护难度较大、可操作性差等。C/S架构的这些缺点使得它的应用受到了一定的局限性,通常都是在处理一些数据不大、非实时性等较为简单的事务19。2.1.2 B/S系统体系结构在传统的两层C/S体系结构中,该结构将系统分成两个层次,分别是表示层和数据层,分别对应客户极端和服务器端。而三层C/S体系结构时在两层C/S体系结构的表示层和数据层中间加入了一个功能层,增加的相应功能是为了处理消息、应用、事务等,功能层的增加避免了两层结构的缺点,极大的完善了所设计系统的可扩展性、稳定性等20。C/S架构的三层模式如图2-3所示。图2-3 三层C/S体系结构B/S(Browse/Server)架构是为了改善C/S架构的缺点而发展起来的, B/S架构特点鲜明,系统中大多数的功能是浏览器完成的。服务器端承担了绝大多数的功能实现,并传递给用户,而脚本程序实现的功能几乎是少之又少。这种系统运行方式,使得服务器的压力减少,同时用户端的任务也减少了很多。因此,改善了系统的可扩展性,后期的维护费用也得到了一定程度上的缓解21。B/S架构如图2-4所示。图2-4 典型B/S体系结构图2.1.3 C/S和B/S的比较两种架构在应用上都各具优势和缺点,如果要强制的比较两种架构是不合理的22。B/S架构在集成和扩展上都优于C/S架构,但是在动态性和与用户的交互则不如C/S架构。C/S架构适用于数据不大的事务,在处理复杂的信息时效果不佳。在对C/S和B/S体系结构进行分析时,论文从四个方面对比两种软件架构的优缺点。(1)软件结构重用方面:在结构重用性方面,两种软件结构的体现方式不一样,C/S架构注重整体,这就造成C/S架构在重用性上没有B/S程序好,B/S架构的构件是相互独立的,重用性更具优势。(2)程序架构方面:两者在这一方面的要求不一样,由于两者的结构不一致,C/S程序对于流程较为看重,可以多次的验证用户的权限,但对于运行速率则不是很关注。B/S程序则更加的关注运行的速率和信息的安全性等,因此,在程序架构方面,C/S架构更具优势。(3)安全方面:两种架构对于安全的要求也不一样,B/S架构安全方面操控力不强,相对于B/S架构, C/S架构的操控力显然更强。因此,在安全方面,C/S架构更具优势,效果更好。(4)硬件环境:两种架构对于硬件环境的要求是不一样的,B/S架构常用于体广域网,C/S架构则适用于局域网或专用网;因此,在硬件环境上,B/S架构更具优势。结合以上分析,城市公共交通智能卡信息管理系统的体系结构采用B/S软件架构进行设计和开发。2.2 开发语言与技术2.2.1 Java语言Java编程语言是由著名的Sun公司(现已被甲骨文公司收购)在1995年正式推出的一种面向对象的编程语言。Java设计人员在设计Java语言时,为了使新语言对C/C+程序员具有更强的吸引力,在设计中引入了大量C语言和C+面向对象语言的特性,这也使得Java语言与C+语言具有一定的相似性,但其并不是C+的增强版,也不是C+的Internet版本。Java语言与C+语言并不兼容,其对C+中经常使用的指针、多态继承等难以掌握而又易出错的技术概念进行了剔除,同时设计了内存自动回收机制,不再需要程序员像C+程序设计那样在编程中需要对内存进行管理,降低了程序设计内存管理难度,提高了系统整体运行安全性。同时,Java编译器对程序进行编译时,输出的并不是可以直接由CPU执行的二进制代码,而是字节码(byte code),字节码由Java虚拟机转换为可被CPU识别的二进制代码执行,从而实现了Java语言的跨平台执行23-26。2.2.2 JSP技术JSP是一种主要存在于服务器端的系统页面设计与开发技术,JSP技术是Sun公司提出的,在后期的应用中,多家公司参与了JSP技术规范的修正,直至目前市场面常用的比较成熟的页面设计技术27。JSP技术的设计是在Java技术体系下进行提出的,其核心技术基础是Servlet技术,在Servlet技术上进行了标准化、规范化的制定和修正,最大程度的帮助Java等实现系统的设计和开发。JSP技术是动态的,与微软公司提出的ASP技术在实现方面有及其相似的方面,两者的区别主要是技术体系的不同,也就造成了两者的应用环境会产生很大的差异。JSP实现的系统页面一般由HTML、CSS、脚本程序、服务器端标签等代码组成,文件的扩展名一般使用*.JSP的方式。JSP技术页面的实现对系统的依赖性不强,甚至对系统没有依赖,因此,使用JSP技术实现系统的页面脚本和服务器端能够为系统带来更好的跨平台性和移植性。目前,经过相关研究者的应用和不断改进,JSP技术实现规范已经比较成熟,其主要具有响应速度快、执行速度快、可以对Java中的各种资源进行重用、跨服务器和操作系统平台等优点28-30。基于上述优点,本文在对城市公共交通智能卡信息管理系统进行代码实现时,拟打断将JSP技术作为系统实现的界面设计技术,用来保证系统的稳定性。2.2.3 SQL ServerSQL Server是一个成熟的数据库管理系统,属于关系型数据库,SQL Server的第一个版本是在1988年提出的,提出之后,SQL Server就得到了飞速的发展。SQL Server飞速发展的原因有两方面,一方面是SQL Server系统是一种关系型数据库管理系统,而关系型数据库管理系统是目前最成熟的数据库结构,在系统的设计开发和应用中具有重要的作用;另一方面是SQL Server系统提供了完善的功能和效果,这种功能效果的完善是一个逐步发展的过程。在早期,SQL Server是针对Windows系统进行设计的,随后,SQL Server系统才在各个操作系统中应用并逐步完善31。SQL Server具有以下的特性32-34:(1)开放性;(2)可伸缩性;(3)安全性;(4)可扩展性;(5)操作简单;(6)可信任性;(7)智能性。在本研究中,使用SQL Server作为数据库开发工具的原因,是其具有诸多良好的特性,在这些特性的基础上,能够使得开发的数据库具有良好的关系和读取速度,适用于开发该类系统的数据库。2.3 设计框架与模式2.3.1 SSH框架SSH框架是一种开源的框架,是如今较为常用的Web程序,SSH框架是由Hibernate、Spring及Struts组成。SSH框架既能分离逻辑层和持久层,也能分离前端用户视图、中间处理控制器及后端数据库,SSH框架具备的这种功能,增大了各模块内的聚合度,减小了系统中模型与层次之间的耦合度。这种框架使系统每个结构层次之间的独立性显著增强,当其中一个层次发生变化时,其他结构层次不会产生连锁的影响,如系统前端实现代码改变后,可以只在中间做调整即可;若后端数据库发生改变,也不会影响前端的用户。2.3.1.1 Struts2框架伴随着计算机技术的不断向前推进,程序的应用模式也在发生变化,由以前的C/S转变为B/S模式,相比于传统的C/S模式,B/S模式更加的方便,用户使用系统时仅仅需要安装任意的浏览器就能与系统应用连接,而无需像以前一样安装特定的程序才能接入系统。目前,大多数的用户都习惯于使用Web应用程序,这种方式被广泛的接受。在Web应用最开始的阶段,系统应用的大多数功能是利用JSP实现的,因为此时完整的MVC框架还并未形成。JSP几乎要完成所有的功能,如前端的显示、中间的处理,甚至于后端数据库的操控,这种模式下的开发,层次感较差,给前期的开发和后期的维护都增加了很大的困难,Java程序和html代码相互混合,在程序阅读上非常的困难,除非是编程本人,旁人难以读懂,给后期的代码调试环节带来了不小的困难35。比如:负责前端页面显示的工作人员在修改页面显示时不得不面对后端复杂的数据库操作程序。为了能够更好的进行开发及维护,解决这种混杂的方式,开发人员不断的总结经验,提出了目前应用较为广泛的MVC设计模式。MVC设计思想是由模型(Model)、视图(View)、控制器(Controller)组成,三者之间相互独立,相互之间没有影响。Struts2在控制器层工作,融合了Open Symphoy社区的WebWork2框架及Apache开源社区以前就有的Struts框架,Struts2将MVC框架下WebWork2框架和Struts框架的优点相结合,使用户接触到了更加敏捷的Action表单构件和控制层。Struts2通过请求拦截器组件技术处理用户对表单数据的类型改变及格式的验证的请求,接着通过Action响应组件请求拦截器组件技术解决过后的请求实行业务处理,在完成之后把所得到的信息传送到前端页面显示36。2.3.1.2 Spring框架软件的耦合性指的是对象间的彼此之间的依赖程度,是软件工程中相对比较重要的术语。企业级系统应用开发的目的是要尽可能的减小各个对象、各模块间的耦合性,这是一个很麻烦的过程。对于这个难点,Java程序设计人员提出了Spring开源框架。Spring框架化Java bean对象,具体的对象生成与实现类的代码没有了直接的关系,而是由框架配置参考文件生成的,控制对象生成的权利交给了几乎不用修改的框架及容易调整的配置文件,而不是交给不容易修改的代码进行,这种机制就被叫做IOC(Inverse Of Control):控制反转机制。在企业级应用程序开发过程中通过控制反转机制和Spring框架,能减小开发程序的复杂性,减小程序间的耦合性,增大程序内部的聚合程度,各个模块相互之间的影响大大减小,模块单独性增强,可被单独使用。此外,Spring框架还能进行事务管理以及面向方面编程:AOP(Aspect Oriented Programming)的功能37。事务管理指的是处理数据库的过程中,当有反常或错误出现时,能及时的回滚数据,避免不一致数据的产生。比如转账过程中,转入、转出账户要同时改变账户金额以体现一致性,两个账户的数据修改是通过事务管理的,事务的操作要么成功,要么失败。当其中的某一操作有异常或错误出现时,要对另一个操作实施回滚操作,以保证数据是一致的。如批量操作过程中,所有的操作都要是正确的,如果出现异常,就得通过事务保持数据的一致。AOP的主要思路是把一些辅助功能,如:异常处理、日志记录、安全控制、事务处理等打包,并进行单独的开发,独立这些功能。当要用到这些功能时,直接