基于soa的国库会计账簿及报表系统 论文最终稿1_第1页
基于soa的国库会计账簿及报表系统 论文最终稿1_第2页
基于soa的国库会计账簿及报表系统 论文最终稿1_第3页
基于soa的国库会计账簿及报表系统 论文最终稿1_第4页
基于soa的国库会计账簿及报表系统 论文最终稿1_第5页
已阅读5页,还剩76页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

哈尔滨工业大学学位论文I摘要目前,传统财务软件受到来自先进的管理思想和信息技术带来的巨大挑战,网络化、管理化已成为财务软件发展的必然趋势,跨跃时间与空间的限制的网络财务随之迅速的成长起来。本文详细论述了财务信息软件当前发展现状,探讨了实现网络财务的技术平台与实现手段。针对传统财务软件不能很好解决财会业务的远程处理、会计核算滞后等问题,本论文(项目)在充分的调研与需求分析的基础上,采用面向服务的架构技术,进行了针对该财务软件的架构设计,该设计包括企业层、流程层、中介层及基本层四个方面。然后,本文运用面向对象的设计方法进行了财会业务域类分析、财会域类动态行为设计、财会业务流程分析,并在此基础上进行了模块的规划与实现。在具体实现技术方面,按上述四层结构,在具有多层结构的分布式应用程序模型的技术平台上,构建能够封装业务逻辑的企业级JAVABEAN中间组件,并结合动态页面实现技术使上述问题得到较好的解决。为了能够使页面具有更好的表现逻辑,在程序的实现中,同时使用多种脚本语言、层叠样式表技术及超文本页面组件技术。最后,在企业层中,对该财务系统进行了功能测试,在测试中发现的问题已经全部得到了解决。按照面向服务结构的四层设计的要求,对系统的性能做了比较全面的实验性分析,达到了满意的效果。关键词网络财务;面向服务的构架;企业级JAVABEAN;超文本页面组件哈尔滨工业大学位论文IIABSTRACTCURRENTLY,TRADITIONALACCOUNTINGSOFTWAREISCONFRONTEDWITHADVANCEDMANAGEMENTIDEOLOGYANDITTECHNOLOGYANDTHUSNETWORKEDACCOUNTINGSOFTWAREWITHMANAGEMENTFUNCTIONALITIES,WHICHISDEVELOPINGVERYQUICKLYANDBREAKINGTHETIMEANDSPATIALBARRIERS,HASBECOMETHEMAINTRENDTHISPAPERDISCUSSESTHECURRENTSTATEOFTHEDEVELOPMENTOFTHEACCOUNTINGINFORMATIONSOFTWAREINDETAIL,THETECHNICALPLATFORMSANDTHEIMPLEMENTATIONMEANSOFTHENETWORKEDFINANCEFORTHEPURPOSEOFSOLVINGPROBLEMSINLONGDISTANCEFINANCIALTRANSACTIONSANDDELAYINACCOUNTINGRESULTEDFROMTRADITIONALACCOUNTINGSOFTWARE,INTHISPAPER,BASEDONSUFFICIENTREQUIREMENTANALYSIS,SERVICEORIENTEDARCHITECTUREHASBEENADOPTEDINTHEARCHITECTURALDESIGN,WHICHINVOLVESENTERPRISELAYER,PROCESSINGLAYER,INTERMEDIARYLAYER,ANDBASICLAYERTHISPAPERAPPLIESOBJECTORIENTEDDESIGNMETHODTODOCLASSANALYSISONFINANCIALTRANSACTIONS,DYNAMICALCLASSBEHAVIORDESIGN,ANDANALYSISONFINANCINGTRANSACTIONFLOWANDTHEN,BASEDONTHESEDESIGNS,MODULEDESIGNSANDIMPLEMENTATIONSARECARRIEDOUTASFORIMPLEMENTATIONTECHNIQUES,ACCORDINGTOTHEFOURLAYEREDSTRUCTURE,ONTHEDISTRIBUTEDMULTILAYERTECHNICALPLATFORMOFAPPLICATIONPROGRAMMODEL,THISPROJECTUSESENTERPRISEJAVABEANCOMPONENTTOENCAPSULATEBUSINESSLOGICSCOMBINEDWITHDYNAMICWEBPAGESTOSOLVETHEPROBLEMSSUCCESSFULLYINORDERFORTHEWEBPAGESTOHAVEBETTERPRESENTATIONLOGIC,THISPROJECTUSESMULTIPLESCRIPTLANGUAGES,CASCADINGSTYLESHEETSANDHYPERTEXTPAGECOMPONENTTECHNICSFINALLY,FUNCTIONALITYTESTINGHASBEENFINISHEDINENTERPRISELAYERANDALLTHEERRORSFOUNDHAVEBEENCORRECTEDACCORDINGTOTHEDESIGNREQUIREMENTSFORTHEFOURLAYEREDSERVICEORIENTEDARCHITECTURE,PERFORMANCEANALYSISHASBEENDONEONTHESYSTEMANDSATISFACTORYRESULTSAREACHIEVEDKEYWORDSNETWORKINGFINANCE,SERVICEORIENTEDARCHITECTURE,ENTERPRISEJAVABEAN,HYPERTEXTPAGECOMPONENT哈尔滨工业大学位论文III目录摘要IABSTRACTII目录III第1章绪论111课题的学术背景和实际意义112与课题相关的国内外研究综述2121财务软件的发展概况2122中间件的发展概况3123SOA的发展及目前的研究状况613本文的主要工作8第2章系统分析921理解需求922分析需求1023本章小结14第3章系统设计1531系统配置15311软件配置15312硬件配置15313网络配置1632国库会计账簿及报表系统的架构设计16321应用程序前端17322流程服务19323中介服务20324基本服务2133国库会计账簿及报表系统域类分析25331账务管理域类分析26332款项拨付域类分析2634域类的动态行为设计27341类的状态图28哈尔滨工业大学位论文IV342类的时序图3135系统安全性设计3236本章小结35第4章系统实现3641概述3642应用程序客户瑞的实现3643业务流程层的实现46421业务逻辑流程46421业务逻辑组件4744中介层的实现5745基础服务层的实现5843本章小结61第5章系统测试与性能评测6251概述6252基本层的性能评测6253业务流程层和中介层性能评测6454应用程序客户端性能评测6554本章小结69结论70参考文献71附录1凭单管理子模块表74附录2EJB组件说明表75哈尔滨工业大学学位论文原创性声明76致谢77哈尔滨工业大学位论文1第1章绪论11课题的学术背景和实际意义财会信息是企事业单位的经济信息管理的核心。财会信息系统工作的内涵应由三大部分组成其一,建立和实施在现代信息技术或计算机技术环境下的财务信息系统(ACCOUNTINGINFORMATIONSYSTEM,AIS);其二,为了确保AIS的有效运作,为财会管理工作提供高质量的信息服务,必须建立有效、健全的信息系统的内部控制,即信息系统控制和有关制度的建设;其三,为了确保和审查内部控制制度的有效执行,必须开展对AIS及其内控制度的审计,以最终达到对AIS安全、可靠、有效和高效的使用的目的1。本课题是为威海市财政局建立的基于面向服务构架的国库会计账簿及报表系统。论文所涉及的国库会计账簿及报表系统软件采用了三层客户端/服务器模式实现。在逻辑上将应用划分为显示层、业务逻辑层(中间层)、数据层。表示层向用户提供应用服务的图形界面,处理用户的输入和向用户的输出,包含系统的显示逻辑,位于客户端,有助于客户理解和高效的定位应用服务。业务逻辑层位于表示层和数据层之间,包含系统的事务处理逻辑,是上下两层的纽带,它建立实际的数据库连接,根据用户的请求生成SQL语句检索或更新数据库,并把结果返回给客户端,在这个层次上封装了与系统关联的应用模型,把用户表示层与数据库代码分开,执行应用策略和封装应用模式,并将封装的模式呈现给客户应用程序。数据层中包含系统的数据处理逻辑,位于数据库服务器端。它的任务是用来定义、维护、访问和更新数据并管理和满足应用服务对数据的请求24。本系统采用SOA(SERVICEORIENTEDARCHITECTURE)的设计原则,对系统进行分析和设计。SOA是一种企业级的架构,因此,它是从客户的业务需求开始的。SOA和其它企业级架构方法的不同之处在于提供的业务敏捷性。业务敏捷性是指客户对变更快速和有效地进行响应、并且利用变更来得到竞争优势的能力5。对架构设计师来说,创建一个业务敏捷的架构意味着创建可以满足当前还未知的业务需求。采用这种构架方式设计国库会计账簿及报表系统,可以使财务人员根据需要制定自己的财务方案,利用系统提供哈尔滨工业大学位论文2的服务方便快捷的收集到足够的财务信息,做出较为精准的财务预算,有效提高工作的效率。为了达到财务所要求的稳定、安全、高效的要求6,业务逻辑层的实现采用了J2EE(JAVA2PLATFORMENTERPRISEEDITION,J2EE)技术。在J2EE中,SUN给出了完整的基于JAVA语言的开发面向企业分布应用的规范。其中,在分布式互操作协议上,J2EE同时支持RMI(REMOTEMOTHODINVOCATION,远程方法调用)和IIOP(INTERNETINTERORBPROTOCOL,OBJECTREQUESTBROKER,ORB);在服务器端分布式应用的构造形式包括JAVASERVLET、JSP(JAVASERVERPAGE)、EJB等多种形式,以支持不同的业务需求,而且JAVA应用程序具有“WRITEONCE,RUNANYWHERE”的特性,其跨平台性非常好79。由其构成的财务中间件,不仅能够达财务的要求,还能根据不断变化的财务政策,制定财务工作流。财务的工作流程要求十分严谨,不仅有规范的操作过程、严格的审核制度,还有大量反映财务状况的、灵活多变的报表。这些报表所涵盖的信息量十分巨大,表现形式非常丰富。想要把数以万计的复杂的财务信息一次性的直接显示到客户浏览器上几乎是不可能的。除了在算法上下工夫,将大量的运算放到数据库端或中间组件上以尽量减少页面的运算外,还要采用多种技术的表现手段,并与IE浏览器相结合,力求完美地将数据显示在用户面前。目前,SOA架构已经逐步成为设计的主流,它偏重于“高内聚、低耦合”的分布式设计思路。本文选用预算财务作为设计对象,除了完成一个功能完善且高效的财务软件外,还是对SOA的一种实践。12与课题相关的国内外研究综述121财务软件的发展概况我国的传统财务软件始于上世纪70年代,由于当时技术水平和管理水平的限制,其设计目的主要是替代手工会计核算,减轻会计人员的工作量。经过20多年的改革开放,中国企业发展的宏观环境和管理模式都发生了根本性的改变。先进的管理思想和信息技术对传统财务软件带来了巨大挑战,哈尔滨工业大学位论文3网络化、管理化已成为财务软件发展的必然趋势。网络时代对企业的竞争环境、商业环境、商业规则、交易方式、经营管理模式都将带来巨大变革,电子商务将越来越成为企业重要的生存方式和经营方式10,11。网络财务是财务发展历程上的重要突破。与传统财务软件相比,具有以下优势1在空间上,在网络财务环境下,企业事务可以进行远程处理,因而可以对企业实行集中管理。2在时间上,网络财务使会计核算从事后达到实时,财务管理从静态走向动态,大大丰富了会计信息内容并提高了会计信息的价值。3网络财务是电子商务的重要组成部分。4现代财务管理软件是企业资源计划系统(ENTERPRISERESOURCESPLANNING,ERP)的核心组成部分。ERP是当今国际先进的企业管理思想和先进的信息技术相结合的产物,是企业信息系统发展的最新成就。财务软件产业是我国管理软件产业中发展较早、竞争力较强的产业。本文力求探索一种全新的财务软件设计方法,能够更好的融合国内外先进的管理思想。122中间件的发展概况中间件产品出现在20世纪70年代,消息通信和事务管理是其最初具有的功能。到了90年代,随着互联网的普及和企业分布式计算的需要,对于中间件的需求也逐渐多样化,从而促使中间件技术进一步细分,产生了不同类别的中间件产品。90年代,中间件习惯上被分为消息中间件和事务处理中间件。从90年代末期开始,随着电子商务的兴起和企业信息化建设的深入,中间件产品由于不同类型的需求而更加丰富起来,中间件的内涵和外延进一步拓展,面向对象的中间件技术逐渐成为中间件平台的主流技术,出现了以SUN公司的EJB/J2EE、MICROSOFT的COM/DNA和OMG的CORBA/OMA为代表的三个技术分支12,13。基本的研究热点是建立标准化的对象请求代理,屏蔽网络环境下的计算平台、操作系统、编程语言、网络应用提供通用的高级网络管理服务及与应用领域相关的增值服务。在今天的网络环境里,应用系统或者电子商务网站中都是由中间件来支撑的,现在的INTERNET应用离不开中间件的支持。哈尔滨工业大学位论文4中间件技术是伴随网络而发展起来的一种面向对象的技术。它是位于操作系统和应用软件之间的通用服务,主要是用来屏蔽网络硬件平台的差异性和操作系统与网络协议的异构性,使应用软件能够比较平滑地运行于不同平台上,同时中间件在负载平衡、连接管理和调度方面起了很大的作用,使企业级应用的性能得到大幅提升,满足了关键业务的需求14。目前,比较先进的分布式计算技术平台,主要有国际对象管理组织OMG(OBJECTMANAGEMENTGROUP)的CORBA(COMMONOBJECTREQUESTBROKERARCHITECTURE,公共对象请求代理体系结构)、SUN的J2EE和MICROSOFTDNA2000。1221OMG的CORBACORBA分布式计算技术是OMG组织基于众多开放系统平台厂商提交的分布对象互操作内容的基础上,制定的公共对象请求代理体系规范。它由对象请求代理程序、公用对象服务、接口定义语言、INTERNETORB(OBJECTREQUESTBROKER,ORB)间协议、基本对象适配器以等要素构成。CORBA的特点是大而全,互操作性和开放性非常好7。缺点是庞大而复杂,并且技术和标准的更新相对较慢,在具体应用中使用的不是很多。1222SUN的J2EEJ2EE平台提供了一个多层结构的分布式的应用程序模型,该模型具有重用组件的能力、基于扩展标记语言XML的数据交换、统一的安全模式和灵活的事务控制15,16。不仅可以比以前更快地发表对市场的新的解决方案,且独立于平台的基于组件的J2EE解决方案不再受任何供应商的产品和应用程序编程界面APIS的限制。提供商和买主都可以自己选择最合适于它们的商业应用和所需技术的产品和组件。J2EE应用程序由组件组成。一个J2EE组件就是一个自带功能的软件单元,它随同相关的类和文件被装配到J2EE应用程序中,并实现与其它组件的通信。J2EE规范是这样定义J2EE组件的17,18客户端应用程序和APPLETS是运行在客户端的组件。JAVASERVLET和JAVASERVERPAGESJSPS是运行在服务器端的WEB组件。ENTERPRISEJAVABEANEJB组件是运行在服务器端的商业软件。J2EE组件由JAVA编程语言写成,并和用该语言写成的其它程序一样进行编译。J2EE组件和“标准的”JAVA类的不同点在于它被装配在一个J2EE应用程序中,具有固定的格式并遵守J2EE规范,并被部署到产品中,由J2EE服务器对其进行管理。一个J2EE客户端既可以是一个WEB客户端,也可以是一个应用程序客户端。哈尔滨工业大学位论文5J2EE的WEB组件既可以是SERVLET也可以是JSP页面。SERVLETS是一个JAVA编程语言类,它可以动态地处理请求并作出响应。JSP页面是一个基于文本的文档,它以SERVLET的方式执行,但它可以更方便地建立静态内容。正如图11中所示,和客户层一样,WEB层也可以包含一个JAVABEANS组件以管理用户的输入并将输入发送到运行在商业层的EJB中进行处理。J2EE应用模式具有可执行性和可伸缩性,为多层应用程序提供了“WRITEONCE,RUNANYWHERE”的优势。在精心选择提供给企业的J2EE服务器和开发工具的情况下,这种标准化的模式将开发和培训成本降到最低。基于组件,具有平台无关性的J2EE结构使得J2EE程序的编写十分简单,因为业务逻辑被封装成可复用的组件,并且J2EE服务器以容器的形式为所有的组件类型提供后台服务。所以不用自己开发这种服务,可以集中精力解决业务逻辑问题。J2EE应用模式通过降低建多层应用复杂性,向应用开发的简单化和可扩展化前进了一大步19,20。图11WEB层和J2EE应用程序1223MICROSOFTDNA2000MICROSOFTDNA2000(DISTRIBUTEDINTERNETAPPLICATIONS)是MICROSOFT在推出WINDOWS2000系列操作系统平台基础上,在扩展了分布计算模型以及改造BACKOFFICE系列服务器端分布计算产品后,发布的新的分布计算体系结构和规范。DNA2000融合了当今最先进的分布计算理论和思想,如事务处理、可伸缩性、异步消息队列、集群等内容。DNA使得开发可以基于MICROSOFT平台的服务器构件应用,其中,如数据库事务服务、异步通讯服务和安全服务等,都由底层的分布对象系统提供。哈尔滨工业大学位论文6DNA2000的不足是依赖于MICROSOFT操作系统平台,在其它开发系统平台(如,UNIX,LINUX)上不能发挥作用。123SOA的发展及目前的研究状况分布式计算将网络上分布的软件资源看作是各种服务。面向服务架构是一种不错的解决方案。今天应用WEBSERVICES的面向服务架构与过去不同的特点就在于它们是基于标准以及松散耦合的21,22。广泛接受的标准(如XML和SOAP)提供了在各种不同的厂商解决方案之间的交互性。而松散耦合将分布计算中的参与者隔离开来,交互两边某一方的改动并不会影响到另一方。这两者的结合意味着公司可以实现某些WEBSERVICES而不用对使用这些WEBSERVICES的客户端的知识有任何了解。本文将这种基于标准的、松散耦合的面向服务的架构简称为SOA。SOA是一种企业架构,因此,它是从企业的需求开始的。但是,SOA和其它企业架构方法的不同之处在于SOA提供的业务敏捷性。业务敏捷性是指企业对变更快速和有效地进行响应、并且利用变更来得到竞争优势的能力。对架构设计师来说,创建一个业务敏捷的架构意味着创建这样一个IT架构,它可以满足当前还未知的业务需求。要满足这种业务敏捷性,SOA的实践必须遵循以下原则1业务驱动服务与服务驱动技术从本质上说,在抽象层次上,服务位于业务和技术中间。面向服务的架构设计师一方面必须理解在业务需求和可以提供的服务之间的动态关系,另一方面,同样要理解服务与提供这些服务的底层技术之间的关系。2业务敏捷业务敏捷是基本的业务需求,是SOA考虑的下一个抽象层次提供响应变化需求的能力,是新的“元需求”,而不是处理一些业务上的固定不变的需求。从硬件系统往上的整个架构都必须满足业务敏捷的需求,因为,在SOA中任何的瓶颈都会影响到整个IT环境的灵活性。3适应变化的SOA一个成功的SOA总在变化之中。SOA工作的场景,更像是一个活的生物体,而不是像传统所说的“盖一栋房子”。IT环境唯一不变的就是变化,因此面向服务架构设计师的工作永远不会结束。对于习惯于盖房子的设计师来说,要转向设计一个活的生物体,需要崭新的思维方式。如下文所写的,SOA的基础还是一些类似的架构准则。哈尔滨工业大学位论文7在IT行业有两个越来越普遍的发展方向,一个是架构方面的,一个是方法学方面的,面向服务的架构设计师可以从中有所收获。第一个就是MDA(模型驱动架构),由提出CORBA的OMG提出。MDA认为架构设计师首先要对创建的系统有一个形式化的UML(也是由OMG提出)的模型23,24。MDA首先给出一个平台无关的模型来表示系统的功能需求和USECASES,根据系统搭建的平台,架构设计师可以由这个平台无关的模型得到平台相关的模型,这些平台相关模型足够详细,以至于可以用来直接生成需要的代码。第二个是AM(敏捷方法),AM将业务模型直接和实践连接起来,表现在平台相关的模型之中。在SOA中有三个抽象层次,按照SOA的第一条准则业务驱动服务、服务驱动技术。MDA并没有把业务模型和平台无关模型分开来,而是把平台无关模型作为起点25,26。SOA必须连接这些模型,或者说抽象层次,得到单一的架构方法。本文将从五个视图(FIVEVIEWAPPROACH)的架构实现方法来实现这个连接。四个方框表示对一个架构的不同审视方法,分别代表不同的涉众(STAKEHOLDER)。第五个视图,USECASES视图涵盖了其它视图,在架构中扮演的是一个特殊的角色。部署视图将软件映射到底层平台和相关硬件上,是系统部署人员对架构的视图;实现视图描述了软件代码的组织,是从开发人员角度出发的视图;业务分析人员则利用过程视图进行工作,它描述的是软件系统的运行时特性。最后,逻辑视图表示的是用户的功能需求。在SOA中,面向服务的架构必须能够以USECASES视图中的用例将用户连接到服务,将服务连接到底层的技术。为了表示SOA的架构是如何工作在这些视图之上,这里将他们置于SOA元模型的上下文之中。SOA中两个领域存在重叠由业务模型和服务模型表示的业务领域和由服务模型及平台相关模型表示的技术领域(两个领域共享服务模型)。业务用户通过逻辑视图和过程视图处理粗粒度的业务服务,根据变化的业务需求,将它们安排在过程之中。另一方面,技术专家的工作是创建并维护服务和底层技术之间的抽象层。表示这些服务的中间模型,起到的是轴心的作用,业务以它为中心进行。在本次设计中,也包含这样一种设计思想,并正在由面向对象的设计方式向面向服务的设计转化。哈尔滨工业大学位论文813本文的主要工作根据本课题的设计需要,作了充分的技术准备。在第一章中本文对所采用的架构设计方法SOA进行了比较深入的研究,全面掌握SOA的实践所必须的原则和设计方法。并对目前支持这种实现的多种技术平台进行比对,分析了包括MICROSOFTDNA2000、OMG的CORBA及SUN的J2EE等中间组件技术,对它们的优略进行认真细致评估,最终确定使用SUN的J2EE技术来完成本课题。第二章本文对所做的课题进行了系统分析。一方面通过实际调研和充分交流完成用例图、时序图、工作流图等工程图纸的设计;另一方面分析传统财务软件的弊端和现行财务软件所存的问题,就现代管理模式在财务软件中的实现、敏捷多变的财务操作流程、财务数据在传输中的安全及最终输出统计报表的效率问题进行全面而充分的论证。从而为面向服务的架构设计提供“元需求”,为最终完成设计任务寻求坚实的理论和实践依据。第三章运用SOA的方法对整个系统进行构架设计,按照服务方式将系统分为四层逻辑结构,即企业层、流程层、中介层和基本层,并对每一层在整个构架中所起的作用进行了详细的论述。在进行粗粒度的服务功能研究时,也强调了每个服务并不十分严格的位于哪一个层次,具体布署是依需要而定的。做为SOA最有力的支持,运用面向对象的方法对SOA的“组件”进行了域类分析和设计,并对域类的动态行为展开了较为详尽的讨论。第四章系统实现部分从SOA的四层构架的实现着手。探讨了位于企业层的应用程序客户端所用到的多种脚本语言、层叠样式表技术及超文本页面组件技术,流程层和中介层所用到EJB组件技术,基本层实现时所涉及到的数据库对象等,包括实现每一层服务所用到的关键技术及其在本系统中的应用。第五章是对整套系统进行测试和评价,其测试部分包括测试环境的搭建,设计正确性检查与分析,以及客户现场的应用案例。评价部分从功能和性能两个角度对系统进行讨论并指出存在的问题。哈尔滨工业大学位论文9第第第第2章章章章系统分析系统分析系统分析系统分析需求分析是信息系统开发的第一步,也是最重要的一步,基于SOA的国库会计账簿及报表系统也不例外。该系统的需求分析是在系统开发的总体任务的基础上完成的,可以分为两个过程一是理解需求,二是分析需求。下面分别论述这两个过程。21理解需求根据经长时间的调研,将用户的需求总结如下1实现对财务预算账目的全程化信息管理和信息共享,方便内部人员对账目的核对和查找。2可以同时处理多套账目,包括处理预算内业务、预算外业务、独立单位业务、不同单位同一系统之间的账目往来等。3所有账本、报表的数据都是由程序自动生成,不需要另外执行计算功能。会计报表可以按任意时间段统计、查询,可产生日报表、旬报表、月报表、季报表和年报表;同时也可生成财政部所需的月报表,实现收入自动分账。4能够准确有效的采集财务单据信息,且可根据需要进行监管和追踪,能随时了解掌握资产分布及使用状况。5可以根据拟订预算计划和相关的财务制度,采集的相应资料并可提示财务人员及时作出正确的处理,有效的控制拨款。6凭单录入方便,对借方和贷方的明细科目分别进行管理,支持多栏显示。7系统整体运行稳定,安全性、可靠性高。系统管理员可为每一个用户分配一定的权限,每一个合法用户只能够在其授权范围内使用本系统资源。本系统带有日志管理系统,每一个合法用户对本系统的操作都会被记录在系统日志中,方便系统管理员对系统的维护和对授权操作的责任追究。8支持并发性操作,在统一时刻允许多人同时登录,对相关数据进行授权操作。哈尔滨工业大学位论文109满足财政部门的需要,提供与其他数据库的接口。此外用户还对现有的软件系统提出了一些意见。1现有软件不支持跨地区(或者是距离较远的不同办公地点)的财务管理,这主要是因为其使用C/S实现技术的限制,进行远距离通讯费用高,安全性差。2会计报表统计速度慢,这个问题很具体,对于C/S结构的应用来说,如果设计合理,速度要比B/S快很多,考虑是他们所使用的软件在设计上有缺限,即分布式算法的问题。3单证操作不够方便,不能够适应灵活多变的业务需求,在业务繁忙时,处理不够及时,容易出错,工作人员的工作压力比较大。4自定义报表操作复杂,不够灵活,统计速度也比较慢。5业务操作流程死板,不能够按需要进行分配和调整。6不能给出直观而全面的财政预算计划的制定依据。22分析需求依据SOA的企业架构设计方法,本文首先要寻找能够满足业务敏捷性的“元需求”。在这个分析的过程中,一方面要对财会业务作从理论到实践的全面研究;一方面要对预算财务的各个环节做细致考察。全面研究不意味着所有业务均要实现,那将是一个工程十分浩大的课题,也不单单是一个信息管理的项目。全面研究的主要目的是为这个课题在宏观规划上做准备,为今后系统的扩展、升级以及与其它系统的接口所制定的一个策略。细节考察是划分元需求的依据。合理元需求划分可使用户能够根据国家政策法规、国际惯例及实际业务的需求进行业务流程重组(BUSINESSPROCESSREENGINEERING,BPR)2729,打破金字塔式的组织结构,使财务部门能适应信息社会的高效率和快节奏,使每个员工都参与到管理中来,实现内部上下左右的有效沟通,具有较强的应变能力和较大的灵活性,贯彻BRP中的“根本性”、“彻底性”、“巨大改变”和“流程”四个核心内容。因此把用户所提的需求进行分类,根据不同类型进行详尽的分析。1系统安全考虑到本系统部分功能要放到INTERNET上运行,并要实现全程化信息管理和信息共享,因此用户对系统的安全有所顾虑。用户身份验证,包括操作系统用户验证、数据库用户验证、应用软件用户验证都是由系哈尔滨工业大学位论文11统自动来处理的。部分威胁系统安全的信息传送时还要进行加密处理。其用例图如下图21所示。图21系统安全用例图2基本信息维护这部分是完成财会业务的基础信息,在一定的时间范围内相对稳定。由系统管理员和财会业务人员共同完成。其包括帐套建立、基本参数设定、基础科目编码、会计科目库和单位基本信息维护。其用例图如下图22所示。系统管理员单位基本信息维护基本参数设定财务人员账套建立会计科目库基础科目编码图22基本信息维护用例图3财会业务操作这是本软件的主体部分,其所涵的内容最多。保证稳定和正确的完成任务是最基本的要求。从最基本的需求出发,首先进行粗粒度的描述;然后,将功能细化,以“高内聚,低耦合”方式来设计每个细分出来的子功能,以这些功能为服务内容提供给用户,用户可以根据自己的需哈尔滨工业大学位论文12要进选择,以适应用户灵活多变的业务需要。业务操作包括凭单管理、拨款单管理、退库单管理、帐本管理及报表管理、转账管理和编制财政预算计划等。其用例图如图23所示。现在以拨款单、退库单与凭单管理为例来进行元需求分析。从业务操作流程上看他们是相互独立的作业过程。但细分一下可以看出它们也有相似的地方。比如都需要审核,可以把这个功能单独划分出来成为一个相对独立的子模块。把审核这一功当一个单独的服务,用户可以进行选择和组合。有些时候,由会计来录入凭单,那么他可以录完直接进行审核。系统管理员可以给他分配相应的权限,由会计将审核功能加到自己的服务桌面上来,并可以与其它功能进行拼接。既适应了灵活的业务需求,又达到了“WRITEONCE,RUNANYWHERE”。对于其他的业务,本课题采用相似的分析方法,这里不再复赘。图23财会业务操作用例图报表是财务综合信息的最终反映,在设计时尤其重要。大数据量的显示将是本文解决的第一个问题,分页显示是办法之一。但根据用户的要求,页面上要有足够的数据,这是一个矛盾。自定义报表是又一挑战,如果采用原始的定义方式来做,那将给设计带来极大的困难。而按照SOA中所提到的元需求去分析,就会简单一些。依据财务部门提供的大量数据信息,可以找到其中的关联。由数据关系模型提取财务统计信息,可以使设计简化,但会增加系统开销。哈尔滨工业大学位论文134系统结构分析根据上面的分析,将整个系统划分为四个逻辑层基础层用来完成系统参数配置与性能调整;数据库服务器和WEB服务器的维护;及时将数据库信息备份出来,并能在需要时进行恢复;为了提高系统的运行速度,节约存储空间,可将垃圾数据清理,把往年数据导出或导入。它们是系统建立的基石,是系统顺利实施的保障。业务层用来处理财会业务,按用户业务需求进行基本的结构规划,当然用户也可以根据自己的需要进行实时的调整,这是本套系统的主要内容。后面将进行详尽的论讨与描述。管理层根财会业务需要,这里提供了安全稳定的审核、查询与统计功能。用户可以根据自己的需要提取数据,组成下一财政年度的预算计划。决策层依据管理层提供的财政信息、年终财报告,汇聚出各种直观的图表信息,最终决定下一财政年度的预算计划。本项目的系统结构图。如图24所示。决策层查询分析/决策支持数据集市/仓库管理层款项划拨/账目审核业务层基本信息管理业务管理总账科目库收入科目库支出科目库本级单位库下级单位库会计科目库收入支出计划账目单据管理拨款单管理账本及报表管理转账管理基础层数据备份历史数据清理数据库服务器、WEB服务器管理系统配置图24系统结构图哈尔滨工业大学位论文1423本章小结需求分析做得是否全面而准确直接会影响到系统设计及工程实施的质量,是本项目进一步展开工作的基础。在本章中,从实际调研的情况入手,多方位、多角度考虑用户的实际需求,对于产生分歧或疑义的地方,积极地与用户沟通,找到合适的解决方案,并将与用户交流的信息和材料进行归纳与总结。在全面理解用户需求的基础上,本文从系统安全、基本信息维护和财会业务操作等三个方面绘制了用例图,力求采用简单、准确而全面的表达方式显示系统中的每个角色所参与的模块和所要完成的工作,为系统设计提供可靠的依据。最后,本文做了系统结构分析,绘制出四层系统结构图。哈尔滨工业大学位论文15第3章系统设计31系统配置本节简单介绍开发国库会计账簿及报表系统所必须的、基本的软件硬件的配置。选择相对最优的系统配置方案对于系统的稳定性很重要。311软件配置就本课题而言,数据量(即数据库中需存放的单表的最大记录数)在约在5000至200000条之间,稳定性要求高,维护水平要好,所以有下面两个平台可供选择,如表31所示。表31系统平台系统平台I系统平台II操作系统WINDOWS2000UNIX数据库SQLSERVER2000ORACLEWEB服务器WEBLOGIC或JWSDPWEBLOGIC或JWSDP客户端IE60以上或其他网页浏览器IE60以上或其他网页浏览器开发技术规范JSP,EJB,HTML,XTML等JSP,EJB,HTML,XTML等开发工具JBUILDER,JCREATOR,DREAMWEAVER,PB90等312硬件配置硬件配置主要包括客户端硬件的选择和服务器端硬件的选择,选择的主要依据是能够满足系统安全、平稳及高效的运行。1客户端硬件选择CPUINTELPENTIUM或其它更高档微处理器300MHZ以上。内存32MB,更多的内存能加快软件运行速度。哈尔滨工业大学位论文16显示器1024768,32位增强色。打印机票据针式打印机和黑白激光打印机。2服务器硬件配置CPUINTELPENTIUM1GB或其它更高档微处理器。内存512MB,更多的内存能加快软件运行速度。硬盘RAID5336GB以上。对于数据库服务器最好是双机热备式。313网络配置对于本系统来说,必然要有远程的数据交流,所以网络的支持是必不可少的。在实际运行操作中,高峰期WEB页面的点击次数及每秒数据库并发大概在5002000条以上,所以最好选择百兆或千兆模式。其网络配置图如图31所示。百兆/千兆交换机路由器防火墙防火墙路由器百兆/千兆交换机集线器WEB服务器数据库服务器客户终端管理员终端以太网图31网络配置图32国库会计账簿及报表系统的架构设计在架构设计中,本文按照SOA的设计准则业务驱动服务、服务驱动技术来进行研究30,31。由于采用的是面向服务的架构,所以对构架的“组哈尔滨工业大学位论文17件”服务进行分类。本设计过程中所用到的服务分为基本服务、中介服务、以流程为中心的服务和公共企业服务。将这些服务分别放到不同的企业级别的层中,形成SOA。可以将设计中的SOA描述为图32所示的形式。图32系统的逻辑架构图321应用程序前端应用程序前端应用程序前端应用程序前端应用程序前端位于企业层中,它本身不是服务,却是SOA的激活元素。它们启动所有业务流程,并最终接收结果。企业层内部WEB服务器原有系统统客户端对外业务网站流程层拔款单/退库单流程控制管理中介层凭单和帐本/报表拔款单/退库单和帐目与原有系统的技术网基本层排序/登帐/反登帐服务凭单信息管理服务帐本/报表流程控制管理基本帐目流程控制管理凭单流程控制管理报表统计服务财会科目服务拔款单/退库单信息管理服务拔款单/退库单审核服务向外网发送数据原有系统服务对外网站服务凭单复核服务哈尔滨工业大学位论文18在本系统中应用程序前端是由一个个页面JSP组成的。考虑到页面承载数据量的限制及运算速度的问题,尽量不在页面进行复杂的计算,所以,其所要处理的内容主要表现为以下四个方面1将用户的输入数据按照协议规则组成有效的字符串信息,这些信息传入到相应的服务层中。2将用户请求传入业务服务层中,并将处理的结果以合理的方式直观的显示在页面上。3对用户的输入进行页面级的校验,并能使用各种联想输入法进行输入,最大程度减少用户输入的错误。4可按用户的要求进行业务流程的编排,以满足用户业务敏捷性的需要。根据用户的需求,在前面分析的基础上,以功能为单位,将应用程序前端规划如图33所示。各个模块的规划如下图33应用程序前端规划图在应用程序前端也有一些特色性设计,以财会业务的核心凭单管理为例来进行分析。根据第二章中的USECASE视图分析,可以知道在企业层凭单将分成四个操作单元。输入/修改单元、查询单元、检验单元与提交单元。输入/修改单元采用联想输入法,当用户部分地输入科目号或名称时,按全程匹配的原则,将相近的科目全部列出,供用户选择,凡是不在查询列表中内容是不允许输入的内容。而对于金额来说则是完全不同的,它只允许国库会计账簿及报表系统系统管理会计科目管理凭单管理拨款单管理退库单管理报表管理建账及转账哈尔滨工业大学位论文19输入整型或浮点型数据,并且能够根据用户的输入试算出借贷的余额,这是一种贴心设计,已经受到用户的肯定和好评。检验单元在纠错方面显得尤为重要,也影响财务人员工作效率的原因之一。把校验单元分为两类一类是根据财务制度编制的校验,如登帐的凭单是不能修改的、借贷不平衡、多借多贷等;一类是关于类型输入错误的校验,如输入浮点型或整型时错按了字符等。提交单元分为即时性提交和延迟性提交。即时性提交输入数据后马上传入数据库中,考虑到是基于B/S模式的应用,它会给网络与数据库带来沉重的压力,所以要慎用。一般适用改变不多,在一定时期内相对稳定的场合。比如摘要录入,并且它不需要用户特意地去关心其是否已经提交,当系统检测到当前的摘要不在列表中,将会自动将其存入数据库中,并自动刷新当前列表。延迟性提交是指,当数据录入完成或录入到一定阶段时进行提交,提交前包括数据的有效性检验和按协议进行简单的组织编排。延迟性提交也是有时限的,要注意在本次会话结束前提交数据,以防数据的意外性丢失,这也是网络安全性的要求。在会话结束前,系统会提示用户提交或按设定自动提交数据的。以上两种设计都是在充分考虑了网络安全、网络数据传输压力、财会业务要求、工作效率以及人体工程学和心理学的基础上进行的,在与用户进行了充分地协商并进行测试后,被用户所接受和肯定的。这四个单元是相互关联的,其关联图如图34所示。输入/输出提交查询检验图34应用客户前端单元关联322流程服务流程服务流程服务流程服务以流程为中心的服务位于SOA的流程层内,封装组织的业务流程知识,并控制和维护它们的状态。从技术角度分析,以流程为中心的服务是最哈尔滨工业大学位论文20复杂的服务类型。它可同时作为客户端和服务器。它是有状态的,必须为客户端维护流程状态。以流程为中心的服务天然的支持负载平衡。应用程序前端专注于流程的表示,通过授权、按照一定次序的业务单元合理组合等手段精心设计的业务流程,必须以形象、直观而且操作方便的形式呈现在客户面前;而服务可以在另一台机器上执行底层流程。流程层的这种分工作用在WEB应用程序中具有十分重要的帮助作用。它将流程逻辑与核心业务逻辑和对话控制逻辑分开,在以流程为中心的服务就绪后,可将核心业务指派给基本服务,并在应用程序前端实现对话控制。在流程层内设计了基本帐目流程控制、拔款单/退库单流程控制、凭单流程控制和帐本/报表流程控制四个服务。下面就这几个流程控制服务进行讨论。1基本帐目流程控制管理它控制着帐本科目的业务操作流程。基本科目录入的方式,组织的层次结构,其与会计科目的关系以及会计科目库操作的相关流程。另外,在拔款单管理、凭单管理、帐本/报表管理要用到基本帐目信息,需要帐目流程控制为它们提供相应的服务。2拔款单/退库单流程控制管理它控制着拔款单/退库单的业务操作流程。接受由基本帐目流程控制提供的服务,首先进行帐目的选择,然后确定以何种方式进行录入,同时,它还控制着由拔款单/退库单转为凭单作业方式。3凭单流程控制管理凭单是整个系统的核心,几乎所有的财会报表都来自于凭单。该项服务对业务流程的控制十分严格,并且不轻易改变,可以说在一定的时期内该项业务流程是稳定的。凭单流程控制管理控制着对凭单操作的客户对象,凭单录入、审核、登帐的先后次序及哪些报表是可以做为报表的输入的等。4帐本/报表流程控制管理这部分的流程设计相对稳定。主要难度来自于自定义财务报表。客户在使用时,必须定义出符合财务业务逻辑表达,才能进行设计报表。而该项服务负责进行对报表定义的规则的检查。323中介服务中介服务中介服务中介服务中介服务位于中介层,分为技术网关、适配器、外观和功能添加服务。与以流程为中心的服务一样,它们既是SOA的客户端,也是SOA的服务哈尔滨工业大学位论文21器;与以流程为中心的服务不同的是它们是无状态的。它消除了技术不连续性,填补架构的设计差距,堪称桥接技术和概念缝隙的无状态传递器。在此设计中的四个中介服务是拔款单/退库单和帐目、凭单和帐本/报表、与原有系统的技术网关、向外网发送数据。对于拔款单/退库单和帐目、凭单和帐本/报表两个服务的作用是相似的。在拔款单和凭单操作当中,需要用到财会科目信息,而在帐本操作时,又要对凭单进行查询,这两个服务为这些业务操作提供了一个基于XML格式的统一视图,起到了外观的作用。通过XML文件可以快捷而方便的访问所需要的数据,省去连接数据库、建立数据库会话时的巨大系统开销。当然,可以直接从数据库中读取数据。但这样一来,就会把会计科目信息与相应的单据在业务级紧密绑定在一起,成为紧密耦合方式,同时与以数据为中心的服务特性数据的垂直划分相违背(见34小节),强制执行该设计原则,会削弱SOA在这方面的优势。然而,也不得不考虑数据的完整性,因此,本文采取这样的策略在数据库(基本服务)中仍然保持这种紧密绑定,在最低级别应对意外的数据不一致事件的发生;但在业务层使用XML格式的文件来提供数据,XML中的数据与数据库中的数据同步更新,即将数据库更新与XML更新放到同一个事务当中,不用担心这会带来很大系统开销,因为会计科目库是稳定的,在一个财政年度变化十分小,而且数据量不大。这样的处理,可以在降低系统开销的同时,达到解耦合的目的,可谓一举两得。与原有系统的技术网关是为了兼容原有系统,这也是SOA优势的一种体现,它可以屏蔽技术上差异。用技术网关进行数据转换,达到数据双向访问的目的。对外网发送数据服务目前只提供了接口方面的设计。以XML格式发布数据,外网用户可以直接对数据进行读取,也可以在此基础上进行加工处理。但财务软件对安全性的要求是异常高的,通常要求物理隔离,所以本系统中提供文件生成API函数,是用户根据需要进行布署的。324基本服务基本层中放置的是基本服务,是SOA的基础。它包含“以数据为中心”的服务和“以逻辑为中心”的服务。这些服务既处理数据,也处理行哈尔滨工业大学位论文22为,它们既不是纯粹“以数据为中心”,也不是纯粹“以逻辑为中心”。数据和业务逻辑的混合不会显示SOA的不稳定性。提供“数据和业务逻辑”的服务与“纯粹”的服务一样灵活,一样可以重用。3441以数据为中心的服务此服务处理持久性数据,包括存储和检索数据、锁定机制和事务管理;还处理(和使用)物理存储设备,如关系数据库、文件系统或磁带库。以数据为中心的服务在这方面类似传统应用程序的数据访问层。不过,以数据为中心的服务具有垂直划分特性。传统的数据访问层管理整个应用程序的数据,而以数据为中心的服务只处理一个主要业务实体。基于ER(ENTITYRELATIONSHIPMODEL,实体关系模型)和OOD(OBJECTORIENTEDDESIGN,面向对象的设计)的方法为这部分服务的设计提供了强大技术支持。例如,在基本层中对应于流程层中基本帐目流程控制管理的是财会科目服务,财会科目是财会业务处理的基础,在数据库中建立对应实体用于存储持久

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论