Struts、Spring和ibatis项目案例(绝对经典)

时间:2024.4.21

StrutsSpringibatis的组合在一起


第二篇:基于Struts、Spring和Ibatis的银行绩效考核系统的开发研究


大连海事大学

硕士学位论文

基于Struts、Spring和Ibatis的银行绩效考核系统的开发研究

姓名:高志华

申请学位级别:硕士

专业:计算机技术

指导教师:蒋波;王谦

20091101

中文摘要

摘要

近年来,随着外资银行在我国的数量不断增加以及我国金融体制改革的不断深入,国内银行所面临的压力日渐增大。银行作为一个独立的盈利性质企业,建立一个健全、完善的绩效考核管理系统起着非常重要的作用。

本文着重分析、研究了J2EE平台的体系结构及其特点,提出了采用Struts、Spring和lbatis框架相结合的系统解决方案,详细论述了用Struts框架解决了模型、视图和控制的分离以便使系统的结构更加清晰,用Spring解决事务管理方面的问题,以及用Ibatis为业务层提供数据抽象层接口,实现数据存储逻辑的分离、数据访问底层实现的分离、资源管理和调度的分离的相关技术细节。同时,对整体绩效考核管理所涉及的各大模块进行了细致的研究和解析,对各大模块的一些功能需求和设计作了全面的分析及定义,在此基础上实现了系统的部分功能。

实现结果表明,本文所论述的技术方案是实现功能、性能完善的绩效考核管理系统的一个有效途径。关键词:性能;整体;绩效考核管理系统;框架

英文摘要

Abstract

Inrecentyears,withthenumbersofforeignbanksincreasinginChinaandChina'sfinancialsystemreformcontinues

increasing.BanksaLsalltodeepen,pressurethatdomesticbanksfacingisaindependentprofitnatureofenterprises,establishing

isverysoundandcomprehensiveperformanceassessmentmanagementsystem

onimportant.Thispaperisfocusingtheanalysisandr.esearchofthesystemarchitectttreof

J2EEandit’Sfactor.ThesolutionofunionusageofStrutsSpringandIbatisisadoptedbythissystem.TheexpositionforTheStrutsframeworkwhichisusedtosperatethemodelviewandcontrolleriSstatedindetailthatmakethesystemmoreclearlyinarchitecture.Thespringisusedtoresolvethetransactionmanagementofsystem.Ibatisisusedtosupplytheabstarctinterfaceforthebusinesslayerwhichimplementthesperafionofthedatastoragelogic,implementationofdataaccessmentandresoucemanagementanddispatchrelatedtechnoledgedetail.Inthemeantime,theresearchandanalysisoneachcomponentthatbank

onperfomanceassessmentusedisindetail.Definitionandanalysis

overall.Basedonthefunctionrequirementanddesignoflargecomponentsisthis,somefunctionofthesystemisimplemented.

The

aimplementationresultCanprovethatthetechnolodgeproposedinthispaperistoconstructeffectivewaytheperformanceassessmentmanagementwhichfunctionandperformanceisperfect.

KeyWords:Performance=Overall;Performance

FrameworkAssessmentManagement;

大连海事大学学位论文原创性声明和使用授权说明

原创性声明

本人郑重声明:本论文是在导师的指导下,独立进行研究工作所取得的成果,撰写成硕士学位论文:基至§主!坚主§:曼卫兰i监塑!坠丛i曼数堡堑缝筮耋核丕统的珏筮硒究::。除论文中已经注明引用的内容外,对论文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本论文中不包含任何未加明确注明的其他个人或集体已经公开发表或未公开发表的成果。本声明的法律责任由本人承担。

学位论文作者签名:

学位论文版权使用授权书

本学位论文作者及指导教师完全了解大连海事大学有关保留、使用研究生学位论文的规定,即:大连海事大学有权保留并向国家有关部门或机构送交学位论文的复印件和电子版,允许论文被查阅和借阅。本人授权大连海事大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,也可采用影印、缩印或扫描等复制手段保存和汇编学位论文。同意将本学位论文收录到《中国优秀博硕士学位论文全文数据库》(中国学术期刊(光盘版)电子杂志社)、《中国学位论文全文数据库》(中国科学技术信息研究所)等数据库中,并以电子出版物形式出版发行和提供信息服务。保密的论文在解密后遵守此规定。

本学位论文属于:保密口在年解密后适用本授权书。

不保密口(请在以上方框内打“4")

誊燃~马壤孑惨

基于Struts、Spring和Ibatis的银行绩效考核系统的开发研究

第1章绪论

1.1选题背景及意义

加入WTO后,加快了我国经济与世界经济的一体化进程。我国的银行业及其管理者也正以只争朝夕的紧迫感学习、吸收国外银行的先进技术和管理理念。此前,我国的银行界很少有像现在这样重视内部管理,在与外资银行的一轮又一轮的较量和合作过程中,业界人士终于认识到,国内银行与国外银行间的最大差异不在于技术、资本、行业经验,最大的差异就在于内部管理。如何将以前那种经验管理、粗放式管理、个人英雄式管理变为科学、规范的管理?如何提升内部员工的素质和技能并将其有效地发挥出来等问题,是现代银行业必须深入研究的问题。资本、规模、技术等都可以通过市场运作取得,但是员工的素质、银行内部的企业文化等是无法购买和复制的,只有通过有效的内部管理机制才能创造出这种企业文化。不论管理者,还是受管理者,本质上他们都是管理的主体,“二十一世纪的竞争是人才的竞争”,银行的管理者想方设法提高员工的士气和业绩,并进行优胜劣汰,保持晟优秀的员工团体。好的绩效管理不但能激励员工的工作热情,还能给出客观、公平的员工成绩表,作为优胜劣汰的依据。所以,绩效管理是人力资源管理的核心,在实现企业战略目标方面也起着举足轻重的作用,这已经是业界的一个共识。

现代银行已经在很大程度上依赖于计算机和网络,客户拿着国内的信用卡或者支票,就可以到世界的各个角落进行结算。如果还是依靠人工台帐的话,这是无法想象的。随着银行业务范围的扩大和品种的增加、银行业务量不断膨胀,客户资料、产品信息、业务流水和帐户明细等的笔数都是以百万计。随着网络应用、海量存储和数据库技术不断发展,银行业务得到了可靠的保障,这就使得绩效考核系统的开发和运用成为可能。成熟的绩效考核系统能为银行决策者提供客观、公平、可靠的业绩报表,对提高银行人力资源管理水平、员工的工作热情、建造和谐的内部气氛等,都起到了非常积极的作用。

第1章绪论

1.2国内外研究现状

对于商业银行绩效考核的研究,国外开展得较早,在上个世纪30年代,就确立了银行绩效评价体系。到了上世纪70年代,伴随着大量银行的破产,商业银行绩效评价分析引起了西方学术界的极大关注。此后,为了保障投资者和债权人的利益,银行对财务绩效进行了评价,它的具体内容基本上包括了企业偿债能力、营运能力和盈利能力,评价结果和经理人的报酬挂钩。80年代以后,理论界愈来愈认识到原有财务评价的局限性,会计信息反映企业的经营活动的片面性。于是,人们开始将企业的竞争能力,与顾客的关系等非财务评价纳入企业绩效的评价内容。美国学者经过对欧洲和北美3000多家公司的实证研究表明,无形因素特别是知识资产、创新和质量等是竞争成就获得的驱动力。90年代以来,银行逐渐把客户满意度放在首位,与此同时,进行了业务流程的重组、金融体系的创新,以满足客户需求。银行绩效受到越来越多的非财务因素的影响。WillamD?Miller在《商业银行评估》中提到,评价银行绩效必须同时关注影响银行的财务因素和非财务因素,并提出了lOP评估法。他认为银行的财务因素能够为绩效评价提供依据,有利于提高利润。与此同时,非财务因素的变化也给银行提供了创造利润的机会,对银行绩效产生了重大影响。由此可见,只有处理好非财务指标、有选择地将这些因素融入绩效评价体系,银行评价体系才将是完善的。至此,西方银行绩效评价已经进入到财务指标和非财务指标相结合、定量评价和定性分析相结合的绩效评价阶段。

对银行绩效的研究,我国起步较晚。上世纪90年代以来,我国理论界才开始对银行业的绩效考核问题进行了比较广泛、深入的研究。周春喜研究了多级模型数学综合评价理论,建立了多层次的商业银行绩效评价体系,并合理确定了指标权重的计算方法。张仿龙以骆驼评价法为基础,借鉴平衡计分卡的思想,探讨了平衡计分卡在我国商业银行财务诊断中的运用。赵国杰针对目前国内商业银行存在的弊端,通过在财务、顾客、内部业务和学习与成长等方面构建以战略和远景为中心的绩效评价指标体系,进一步阐明了该指标体系的内在因果关系,并结合我国商业银行现状及行业特点试建了绩效评价体系。关新红在对国外先进理论做

基于Struts、SNng和Ibatis的银行绩效考核系统的开发研究

了大量的分析的基础上,对EVA的实施进行了可行性论证。由此可见,我国银行绩效评价的研究虽然起步较晚,但通过对国外银行绩效评价理论的分析与研究,进行了富有成效的探讨与创新,已经取得了十分可喜的成果。

1.3主要研究内容

企业管理的核心主要是战略管理,战略管理的核心是人力资源管理,人力资源管理的核心是绩效管理。可以说,公司内部的管理都是以绩效为导向而展开的。所以,研究绩效管理的原理和模式是非常重要的,通过选择适合企业内部的绩效管理模式,使企业达到设定的战略经营目标。

绩效考核是企业管理中最为重要的一环。随着企业管理理论和实践的深入发展,绩效考核理论也在不断的研究之中,并逐渐由粗放走向细致,由单纯的目标管理转向目标和过程并重的管理。

在中国的银行界,采用的绩效考核管理方法很多,主要包括下面几类方法,简单目标管理、关键业绩指标考核(KPI)、量化评分考核、综合效益考核、平衡计分卡等。

简单目标管理方法作为企业管理的初级阶段因其简单易行而曾经兴盛一时,这种方法一般是在年初对考核对象确定几个指标,一般是存款余额或者增长量,到年终时以年终余额作为数据以考查完成情况。由于简单目标管理只抓一点不,并且容易产生企业经营行为的次优化选择,因此已经被大多数据企业管理者所放弃,而代之以更为精细的关键业绩指标考核(KPI考核)。

业绩指标考核∞I)是一种更为精细的目标管理方法,这种考核方法不只注意一两项指标,而是将与企业效益相关的多项指标提取出来,同时考核多项指标。更重要的~点,K.PI考核不但关注时点余额,也同时关注余额均值,它关注整个考核期内的经营情况。I<PI考核要求每一项指标都必须达标,否则视为未完成任务。目前KPI考核方案多用于年薪制的企业领导者的考核,完成情况与年薪中的效益部分挂钩。KPI考核模式要求企业领导者必须进行全面管理,而不能只注重一两项指标。

第1章绪论

K.PI考核方案可能出现的一种考核困境是考核对象的某些项指标完成十分出色,而某些指标则未完成。针对这种情况,量化评分考核应运而生,它将KPI指标值通过标准值、系数等换算成分值,从而将多种口径的K.PI指标统一在一种考核口径下。量化评分模型通过评分可以做到考核对象的业绩排名,也可以通过分值换算成对考核对象的效益奖金。这种方法因其简单易懂而成为目前最为流行的考核方法。

目前银行的业绩考核正在向更高层次发展,如建设银行力推以经济增加值(EVA)为核心的考核体系,而平衡计分卡03sc)pA其丰富而精细的考核方法和考核指标而被国内很多企业所看重。目前,经济增加值①VA)已经被溶入现有的KPI考核或量化考核体系中作为一项关键绩效因子。而平衡计分卡(BSC)则因为计算过程复杂并且需要大量的数据收集过程而较难形成正规的考核体系。

针对客户经理、机构以及柜员的内部考核要求,并结合其它部门的需求,采用KPI(关键指标指数)考核和量化评分考核方式,设计并实现一个结构科学合理、数据准确及时、查询方便快捷、操作简单灵活且易于维护管理的绩效考核系统。通过多角度、多层次的指标组合与灵活的考核标准,准确地反映当前的业务状况及变化趋势,为全行的绩效考核提供服务。

具体研究内容如下:

?

?

?

?客户经理考核的设计与实现机构考核的设计与实现业务量考核的设计与实现机构绩效分析报表的设计与实现

1.4本文的章节结构

针对上述研究内容,可将本文分为6个章节,每个章节的内容安排如下:

第1章绪论。本章着重论述本课题的研究背景与研究意义。通过对国内外研究现状的分析,给出本文的主要研究内容与拟采取的技术路线。第2章J2EE应用体系结构。主要阐述J2EE多层结构及其改进方案和优点。

基于Struts、Spring和lbatis的银行绩效考核系统的开荔乏乡堕

第3章开发环境和框架技术。主要介绍绩效考核系统所用的开发环境和框架及工具。

第4章绩效考核管理系统分析。确认绩效考核管理系统所使用的考核方法,论述系统目标及系统范围及相关业务流程。

第5章绩效考核管理系统的设计与实现。系统地阐述了整体功能设计和技术设计,确定各模块功能,就各功能予以定义,并将部分流程予以实现。第6章结论。主要是对本论文的全文的总结和展望。

第2章J2EE应用体系结构

第2章J2EE应用体系结构

2.1引言

绩效考核管理系统是基于J2EE平台开发的,平台为软件的开发提供了良好的服务。

J2EE架构是当前JavaWeb应用中的主流应用架构【11,目前大多数企业采用J2EE技术的结构设计与解决方案【21。J2EE体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。通过提供统一的开发平台,J2EE降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持,完全支持EnterpriseJavaBeans,有良好的向导支持打包和部署应用,添加目录支持,增强了安全机制,提高了性能。

Java技术的核心优点即它的“完全可移植性(Portability)”。一次开发、多次移植使用,不必担心具体的硬件及操作系统环境,.这对于提高开发效率、代码重用等具有很大的便利【3】【4】。缩减开发成本,可以快速跟踪企业应用的设计和开发,J2EE技术提供了基于组件的设计方法,开发、集成、部署应用程序【5】o

同时,加快了应用程序的设计和开发,可以快速地建立融合了Intemet技术尤其是Web技术的N层(N.Tiers)结构的分布式企业应用。基于J2EE技术的B/S结构具有可维护性好、可扩展性好、安全性好等优点,较好的解决了C/S结构所固有的可扩充性差、可维护性差、可扩展性差、安全性差、部署麻烦等弊端【6】。2.2传统J2EE及其改进方案

通常认为,运行在J2EE服务器上的EJB容器可以认为是此结构的核心,EJB容器管理着所有EJB的执行,以及EJB的生命周期,并且为EJB提供所有系统级的服务trl。EJB组件负责接受,处理WEB容器的客户请求和连接提供整个企业使用的数据,服务的EIS层。

通过Getter/Setter方法暴露EJB的所有属性在客户端中【引,业务对象都是带远程接El的无状态sessionbean,运行在EJB容器中。EJB中包含了各种服务(比如声明式的事务管理),而且提供了一个共享的中间层,可支持可支持各种类型的J2EE

基于Strtrts、sP血g和Ibatis的银行绩效考核系统的牙叁研究

客户端。但结构中应用性能和开发开销的负担很重,一些负载来在于EJB,而很大还是与分布式架构的特性有关。此外,为了分布化,牺牲了00原则,并且难以测试,比如,把业务逻辑放在EJB层之后的POJO中实现【9】,而这些类完全依赖于EJB容器的。

对“经典”架构的一种改进,便是把远程EJB替换为本地EJB,实现架构的重用,解决分布化的种种问题。但这时的架构还是相当的复杂,EJB的很多负担还是存在,从EJB中获得益处反而不多。所以,随着企业级应用开发的不断复杂,对架构设计的要求也会提出如下的一些新要求:

?架构简单,但功能强大。

?架构可以通过配置WEB容器集群来达到横向扩展。

?在不同的应用服务器之间具有高移植性。

?便于在应用服务器之外进行业务对象的单元测试,而且,一些集成测试甚

至可以让一些轻量级容器(如Jtmit)来完成。

为了解决经典架构中有EJB引起的一系列问题以及满足不断发展的企业应用,提出了非EJB架构的‘‘轻量级容器,’【1们。轻量级容器与EJ'B架构都是有容器管理业务服务对象,然后再围绕着这个服务层组织整个架构。但是业务对象不是运行在EJB容器中,而是运行在“轻量级容器”中。轻量级容器并没有和J2EE绑定,所以它既可以运行在WEB容器里,也可以在一个标准应用程序中运行,如必要,也可以运行在EJB容器中。这个容器也没有与servletAPI绑定,这一点与MVC结构的WEB框架有所不同。轻量级容器的启动开销很小,而且无需EJB的部署。

轻量级容器提供了一种管理、定位业务对象的办法。用不着JNDI寻址、定制服务器之类的额外辅助;轻量级容器为应用对象提供注册服务。较之EJB容器而言,轻量级容器不仅功能强大,而且避免了容器强制业务对象采用特定的接口,最低程度地降低了侵入性,实现了效果极佳的架构重用。

轻量级容器中所有的Java类都运行在同一个虚拟机中。

WEB层是由MVC框架提供的(Struts或WebWork,或Spring架构的MVC结构)。

第2章J2EE应用体系结构

业务对象是POJO,运行在轻量级容器里。Aop代理是基于拦截器机制实现的,实际业务对象就是业务对象。与EJB容器不同,业务对象不依赖于容器的API,所以这些对象在容器外也可以使用,更利于单元测试。业务对象仅仅通过接口来访问,当更改具体业务对象的实现类后,业务对象无需修改。实现了面向接口编程。

数据访问机制可以通过轻量级的O/RM.apping实现,该层能提供透明的持久化,能够实现对数据访问方式JDBC的轻量级封装。

2.3J2EE的优点分析

高效的开发:J2EE允许公司把一些通用的、很繁琐的服务端任务交给中间件供应商去完成。这样开发人员可以集中精力在如何创建商业逻辑上,相应地缩短了开发时间。

状态管理服务:让开发人员写更少的代码,不用关心如何管理状态,这样能够更快地完成程序开发。

持续性服务:让开发人员不用对数据访问逻辑进行编码就能编写应用程序,能生成更轻巧,与数据库无关的应用程序,这种应用程序更易于开发与维护。

分布式共享数据对象CACHE服务:让开发人员编制高性能的系统,极大提高整体部署的伸缩性。

支持异构环境:J2EE能够开发部署在异构环境中的可移植程序。基于J'2EE的应用程序不依赖任何特定操作系统、中间件、硬件。因此设计合理的基于J2EE的程序只需开发一次就可部署到各种平台。这在典型的异构企业计算环境中是十分关键的。J2EE标准也允许客户订购与J2EE兼容的第三方的现成的组件,.把它们部署到异构环境中,节省了由自己制订整个方案所需的费用。

可伸缩性:企业必须要选择一种服务器端平台,这种平台应能提供极佳的可伸缩性去满足那些在他们系统上进行商业运作的大批新客户。基于J2EE平台的应用程序可被部署到各种操作系统上。例如,可被部署到高端UNIX与大型机系统,这种系统单机可支持64至256个处理器。

基于Struts、SpringIbatis的银征绣墼壹燧壅堕箜墅垄i堑堕

负载平衡策略:能消除系统中的瓶颈,允许多台服务器集成部署。这种部署可达数千个处理器,实现可高度伸缩的系统,满足未来商业应用的需要。

第3章开发环境和框架技术

第3章开发环境和框架技术

绩效考核管理系统是基于J2EE平台开发,采用Struts、Spring和Ibatis架构进行实现。本章将简要介绍Tomea、MyEclipse、CVS、Struts、Spring和Ibatis的相关概念。

3.1开发环境

本系统的开发选用了WindowsXP操作系统作为平台,它不但增强了可靠性和灵活性,而且降低了拥有强大、灵活管理服务的计算系统的成本,并为运行企业应用程序提供了良好的基础。

3.2系统开发工具

3.2.1Web服务器

Tomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和Jsp规范总能在Tomcat中得到体现fJl】。

与传统的桌面应用程序不同,Tomcat中的应用程序是一个WAR(WebArchive)文件。WAR是Sun提出的一种Web应用程序格式,与JAR类似,也是许多文件的一个压缩包【12l。包中的文件是按照目录结构来组织规范的。通常它的目录下面含有Html和Jsp(JavaServerPage)源文件并且目录也包含在它的下面。Tomcat有一个非常重要的目录WEB.INF,它的里面有一个web.xml文件和一个classes目录。web.xml是应用程序的非常重的配置文件,classes目录下包含编译后的Servlet类和它依赖的其它类文件或者jar包。当然jar包也可以放到系统的CLASSPATH中,但那样移植和管理起来不很方便。

应用程序的部署在Tomcat中很其实很简单,只需将WAR放到Tomcat的webapp目录下,这个文件在tomcat启动的时候会自动被检测到并解压。Tomcat提供了manager的应用,访问它的时候用户需要输入用户名和密码,它存放在以个xml文件中。另外,Tomcat不仅仅可以作为Servlet容器应用,他还可以处理Html页面。但相比Apache,Tomcat对静态Html的处理相对较弱。如果在开发过

基于Struts、Spring和Ibatis的银行绩遂壹燧逐缠随理垄i耍堕

程中将Tomcat和Apache集成,让Apache处理静态Html,而由Tomcat来处理Jsp和Servlet,这种配置就可以较好的处理静态页面和动态页面,从而使服务器更加有效率的工作。

Tomcat支持Realm。Tomcat用Realm来对不同的应用赋给不同的用户。没有权限的用户则不能访问这个应用。Tomcat提供了三种Realm..

①JDBCRealm

用户信息储存在数据库里,通过JDBC获得用户信息来进行验证。

②JNDIKealm

用户信息存存储在LDAP的服务器里,通过YNDI获取用户信息。

③MemoryRealm

用户信息放在一个xml文件里。

通过Realm,对访问某个应用的客户可以方便的进行验证。在Tomcat中对应用程序或者Session用Servlet2.3提供的事件监听器功能进行监听。Tomcat还提供了与SSL集成到一块,实现安全传输等等其它的功能。Tomcat支持JNDI(JavaNamingDirecgtoryInterface)。J2EE应用服务器与Tomcat是有一定的差别的的。其它的应用服务器相比Tomcat提供较多的J2EE功能,如EJB、JMS、JAAS、Jsp和Servlet等等。Tomcat不提供对EJB等技术的支持。但是Tomcat如果集成JBoss(--个开源的应用服务器),那么,就可以实现J2EE绝大部分功能。

既然应用服务器包含了Tomcat的大部分功能,那么Tomcat有什么优点是它能独立的存在呢?在很多中小企业应用程序中并不需要采用EJB等技术。支持Jsp和Servlet的Tomcat就已经足够了。如果采用其它的应用服务器就显得浪费。Tomcat能满足绝大多数小型应用系统的需求。因此,开发小型应用系统的时候,开发人员可以选择Tomcat。

Ant这个编译工具非常方便,大部分开发人员都会选择其作为编译工具。Ant是Jakarta中的一个子项目。在运行ant之前,需要一个build.xml文件支持,这个文件告诉ant如何进行编译,在哪里编译。

第3章开发环境和框架技术

Ant对一个大的应用系统是非常有效的。因为开发人员只需编写build。xml就可以将其编译并生成WAR文件。很多应用开发工具都集成了Ant。在Jspl.2中,利用标签库就可以实现Java代码与Html文件的分离,使Jsp的维护更加方便。

Tomcat也可以与其它一些J2EE服务器集成起来实现更多的功能。如与SBoss集成起来开发EJB等。

3。2。2MyEcIipse插件

MyEclipse是Eclipse的一个插件。Eclipse是一个通用的、可扩展开发平台【13】。Eclipse包含了一个标准的插件集,包括Java开发工具(JavaDevelopmentTools,m,r)。虽然大多数用户将Eclipse当作JavaIDE来使用,但开发Eclipse的初始目的不仅于此。Eclipse还包括插件开发环境(Plug—inDevelopmentEnvironment,PDE),它主要针对有扩展扩展Eclipse插件的开发人员使用,因为构建扩展工具的时候可以与Eclipse无缝集成。由于EclipSe中的种种工具都是以插件形式存在的,所以开发人员具有同等的想象以及发挥空间。

虽然Eclipse是使用Java语言开发的,但它还支持诸如C/C++、COBOL和Eiffel等编程语言的编译、开发。

Eclipse,日蚀也,日月无光是也!MyEclipse,吾之日月无光乎!此皆望文生义也【14】。简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试以及除错。开发人员可以应用面向对象的方法在Eclipse平台上进行扩展【l别。

Genuitec发布了MyEclipseEnterpriseWorkbench5.0,它的特点是更智能、更快捷、更简单。它的价格对于个人和企业来说都是非常有吸引力的,其性价比在同类产品中是比较高的,因此它也是J2EEIDE市场中一个不可忽视的重量级的选手。通过增加可视化的Hibernate/ORM工具、Spring和Webservices支持,以及新的Oracle数据库开发,MyEclipse5.0为业界提供更加全面的功能。

Genuitec总裁MaherMasri说:“今天的MyEelipse已经提供了意料之外的价值,其中的每个功能在市场上单独的价格都比MyEclipse要高。但是,我们承诺为顾客提供全面并且可以买得起的解决方案。按照这个传统,我们的顾客将继续享

基于Struts、Spring和Ibatis的银行绩效考核系统的开发研究

受年度订购活动的好处,该活动提供了所有发布功能的入口以及伴随MyEclipse5.0一起的专业技术支持。"

3.2.3CVS版本控制工具

CVS(ConcurrentVersionSystem)版本控制系统是一种GNU软件包,主要用于多人开发时,避免各个版本之间的源代码的冲突。实际上,CV另外一个功能被大部分开发人员忽视了,那就是维护文档,例如,共享文件的编辑、修改等等。而不仅仅局限于程序设计。

CVS维护源码时会首先创建一个文档库。这样可以使程序人员和其他人一同管理文件。如果想要对文件进行修改,首先要把文件checkout,这时,其他人员不可以checkin同一个文件,一直到第一个checkout的文件被checkin。当多人编辑相同的文件时,CVS会尽可能自动合并修改过的地方;在无法自行解决的情况下,CVS会把造成冲突的各种来源标示出来。无论是哪一种情况,使用者都不用担心编辑时文件会无意间被改写或删除【161。CVS用Copy.Modify-Merge(拷贝、修改、合并)的变化表支持对文件的同时访问和修改。它对源文件的存储和用户的工作空间进行独立。CVS是基于客户端朋匣务器的,这样可以容纳多个用户。这一特性使得CVS成为多人处理文件(特别是程序的源代码)的首选。大部分的软件项目都在使用CVS,使得程序员之间可以一同工作。增加开发程序的效率,缩短开发时间。

下面介绍一下CVS的基本工作思路。在服务器上建立一个源代码库,里面存放许多不同项目的源程序。这些都交给源代码库管理员统一管理。每个用户如果想对源代码进行修改,首先要把文件下载到本地,然后在本地根据需要进行修改,最后进行提交,由CVS源代码库统一管理。

CVS是个功能十分强大的工具,除了上述功能外,它还有很多功能。例如,在某版本的软件发布前,可以用版本号来记录该版软件中源代码的版本。这样,日后才有可能调出相同的文件,以便重建该版本的软件【171。

软件的开发和维护过程中,都离不开版本管理,这是一项非常重要的工作。对于一个文件,可能需要经常按照不同的版本进行惯例,或者从源代码库里面找

第3章开发环境和框架技术

出文件修改历史。这样,一方面可以使各个版本的代码和文档变得井然有序,另一方面可以在当前版本出现问题的时候,找回先前的版本。

CVS版本控制致力于帮助程序人员对他们的项目资产进行管理。虽然是-f]基本的实践性技术,但是很多程序人员并没有有效地利用它。事实上,版本控制并不是一个难以实现的技术,而是一个简单且不可或缺的技术。如果没有采用版本控制,那么项目的资产将会变得岌岌可危【1引。

开源软件的一个重要特点就是可以免费的获得代码和并进行修改,这是传统软件所不具备的。这意味着开源软件的开发成为一个不间断的过程。

CVS为开源项目做出了巨大贡献。许多项目,特别是一些大型的、分布式的软件开发小组,将其源代码保存在一个名为CVS的版本控制系统中【191。一是通过许多开发人员的参与使开源软件质量不断提高,功能不断完善:二是方便了众多软件开发人员的协作工作,使其成为全人类智慧的结晶。这大概就是CVS在自由软件世界中处于主导地位的原因了。

3.3框架技术

3.3.IStruts框架

Struts是一个基于Java平台用来构建W曲应用程序的框架【201,它来源于ApacheJakarta项目,主要是采用Servlet和.ISP技术来实现的。Struts是目前非常流行的基于MVC的JavaWeb框梨211,MVC是模型(Model)、视图(Viewer)和控常i](Controller)的缩写,Struts分别对这三个类提供了实现组件,分别为JavaBean、Jsp、Servlet。利用模型.视图。控制器(ⅢC)设计模式,Struts解决了许多与开发高性能的、面向业务的Web应用相关的问题【221。Struts系统结构如图3。1所示。

基于Smlts、Spring和Ibatis的银行绩效考核系统的开发研究

._-_-----_-__●●_--__-m---_

:Scrvlct/JSP释器

Aorion

而Web

殿务器罴Aorion,m

’’’?-_一一

■。●__-__'¨“l燃?一

(说阑)Action

JSP

图3.1Struts系统结构

Fig.3.1thesystemarchitectureofStruts

1)模型(Model)

模型分为两个部分:系统的内部状态和事务逻辑。内部状态通常由一组

Bean表示。根据设计或应用程序复杂度的不同,这些Bean可以是自包

当逻辑简单时这个方法很适合。建议用户将事务逻辑(要做什么)与Action类所扮演的角色(决定做什么)分开。

2)视图(View)

视图主要由JSP建立,struts包含扩展自定义标签库(TagLib),可以简化创建完

Tags、HTMLtags、LogicTags、

Tags以及TemplateTags等。

3)控制器(Controller)

在struts中,基本的控制器组件是ActionServlet类中的实例server,实际使用的servlet在配置文件中由一组映射(由ActionMapping类进行描述)进行定义。对于业务逻辑的操作主要由Action、ActionMapping、Action.Forward组件协调完成的,ActinForm含的并具有持续的状态,或只在需要时才从某个数据库获得数据。大型应用程序通常在方法内部封装事务逻辑,这些方法可以被拥有状态信息的bean调用。小型程序中,操作可能会被内嵌在Action类,它是struts框架中控制器角色的一部分。全国际化用户界面的过程。目前的标签库包括:BeanNested

第3章开发环境和框架技术

其中Action扮演了真正的业务逻辑的实现者,ActionMapping与ActionForward则指定了不同业务逻辑或流程的运行方向。

Struts的控制器servlet充当了模型与Web视图之间的桥梁,该控制器会把请求发送到请求处理器,后者是一个Action类的实例。一个典型的Web应用会使用很多不同的Action对象,控制器可以根据struts.cortfig.xml文件中的映射来获悉把请求发送到哪个Action[231。

Struts技术主要是使用在MVC模式的M(表示层)上,struts框架的处理流程很清晰地反映了MVC模式的优势。利用struts技术来设计表示层最大的特点就是将大量的逻辑放在配置文件中,而不是程序中,以免日后业务需求有所变更时不必改动程序。当用户向服务器端提交请求时,信息首先发送到控制器ActionServlet;由控制器AetionServlet处理客户请求,然后利用Struts.config.xml中配置的ActionMapping对象把请求映射到Action处理器对象进行处理;Struts的Module部分由Action和Actionform组成:Action处理器对象访问ActionForm中的数据,处理和响应客户请求,它还调用后台的Bean组件,这些组件中封装了具体的业务逻辑;Action处理器对象根据处理结果通知控制器,控制器进行下一步处理。Struts提供了自定义的标记库,通过使用这些标记创建的JSP表单,可以实现和Model部分中的ActionForm的映射,完成对用户数据的封装。Struts中引入了多模块配置的概念,允许将单个Struts应用划分成几个模块,每个模块有自己的Struts配置文件、JSP页面、Action等等【241。因此通过为每个应用模块创建独立的Struts配置文件,并在Web部署描述符Web.xml文件中统一管理,可以在团队中有效地进行并行开发。

3.3.2Sping框架

Spring是一个开源框架【25】,它是一个分层架构,由7个定义良好的模块组成。Spring模块构建在核心容器之上,核心容器定义了创建、配置和管理bean的方式是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为J2EE应用程序开发提供集成的框架。

基于Struts、Spring和Ibatis的银行绩效考核系统的开发研究

图3.2Sping架构

Figure3.2thearchitectureofSpring

Spring的设计思想很多来源于RodJohnson所著的Expert

DesignandOne—on?OneJ2EEDevelopmem一书【261。Spring框架的功能非常多。包含AOP、ORM、DAO、Context、Web、MVC等几个部分组成。Web、MVC暂不用考虑,由于目前Hibemate、JDO、ibatis的流行,也可不考虑DAO。因此,最需要用的是AOP、ORM、Context。Context中最重要的是Bean_factory,它能将接口与实现分开,功能非常强大。目前,在事务管理方面,AOP的应用最为成熟。

Spring能有效地组织中间层对象,不管应用系统是否选择使用了EJBt271。如果仅仅使用了Struts框架,或其它的包含J2EE特有APIs的框架,那么,可以发现Spring关注了遗留下来的问题。单例模式属于创建型模式,目的是保证一个类仅有一个实例并提供一个访问它的全局访问点。考虑这样一种对象,这个对象应该在程序启动时被创建,并且在结束时被删除,如应用程序的基础高层对象【281。Spring能消除在许多工程上对单例模式的过多使用。Spring能消除使用各种格式的属性来定制文件,在整个应用和工程中,可通过一种一致的方法来进行配置。在此之前,一个特定类要查找属性关键字或系统属性,可能需要读JavaAPI乃至源编码。有了Spring后,人们可以很简单地看到类的JavaBean属性。倒置控制的使用

第3章开发环境和框架技术

帮助完成这种简化。Spring能通过接口而不是类促进好的编程习惯,减少编程代价到几乎为零。Spring被设计成为使用它所创建的应用尽可能少的依赖于它的APIs。在Spring应用中的大多数业务对象没有依赖于Spring。使用Spring构建的应用程序易于单元测试。Spring能使EJB的使用成为一个实现选择,而不是应用架构的必然选择。使用者可以选择用POJOs或localEJBs来实现业务接El,却不会影响调用代码。Spring帮助人们解决许多问题而无需使用EJB。Spring能提供一种EJB的替换物,它们适于许多web应用。例如,Spring能使用AOP提供声明性事务而不通过使用EJB容器,如果仅仅需要与单个的数据库打交道,那么,甚至不需要JTA实现。

3.3.2Ibatis架构

相对Hibernate和ApacheOJB等ORM解决方案,Ibait是一种“半自动化”的ORM实现【291。纵观目前主流的ORM,无论Hibernate还是ApacheOJB,都对数据库结构提供了较为完整的封装,提供了从POJO到数据库表的全套映射机制。程序员往往只需定义POJO到数据库表的映射关系,即可通过Hibernate或者OJB提供的方法完成持久层操作。程序员甚至不需要对SQL的熟练掌握,Hibemate/OJB会根据制定的存储逻辑,自动生成对应的SQL并调用JDBC接口加以执行。

大多数情况下,特别是项目、新系统,这样的机制无往不利,大有一统天下的势头。但是,在一些特定的环境下,这种一站式的解决方案却未必都非常有效。在实际系统的开发实践中,常常会遇到以下的一些情况:

(1)系统的部分或全部数据来自现有数据库,处于安全考虑,只对开发团队提供几条SelectSQL(或存储过程)以获取所需数据,具体的表结构可以不予公开。

(2)开发规范中要求所有牵涉到业务逻辑部分的数据库操作,必须在数据库层由存储过程实现(就金融行业而言,各商业银行都在开发规范中作了严格的规定)。

(3)系统数据处理量巨大,性能要求极为苛刻,这往往意味着必须使用高度优化的SQL语句(或存储过程)才能达到系统性能设计指标。面对这样的需求,再次举起Hibernate大刀,却发现刀锋不再锐利,甚至无法使用。怎么办?只好再摸出JDBC准备拼死一搏,说得未免有些凄凉,直接使用JDBC进行数据库操作实际上

基于Struts、Spring和roatis的银行绩效考核系统的开发研究

也是不错的选择,只是拖沓的数据库访问代码,乏味的字段读取操作令人厌烦。“半

自动化”的Ibatis,却刚好解决了这个问题。这里的“半自动化”,是相对Hibemate

等提供了全面的数据库封装机制的“全自动化”ORM实现而言,“全自动”ORM实现了POJO和数据库表之间的映射,以及SQL的自动生成和执行。而Ibatis的着力点则在于POJO与SQL之间的映射关系。也就是说,Ibatis并不会为程序员在运行

期自动生成SQL语句,具体的SQL需要程序员编写,然后通过映射配置文件,将SQL所需的参数,以及返回的结果字段映射到指定POJO。

使用Ibatis提供的ORM机制,对业务逻辑实现人员而言,面对的是纯粹的Java对象,这一层与通过Hibernate实现ORM而言基本一致,而对于具体的数据操作,

Hibemate会自动生成SQL语句,而Ibatis则要求开发者编写具体的SQL语句。相对Hibernate等“全自动”ORM机制而言,Ibatis以SQL开发的工作量和数据库移植

性上的让步,为系统设计提供了更大的自由空间。作为“全自动”ORM实现的一种

有益补充,Ibatis的出现显得别具意义。Ibatis的架构如图3.3所示。

∈≥

《0ta,h№O,

}H型舢删H型攀

、一

/乱

.厂岔、

\、芝竺::!//

{tnte∞r,

■,

SOLMap

●h

弋蝴一/)

\!竺2//

№p僻d

Sb陋rnenI

●目辫IpI哪st矾嘲n明tMappedS翻吐en●eat

MappedSt8temctg

虢印pIed

Sta∞钟n蛳I

跏协te鹏nl眦l

MappedS惦teraent

\竺!//

I[“I国ppadStatement

S啪铆n鼠't

‰唰

善彳

JDBC

<≥

图3.3Ibatis架构

Figure3.3lbatisArchitecture

第4章绩效考核管理系统分析

第4章绩效考核管理系统分析

本章重点论述绩效考核系统的所使用的考核方法、系统目标、系统范围、业务组成、业务体系、考核机制等。

4.1绩效考核方法

改革开放以来,中国经济高速发展,取得了举世瞩目的成就。微观领域的企业经营机制改革和宏观领域的融资体制改革,一直是伴随中国经济增长的改革主线。由于事关国民经济稳定运行,金融领域成为了整个改革体系的核心、重点和难点。相对于其他领域,金融领域改革较为滞后,而商业银行又处于金融领域核心,其改革就显得尤为重要和困难【301。

在现代企业管理当中,企业管理的核心是战略管理,战略管理的核心是人力资源管理,人力资源管理的核心是绩效管理。可以说,公司一切整体的管理运营都是以绩效为导向的,都是围绕绩效而展开的。所以,研究绩效管理的原理和模式是非常重要的,不仅可以选择确定适合企业内部的绩效管理模式,也可以通过绩效管理,使企业达到设定的战略经营目标。

绩效考核理论是企业管理中最为活跃的领域之一。随着企业管理理论和实践的深入发展,绩效考核理论也在发展,并逐渐由粗放走向细致,由单纯的目标管理转向目标和过程并重的管理。实施绩效考核,关注绩效改进是企业不断自我提升和达成战略目标的重要保证【3l】。

在中国的银行界,采用的绩效考核管理方法很多,经过分析归纳,主要包括下面几类方法,简单目标管理、关键业绩指标考核(KPI)、量化评分考核、综合效益考核、平衡计分卡等。

简单目标管理方法作为企业管理的初级阶段因其简单易行而曾经兴盛一时,这种方法一般是在年初对考核对象确定几个指标,一般是存款余额或者增长量,到年终时以年终余额作为数据以考查完成情况。由于简单目标管理只抓一点不及其余,并且容易产生企业经营行为的次优化选择,因此已经被大多数据企业管理者所放弃,而代之以更为精细的关键业绩指标考核(KPI考核)。

基于Stmts、Spring和Ibatis的银行绩效考核系统的开发研究

KPI考核方案是一种更为精细的目标管理方法,这种考核方法不再只注意一两项指标,而是将与企业效益相关的多项指标提取出来,同时考核多项指标。更重要的一点,KPI考核不但关注时点余额,也同时关注余额均值,它将关注整个考核期内的经营情况。KPI考核要求每一项指标都必须达标,否则视为未完成任务。目前KPI考核方案多用于年薪制的企业领导者的考核,完成情况与年薪中的效益部分挂钩。KPI考核模式要求企业领导者必须进行全面管理,而不能只注重一两项指标。

KPI考核方案可能出现的一种考核困境是考核对象的某些项指标完成十分出色,而某些指标则未完成。针对这种情况,量化评分考核应运而生,它将KPI指标值通过标准值、系数等换算成分值,从而将多种口径的KPI指标统一在一种考核口径下。量化评分模型通过评分可以做到考核对象的业绩排名,也可以通过分值换算成对考核对象的效益奖金。这种方法因其简单易懂而成为目前最为流行的考核方法。

目前银行的业绩考核正在向更高层次发展,如建设银行力推以经济增加值(EVA)为核心的考核体系。平衡计分卡(Bsc)DA其丰富而精细的考核方法和考核指标而被国内很多企业所看重。然而,目前经济增加值①VA)已经被溶入现有的KPI考核或量化考核体系中作为一项关键绩效因子,而平衡计分卡(BSC)则因为计算过程复杂并且需要大量的数据收集过程而较难形成正规的考核体系。

4.2系统目标

本项目的目标是针对客户经理、机构以及柜员的内部考核要求,并结合其它部门的需求,采用KPI考核和量化评分考核方式,建立一个设计科学合理,数据准确及时,查询方便快捷,操作简单灵活,易于维护管理的绩效考核系统。

该系统可通过多角度、多层次的指标组合以及灵活的考核标准准确反映当前的业务状况及变化趋势,为全行的绩效考核政策服务。

具体目标如下:

(1)完成客户经理考核(包括对公和对私两部分):(2)完成机构考核;

第4章绩效考核管理系统分析

(3)完成业务量考核;

(4)完成机构绩效分析报表。

4.3系统范围

绩效考核系统将其功能定位在四个方面:考核政策、业绩评定、业绩分析、业绩应用。

(1)考核政策

业绩考核政策的维护,考核规则的配置、查询,考核指标的配制,考核标准值、计划值的维护等功能。

(2)业绩评定

通过制定适合的考核方案对考核对象进行全方位的考核,并计算出绩效考核的最终结果,显示不同考核对象的评分结果、业绩排名等。

(3)业绩分析

查询和分析业绩考核体系中考核指标执行情况,可以由最终业绩结果向前追溯查询各中间业绩指标,对基础业绩数据进行查询分析,并能对业绩评分进行预测。

(4)业绩应用

将最终考核结果与考核对象的奖惩联系起来,通过业绩考核系统测算考核对象的效益工资等。

4.4业务组成

银行绩效考核的对象主要分为三大部分:机构、客户经理、柜员,因此绩效考核系统的业务功能也因考核对象划分为三大部分。绩效考核需求还包括针对机构的业绩分析报表,因此绩效考核系统的实现可分为四大业务子系统,其系统构成如图4.1所示。

基于Struts、Spring和Ibatis的银行绩效考核系统的开发研窒

图4.1绩效考核系统的构成

Fig.4.1theComponentsofthePerformanceAssessmentSystem

4.4.1员工考核

客户经理考核将客户经理的营销业绩作为主要的考核内容,重点在于将银行的业务数据与客户经理的匹配。客户经理绩效考核系统根据客户经理营销工作的特点,以及银行业务数据范围,构成了一套科学、规范、适用的客户经理考核指标体系,既能科学的反映客户经理对银行的贡献,又能充分调动客户经理的积极性。

银行的员工根据不同的工作性质可以分为客户经理、营业网点柜员、管理及技术人员三大类,其考核内容多有交叉之处,为了保持员工考核的统一,目前比较流行的方式是采用全员客户经理制,即不管其工作性质是否是客户经理,都将其视为一个客户经理。

客户经理按照考核角色分类,每一类考核角色定制特定的考核方案,与此同时,客户经理还有,工作性质的不同反映在不同的角色上。

4.4.2机构考核

机构绩效考核以存款、贷款、贷款质量、国际结算和中间业务五大类业务数据作为绩效考评的基础数据,主要观注点在于机构的多层汇总层次关系,结合多层分支行和扁平化两种机构管理模式,根据机构不同的工作性质设定不同的考核规则和考核方案,确定其关键绩效指标,并制定相应的考核评定方法,最终建立完成绩效考核体系。

第4章绩效考核管理系统分析

4.4.3柜员考核

柜员绩效考核的结果关系到每个柜员的切身利益,因此柜员考核的数据准确性是极为重要的。只有正确的评估柜员的业绩,才可能有公正的奖惩,才可能有合理的激励机制。

柜员绩效考核以柜员的业务量和差错率为主要考评内容,通过分析业务的难易程度为每一业务确立系数,最终计算出柜员的综合得分以及排名情况。

由于柜员绩效考核功能较少,同时绩效考核体系基本都采用全员客户经理制方式来统一员工考核机制,因此此部分功能在展示时将与客户经理考核模块合并。4.4.4机构分析报表

机构分析报表是根据具体需求而制定的业务子系统。在过去很长时间内,虽然没有单独的绩效考核方法,但却归结了一整套查询和考查机构业绩的报表。作为绩效考核系统应该适应原来的考核体系,完成要求实现的报表功能。

4.4.5部门业绩考核

管理部门是机构组织中比较特殊的单位,它可以设置各层次级别的机构下,同时它不会再有下级单位,是机构组织树型中的叶结点。由于各部门往往负责一些事务性的工作,这些工作很难量化,因此部门的业绩考核比机构和客户经理更为复杂一些。作为全员客户经理制的一种具体实现,部门的业绩考核可以采用由其所属的客户经理业绩汇总得到。本系统将采用这种方式。

4.5业务体系

本绩效考核系统以KPI考核和量化评分为最终目标,在此目标下业绩考核过程进行细化,将业绩考核方案分为五个相对独立又相互影响的方面,其功能结构如图4.2所示。

基于Struts、Spring和Ibatis的银行绩效考核系统的开发研究

图4.2绩效考核系统的五个要素

Fig.4.2the5FactorsinthePerformanceAssessmentSystem

(1)考核对象

考核对象也称考核主体。作为考核的实施对象同时也是业绩考核系统的使用者,机构、柜员、客户经理、部门以及产品是绩效考核系统最直观的业务划分方式,本系统也是以此来进行业务子系统的划分的。

(2)业务品种

业务品种是业绩考核系统主要关注的业务数据种类,主要包括存款、贷款、中间业务、表外、流程(即业务量)、渠道等。业务品种继续细化则构成统计指标树上的考核条目项。不同的业务数据种类所关注的考核内容是不同的。

(3)指标体系

指标体系是业绩考核系统数据加工和存放的模式。明细帐户、科目总帐、统计指标、KPI、派生指标,由微观到宏观,由明细到汇总,层层加工,每一层次的指标都有不同的存储方式和存储内容,并采用标准的数据结构以方便一些标准算法的实现。这~部分是本系统可以灵活实现各种考核功能的关键所在,将在后面的章节做重点阐述。(4)考核内容

第4章绩效考核管理系统分析

即考核业务数据的属性,包括余额、户数、收入、支出、交易量(包括交易量和交易额)等。不同的业务品种所关注的考核内容是不同的。考核内容部分是考核对象的本征属性,其它的考核值都可以由考核内容项通过计算得到。

(5)考核维度

采用不同的视角对考核内容进行观察可以得到多种结果的组合,其中以时点、均值、增长、环比(对增长量进行比较)、加权值最为常用,也是派生指标生成的主要方式。考核维度可以定义了派生指标的主要生成模式。

4.6考核机制

KPI考核和量化评分是目前最为常用的考核办法。本系统即是以这两种考核方式的实现为目标的。量化评分考核是对KPI考核的深化,量化评分的过程就是对KPI指标的再加工过程。因此,这两种考核体系可以统一考虑。

在绩效考核系统实现中,指标体系是最重要的内部实现机制,它构成了绩效考核数据存储的主框架。没有指标体系的绩效考核系统是一个死的系统,只能针对一个具体的考核案例,无法实现灵活多变的考核规则定制,而这正是业绩考核系统的最终价值。

4.6.1指标层次

绩效考核的指标分为如下几个层次:

(1)明细帐户

(2)产品总帐

(3)统计指标

(4)KPI

(5)派生指标

系统首先采集银行基础业务数据,首先依据产品(科目)进行汇总加工,生成产品业务汇总数据(一般引用银行科目体系),然后在产品基础上构建统计指标树型体系,生成树型的统计指标数据。

KPI是通过提取统计指标树中的项目形成的,基本KPI是对统计指标的简单引用。作为更高级的指标加工,派生指标以KPI作为因子,以更为灵活的公式计

基于Struts、Spring和roads的银行绩效考核系统昀墅丝婴窒

算方式来生成,派生指标还可以被其它派生指标引用。就总体而言,派生指标与基本KPI共同构成业绩考核的平面指标层面,指标间只有计算轮次的差别,而没有树型的隶属关系。

派生指标的最终根结点是考核总评分。考核总评分将被确定由考核方案引用。解析程序将以考核总评分层层解析将相关联的派生指标归入本考核方案中。绩效考核系统的评分要素如图4.3所示。

图4.3绩效考核系统的评分要素

Fig4.3theScoreFactorsinthePerformanceAssessmentSystem

4.6.2基础指标

产品(科目)总帐、基础统计指标是业绩考核系统的基础数据层。以上两个层面的数据是考核对象各项指标的实际情况表,这些数据是稳定的,不会因考核方案的不同而发生改变。

针对一个具体的考核对象,基础指标层以指标编码、币种作为主键字,再加上其它的各类属性值构成其数据存储的模式。

(1)本征属性

基础指标层存储考核对象的本征业绩属性。本征属性是指这些数据是考核对象的基本属性值,无法由其它数据加工得到。确定基本指标的本征属性将使基础数据层存储的业绩数据既是必须的又是完备的,这样将保证基础数据层的稳定性,不用因考核方案的改变而变化。

第4章绩效考核管理系统分析

本征属性值包括余额(时点余额、累积余额)、户数(户数、新开户数、销户数)、交易量(交易笔数、交易金额)。

收入(金额、累计金额)、支出(金额、累计金额)的处理比较特殊,既可以将其作为条目的本征属性,又可为其另外设立指标。

(2)指标树

基础统计指标采用指标树的结构建立。树型结构被引入改变了过去由明细数据直接到考核指标的业绩数据生成模式。通过对树型结构的维护,可以在最终绩效指标生成的过程中保留中间结果,而其叶结点则是产品汇总表的内容。这样的体系改变过去每一个考核指标都要有特定的程序生成的方式,而将指标生成方式配置到数据库中,由统一的汇总程序生成。

图4.4绩效考核系统的指标汇总

Fig.4.4IndexCollectinginthePerformanceAssessmentSystem

树型指标体系的汇总是属性值的纵向汇总,即上级结点的字段值由下级结点的相应字段值汇总得到,如图4.4所示。汇总方式可以由多种,缺省模式为加汇总,但也可以配为减汇总或不向上汇总等。同时,树型指标结点值也支持二次计算功能,即结点值由特定的公式计算生成。(3)指标类别

基于Struts、Spring和Ibatis的银行绩效考核系统的开发研究

业务品种是进行指标分类的基本依据,签于指标树的特点,实际操作时,可以将业绩考核中所关注的任何要素纳入指标体系的范围,以此方式来统一绩效考核系统的数据处理机制。

总体而言,绩效考核系统的指标类别包括如下几大类:

①存贷款:按存贷款科目划分的存款、贷款的余额、户数、交易状况。

②中间业务:以中间业务品种进行划分的中间业务经营状况,如票据业务、代收代付、全国通汇款、理财等。主要考核客户数、业务量等。

③服务渠道:以服务渠道进行划分的服务渠道交易情况,如网点柜台、ATM取款、电子渠道、网上银行、电话银行等。主要考查客户数、业务量。

④同业市场:以地区银行分类划分的同业市场经营情况,指标包括各主要银行如工、农、中、建、交、招商、中信等。主要考核地区市场占比。

⑤贷款质量:以贷款五级分类划分的贷款质量情况,包括正常、关注、怀疑、次级、损失,并分为正常贷款和不良贷款。主要考核不良贷款情况。

⑥财务收支:计算各种产品的收支情况,以存贷款为主要条目。

4.6.3指标汇总

在考核数据处理过程中,先后要进行币种、机构、指标的汇总。在这一过程中,有下列一些问题需要注意。

(1)汇总的优先级

币种、机构和指标的汇总次序可能产生不同的汇总结果,因此要考虑这三个汇总的先后顺序。

在指标树型体系中,汇总属性可能会出现这么一种特例,即如果指标值大于零则将值汇入上层结点,如果小于零则不汇入,在这种情况下汇总的顺序将会造成汇总结果的不一致。图4.5给出了绩效考核系统中指标汇总方式的一种比较。

第4章绩效考核管理系统分析

图4.5绩效考核系统指标汇总方式的比较

Fig.4.5CompareofIndexCollectModesinthePerformanceAssessmentSystem

上述的汇总方式在实际应用中是因为B指标是一个双方科目,其值的正负表现为不同的含义,向上汇总时总加入到不同的统计指标中。因此,考核数据的汇总中指标汇总必须放在最后进行,即先进行基础产品的币种和机构汇总,然后再做指标的汇总。

(2)币种的汇总

币种汇总会生成三个新的统计币种:外币折美、外币折人(民币)、本外币合计。绩效考核的数据中,人民币数据记录数占了绝大多数,外币数据很少,因此外币折美、外币折人汇总增加的数据量很少,但如果生成本外币合计数据,则数据量则会翻倍,这对于系统性能会有十分不利的影响。但是如果不生成本外币合计数据,则在系统查询本外币合计时需要动态汇总,使得程序复杂性增加,而且如果指标汇总中出现双方科目,可能汇总出的数据会有问题。

基于上述原则的衡量,最直接的方式是生成上述三种折算口径的数据。

在没有指标特殊汇总方式的情况下,可以采为一种比较复杂且有效的方式,系统可以首先生成外币折人(民币)和外币折美(元)数据,然后将有外币折人(民币)数据的指标与其相应人民币数据合计生成本外币合计数据。在数据表中增加合计字段,置本外币合计的数据和末参与合计的人民币数据的标志,以此标明本外币

基于S订uts、Sp血g和敝畸的银行绩效考核系统的开发研究

合计的记录。当查询选择本外币合计时,则选择置了标志的记录。这种方式必须在所有的汇总都已完成之后进行。

4.6.4派生指标

在派生指标层面上,数据将向考核方案逐渐靠拢。这一方面体现在通过派生指标和KPI编码就可以确定一个唯一值,另一方面则体现在为派生指标引入标准值的因素上。

(1)派生指标的唯一性

KPI是对基础统计指标一个特定属性值的引用,即KPI的设置已经指定了指标码、币种、属性值。一个考核对象的KPI编码可以确定一个唯一值。如图4.6所示。

基础缴臁

指标

总存款

总存款

总存款

企业存款

企业存款

个人存款

个人存款币种本外合计人民币外币汇总人民币外币汇总人民币由kf再{广凸7’IIJ●L.,i盐:余额IlD0e一10,lJ百而1,00033户数“总存款余额11,000,,-,卅人民兀]正业仔瓤尸鳅qU上巨;二./~、If,。茸‘i;ht刍,融r—n髓I0004,00争5006.000~、《3960/—叫人民币企业存款余额4000I,l’IIoI-,、1丁而~刁气田火uuu

:bl‘;#。唁、1,亨讣△l,古rnn

图4.6绩效考核系统的关键业绩指标设定

Fig.4.6thekeyperformanceindexessettingintheperformanceassessmentsystem

(2)派生指标标准值

在KPI层面上,系统引入KPI标准值的定义,业绩标准值是对计划值、基准值或目标值的统称。标准值用来衡量KPI的完成情况。KPI标准值将区别考核对象(或者考核对象属性)和考核期来设置,如图4.7所示。

第4章绩效考核管理系统分析

KPI实际值KPI标准值

图4.7绩效考核系统的关键业绩指标标准值

Fig.4.7theStandardValueofKeyPerformanceIndexesintheSystem

标准值对于机构的处理和客户经理的处理是不同的。对于机构,每一个机构都有不同的KPI标准值。对于客户经理,KPI标准值与客户经理的考核主体类型相关,当然,作为目标管理的机制,为了做到考核的精细化,应该为每一个客户经理都制定相应的标准值。

(3)派生指标公式

派生指标的灵活性要远高于基础统计指标,这主要表现在派生指标公式的随意定制上,派生指标的公式不但可以指定指标编码,还可以指定币种、属性值。

同时派生指标公式可以通过参数和系数的直接量设置完成更为通用的考核方案的设置。

(4)派生指标值的来源

在实际应用中,派生指标值除了标准的由公式自动生成之外,还可以来自由手工输入和系统数据库值两种,总结起来是下面三种情况:

①公式生成:派生指标值由公式计算得到,这种方式下,派生指标值来源于其它派生指标和基础指标。

②手工输入:派生指标值由手工输入得到。在考核评分中,这一模式可以处理非财务指标项的情况,如思想品德分、能力分等。

③数据库值:派生指标值来源于数据库值,即来源于一个以考核人作键码的标准SQL语句。这一方式的最典型的应用实例是机构的网点数和人数,由于这两个值符合唯一性原则,所以应该作为派生指标来处理。

基于Struts、Spring和Ibatis的银行绩效考核系统笪墅叁堕窒

第5章绩效考核管理系统设计与实现

本章着重论述系统的整体功能设计和模块功能设计,对各功能予以定义并部分实现。

5.1系统的整体功能架构设计

绩效考核系统以考核对象划分系统的三个核心业务子系统:柜员考核、客户经理考核和机构考核。其实现的功能体现为四大类,即考核政策、业绩评定、业绩分析查询和业绩应用。系统的功能架构如图5.1所示。

考核政策功能完成对绩效考核规则的维护,同时绩效考核的正常运行还必须通过很多业务参数及关联信息的设置才能完成,由于绩效考核牵涉面极广,所要求维护的业务数据也十分多样,因此系统应该将这些业务数据维护集中起来形成业务维护子系统。

图5.1绩效考核系统功能架构

Fig.5.1theFunctionArchitectureofthePerformanceAssessmentSystem

计算机系统实现中一般都有一些与业务无关的功能,如操作员管理、El令维护、菜单管理、权限管理等,这些技术功能构成系统管理子系统。绩效考核系统

第5章绩效考核管理系统设计与实现

的实现是按照数据仓库的整体架构措建的,是整体框架中的一个应用子系统。因此,这些功能将会在数据仓库的应用框架内搭建的。

51.1个人业绩

该模块的功能是显示个人经营概况。显示总存款余额、总贷款余额、不良贷款余额、总业务量(笔数、交易量、折算笔数)。总存款量、总贷款量、不良贷款余额、总业务量的本年变动趋势图a

个人业绩的操作界面如图52所示。

商J§∞-一盘d捌却_‘■●■■■_■Ⅲ…,m■m……受茸奠㈣一奠上一孤■t

。釜晶鳓矗晶酾丽品晶孵菡

岛—黜h_篮kⅨ嘣‘■_《U薯叠■_ii丽雨豳嘲罐鼎嘲I女#簟

匝窒堑鱼婴堡查———L———里至翌里蜜翌

图5.2个人业绩

Fig52IndividualPefformancv

针对个人业绩的操作步骤是:先点击个人业绩,再点击业绩评分查询,然后点击个人绩效简表。通过选择月份,点击“查看”就会出现所要查看的表单。512机构业绩

该模块的功能是显示机构经营状况,显示存款余额、总贷款余额、不良贷款余额、总业务量(笔数、交易量和折算笔数)以及上述指标的本年度变动趋势图和指标的排名情况。

机构业绩的操作界面如图53所示。

藕羞霏匡壶商||蚕l藿曩6}匡酉蕻l蠢8阕■r—呷'.I

j鲞誊函l竺—Lii剁曩礴昏■—簟一J。、赢百]■—瞄■翻瞳墨西墨嗣艋强曩窭0】嗣■■—_日j塑■■■蚓啄而五到●■圈啊■■—圈强匿基器蓦:.l譬■■■■■■■l冒唑裂尸曩赛。。。。。'晨●'舞r。嚆≯一——墅亘画互墅些些生!囫晕撷“¨

栅珊00

O0

O:

00

00

OO

O0

0m

嚣㈣=㈣嚣M㈣㈣00

0D

图5,3机构业绩

Fig53OrganizationPefform咖.e

针对机构业绩的操作步骤是:首先点击机构业绩,再点击业绩评分查询,堆后点击机构业绩简表。通过机构和月份,点击“查看’'后就会出现所要查看的表单。如果点击下属机构排名或机构下属员工排名,将显示指标的排名情况。

51.3业绩公告

该模块的功能是按照机构号、日期和查询范围(全行大排名、同属机构和下属机构).可以列出该机构在所选范围内(全行大持名、同属机构和下属机构)同行业之『自J的排名情况,显示该机构的得分情况。从而反映了该机构在同行业中的经营情况。对形成的排名情况可以打印或保存成Excel形式。

业绩公告的操作界面如图5.4所示。

第5章绩效考核管理系统设计与实现

j矗吼m一“_

9札*±t|Ig月*2圳广互订00T{9月’}捧g方t『±#★#g%

岛_扎椒业缝mu施岿目■■■■墨l^j^“垃kl“¨000@2旧●日m匍瑚十0自墅《静;

。皇嘧d磊业舞_—。‘一

、I蜀L=d蠛啪【裹一。血蜘

:自|一“t讳f甚_——‘一,01005—i业孝R0#Ⅱm女0

0100BII’o0唧【.‘,1.t垃n控一。‘,En{●—●女o1f

L_』围5.4业埙公告

Fig5.4PerformanceNotice

针对业绩公告的操作步骤是:首先点击业绩公告,再点击机构业绩排名,通过选择机构、月份和排名方式,点击“查看”后就会出现所要查看的表单?还可以点击得分,查看该机构全年每个月的排名情况。

514业绩评定

该模块的功能是对考核角色进行维护,通过界面对考核角色进行维护?

业绩评定的操作界面如图55所示。

墨王塑堡:墅些塑!堕!矍堑塑墼查堡墨篓堕堑垄塑墨

…∥V自自

鬻嚣恕。1篡l~…,m-……Ⅱj__aj一

…e

属“H目h■一目目●……H…‘"i64H,'…?

lu■目h__

^…?】…●…_¨…

图5.5业绩评定

Fig55performanceRating

针对业绩评定的操作步骤是:先点击业绩评定,再点击考核角色维护。通过选择角色号,点击“查询”后就会出现所要查看的表单。还可以点击“删”或”改”对数据进行操作。还可以点击“增加”来添加新的考核角色。

塑!童塑塾查堡笪翌墨笙堡丛生塞堡

5参数维护

参数维护的操作界面如图5.6所示。51

—o。』目}&*…一

盛JMI“-一“一#9‘t~…●__一'lt-___…1___一t●T‘'●__…。。。。。一l州啦曼!—二酬回

幽5.6参数维护

F;g56ParametersMaintaincnce

针对参数维护的操作步骤是:先点击参数维护.再点击关联帐户配置.然后再点击关联关系维护,最后点击关联帐户维护。选择客户经理的范围,点击“查询”

基于Struts、spring和Ibatis的银行绩效考核系统的开发研究

后就会出现所要查看的表单。然后点击相应的按钮,对客户经理帐户关联表进行维护。

5.2系统整体技术架构

绩效考核管理系统的整体技术架构包括控制层、视图层、业务层和持久化层,如图5.7所示。

图5.7绩效考核管理系统的技术架构

Fig.5.7thetechnologyarchitectureofthesystem各个部分的功能可描述如下:

第5章绩效考核管理系统设计与实现

(1)控制层:处理用户提交的请求,集中到struts-config.xml文件中读取请求action,转移到具体的每个action进行处理。

(2)视图层:接收来自持久吃层的数据,然后进行界面显示。

(3)业务层:处理具体的各项业务逻辑,事务管理。

(4)持久化层:实现对本系统资源的读取和操作,包括数据访问服务等。

各个层次的衔接以及技术实现可分别描述如下:

(1)业务层和视图层的衔接

视图层主要是Struts中的View控制,业务层主要是有Spring控制,为了在Struts中加载SpringContext,一般会在struts-config.xml的最后添加如下代码:

<plug-inclassName='‘org.springframework.web.struts.ContextLoaderPlugln"><set—propertyprope啊-‘‘contextConfigLocation'’

value="/WEB-INF/applicationContext.xrnl”/>

</plug—in>

Spring在设计时充分考虑到了与Struts的协同工作,通过内置的StrutsPlug.in在两者之间提供了良好的结合点。本系统没有采用这种方式来加载ApplicationContext,而是利用springframework的BeanFactory机制,采用自定义的工具类(bean工厂类)来加载spring的配置文件。由此可以看出Spring是非常灵活的,它提供了各种不同的方式来使用其不同的部分/层次。具体而言,就是在corn.ibatis.spring包下创建CustomBeanFactory类,spring的配置文件applicationContext.xml也放在这个目录下。以下就是该类的全部代码:

publicfinalclassCustomBeanFactory{

staticXmlBeanFactoryfactory=null:

static{

Resourceis=new

InputStrearnResource(CustomBeanFactory.class.getResourceAsStream('‘

applicationContext.xrnl”));

factory=newXmlBeanFactory(is):

publicstaticObjectgetBean(Stringbean.Name){

returnfactory.getBean(beanName):}

基于Struts、Spring_幂1]Ibatis的银行绩效考核系统的开发研究

上述代码实际上只是封装了SprLng的XMLBeanFactory,并且Spring的配置文件只需要加载一次,以后就可以直接用CustomBeanFactory.getBean('‘someBean”)来获得需要的对象(例如someBean),而不需要知道具体的类。

CustomBeanFactory类在本系统中只用于表现层的formbean对象获得service类的对象,因为本系统没有把formbean对象配置在applicationContext.xml中。那么为何不把表现层的formbean类也配置起来呢?因为这样配置后就可以不用CustomBeanFactory类了。Spring会帮助创建需要的一切97问题的答案就在于formbean类是struts的ActionForm类。ActionForm类是struts自动创建的,在一次请求中,struts将作出这样的判断:如果ActionForm实例不存在,就创建一个ActionForm对象,把客户提交的表单数据保存到ActionForm对象中,因此formbean类的对象就不能由spring来创建。但是service类以及数据层的DAO类要由spring来创建,所以需要在spring中加以配置。

本系统创建了CustomBeanFactory类,在表现层来衔接struts和spring,实现了一种方式解耦。

(2)业务层和持久层的衔接

DAO在Spring中的配置(applicationContext.xml)

<!..配置文件定义.》

<beanid="propertyConfigurer”class='‘org.springframework.beans.factory.config.Propeny

PlaceholderConfigurer">

<propertyname=‘‘location’'>

<value>classpath:jdbc.properties</value>

</property>

</bean>

<!~数据源定义.》

<beanid=“dataSource’’class=“org.apache.commons.dbcp.BasicDataSource”destroy—method=“close’’>

<propertyname=“driverClassName’,>

<value>¥{jdbc.driverClassName}</value>

</property>

<propertyname="url’’>

<value>¥{jdbc.url}</value>

</property>

<propertyName=‘‘usemame’'>

<value>¥{jdbe.usemame}</value>

</property>

<propertyname-‘‘password’,>

<value>¥{jdbc.password}</value>

</property>

</bean>

<!一JDBC模板定义.》

<beanid2‘'jdbcTemplate’’class=“o喀.spring行amework.jdbc.core.JdbcTemplate,'>

<propertyname--‘‘dataSource’’>

<ref10cal=“dataSource”今

</property>

</bean>

<!一事务管理.》

<beanid2“transactionManager'’ClaSS=“org.springframework.jdbe.datasource.DataSource

TransactionManager’'

<propertyname=“dataSource’,>

<refloeal=“dataSource”/>

</property>

</bean>

<!一编程性事务模板_>

<beanid2“transactionTemplate’’class=‘'org.springframework.transaction.support.Transaction

Template’’>

<propertyname=‘‘打ansacdonManagee'>

<reflocal=“tramactionManager'’/>

</property>

</bean>

<!~RX

<beanJDBC管理类.》id2‘'jdbcManager’’class=“eom.bips.coreddbc.UnSuppoaedJdbcManagef'>

<constructor-argindex=“0’,>

<refbean=‘'jdbcTemplate”房

</constructor—arg>

</bean>

本系统首先创建一个数据源dataSource,用于配置db2数据库,具体的值从jdbc.properties文件中读取,相应的代码如下:

jdbc.driverClassName=COM.ibm.db20dbc.app.DB2Driver.42.

基于Struts、S#ng和roatis的银行绩效考核系统的开发研究

jdbc。url=jdbc:db2:hzpesdb

idbc.usemame-bips

jdbc.password---epm2007

jdbc.maxActive=20

jdbc.maxldle=l

idbe.maxWai每5000

这样,就可以使用DataSourceTransactionManager来定义TransactionManager节点事务了。

5.2.1层次架构

计算机系统在开发之前的方案设计阶段都需要决定系统的技术实现概观,它包括系统的运行环境、系统的开发环境、系统采用的第三方产品等。这些都是系统实现的应用框架,系统实现最终必须在这些基础之上完成。

本系统是以数据仓库的架构搭建的,它是数据仓库的一个业务应用领域,系统的设计实现是遵循数据仓库应用框架的规范。作为一个数据仓库的具体应用,系统是建构在数据仓库的基础上的。数据仓库的构建和数据采集是一个独立的部分,在这里不做具体介绍,因为它不是本文研究的重点。

本系统的技术实现分为数据集市ElL过程和数据前端展示两个部分。前端数据展现部分完成绩效考核系统生成结果的展示,这部分将基于Web/Java方式开发,采用多样灵活的展示方式对业务要求的数据进行展示。同时,系统的各类业务参数设置等功能也是采用Web/Java方式开发。

系统的数据库是作为数据仓库体系的数据集市的有机组成部分,数据集市ETL过程将采用数据库存储过程在UNIX环境中完成。数据集市ETL过程将完成大部分的数据处理,将数据仓库中的细节数据加工成为所要求的各种指标数据以及汇总的数据。数据集市ETL程序将统一由后台程序调度并进入每日的信息平台批处理流程。

5.3流程分析

业务模块细分只能建立起系统的业务功能框架,而要进行系统技术实现则需要完成业务模块到技术功能模块的转换。业务模块的功能实现可能是由若干个技

第5章绩效考核管理系统设计与实现

术模块的组合完成的,而不同业务模块下的功能相似的技术模块则可以通过计算机模式设计合并为一个技术模块。相对于业务模块,技术模块实现的功能更为细节,很多对最终用户是不可见的,我们称这些技术模块为功能模块。

系统的技术功能除了专为业务前端展现所编写的外,其余部分都是用户看不见的。技术功能是系统的内核,业务功能是系统的外观,所有的业务功能都是由若干个技术功能的组合。以技术功能分析设计为主要内容的技术框架设计是计算机系统开发中最关键的环节,它决定着系统的成败。

5.3.1总体流程

绩效考核通过业务层面的分析被划分为五个子系统,即柜员考核、机构考核、客户经理考核、业务维护。这种划分是业务层面的,所划分出的模块称为业务模块。业务模块对应系统应该实现的业务功能,一般都是用户可见的。业务模块对应着业务需求的功能,根据业务需求分析整理细化业务功能是确定业务模块的基本方式。

总体流程分析是在系统层次架构的基础上结合业务功能对系统进一步的层次细分,总体流程分析将形成技术实现的第一级框架。绩效考核系统的总体流程可以用图5.8来表示。

基于Struts、springIbatis的银行绩效考核系统的开发研究

篱崧哼号核系统总绺硫舳

图5.8效考核管理系统的总体流程

Fig.5.8theoverallflowofthesystem

①考核基础数据准备

银行绩效考核系统实现的基础是大量的电子化基础数据,绩效考核所需的基础数据范围很广,大部分可以从运行系统中得到,但有些外部数据需要通过文件方式导入,还有些数据只能通过手工录入。基础数据准备是绩效考核日常流程的一部分。

②考核业务数据录入

作为一个绩效考核系统,给使用者尤其是客户经理提供业务数据录入接口以方便其日常工作也是系统应该实现的功能。这些数据可以是日常工作的日志,也可以是为业绩分析提供更好的支持。

③绩效考核数据生成

绩效考核系统通过对基础数据的加工生成最终的考核结果指标,并最终计算出机构或员工的绩效,这是绩效考核系统的基本组成部分,也是绩效考核系统的核心。由银行基础业务数据到绩效最终指标生成的过程中,包括多个阶段,大量

第5章绩效考核管理系统设计与实现

的中间结果数据将被保留下来提供给用户作查询统计。由于计算量极大,绩效指标数据生成将放入管理信息平台每日的批处理流程中。

④考核业务参数配置

要做到全面精确的绩效考核,需要在考核对象与银行业务数据之间建立准确的关联关系。同时绩效考核最终指标经济增加值的计算涉及到很多计算规则和方法,在计算过程中有大量的参数和系数引用。灵活方便的规则参数维护功能可以使绩效考核系统适应银行考核体系的变化,具有更强大的功能。业务参数配置是绩效考核系统运行的基础。

⑤绩效考核业绩评定

绩效考核系统每日都生成考核数据,但作为业绩评定应该是在一个考核期内的业绩。在考核期末进行的业绩评定与每日的考核数据生成分析有不同之处,业绩评定应该生成最终的不可更改的考核结果,并将考核结果最终用于机构和员工的评价和激励机制。

⑥业绩数据查询分析

绩效考核系统的各项指标细节数据的查询统计对于员工和机构了解绩效考核政策以及自身的工作情况有很大的帮助,系统提供大量的查询分析功能以满足此类要求。

5.3.2技术架构

系统实现在不同技术层面上要面对的开发环境不同,要求的业务知识不同,要求的技术实现方式也不同,这也意味着不同技术层面要求的开发编程人员的素质是不同的。系统总体流程分析决定系统的技术模块划分必须先以五个技术层面作为功能模块的第一级。技术层面因系统技术实现方式而划分的,集中在某一层面的功能模块之间并没有业务上的关联,因此本文不称之为子系统,而称之为系统模块。

综上所述,绩效考核系统分为六个技术层面,这六个技术层面组成绩效考核系统的第一级功能模块。①考核参数配置——配置

基于Struts、Spring和Ibatis的银行绩效考核系统的开发研褒

②考核数据录入——录入

③基础数据准备——装入

④考核数据生成——加工

⑤考核业绩评定——结果

⑥业绩查询分析——展示

上述六个层面中,基础数据准备、考核数据生成、考核期业绩评定三个层面是后台数据处理,将采用数据集市ETL的功能实现方式,业务参数配置、考核数据录入、业绩指标查询分析模块是前端信息展示,将采用Web/Java的前端开发技术来实现。

柜员考核、客户经理考核、机构考核三大业务子系统的业务功能都将对应到五个技术层面上去实现。如果一个业务功能跨越多个技术层面,那么这个业务功能就将被技术层面分隔成多个技术功能,形成技术功能模块划分的基本标准。同时技术功能模块基于系统模式设计的原则还可继续细分。

5.4数据处理

5.4.1总体数据处理绩效考核管理系统的总体数据处理过程如图5.9所示。

第5章绩效考核管理系统设计与实现

平台ETL过_*I—I

L数据平台(巾长户、交易、客户、机构、协议y

.JjL.,

.J[基础积数表(血b)一t

V_

绩效考核数据库一{jr

图5.9绩效考核管理系统的总体数据处理

Fig5.9PerformanceAssessmentSystemOverallDataProcess

5.4.2平台数据转换

数据仓库平台是管理系统的数据枢纽,它将不同银行客户的核心业务及信贷数据转换为标准的统一的数据仓库数据格式,并提供给各应用系统使用。数据仓库转换部分的主要作业如下节。

数据仓库数据转换遵循数据仓库ETL标准规范,并采用DCVT数据转换工具作为辅助支持以脚本配置方式完成整个数据仓库流程。表5.1给出了本系统的主要作业清单。

基于Struts、Spring和Ibatis的银行绩效考核系统的开发研究

表5.1主要作业清单

说玎叩哪种嘲””璎—哪目标表”鄹聊一一维表参数~,一……

Tab.5.1

Major

JobList

露一”繁换中管业髫”8一

U..EXCHANGE—.RATEU—.INTRATEU—CURRENCY

源表’习

.。&立。^ad‘£;蠕d“鳓』^at≈i{■;越^E☆^a≤;4t?b

。.∽,毒

u_currency_exchange_.rate

u_interestrate

“…~…

u』urrency

总帐主题’

1”}谴’钟?∞州=糍硼V:《岬

o^.‘k翘Ⅸh。曲.1“

汇率牌价表。外币币种对美元和人民币的汇率。

利率表。各储种的利率币种代码

”一埘。?f舯5掣。r7州。喘:唧≮≯秽’”翟r一’o

一、

.?~。-

…0‰一:t….

”~””j嘲一o?j‰蕊

PRE_DATE_GLENDERpre_date_.glenderPRE——LEDGER—.YEAR

pre——ledger__year

。。t筻i,删w叼。…

由总帐数据更新日总帐生成年总帐数据

帐户主题~.~….,.

ACCOUNT——INNER

.,,fb洲吐zk芒,,女‰立r?+…’^。恐z…

account——inner

…%#Ⅻ

从内部分户帐中提取数据对内部帐户表进行日更新

由对公活期存款主档生成数据。存于临时表进行全量更新。

从准贷记卡资料表中抽取出卡帐户,进行全量更新生成准贷记卡透支帐户

因对公贷款产生的帐户,每一贷款合同对应一贷款帐户。在业务系统中与贷款卡片帐相对应。生成个人贷款信息。生成对私活期分户数据生成对私定期账户信息生成对公贷款欠息信息

ACCOUNT_sAVE_OR

GARD

account_save_org

ACCOUNT——CREDIT——Caccount..credit—.cardACCOUNT—CREDIT--Caccount_credit_card

ARD——OVERDFT

ACCOUNT.—LOAN——OR

account_loan

org

A,CCOUN££OAN—IN

)IV

account—.10an——indivaccount—.save——indiv—.sa

ACCOUNT—.INDIV..SA

ACC£DWEINTR

OR

ACCOUNT——INDIV——TDaccount——save——indiv——td

acct_owe_intr_org

ACCT_OWEINTR_IND

lV

交易主题j57”“。”:,

TRANSACTION——SCF

生成对私贷款欠息信息

’删E.71二。:1“…’…j,’如’r。一…”。’‘:。1”“。≯t…?…:8零孽一

?,,?J-跳》!‰稿p删;磕燃‘£&生transaction从金融交易分录流水提取信息

acet——owe——intr—.indiv

?

j‘?j—l*秘

?々^

-,、一!请蝴

TRANSACTION——SCN

TRANSACTION——SUM

transaction——ufnc

transaction—.summt_trans_type

从非金融交易分录流水提取信息从交易日志中提出交易信息交易代码表

从柜员信息表中抽出操作员号和储蓄所编号对渠道表进行更新

’’:,麟

t,。

T—TRANSNPE

渠道主题。?,.菇!。o

CHANNEL

’qm_、{9:”Ⅱ’’1

…:孥

j。

?^;乳r§j糟g‰拣,≤瓤;;dk‘^一《∞菇m%二i妣t。channel

客户主题一’一4。:。

CUSTOMER—.ORG

CUSTOMER一1.NDIV

呻篡’1坤~…穸。;??~尊o“酬节7■

,:.

.球,屯:■:‘嘏赢£o镕‰露:、.。矗‰

custorner_org

生成对公客户信息生成对私客户信息生成信贷对公客户信息

CMIS

customerindiv

customel9娉3ms

CUSTOMER_ORG_CM

.49.

第5章绩效考核管理系统设计与实现

续表5.1转换作业名

CUSTOMER—ID眨aMS

目标表

customer——idv——cms

说明源表

CMIS

w∞rr#垮“

‘4

协议主题

AGREEMENT

?二。立。.。...:?i{点!_癌譬∞癌磊《‰妇女搿矗釜:蕊,

agreementagreement_cardagrremnt_loan

?线=寰节‘!吖撙剿r蛄照曲黜托避dk邕础^

4攀即獬¨’

生成信贷对私客户信息

’?:

。2sdd±盘..!^£^彦蠡“~。^上。

酒《mL4涠

生成合同信息生成卡资料信息

生成信贷合同信息

∥。、,7止《.n’i

AGREEMENT—.CARDAGREEMENz£OAN

产品主题

PRODUCT

.。..

。.

,’。8警笋哪””8狮??~。j。

■=””j?警。叫t.揣dd%d☆&自h罐扎。

CMIS

.£k.甚‘如~:。■

product_groupproduct——inner

PRODUCT——INNER

各级科目的相关信息

业务类别的相关信息

j:j

’,

机构主题.二。。。主…。+

BANK_ORGANIZATION

1j’o”紫篡譬?‘。轨■?~缸强船,翩t一矗删繁础:6益盘赴砬二

.;

?8””即■:≯霹:

i。

”㈣强

,’一:^二捌

bank_organization

bank_organization._r

银行机构的相关基本信息包括职

责代码,名称上级机构,机构级别代码银行机构的分组相关代码,行政,信贷

5.4.3基础集市处理

基础集市主要用于存储各应用系统都会用到的汇总或累积数据,以及公用的参数表和维表。其中数据表主要包括帐户积数表和科目统计表两部分,其处理流

程如图5.10所示。

图5.10绩效考核管理系统的处理流程

Fig.5.10theprocessflowofthesystem

基于Struts、Spring和Ibatis的银行绩效考核系统的开发研究

集市处理的主要作业清单如表5.2所示。

表5.2集市处理的主要作业清单

黟—一转换作亚瑶一””唧”一’日标表一”胖

维表参数

DMD—.BANK—.ORGANIZATION

dmd—.bank_organizationdmd—.bank—.relationdmd_currency

Tab.5.2DataMarts

MajorJob

List

甲—””一’飞蔸聊r“—!”一…

生成机构表和机构关系表

孵—秽甲源表”一飞

dmd——bank—.infobank_organization

DMDCURRENCY

生成集市币种表,加入三u.-currency种汇总币种信息生成期次信息表生成汇率表

生成虚拟客户经理数据生成科目关系表处理内部帐积数表处理信用卡积数表处理对公存款积数表

u_currency_exchange_ra

te

DMD—.PERIODDMD—.FOREX—.RATE

dmd_perioddmd_period_daydmd_forex_rate

DMD)RCMG

DMD——PRODUCT

dmd——user—.infodmd_product——rela

dmd_bank_organizationdwadm.product__group

帐户积数表”。:

dmb——inner—.accountdmb—.credit——carddmb_org_savedmb—.indiv..td——save

account——inneraccount——credit—.card

DMB—INNER.-ACCT

DMB—.CREDIT——CARDDMB——ORG—.SAVE

DMB—.INDIV..TD..SAVE

accountjave_org

处理对私定期存款积数account_save—.indiv_td表

处理对私活期存款积数account_save—.indiv——sa表

对公贷款积数处理个人贷款积数处理生成帐户交易汇总数据j:…_tH1;^7一‘:生成总帐余额积数表及总帐发生积数表

,。:4

DMB—.INDIV——SA—.SAVEdmb_indiv_sa_save

DMB——ORG——LOAN

)MB—.INDIV——LOAN

account_loan_orgaccount—.10an—.indiv

account_loan_orgaccount——loan—.indivtransaction

‘+

DMB—ACCz,咒4NSdmb——trans—.acct—.summ

dmb——acct——trans

总帐聚合表。“””■

DMB——GEN—.LEDGER

dmb_gen_ledgerdmb__gen_trans

。…{I%?“

.X

pre_date__glender,

DMB_LEDGER.-YMD

dmb_date—.1edgerdmb_month_ledgerdmbyear_ledger

生成总帐El、月、年累计pre_date__glender表

生成科日余额汇总数据生成科目发生汇总数据生成隶属机构科目汇总比对表

生成管理机构科目汇总比对表

J’7“≮一””目”一…《:’i1’+T;1

3MB—.PROD——ACSUMDMB—.PROD——TRSUMDMB_GEN_CHK

dmb_prod_acsumdmb_prod_trsum

数据仓库J9砭户表

transactiondmb_prod_summ

dmb_gledgerchk

dmb_gledgerchk_mbrdmb_prod_summ_mbr

爻易活动表…。”…”j=一

DMBBADLOANDMB—.0WEINTR

’p—V5掣背甲—4节rf粥罗,P瞥珲—…

,一…p§《~;

一一…。~。1’………鼍

一鹞

dmb_badloan_age

dmb_oweintrage

生成不良贷款帐龄表生成欠息帐龄表

account_loan_org

account_loanindivacct—.owe—,intr—.indivacct——owe——intr_org

-5l?

5.4.4绩效考核数据处理

绩效考核的数据处理体系是一个由明细数据、科目总帐、统计指标、打分指标到最终得分这样层层汇总加工的过程。绩效考核的数据处理流程如图5.11所示。

图5.11绩效考核的数据处理

Fig.5.11dataprocessinginthesystem绩效考核的主要作业清单如表5.3所示。

基于Struts、Spring和Ibatis的银行绩效考核系统的开发研究

表5.3绩效考核的主要作业清单

Tab.5.3the

∥—猎搁糊瞬P一‘+

维表参数

百标蓑鄹一

,。j

majorjobs

listofperformanceassessment

说够r嬲嘲㈣嬲㈣缈粼滞”源裂——鄂帮泖—一”门

。^‘

.?,萱

DMD—.BANKORGANIZdmdbank_organizatATIONion

dmdbankrelation

生成机构表和机构关系表

dmd——bank——infobank_organization

DMD——CURRENCYdmd_currency

生成集市币种表,加入三种汇u』urrency

总币种信息生成期次信息表

DMD—.PERIODdmd__perioddmd__period_day

DMD_FOREX..RATEDMD—.VRCMG

DMD——PRODUCT

dmd_forex

rate

生成汇率表

生成虚拟客户经理数据

u_currency_exchange_ra

te

dmd——user—.infodmd_product—.rela

。.}1

,’

dmd_bank_organizationdwadm.product_group

帐户积数表

生成科目关系表

……~_’r#’{i。’,

,一.

j”一.‘“,”

’h?#h。w¨.

account,—inneraccount__credit_card

account

DMB—。INNER—.ACCT)MB——CREDIT—.CARDDMB—.ORG..SAVE

dmb——inner——accountdmb——credit——carddrab_org_savedmb——indiv—.td——savedmb——indiv——sa——saveaccount_loan_orgaccount——loan—.indivdmbtransaectmmdrnb

acct

trans

1∞t∥

SB

处理内部帐积数表处理信用卡积数表处理对公存款积数表处理对私定期存款积数表处理对私活期存款积数表对公贷款积数处理个人贷款积数处理生成帐户交易汇总数据

!’●:驴:1:+’t斜3j:}i=1量…砭碍一啪’Bi|÷’f"

?

save_org

)MB—INDIV一皿SAVE

DMB—.INDIV—.SA—.SAVE

DMB_ORGLOAN3MB—.INDIV—.LOAN

account..save—.indiv..tdaccount.—save—.indiv..saaccount_loan_org

account

loan_indiv

DMB—ACC气3RANS

transaction

总帐聚合表

”“.一:;

,…1f”一i

。。’≮’、t一7¥

4矗二

:…j?…々+

DMB—.GEN..LEDGERdmb_gen_ledgerdrnb_gen_trans

生成总帐余额积数表及总帐发生积数表

生成总帐日、月、年累计表

pre_date__glender,

DMB_LEDGER)MDdmb_date_ledger

drab_month.—ledgerdmbyear_ledger

pre_date__glender

3MB—.PROD——ACSUMDMB—.PROD—.TRSUMDMBGENCHK

dmb__prod_acsumdmb_prod_trsum

生成科目余额汇总数据生成科目发生汇总数据表

数据仓库帐户表

transaction

dmb_.gledgerchk

生成隶属机构科目汇总比对dmb__prod_summ生成管理机构科目汇总比对

dmb__prod_summ_mbr

:lmb.gledger_chk

nbr

爻易活动表“”■二一?。

3MB—。BADLOANDMB_OWEINTR

+y讲:硝∽+—蟹E1i母f:?”?“

一1。《”一mf—p’㈣7’Pi”?。…∞一

.f

’…‘’w…“””一…

account

t’

dmb..badloan_age

生成不良贷款帐龄表

Ioan_org

account——loan——indiv

dmb_oweintrage

生成欠息帐龄表

acct..owe.。intr,.indivacctoweintRorg

-53.

第6章结论

第6章结论

本系统构建在J2EE体系架构之上,采用Struts、Spring和Ibatis框架结合的方式,给出了银行绩效考核管理系统的解决方案。本系统是某商业银行管理系统的一个重要子系统,系统的实施与运行使得该商业银行的员工绩效考核上了一个新的台阶。

总结论文阶段所做的工作,主要包括如下几点:

(1)分析、研究了J2EE平台的体系结构及其特点,采用Struts、Spring和Ibatis框架结合的方式对本系统进行了总体设计。用Struts框架解决了模型、视图。控制的分离,使得系统的结构更加清晰;用Spring解决事务管理方面的问题;用Ibatis为业务层提供数据抽象层接口,实现了数据存储逻辑的分离、数据访问底层实现的分离、资源管理和调度的分离。

(2)确定系统的框架与功能模块设计。对整体绩效考核管理所涉及的各大模块进行了细致的研究和解析。对各大模块的一些功能需求和设计都有全面的分析及定义。

由于本文所研究的绩效考核管理系统是一个全新的系统,它并没有其它的系统作为参考和比较,所以肯定还有很多不完善的地方,以至于本文还有很多不足之处。并且由于业务的综合性和复杂性,本文只是从作者所参与设计开发的模块中的大部分功能进行了分析和研究,其它模块功能的业务实现还需要进一步的分析和研究。

软件开发技术的发展是非常迅速的,很多新的技术在未来将不断涌现出来,所以还要结合新的业务需求随时对本系统进行及时的升级和修改。

基于Struts,Spring和Ibatis的银行绩效考核系统的开发研究

参考文献

【l】王俊标.精通JavaWeb开发.北京:人民邮电出版社,2007.

【2】吴其庆.J2EE程序设计实例教程.冶金工业出版社,2006.

【3】孙卫琴.Java面向对象编程/Java开发专家.电子工业出版社,2006.

【4】.轻量级J2EE企业应用实战一Struts+Spring+Hibemate整合开发.电子工业出版

社,2007.

【5】WilliamCrawford,JonathanKaplan.J2EE设计模式.O’Reilly,2005

【6】朱中浩.基于XML的三层C/S模型构建.中国科技信息,2006,26(6):16—17.

【7】EdRoman.精通Em.电子工业出版社.2002.10.1.

【8】AlurDeepak.著.J2EE核心模式.机械工业出版社,2005.03。01.

【9】http://www.redsaga.com/springref/2.O/html/ejb.html

【10】Johnson,R,Hoeller,J.著.J2EEDevelopmentwithoutEJB中文.电子工业出版社,2005.9.1

【11】孙鑫著.JavaWeb开发详解:XML+XSLT+Servlet+JSP深入剖析与实例应用.电子工业出

版社,2006.04.01

【12】蔡雪焘著.Hibernate开发及整合应用大全.清华大学出版社,2006.3.9

【13】Erie著.EclipsePlug-insThirdEdition.Eclipse.2008.04

6【14】刘长炯著.MyEclipseJava开发中文教程.本书目前未委托任何出版社进行出版.

EclipseRichClientPlatform【15】VladimirSilva著.Practical

Inc.2009Projects.Springer-VerlagNewYork,

【16】JenniferVesperman著.EssentialCVS.东南大学出版社,2006年5月

【l7】(美)BruceEckel著.ThinkinginJava,ThirdEdition.机械工业出版社,2005年5月

[18】(美)Thomas,D.,(美)亨特(Hunt,A.)著.版本控制之道:使用CVS.电子工业出版社,2005

【19】(美)KarlFogel著.OpenSourceDevelopmentWithCVS.机械工业出版社.2001年6月

PracticalGuideforJava【20】SueSpielman著.THESTRUTSFRAMEWORK

Elsevier.2001Programmer.

【21】孙卫琴著.精通Struts:基于MVC的Javawcb设计开发.电子工业出版社,2004.8.17

【22】霍姆斯著.Struts完全手册(第2版).电子工业出版社,2007年08月

【23】Nathaniel

03月T.Schuaa,RyanAsleson著.AjaX与Java高级程序设计.人民邮电出版社,2007年

【24】http://www.host01.com/article/jsp/00040007/20060805215509722.htm

【25】CraigWalls,RyanBreidenbach著.SpringinAction.人民邮电出版社,2006年03月?55-

参考文献

【26】http..//www.e雏yj£com/sprm∥

【F27】http://蚋rw.diybl.corn/course/6system/linux/linuxjq/2007211/18220.hnnl

【28】盂劫著.精通Spring-—-Java轻量级架构开发实践.人民邮电出版社,2006年08月

【29】http'.//en.wikipedia.org/wiki/IBATIS

【30】许学军著.商业银行绩效考核实务.上海财经大学出版社,2006年9月

【3I】付亚和,许玉林著.绩效考核与绩效管理.电子工业出版社,,2003年10月.56.

攻读学位期间公开发表论文

攻读学位期间公开发表论文

[1]高志华.敏捷方法与SOA的结合.信息系统工程,2009.9,31.-57?

致谢

致谢

本论文的研究工作是在导师蒋波老师的悉心指导下完成的。导师从论文的选题、方案的制定、研究方法,直到论文的最后定稿,都倾注了大量心血。在攻读工程硕士学位的两年时间里,蒋老师在学业上的谆谆教诲使我终生难忘。值此学业完成之际,我怀着无比崇敬与激动的心情向培养我多年至今仍在辛勤耕耘的导师表示由衷的感谢和诚挚的祝愿!

感谢父母在精神、物质上的支持的关怀,父母的期盼始终鞭策作者不断进步。最后,感谢审阅本论文的老师对我的论文评审并提出意见。感谢答辩委员会的各位老师出席我的论文答辩。谨以此论文敬献给所有关心、鼓励、支持和帮助过我的人们!

更多相关推荐:
【游戏杂谈】【DOTA人物志】企图替代DOTA的DOTA替代品

BGM开头numblinkinpark转场everytimebritneyspears梦三国离境战国无双天翼决五丈原之战真三国无双英雄联盟大蛇无双BGMhello大家好欢迎收看由sin为您带来的游戏解说视频最近...

动漫

人总是被一定的认知所束缚而活着这就是现实而这种认知本身又是暧昧不清的东西现实也许只是镜花水月NARUTOITACHI蓝染虽然我没说但是我想你应该清楚我爱你我又在人生的道路上迷失了方向卡卡西去做你应该做的事吧我也...

青雉·库

青雉日本人气动漫海贼王中的角色海军三大将之一食用冰之恶魔果实后拥有冰的力量中文名外文名武器声优青雉青kohzaaokuji冰做成的剑子安武人身份出自恶魔果实海军本部大将日本动漫海贼王冰冻果实人物简介青雉库赞为海...

喜欢的句子

1能原谅女人谎言的才是真正的男人海贼王山治2鲁鲁修你知道雪为什么是白色的吗因为它忘记了自己曾经的颜色CC叛逆的鲁鲁修女王的这段话回味好久3人们之所以怀有一丝希望是因为他们看不见死亡朽木露琪亚死神4我在人生道路上...

Fate 语录

英灵召唤宣告汝身在吾之下托付吾之命运于汝之剑遵从圣杯的召唤倘若遵照这个旨意和天理汝立刻回答在此起誓吾乃永世的善行者吾乃永世的惩恶者使汝之双眼混沌心灵狂暴被狂乱之槛所囚的囚徒吾是操纵这根锁链的主人缠绕汝三大之言灵...

金闪闪最新经典语录集锦大全

1不过傲慢分为两种一种是能力过于低下还有一种是志向异常远大的前者显得非常愚蠢后者是难得一见的珍贵种类2把手伸向不属于人类领域的愚者啊天上天下只有一人有资格欣赏你的破灭除了我吉尔伽美什别无他人耀眼而虚幻的人啊投入...

冰河世纪3的经典语句

冰河世纪3的经典语句哗啦女士优先艾迪敬老是传统美德哗啦先礼后兵RainingLadiesfirstAddisonisthetraditionalvirtueofrespectingtheelderlyRaini...

二次元 动漫 经典语录

比任何人都要了解自己比任何人都要关爱自己喜欢上这样的人并没有什么奇怪的呢初音岛明明只是活着哀伤却无处不在秒速5厘米如果我会变成恶魔那就随他吧我会接受放逐一切只为了保护她鬼泣我发过誓再也不装作没察觉再也不逃避文学...

动漫经典语录

明明只是活着哀伤却无处不在秒速5厘米如果我会变成恶魔那就随他吧我会接受放逐一切只为了保护她鬼泣我发过誓再也不装作没察觉再也不逃避文学少女命运的红线一旦断了就再也不会再接上犬夜叉无法飞翔的翅膀也是有意义的因为它是...

印象深刻到经典的动漫名言(1)

1试图战斗的意志是如此的美丽神圣我认识到了连命运都不得不屈服的力量所以我也与你共同战斗吧无论多少次直到我们到达位于前方的未来为止寒蝉鸣泣之时古手梨花2朋友间就不能有秘密吗谁都有不想告诉别人的痛苦的事情悲伤的事情...

印象深刻到经典的动漫名言(1)

1试图战斗的意志是如此的美丽神圣我认识到了连命运都不得不屈服的力量所以我也与你共同战斗吧无论多少次直到我们到达位于前方的未来为止寒蝉鸣泣之时古手梨花2朋友间就不能有秘密吗谁都有不想告诉别人的痛苦的事情悲伤的事情...

动漫经典台词

言思返今私恵虽然是这样不过回想起来以前的我也许是一直受着眷顾好想告诉你感情论何解决凭感情用事根本解决不了任何问题AngelBeats仲村由里过去未来仆君守不论是过去还是未来我都会保护你绫崎飒旋风管家君一助言世中...

sinbasara经典语录(1篇)