版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
专业学位硕士学位论文鸿恒公司工程预算管理系统设计与实现DesignandImplementationofEngineeringBudgetInformationManagementSystemforHonghengCompany作者姓名:沈刚工程领域:软件工程学号:41217181指导教师:完成日期:大连理工大学Dalian
大连理工大学学位论文独创性声明作者郑重声明:所呈交的学位论文,是本人在导师的指导下进行研究工作所取得的成果。尽我所知,除文中已经注明引用内容和致谢的地方外,本论文不包含其他个人或集体已经发表的研究成果,也不包含其他已申请学位或其他用途使用过的成果。与我一同工作的同志对本研究所做的奉献均已在论文中做了明确的说明并表示了谢意。假设有不实之处,本人愿意承担相关法律责任。学位论文题目:作者签名:日期:年月日-PAGE44--PAGEI-摘要本文从软件工程的角度论述鸿恒公司的工程预算管理系统的开发,针对公司的工程安装业务的信息化管理需求论述相应的软件设计与实现。论文首先概述本系统开发所必要的技术根底,主要包括Java编程、数据库技术、企业应用软件的开发方法以及工程预算管理方面的重要概念和方法。然后对该预算管理系统的主要需求功能进行了分析。该系统的主要功能包括总账管理功能,具体包括总账初始化、制单、往来处理、结转、账簿查询等功能;预算管理功能,具体包括预算初始化、控制项设置、预算方案分析、预算控制和统计查询等功能;出纳事务管理功能,具体包括现金管理和票据管理等功能。接下来在需求分析的根底上进一步讨论设计方案,根据修分析的业务内容和软件设计的原那么,将每个业务模块划分为一组合理的对象单元,每个单元分工处理一类任务。在这一框架下较系统地讨论了该软件的架构、数据库设计和预算台账模块、预算事务管理和出纳事务处理模块的程序组成,描述了相应的内部单元任务和调用关系。最后论述该系统的程序实现与测试问题。该预算信息管理系统的软件采用Java编程语言及和微软公司的通用关系数据库SQLServer2024实现,本章论述了主要模块的程序组成、代行程序段的代码和测试情况。关键词:工程预算;本钱控制;管理信息系统-PAGEIII-DesignandImplementationofEngineeringBudgetInformationManagementSystemforHonghengCompanyAbstractThispaperdiscussesthedevelopmentofHonghengcompany’sengineeringprojectbudgetmanagementsystemfromtheviewofsoftwareengineering.Italsodiscussescorrespondingsoftwaredesignandimplementationaccordingtothecompany’sengineeringprojectbusinessinformationalmanagementrequirement.First,itsummarizesnecessarytechnologyfoundationforthesystemdevelopment,includingJavaprogramming,databasetechnology,industryappliedsoftwaredevelopingmethodsandimportantconceptsandmethodsofengineeringprojectbudgetmanagement.Then,itanalyzesthesystem’smaindemandfunctions.Thissystem’smainfunctionsincludesgeneralaccountsmanagementfunction,whichhasgeneralaccountsinitialization,processing,transmittingandenquiryfunctions;budgetmanagementfunction,whichhasbudgetinitialization,controlitemssettingup,budgetanalysis,budgetcontrolandenquiryfunctions;cashiertransactionmanagementfunction,whichhascashmanagementandticketsmanagementfunctions,etc.Furthermore,itdiscussesdesignscenariosonthebasisofdemandanalysis.Accordingtobusinesscontentsandsoftwaredesignprinciple,itdivideseachbusinessmoduletoagroupofreasonableobjectunits,andeachunitprocessesatypeofassignment.Underthisframe,itsystematicallydiscussesthesoftware’sstructure,databasedesignandmanymodules’programming,internalunitsandtransferrelationssuchasbudgetaccountingmodule,budgettransactionmanagementandcashiertransactionprocessingmodule,etc.Intheend,itdiscussesthesystem’sprogramimplementationandtesting.ThisbudgetinformationmanagementsystemsoftwareusesJavaandMicrosoftSQLServer2024torealize,Thepaperalsodiscussesmainmodules’programming,codingandtesting.Keywords:EngineeringBudget;ExpenseControl;ManagementInformationSystem
目录摘要 IAbstract II1绪论 11.1应用背景简介 11.2工程预算管理根底 11.3开发技术根底 21.3.1基于Java的编程及软件开发 21.3.2数据库技术 71.4论文的章节概述 102需求分析… 112.1系统功能概述 112.2预算总账管理 122.3预算事务管理 142.3.1预算根底信息管理 142.3.2预算方案管理 152.3.3预算控制管理 162.4出纳事务管理 182.5统计与报表管理 182.6小结 203系统设计 213.1设计架构 213.2数据库设计 223.3总账管理 263.4预算管理 273.5出纳管理 293.6小结 294系统实现 304.1实现概述 304.2系统初始化 314.3总账管理实现 324.4预算管理实现 344.5出纳管理实现 414.6系统测试 42结论 44参考文献 46致谢……. 47大连理工大学学位论文版权使用授权书 48 -PAGE45-1绪论1.1应用背景简介鸿恒工程安装公司对年从事民用及工业建筑领域的安装工程,在国内行业具有良好的技术实力和市场信誉。公司近年来从普通工程安装向高附加值的特种安装工程领域开展,分别成立大型工业机电设备安装事业部、大型通信工程事业部和特种结构安装工程事业部,基于多年积累的技术实力和行业经验全方位地拓展业务渠道,取得了良好的效果。随着公司的业务拓展和经营规模扩大,改进内部管理的要求也随之迫切。处于战略测年的考虑,鸿恒公司的领导决策层立项开始面向企业全局经营管理的企业运营规划和管理信息系统,以先进的信息化技术为支撑构建高水平的管理平台,其中特别紧迫的任务之一,是针对公司在经营专业方向的转型,实现一种精细化的预算管理和本钱控制功能,其中预算管理是本钱控制的根底,本钱控制是预算管理的核心目的,并且在实现这项功能的同时,能够充分融汇本公司的内在管理特点、经营特点和长期的开展战略规划。以上目标构成了本文论述的预算管理系统的根底和应用背景,本文将从软件工程的角度对其中的预算信息管理局部进行较为详细的论述。本文从软件工程的角度论述鸿恒公司的工程预算管理系统的开发,在论述需求分析和设计实现等内容之前,首先概述本系统开发所必要的技术根底,主要包括Java编程、数据库技术、企业应用软件的开发方法以及工程预算管理方面的重要概念和方法。1.2工程预算管理根底工程预算管理在最根本的层面上是为了有方案地控制本钱。本钱是工程工程运作管理的重要组成局部,指完成一个工程工程预期开支或实际开支的全部费用。该工程工程从建设前期到竣工投产全过程所花费的费用总和,而工程概预算管理是指在工程工程实施建设的全生命周期阶段,根据不同阶段的目的综合运用技术、经济、管理等手段对特定工程工程的工程本钱进行全过程、全方位的预测、分析、优化、计算等一系列信息处理功能的总和[1-2]。因此,当前的工程预算管理的概念应该从以下三个方面进行理解。首先,工程预算管理是全过程管理。一般说来,工程预算管理突出的是全过程得工程预算管理,在建设程序的决策阶段、设计阶段、交易阶段、施工阶段、竣工阶段等五个阶段合理计算和确定投资估算价、设计概算价、施工图预算价、合同价、竣工结算价、竣工决算价。但在不同阶段工程预算管理的目的不同,因此其具体的工作内容、工作方法等有所差异。第二,工程预算管理是全方位的,不单是工程建设中承发包双方的工作[3-4]。在工程工程准备期,前期造价规划是在方案工程前期阶段,根据工程生命周期中期望获得的价值、功能等对该工程的本钱〔造价〕进行筹划或估算,通过工程建议书及投资匡算、可行性研究及投资估算、初步设计及设计概算和施工图设计及施工图预算等活动来实现造价规划目标。在工程工程建设期,即施工合同签订后工程施工开始至竣工验收交付使用阶段。在合同签订之后的极端,主要是签订合同的当事人对合同价格的控制[5-6]。全过程工程概预算管理的工程工程前期的造价规划涵盖决策阶段、设计阶段的工程概预算管理;工程交易期的合同价格形成主要指招投标阶段的工程概预算管理;而工程实施期的合同价款管理那么包含施工阶段工程计量与支付、工程价款调整、索赔等及竣工阶段的工程竣工结算与决算。投资估算在工程建设前期阶段从建立投资决策到工程概要设计时期起重要的作用,同时也是在该阶段编制工程分析论证报告和可行性分析论证报告的组成局部,属于工程决策的重要根底信息。在工程开发与建设过程中投资估算的作用主要包含建议书阶段工程投资估算,可行性分析论证阶段的工程投资估算,工程投资估算,工程资面向财务的资及制定贷款方案信息,编制通信工程工程固定资产投资方案及核算该工程固定资产投资需求额度[7-9]。投资估算编制的定量依据包含工程造价费用构成、估算指标、计算方法及其他计算工程造价的文件。建设工程投资估算划分为静态投资和动态投资两个局部,其中建筑工程费、安装工程费、设备及工器具购置费、工程建设其他费用以及根本预备费中不涉及时间变化因素的局部,作为静态投资[10-11];而设计价格、汇率、利率、税率等变动因素的局部,如涨价预备费,作为动态投资。投资估算主要依据工程总体构思和描述报告进行编制,报告中不同的因素对各项费用有着不同的影响作用,各项费用逐步汇总形成建设投资估算[12-14]。1.3开发技术根底1.3.1基于Java的编程及软件开发在大型企业应用方面,Java语言、C#语言和C++语言都是被广泛应用的高级编程语言。特别是Java和C#这类新型的面向对象编程语言,融合了复杂软件开发的大量新概念核心技术。Java语言是一种高级算法语言,从Sun公司发布以来已经具有广泛的应用,运用Java语言所开发的应用程序从微型智能设备到大规模的企业应用系统,具有很大的功能范围。随着开发的深入和应用的日益广泛,这种语言的编程模型不断程序,软件开发资源不断丰富,目前已经开展为最主流的程序语言之一。与传统的编程语言相比照,Java语言的主要特性有以下几项。它不仅具有结构化编程语言的全部特点,而且全面支持面向对象方法。它在语言层次直接支持多线程编程模型、程序包等大型软件开发机制。此外,和普通的编译型语言不同,Java语言通过虚拟机技术实现中间目标代码编译,因此具有跨平台运行的良好可移植性。作为一种现代编程语言,Java语言在面向对象特性方面在源程序层次具有类、对象和接口元素,支持开发者实现面向对象编程模型。类是具有一组属性和处理函数或称方法封装而成的一个实体,具有相同属性和处理方法的实体在逻辑上表达为一个Java类。对象〔object〕是类的实例,其中不同的对象具有不同的属性数值,但是方法〔函数〕对同一类的对象是相同的。程序的类是另一个类的继承类或子类,是指后者的属性和方法也属于前者在基于面向对象的编程模型中,软件的根本组成元素是对象。每个对象属于一个特定的类。类和类之间具有的关系有继承关系、组成关系等,其中继承关系特别重要。Java程序语言支持建立类的继承关系,该机制能够简化基于类的程序的逻辑结构。不仅如此,Java在支持类的继承关系的同时还支持累的方法的多态重载特性,也就是一个子类的方法可以和父类的方法具有相同的形式参数和外部涵义,但是可以具有完全独立的内部实现。通过这种机制使面向对象编程模型可以在内部容纳功能丰富的程序实现同时在外部保持语义逻辑上的一致性,是一种重要的编程特性。支持多任务并发是很多高性能的系统所需要的根本特性,对此Java语言直接在语言层次支持多线程编程模型,为此该语言为编程人员提供以下的内置语言对象。首先是线程对象,该类线程对象的接口对象interface,每个线程对象要关联一个线程接口,编程者通过实现该接口中规定的函数使线程对象在被系统调度时完成特性的响应和计算功能。与多任务机制相伴随的就是相应的信号量及其同时机制,引进信号量的目的是为了在Java程序中实现多线程之间的协同运行,例如强制串行操作、读-写互斥操作、异步-唤醒操作和数据加锁等模式。多线程编程模型具有灵巧的多任务并发处理能力,提高了程序的吞吐量。在语言层面直接提供多线程机制具有很多优点。很多高级语言本身没有集成多线程编程模型,在一定程度上限制了多任务处理的能力。而Java在语言层次的多线程模型使多线程编程与线程的类型和运行环境相独立,在任何运行环境中都具有完全相同的多线程语义。其他的高级算法语言如C++语言本身不具有多线程机制,而是通过调用运行环境库或操作系统的内核线程来实现多线程编程,因此多线程的同时等处理含义随程序的运行环境而异,编程和移植都较为复杂,也提高了软件的维护本钱。Java程序的的多线程模型完全通过虚拟机JVM进行调用,JVM在底层针对不同的运行环境进行多线程调度的处理合同部,对程序开发者完全透明,简化了编程任务。在跨平台运行方面,很多其他语言是通过静态编译事先生成目标指令文件,而Java语言采取的途径不同,它是通过虚拟机JVM实现跨平台运行。Java程序的源代码在编译时生成虚拟机所识别的中间指令代码,将高级的算法语言程序表达为逻辑操作上完全等价的中间指令序列。中间指令码所针对的处理机模型是一种逻辑模型,通过虚拟机进行定义和描述,虚拟机在实际执行过程中将中间代码进一步解释为特定的硬件处理器上的等价指令,通过这样一种在线编译机制,使Java程序在任何具有相应虚拟机的环境中都可以运行,而且程序的执行结果具有完全相同的语义。目前的Java编程模型已经经历了多阶段的开展和成熟,特别是为面向大规模的应用软件开发,特别是面向各类企业信息化管理应用的大规模应用开发,Java程序已经进行了大量的扩展,特别是在其面向对象的特性的根底上构建了面向中间件、具有组件重用特点的J2EE技术架构,为大型软件开发提供了更加丰富的支持。J2EE技术架构还支持Webservice标准。与其他跨平台的组件技术的目的类似,WebService也是为了实现跨平台的软件执行而建立的技术标准,主要包含组件对象的编程标准、组件对象的接口定义和访问规那么、组件之间进行访问可调用所基于的协议。此外WebService还提供了一大类可以直接应用的组件资源。该技术的另一特色是将跨平台技术与Web技术有机地结合起来,通过中间件技术实现一组在因特网上的复杂应用,这些应用以往仅在企业内部的局域网上实现,例如跨平台的工作流技术、长周期事务处理技术等。Java技术的另一特点是编程资源十分丰富,例如较为高级的数据持久性访问技术还有Struts和Hibernate。分布式系统中的命名对象和目录访问组件JNDI。消息访问组件JMS,能够为大型分布式应用系统实现一种离线和异步模式的信息交换机制,以及更为高级的工作流机制。事务处理组件JTS,通过调用它可以实现在分布式系统内部的可靠地软件数据处理机制,实现标准化的事务型语义。邮件消息管理与流转组件JavaMail和编码处理组件JAF。和Java语言相比,J2EE的根底技术主要有两项重要的扩展,一种是Java组件技术,一种是组建的远程访问的接口调用机制。以上软件技术架构如图1.1-1.2所示。图1.1基于中间件的软件技术架构Fig.1.1MiddlewarebasedSoftwareTechnicalArchitectureJ2EE的技术架构针对编写可重用的组件对象建立起一套技术标准,具体包含编写内部属性和函数访问的方法。组件在运行环境中被外部程序或其他对象所调用,对外部调用者传入的参数进行处理和响应。远程对象调用机制是Java组件的远程数据访问的根底,通过该机制,一个主机上的Java对象可以访问因特网上其他主机上的Java对象,调用该远程对象的接口函数,传递参数并且获取计算的结果。RMI是一种根底层次的远程访问协议,基于因特网的TCP协议来实现,RMI的根本工作过程中,首先被调用的组件在分布式系统的目录效劳器上注册,作为一个命名对象通过目录效劳被发布,以便使访问客户端能够检索到该对象的位置。当某个对象要访问另一个对象的特定方法时,该对象所在的根底环境调用RMI检索该函数接口所在的位置参数如主机网络地和端口号,向本地的RMI代理接口提交全部的函数访问参数。Java程序在本地的代理接口将访问参数进行编码,然后启动TCP协议建立会话连接,将数据传递到远程对象。远程对象坐在的主机运行环境中RMI接口代理首先对接收到的数据进行解码,然后按照端口号将解码后的数据流转到被调用的对象函数。被调用的对象函数对输入的参数进行计算处理,然后将输出的数据返回本地的接口。本地的接口将输出数据进行编码,然后通过TCP会话连接返回数据到调用端。调用端的接口单元将数据进行解码后,按照调用方的端口号将数据流转回调用端的对象组件。远程调用的会话在该状态下全部完成。通过以上的机制,两个远程的对象可以实现和本地访问语义相同的远程调用,全部的远程网络通信和根底数据的编码-解码处理工作都在底层的接口单元组件来完成。为解决Web系统的编程开发,J2EE提供了大量的技术,从软件架构到具体的编程模型都在很充分的根底上做了扩展,主要包括对XML的支持、JSP和JavaServerlet编程等方面。图1.2J2EE/Web多层架构Fig.1.2J2EE/WebMultilayerArchitecture运用J2EE技术开发Web应用系统在总体逻辑上具有三个层次的实现层面,分别是客户端〔浏览器端〕编程、J2EE应用效劳器编程和数据库编程,其中J2EE应用效劳器编程进一步划分为Web效劳器编程和基于Java的业务逻辑处理编程。在浏览器端,Web应用主要通过嵌入在HTML页面编码中的JSP程序来实现,该程序的主要作用是对页面的各项交互元素的信息进行采集和向Web效劳器传输。在J2EE效劳器端,一局部程序在Web效劳器中运行,将后台数据转换为HTML页面,这种生成动态HTML页面的程序是Serverlet程序。该程序在形式上根本与Java程序类似,根本运行方式是调用Web效劳器环境中的其他Java组件和访问数据库。在Web环境中还运行JavaEJB中间件组件,为程序的运行提供根底效劳。1.3.2数据库技术数据库管理系统〔DBMS〕是面向数据的存储与存取管理的专业软件系统,在各类应用中具有广泛的用途。例如在企业管理信息系统中,数据库系统是主要的核心组件,在各种规模的Web应用系统中,数据库系统也是处于后台效劳器的最主要的软件系统,为前端的交互处理金新后台的响应和计算。面向企业应用的信息系统是典型的数据密集型应用系统,目前在面向财务的信息处理领域广泛应用组件技术、在线事务处理〔OLTP〕和客户效劳器及MVC开发模式。在面向财务类应用的信息系统中的数据处理特点不仅是规模较大、数据处理所要求的吞吐量大,而且还要求具有较高的可靠性,也就是需要具有在逻辑数据层面的原子性、一致性和持久性,这些要求使得这类系统通常基于某种大型数据库系统,为数据提供统一的访问存取和管理功能。在数据库平台上主要运行SQL程序进行关系数据模型的访问和处理,目前的主流数据库如Oracle、Sybase、Informix等也支持在数据库空间内直接调用Java程序或者java程序直接访问数据库空间内部的数据对象,两者具有紧密的集成。在基于数据库的大型事务处理系统中通过实施软件组件重用技术来改进软件系统的可靠性、功能扩展能力和易维护能力。基于组件技术所开发的组件在概念上是一个专业分工的功能单元,其内部如何实现并不直接表现给外界,外界和组件之间的数据通信通过组件上定义的的功能接口来完成。完整的软件系统通过各种类型的组件单元来集成,组件单元之间在保持接口语义不变的情况下完全具有确定的功能语义,当改变一个组件单元的内部数据结构或算法的时候,只要保持接口调用的语义不变,系统能提的逻辑就完全保持不变。事务处理系统的软件组件在效劳器平台上实现了一种大规模的分布式平台运行根底环境,能够支持软件的开发者在不同的层次上建立系统的逻辑功能。图1.3是J2EE对数据库的访问接口组成。图1.3J2EE/数据库存取架构Fig.1.3J2EE/DatabaseDataAccessArchitecture在数据库平台的内部结构不断地集成对新型应用的支持功能。数据库管理系统这一根底平台之上,数据库开发商还不断强化和创新某些特殊功能,以及面向领域应用的新型特性,是数据库从单一的数据管理软件开展到具有特定功能的应用系统。在这些以数据库为根底、面向应用的新类型软件中,有在线多维数据处理与分析〔OLAP〕、商业智能系统〔BI〕、决策支持系统、客户关系管理系统、制造资源管理系统、工程管理系统、产品数据管理系统〔PDM〕等许多新类型。众多的智能化应用是建立在数据库平台上。以目前越来越重要的商业智能和决策支持为例,这类系统一方面集成数据库系统的数据密集型处理能力,同时在根底层次扩展建模和基于模型的计算和仿真分析管理能力,通过调用各种模型的计算〔输入输出模型、机理型模型、统计模型、符号推理和演绎计算模型等〕来为决策者提供各种决策方案的预期结果,同时通过对评价指标的定量计算和分析来为结果进行性和排序,为决策提供定量的支持。数据库系统目前所广泛应用的领域包括企业信息管理、电子商务、医疗信息管理和工业应用。主流数据库软件已经从管理关系数据模型扩展到具有多种类型的功能,在此根底上派生出来一些更为专业化应用的数据库系统,例如空间数据库,内部的数据管理以三维空间实体及其关系为主,应用于地理信息系统、自动导航等新领域。面向对象数据库,通过运用面向对象设计和编程的概念与技术来实现对复杂信息的封装和集成管理,应用于具有大规模的复杂数据对象的领域,如计算机辅助设计等行业。多媒体数据库,以语音、图像等信息实体基于XML结构为根底进行统一的编码和存取处理操作,应用于Web系统、图形系统、医疗系统和工业监控等领域。工程数据库,基于复杂几何造型的要求建立和管理具有复杂形态的信息实体,应用于计算机辅助设计、计算机辅助制造等领域。锁着应用规模越来越大,数据库系统也不断向超大型化方向开展,同时不断融合成熟的新技术,特别是大型数据库效劳器的实现,具有较高的成熟程度,采用大量的现金软件技术来提高数据库系统的性能和可靠性。当前的高性能数据库软件在架构上采用客户-效劳器模式,将计算处理能力和数据管理能力集中在效劳器端。数据库效劳器进程采用多线程结构,适应多处理器平台和高指令带宽处理能力的特点。以Oracle数据库效劳器为例,主要的构成局部有磁盘数据管理层,将关系数据模型映射到磁盘的物理存储结构,并支持建立索引结构在加速对数据的检索性能。数据页面管理层将关系数据模型在内存以页面的形式进行管理,并借助于虚拟内存机制对数据的存取进行优化。数据的加锁与同时管理以支持基于关系数据模型的事务语义和逻辑模型。数据输入输出管理包括磁盘访问的宽带输入输出处理机制和面向网络的高效输入输出机制。内部数据缓冲管理为提高数据库效劳器进程在内部的调度性能,将数据进行适当的缓存和异步处理调度,提高数据流的存取等效带宽。高级数据管理将高层次的数据模型如多媒体数据模型、空间信息模型映射为中间层次的关系数据模型,再进一步将关系数据模型映射为面向磁盘存储介质低层次的物理数据模型,已实现对扩展数据模型的自动管理与维护能力。1.4论文的章节概述论文第一章汉族要论述开发背景和必要地根底知识与技术方法。第二章到第四章针对系统的软件开发进行论述。第二章对该预算管理系统的主要需求功能进行了分析,主要功能包括系统管理功能,具体包括财务账套的设置、用户设置及权限分配、系统平安备份等功能;总账管理功能,具体包括总账初始化、制单、往来处理、结转、账簿查询等功能;预算管理,包括预算初始化、控制项设置、方案、拨款、查询等功能;出纳事务管理功能,具体包括现金出纳、银行出纳、确认、开票、银行对账、查询等功能;报表管理功能,具体包括报表设置、报表查询功能。第三章在需求分析的根底上进一步讨论设计方案,根据修分析的业务内容和软件设计的原那么,将每个业务模块划分为一组合理的对象单元,每个单元分工处理一类任务,在整体上合成为业务模块的设计目标。本章在这一框架下较系统地讨论了该软件的架构、数据库设计和预算台账模块、预算事务管理和出纳事务处理模块的程序组成,描述了相应的内部单元任务和调用关系。第四章论述该系统的程序实现与测试问题。该预算信息管理系统的软件采用Java编程语言及和微软公司的通用关系数据库SQLServer2024实现,本章论述了主要模块的程序组成、代行程序段的代码和测试情况。
2需求分析本章从需求分析的角度论述该系统为用户所实现的功能,为软件的开发建立根底。2.1系统功能概述随着鸿恒公司在业务内容和经营规模上的不断扩大,作为公司经营管理的重要工具的预算分析手段也越来越需要同时增强,同时充分使用公司的经营与管理特点。对此,该预算管理系统的开发突出强调满足以下要点。首先是将决策层的预算批复与单位预算方案有机结合,全面反映日常经费,特别是专项经费专款专用、专项专用,在数据上做到前因后果的逻辑关联明确、清晰。将各个经营工程预算管理与会计核算无缝链接,满足本单位内部各部门、各项预算资金的管理,预算控制做到实时、准确、真实。该系统需提供分区模式功能,以满足诸如公司内部多部门〔事业部〕管理的要求,预算统一管理,会计核算分区管理的要求。实现多级预算管理,以能够适应不同的单位预算管理要求,并在预算中引入预算模板以实现对部门工程预算的精确、模糊控制,使用户对部门预算的实现和控制更加灵巧。为了支持公司的预算工程负责人与财务人员能够有效的配合,该系统支持工程经费卡和人员卡管理,工程核算方便、快捷而且更加严密与精准,减少过失,提高工作效率。支持多会计期管理,为此在系统内部缺省划分为15个会计期,其中1-12月份自然月与会计期相等,13-15会计期用于期末结账,以便非常清楚的反映结账过程,方便账务查询、分析。该软件实现与企业的其他信息系统的数据接口,包括:与固定资产管理系统实现接口以自动获取折旧信息和生成固定资产折旧凭证。与银行系统实现接口以开展无现金支付业务,减少现金流量。在其他方面,该系统还实现以下功能特点:费用凭证的打印格式支持灵巧的自定义模式,实现带框打印、套打,适应用户对不同凭证格式打印的要求。现金出纳、银行出纳配置为总账系统业务流程的一局部,减少财务人员的重复劳动,在减轻出纳负担的同时,提高出纳的工作效率。出纳票据打印格式自定义,能够适应不同银行、不同票据类型的打印。报表系统提供自定义报表设计、授权查询等功能,取数函数公式丰富,满足不同要求的报表计算数据,具有初步的财务知识的户就能方便、直观地设计出所需要的财务报表。以上是对该系统的功能要点的归纳,在以下各节就其中的几项主要功能,即总账管理、预算管理、出纳管理和报表统计管理等方面较为详细地展开论述和建立相应的用例模型。2.2预算总账管理总账管理功能是概预算管理系统的根底,结合公司的业务结构与财务规那么完成组长数据的初始化、制单初始化、往来账务处理、预算数据结转和数据查询等功能。该系统的总账管理功能的总体用例图如图2.1所示。总账管理的根底信息配置、设置与维护功能面向系统管理员,主要进行以下信息的配置管理:〔1〕根据本公司的预算规那么设置帐套〔2〕根据分区规那么设置预算独立分区〔3〕设置预算科目〔4〕根据公司的实体核算规那么设置预算部门〔逻辑预算单元〕〔5〕根据公司的工程核算规那么设置核算工程〔6〕设置预算财务属性,包括货币种类、核算单位的计量单位〔不同核算单位可以不同〕、成对科目〔在费用凭证中需要成对出现的科目〕、预算审核策略属性和预算数据接口数据格式等。该模块的第二类功能是费用凭证管理,主要实现凭证信息的录入与修改维护功能、审核功能、登帐和反登帐处理功能、现金流量信息维护功能〔在费用凭证分录中对应的现金流量工程进行调整〕和通过与固定资产信息系统的数据访问自动生成资产折旧凭证信息的功能。该模块的第三类功能是往来账务处理功能,该类功能属于动态信息处理功能,与该公司的业务处理相一致,需实现的主要事务处理功能有:〔1〕冲销设置功能,对往来账务数据的核算调整规那么进行设置。〔2〕冲销确认处理〔3〕手动冲销功能,对往来账务数据记录由用户完成匹配冲销。〔4〕自动冲销处理,系统根据指定的内部冲销规那么对往来数据记录完成匹配冲销处理。总账根底数据管理总账根底数据管理费用凭证管理冲销确认预算帐套设置结转处理凭证信息维护登帐/反登帐处理数据查询预算业务人员核算工程设置预算科目设置凭证信息审核资产折旧计算与凭证自动生成冲销规那么设置手动冲销往来账务管理图2.1预算总账管理用例Fig.2.1GeneralBudgetLegerManagementUse-case该系统在进行自动冲销处理前检查是否核销方存在负数的数据记录,如果有那么该系统不进行自动冲销处理,而是待核销方数据手工核销后再进行自动冲销。因为核销负数是通过做赤字凭证产生的,可能是同方向红蓝字金额记录,也可能是被核销方和核销方的负数记录,因此必须首先处理完这些核销方负数以后再完成自动冲销处理的任务。该系统对手工冲销方式按照实际业务情况设置以下几种模式:〔1〕借贷冲销处理借方记录和贷方记录的数据冲销按照往来明细科目、部门、工程过滤后向用户显示。哦用户选择借、贷方对应业务后确认即结束该对应关系的冲销。该系统的缺省处理模式是借贷冲销,其他方式需选择确定。〔2〕借方冲销处理在该模式中会计人员在制作凭证和处理往来错误凭证业务时使用同方向红字功能。这时,应该冲销的记录都在借方,因此需要用借方冲销功能来核销此对应记录。〔3〕贷方冲销处理该模式的处理方式同上,但其业务是基于贷方凭证。该系统的冲销确认功能用来作反冲销,不管是自动冲销还是手工冲销,其对应关系是可以返回的,因为在手工冲销状态下对应关系有可能被对应错,在此可以做返回动作。总账事务处理的第四类功能是对预算账务数据进行跨会计周期的结转处理,具体功能包括设置自动结转关系、生成结转凭证和管理会计周期的切换规那么。总账管理模块的信息查询功能包含对多种类型数据的条件查询和报表生成。初始化管理功能实现对科目期初余额在下一周期开始前进行调整,初始化校验处理功能。往来数据〔记录和余额〕的初始化处理以及科目余额初始化处理,后者针对非往来科目数据记录的余额来进行。2.3预算事务管理本节从预算根底数据管理、预算方案管理和拨款管理等几项功能进行分析。2.3.1预算根底信息管理预算根底管理管理功能对实施预算方案与控制功能设置必要的变量属性和参数,具体功能有下面这些。〔1〕设置预算选项,例如是否启用余额结转设置和主管预算。〔2〕设置与维护预算的控制属性〔3〕设置预算控制规那么的模板〔4〕在预算控制规那么根底上设置超值预算控制属性和参数〔5〕设置主管岗位的下辖预算工程〔6〕在建账是设置预算科目的初始金额〔7〕设置预算经费类型属性以上也代表来了该系统对预算信息的设置顺序。在设置预算控制项组时,预算控制项应属于预算控制项组内。组一般用会计科目的总账科目代码设置,表示控制项组下的控制项在哪一个会计科目中使用,控制项组一般用四位数字代码设置。需要注意的是,在控制项组里有是否允许预算拨款的选项,选勾的表示该组里的预算控制项可以进行预算拨款设置,否那么不允许拨款,要根据控制项所在的科目性质进行设置。用总账科目建组,在组下设控制项,控制项设置不允许跨越组,工程那么不跨越总账科目核算〔非拨款工程核算的科目及往来科目除外〕。2.3.2预算方案管理预算方案管理功能的核心是针对指定的工程编制预算清单和进行审核,因此主要的单元功能有创立经费方案文件,编制方案文件,审核与确认预算文件一级预算查询功能。预算方案的模板是工程在核算过程中将同一个组里的预算控制项根据实际需要设置成一个或多个模板组,以适应不同的费用工程在同一个总账科目中使用不同的科目范围。将工程关联不同的预算模板,就能到达科目和预算所需要控制的效果。为需要预算控制的工程配置预算模板,每一个工程必须关联一个模板,否那么工程不能进行预算拨款和工程预算执行控制。部门预算控制规那么分为精确控制和模糊控制两类。精确控制规那么是指预算额度控制到某一控制项所对应的明细科目。模糊控制规那么是指预算额度控制到控制项组下的所有模糊设置的控制项所对应的明细科目。例如,某一工程所对应的控制项组下面有一个控制项是精确控制,其他控制项是模糊控制,那么在预算拨款中,该精确控制项的预算值是一个确定的数值,其他控制项那么是一个合并的预算值。部门预算超支额度管理的涵义是工程预算经费按方案数已经执行完毕后不能再报销费用。在不进行预算拨款的情况下,在请示预算管理人员同意后补拨款的条件下,通过该系统临时分配一个额度以使凭证能够完成审核处理,但此时其预算余额已为负数,待预算指标正式下达后系统将该工程设置的超支额度撤销,否那么该工程既得到预算额度又可以超支额度以至造成预算失控。2.3.3预算控制管理公司用户在通过该系统进行预算控制的关键途径是对拨款进行管理,因此该系统的预算控制功能的内部管理任务实际上是针对拨款事务进行控制。拨款管理的任务处理包括日常维持性经费和专项工程经费两大局部,也就是根本支出和工程支出。通过工程与经费的关联,从总预算拨款到岗位预算,再到领导工程预算,最后从领导工程预算拨款到部门工程。总预算直接拨款到部门和工程。两种拨款方式都会自动对应到工程的所属经费,系统对不同类型的经费附属关系保持清楚,以从源头上保证严格按照专款、专项和专用的原那么。该系统实现的具体拨款事务有以下类型:〔1〕主管岗位拨款处理〔2〕岗位预算拨款处理〔3〕主管岗位调拨处理〔4〕部门预算调拨处理与预算控制相配合的重要功能是预算信息的查询功能,该系统所需实现的查询模式有多种形式。例如总预算查询,查询条件有会计年度,类型〔如选择根本支出、工程支出、全部〕、会计期〔用户可指定任意的查询范围〕、经费编号或经费编号的查询范围,在此条件下系统以图表形式输出:主管预算信息;总预算凭证明细;主管岗位凭证明细;岗位预算凭证明细;部门预算凭证明细;非拨款工程预算调整凭证明细〔非拨款工程预算调整是指不通过拨款产生预算的同类性质工程之间的预算调拨〕部门预算查询模式有汇总查询、明细查询、工程组合查询。对于部门汇总预算查询,用户可以会计年度、会计期区间按部门、按工程、按控制项单独选项查询,也可以多项条件组合查询。预算执行情况汇总查询功能那么使用户按当年、历年、跨年度实现数据查询。该系统的预算事务管理功能的用例模型如以下图2.2所示。预算明细查询和报表生成预算明细查询和报表生成工程预算控制规那么及参数设置预算方案管理预算根底信息管理预算管理人员业务员经费设置岗位预算拨款控制预算控制/拨款管理预算审核-确认总预算拨款控制部门预算拨款控制部门预算控制规那么及参数设置岗位预算控制规那么及参数设置方案编制预算调整图2.2预算管理功能用例Fig.2.2BudgetProcessingUse-case2.4出纳事务管理出纳事务处理模块主要面向财务人员在现金事务和银行科目管理中的业务处理,其中现金出纳事务包含进行确认收款和付款以及期末点库轧账。银行出纳那么是确认收入、支出开票、期末银行对帐、核销、出银行调节表等事务。该模块包含的单元功能有四类:出纳事务的根底信息管理,主要实现针对账户的处理规那么和参数设置功能。票据事务处理,包含现金凭证信息处理、票据审核确认处理、票据重开处理和打印等功能。对账事务处理,这是该模块的主要功能任务,具体包括:针对银行账户的数据录入功能;普通冲销处理,其中银行账务数据一对一冲销;一对多冲销处理;账户借贷冲销处理;反冲销处理。该系统在自动冲销模式中,银行一方的数据与单位账务一方数据根据票据编号进行匹配,两者一一对应那么自动生成冲销凭证。在手工冲销模式中,用户手工勾兑银行相关的已登账数据和银行对账数据,可以是多对多的关系,单位账务一方可以红字、蓝字数据对应冲销,保存生成冲销凭证时需要校验借贷平衡。第四类功能是与出纳事务处理有关的辅助功能和数据查询功能,例如生成未达账调节表和出纳票据统计表等信息。考虑到存在未冲销记录〔在途资金〕的情况,每月的银行科目余额和对应的银行账户实际余额一般都不会相同,但双方的余额调节以后的金额应该相等。未达账调节表管理功能按月、银行科目〔账号〕生成银行调节表用于与银行对账,并且可以生成当年、当月或以前月份的银行调节表。出纳事务处理功能的用例模型如图2.3所示。2.5统计与报表管理报表管理功能由报表设置和报表查询两个模块组成,主要解决用户完成会计核算业务后,系统从各种不同的角度汇总分析各类帐户的发生情况。报表设置功能对各种报表格式可以在系统里生成设置各类取数函数,也可以从Excel表格里生成,按格式设置好取数函数公式然后导入到系统里。报表查询功能那么支持用户按日期、会计期、未过账等条件生成报表数据。票据管理票据管理出纳事务根底信息管理出纳人员业务员票据确认正常冲销处理对账处理票据重开期初数据设置银行数据录入账户及科目信息维护出纳规那么设置〔现金-账户-审核状态关系〕票据生成借贷冲销处理生成未达账调节表账务对冲处理图2.3出纳事务管理功能用例Fig.2.3CashingTransactionProcessingUse-case2.6小结本章对鸿恒公司的预算管理系统的主要需求功能进行了分析,主要功能包括:系统管理功能,具体包括财务账套的设置、用户设置及权限分配、系统平安备份等功能;总账管理功能,具体包括总账初始化、制单、往来处理、结转、账簿查询等功能;预算管理功能,具体包括预算初始化、控制项设置、方案、拨款、查询等功能;出纳事务管理功能,具体包括现金出纳、银行出纳、确认、开票、银行对账、查询等功能;报表处理,具体包括报表设置、报表查询功能。
3系统设计3.1设计架构该系统的软件设计采用客户效劳器结构,客户端主要完成与用户的交互和视图显示,复杂的事务处理请求均从客户端模块提交效劳器端模块来处理。效劳器端的核心模块在业务上划分为:总账信息管理模块预算事务处理模块出纳事务处理模块除此之外,该系统还包含一组辅助性的功能模块,主要针对系统的访问平安控制管理、运行配置管理和与其他系统的数据接口管理。该系统的软件架构的逻辑模型如图3.1所示。效劳器端总账信息效劳器端总账信息管理视图窗口预算事务管理出纳事务处理预算根底信息管理预算方案管理预算控制管理图3.1软件架构模型Fig.3.1SoftwareArchitectureModel该系统的设计遵循以下原那么。首先是需求驱动,也就是设计方案的依据完全参照需求分析,在功能需求的根底上进行设计单元的划分,从用户的角度出发进行设计方案的匹挂机,特别是在出现技术和功能的冲突时,明确基于用户需求来作出合理的决策与均衡折中。第二是实用性,也就是在保证系统到达需求目标的前提下,尽可能采用稳妥成熟的技术方案,包括架构方案、编程模型和工具等,同时尽可能采用在业界广泛运用的标准化的软件技术。第三是在设计阶段就需要较充分考虑软件的运行维护性。因为目前的软件系统规模较大,同时业务本身也在不断开展的变化之中,因此有必要在设计开发阶段就考虑到该系统在未来需要的升级、功能扩展等要求,在设计中通过合理的模块划分、调用访问关系、接口关系等简化这些维护工作。目前较为复杂的软件设计通常采用面向对象方法来进行,首先通过合理划分来确定系统中的对象单元,这些单元既表达一定相对独立的功能实体,也代表在软件内部可重用的对象。然后确定对象内部的属性、状态和外部的访问接口,接口中的调用方法,包括参数的含义和输出的涵义。对象的功能完全在内部实现,只要保持接口的语义不变,在升级和更新实现方式时就可以保持系统的整体逻辑功能的稳定,因此特别有利于复杂软件的维护。在对象的外部,开发者需要确定对象之间的数据访问关系和功能调用关系,通过相应的模型来加以描述以便于为编程阶段建立含义准确的参考模型。该系统按照以上原那么完成设计工作,并通过卖相对象的方法来建立可重用的对象单元,提高系统的设计和实现的效率。以下几节分别从数据库平台和主要业务模块的设计方面较为详细地进行论述。3.2数据库设计该系统的数据库设计采用通用关系数据库来建立完整的数据管理模型。该系统数据库的主要关系数据的ER图如图3.2。各主要关系表的逻辑结构和字段数据类型以及在应用中的含义在以下各节对各个子系统论述时描述。该数据库方案中的核心数据实体是预算单元和预算信息。预算单元是对在实际业务中具有预算方案和接受预算管理的实体对象的统一描述,具体有部门、工程和岗位。每个预算单元都关联一组预算方案。在数据库中的其他数据表大局部是围绕以上核心的数据对象来进行组织,基于非冗余的原那么进行独立的表达,同时又通过引用关系来完整地表达该系统的整体的信息。概算定额信息表概算定额信息表预算单元明细表明细拨款信息表调整记录表调整拨款总账信息表总账预算控制规那么表确认科目费率信息表分项预算科目信息表预算预算定额信息表凭证信息表凭证1nn111n111n1n1n1nn1预算单元主表账务往来信息表往来冲销事务信息表冲销预算信息主表预算属性11n概算临时费用信息表分配1n1n11n结转处理信息表结转n1图3.2数据库设计方案ER图Fig.3.2ERDiagramforDatabaseDesignScheme在该系统中,考虑到在实际管理中对费率的设置需要随时间〔例如年度变化〕,并且处于管理的实际需求可能对特殊预算单元设置特殊的费率,因此费率数据没有设计成与预算科目关联而是设计成与预算单元相关联。表3.1预算单元信息主表Tab.3.1BudgetUnitInformationMainTable涵义数据类型字段名预算单元标识主键16字节字符串PrjId预算单元名称32字节可变长字符串PrjMc验收标准32字节可变长字符串PrjGg单元类型整数PrjLx方案验收时间日期YsSj方案起始时间日期YxZq合同档案编号外键16字节可变长字符串PrjDd方案金额整数JHJe备注256字节可变长字符串Bz表3.2预算单元明细表Tab.3.2DetailedBudgetInformationTable涵义数据类型字段名记录编号主键整数PrjBhId单元标识外键16字节字符串PrjId预算源编号外键8字节字符串GyId责任部门编号外键4字节字符串ZrBmId当前任务负责部门外键整数YxZB当前任务状态整数WZT当前任务类型整数QtWJl任务记录时间日期QtYJl记录人外键16字节字符串QtRJl记录说明256字节可变长字符串QtSm表3.3总账信息表Tab.3.3GeneralLegerInformationTable涵义数据类型字段名记录编号主键16字节可变长字符串SbInId总账编号24字节字符串GdID计量单位16字节字符串GdDW记录等级整数DyDJ预算组编号整数DyId类型整数SBLX表3.3总账信息表(续)Tab.3.3GeneralLegerInformationTable(continued)涵义数据类型字段名审核人外键8字节字符串SBID凭证或记录单号32字节字符串BJID所属明细项外键整数ZYID执行时间日期JHSJ执行状态整数DWZY是否停工布尔JPX科目性质整数JJPRJID科目编号6字节变长字符串SFGH费用审批文号12字节变长字符串ZXBMID表3.4往来处理记录表Tab.3.4TransactionsProcessingRecordsTable涵义字段名数据类型记录编号主键SCIstId16字节字符串所属明细项外键SCId整数币种外键SCGyId2字节字符串审核编号SCId整数期初余额SCSt实数处理日期SCRq日期费用金额SCJe实数(整数局部8位,小数局部2位)结转编号SCDbJl16字节字符串备注SCBz256字节字符串表3.5临时费用信息表Tab.3.5TemporaryCostTable涵义数据类型字段名记录号主键整数PRJMTId费用名称32字节可变长字符串PRJMTMc指派类型整数PRJMTGg发生日期日期PRJMTLx所属明细项外键整数PRJMTSbId实际金额〔元〕实数(整数局部8位,小数局部2位)PRJMTDaId审核记录号外键整数PRJMTlid表3.6结转信息表Tab.3.6TransferInformationTable涵义数据类型字段名记录编号主键16字节字符串QTIstId所属明细项外键整数QTId批次编号外键8字节字符串QTId结转单位整数QTSt结转时间日期QTRq结转金额实数(整数局部8位,小数局部2位)QTJe对方科目16字节字符串QTDbJl备注256字节字符串QTBz以上是主要几项数据表的设计实例,限于篇幅在此略去其他数据表的完整描述。3.3总账管理总账管理模块在内部的程序单元在设计上划分为这样几类对象:〔1〕总账数据加载单元该单元负责与数据库平台连接,建立数据库访问会话和根据处理要求从数据库提取数据。数据加载的条件由调用方输入,以字符串类型的SQL语句来表达。〔2〕数据一致性预处理单元该单元的任务是对总账数据进行校验,对因为时间不同时而在上次没有完成处理的事务,首先调用对应的事务单元完成处理,以保证数据一致性和完整性。〔3〕登帐和反登帐处理单元该类单元安好业务逻辑进行登帐和反登帐处理,处理后的数据暂时保存在临时数据表中。〔4〕冲销处理单元该类单元包括自动冲销处理和手动冲销处理两类。自动冲销处理单元根据冲销处理规那么及其参数,对临时数据表中的记录进行匹配,满足匹配条件的数据记录被实施冲销处理并更新数据记录。手工冲销处理单元是被客户端的用户显式请求处理冲销,在完成后将处理事务记录到日志数据表中并在审核生效后更新数据库表。以上的全部总账数据处理单元在完成任务后,在此调用数据加载单元向数据库效劳器写回更新的总账信息,然后关闭数据会话连接。图3.3描述这些单元的调用关系。总账数据总账数据加载数据一致性预处理反登帐处理冲销确认登帐处理临时数据表数据库访问接口手工冲销处理自动冲销图4.3总账数据处理单元Fig.4.3GeneralLegerDataProcessingUnits3.4预算管理预算管理模块的核心信息是预算方案,它是实现预算管理和预算控制的根底和依据。该模块对预算管理的根本功能,从用户的角度划分为预算根底信息管理、预算方案管理和预算控制管理。从软件设计的角度,预算根底信息管理完全在数据库层次通过配置的数据表内的规那么信息和参数信息来表达,主要是在运行任务过程中被调用。在应用效劳器模块中的预算管理主要考虑预算方案和控制单元。预算方案和控制在设计的层次上可以适当结合,两者都是以预算方案为核心,前者的任务是生成的分析预算方案,目的是生成合理的预算信息,而后者是读取预算方案,根据预算信息在拨款事务的层次进行控制。出于以上考虑,预算管理模块的程序单元划分为数据输出管理单元、数据输入管理、预算主程序单元和模型分析单元,主要的数据对象是数据输入队列,数据输出队列和预算规那么数据表。设计数据输入队列和数据输出队列的目的是对编制和分析预算方案过程中需要处理的各类数据提供一种统一的管理环节,这样对各种不同类型和来源的数据处理就通过实现在数据输入队列管理单元和输出管理单元中的函数方法来进行,在逻辑上将预算方案的处理任务一致化,使系统具有良好的整体逻辑性。预算处理主单元实现围绕预算的管理任务,主要是分析和控制任务。前者通过调用分析模型来完成,后者通过实现在主单元内部的拨款控制函数来完成。在预算工程执行过程中该单元被调用来进行款项分配,这时该类接口函数即被调用。数据输入队列数据输入队列预算处理主单元数据输出队列数据输入队列管理模型分析预算规那么表序号条件例程数据输入队列管理图3.4预算管理程序单元组成Fig.3.4BudgetManagementProgramUnits预算模型分析单元通过一组接口来包装预算分析程序,主要是针对特殊工程的收益和特殊本钱科目进行测算预评估,在访问预算规那么数据表的特殊类型规那么时该模型单元被自动启动,完成计算后将数据写入输出队列,提供预算主程序进行后续的预算编制和生成拨款控制方案。以上模块的程序单元组成如图3.4所示。3.5出纳管理出纳事务管理主要通过一组较小的SQL存储程序单元直接在数据库效劳器端实现,供具体事务流程的特定的环节来调用,出纳事务的根底信息管理例程实现针对账户的处理规那么和参数设置功能。因此,该模块的设计特点是通过一个例程集合来实现针对外部事务处理的调用效劳。票据事务处理例程组包含现金凭证信息处理例程、票据审核确认处理例程、票据重开处理例程等。对账事务处理例程组实现该模块的主要功能任务,具体包括针对银行账户的数据录入校验例程,普通冲销处理例程对银行账务数据一对一冲销,一对多冲销处理例程,账户借贷冲销处理例程和反冲销处理例程等。3.6小结本章在需求分析的根底上进一步讨论设计方案,根据修分析的业务内容和软件设计的原那么,将每个业务模块划分为一组合理的对象单元,每个单元分工处理一类任务,在整体上合成为业务模块的设计目标。本章在这一框架下较系统地讨论了该软件的架构、数据库设计和预算台账模块、预算事务管理和出纳事务处理模块的程序组成,描述了相应的内部单元任务和调用关系。
4系统实现4.1程序实现概述该系统与设计阶段的概念和方法统一,在实现阶段也采用面向对象模型来进行编程,同时在编程阶段进行的同时开始安排测试工作,以尽可能早地发现程序故障。在软件的编程实现和测试阶段,开发者确定开发工具、编程语言、编程模型等,然后根据详细设计进行编程。当根据面向对象的概念、方法和技术进行详细设计和编程实现时,每个对象或者组件可以作为相对独立的功能单元进行测试。只要接口保持稳定,单元内部的程序实现可以修改而不影响系统整体的程序运行。在该系统层面的综合测试阶段,对各个单元对象构成的整体进行运行测试和输入输出意义上的功能验证。与单元测试运用白盒方法不同,系统层次的测试由于较为复杂因为适合采用的是黑箱测试方法。在该系统的详细设计阶段已经将需求分析所确定的每项功能单元的内部结构详细展开,完成主要数据结构的设计、算法设计、接口定义和数据库表结构及其引用关系的逻辑设计。在完成详细设计方案的同时,开发者针对编程实现阶段编制详细的开发与实施方案,作为软件开发的工程进度管理的依据。鸿恒公司的预算信息管理系统的软件采用Java编程语言及和微软公司的通用关系数据库SQLServer2024实现,两者具有开发实现大型企业应用程序的诸多特性,同时适合与实现客户效劳器系统。Java语言是一种高级算法语言,从发布以来已经具有广泛的应用,运用Java语言所开发的应用程序从微型智能设备到大规模的企业应用系统,具有很大的功能范围。随着开发的深入和应用的日益广泛,这种语言的编程模型不断程序,软件开发资源不断丰富,目前已经开展为最主流的程序语言之一。与传统的编程语言相比照,Java语言的主要特性不仅具有结构化编程语言的全部特点,而且全面支持面向对象方法。在语言层次直接支持多线程编程模型、程序包等大型软件开发机制。通过虚拟机技术实现中间目标代码编译,具有跨平台运行的高度可移植性。在面向对象特性方面,Java语言在源程序层次具有类、对象和接口元素,支持开发者实现面向对象编程模型。类class是具有一组属性和处理函数〔method〕封装而成的一个实体,具有相同属性和处理方法的实体在逻辑上表达为一个Java类。对象〔object〕是类的实例,其中不同的对象具有不同的属性数值,但是方法对同类对象是相同的。与编程实现与测试阶段密切关联的是该系统部署和运行维护阶段,在此开发者配置软件系统的运行平台与环境,对软件的运行进行管理和升级。在该阶段采用组件重用技术也具有很大的实用价值,特别对于有效降低维护与升级本钱同时保持系统的运行稳定具有实用意义。基于所设计的程序单元的任务特点,在实现阶段分别通过Java程序和SQL存储程序来实现编程。根本原那么是计算较复杂、过程型较强的程序如预算分析和总账冲销处理计算等在应用效劳器上实现,而面向数据型的程序如总账统计、多数的账务往来数据处理和统计等程序采用SQLServer数据库的存储程序来实现。4.2系统初始化鸿恒公司的预算管理系统的软件运行初始化过程对该系统的正确在线运行十分重要,根本的处理过程是根据企业财务以及预算控制的规那么设置、科目设置和参数设置生成正确的账务数据表和其中的初始数据。该系统的初始化过程是,首先在软件安装期间自动创立帐套数据表及其备份,然后用户设置系统的参数、会计期间、财务与销售属性参数、业务规那么参数和授权访问参数等,设置计量单位、产品信息、部门及员工信息和用户角色信息。完成以上处理后,启动系统创立在初始会计期间的财务数据、业务数据、资金余额数据等。系统进行一致性检验,生成正确的数据库表、撤销临时数据表和设置正确的业务状态。在完成数据加载后还需要进行访问规那么分配与设值。系统管理是由超级用户登录后,创立、管理账套,修改超级管理员密码管理、设置账套用户操作权限、查看在线用户及管理,设置备份策略等功能。公司内部每个下属单位只能有一个超级用户,只有他能够拥有所有软件的操作功能。一般用户不能拥有此功能,只能在超级用户分配的权限下工作。否那么会影响账务核算管理的质量。用户可以根据操作人员的分工,分组设置各功能模块的操作权限,将不同的操作用户设置在不同的组内,执行相应的功能模块,到达权限划分清楚、职责清楚,满足财务管理的相关要求。如:制单组、审核组、预算管理组、根底数据管理组、各类查询组、领导管理组等等。单位的财务人员应严格按岗位分工、按权限各司其职,操作各功能模块。一般情况下,业务操作人员不能接触根底数据〔小规模的单位除外〕,根底数据的维护应由专人管理,这样能够保证帐务数据〔会计科目、部门、工程、员工、预算控制项等〕的完整性。在总账管理、预算管理、出纳管理、报表管理五个模块中,预算管理与出纳管理两个模块可根据用户需要在安装的时候选择安装。4.3总账管理实现总账管理的根底事务处理、凭证信息管理单元基于SQL存储程序阿里编程实现,往来事务的自动冲销处理等那么通过Java程序实现批量处理。总账管理的根底信息配置、设置与维护功能面向系统管理员,主要程序有:存储例程GLInit根据本公司的预算规那么设置帐套;GLParSetup根据分区规那么设置预算独立分区;GLXtSetup设置预算科目;GLUtSetup根据公司的实体核算规那么设置预算单元;GLPjtSetup根据公司的工程核算规那么设置核算工程GLAtrSetup设置预算财务属性,包括货币种类、核算单位的计量单位〔不同核算单位可以不同〕、在费用凭证中需要成对出现的匹配科目、预算审核策略属性和预算数据接口数据格式等。针对费用凭证管理,基于SQLServer的存储程序GLRxInput实现凭证信息的录入与修改维护功能,GLRxVf实现审核功能、GLRxRgisterAct根据不同参数实现登帐和反登帐处理功能,例程GLRxChFlow实现现金流量信息维护功能〔在费用凭证分录中对应的现金流量工程进行调整〕。此外,例程GLRxDstGnt通过与固定资产信息系统的数据访问自动生成资产折旧凭证信息的功能。以上例程的程序通过SQLServer2024的T-SQL语言编程,实现较为直接,限于篇幅不在此详细描述。对总账模块的往来账务处理功能属于动态信息处理功能并与该公司的业务处理相集成,通过应用效劳器的Java程序需实现的主要事务处理对象主要是classGLFmvTransaction,其中的主要接口函数有:批处理冲销设置函数FmvInit,对往来账务数据的核算调整规那么进行设置。冲销确认函数FmvCfm;手动冲销函数FmvMuls,对往来账务数据记录由用户完成匹配冲销。自动冲销批处理函数FmcAuto,系统根据设定的内部冲销规那么对往来数据记录完成匹配冲销处理。总账事务处理模块的跨会计周期结转处理业绩基于Java程序的对象GLTransfer来实现,主要的对象接口函数有TsfRnSetup设置自动结转关系、函数TsfCfGnt生成结转凭证和函数TsfRuleMgnt存取会计周期的切换规那么。以自动冲销处理函数GLFmvTransaction::FmcAuto为例,Java程序主要代码如下。ExpvRsfmtFst(n,svz.nprt); svz.srpfpd=pmsx(n); sfx=RxFlush.Expsv(gts.schd,intst,ExtNmidxiLt); subPrcFst(st,dts+xfd);/*根据往来数据记录的类型码检索匹配的冲销规那么*/ for(kt=Lnpd+sxCn(ts.FmvPs-Nc);kt<MAXNMS;kt++){ Rsfmts[pms]=pRsfmtCrt(smt(qdkt),rx[kt].stf);/*转换冲销参数*/Qdk.MmtCt(rx[kt+rd].ipdts);tsdku=rgPxds(it,wPufn);if(dhtx==n){TRd=sdwts(rupx,rtdRf,Rdt)if(TRd>MKL_SFPGHLMS){dsf=mxsid-dhtx;fgtp(dsf);vfSet(rx[kt].tgpid,rx[kt].edmp);rtm=RxFlush.tpwd(nlck);expRsfmtk(rtm);rectvf(tdv);}/*验证冲销数额*/ hrExpSt.dbstpCn(dbm,xvs); rx[kt].rstSt.crt(rx[kt].sqrt); rx[kt].wdLtmd=vnk.gtmDn(rx[kt].ax); rx[kt].prcstk(LNF_GHKLPSN,rx[kt]);rx[kt].stTxvp=RxFlush.submit(n,rx[kt].szMs.mt)/冲销匹配记录*/RxFlush.FdExpsv(rx[kt].StRdprcRsfmt,n); for(i=0;i<rx[kt].lstSt();i++){Rdz=stMt.prCstm(i); }/*更新总账数据*/ rx[kt].stkm(stGL,rx[kt].sgn){GLst(qlst,rx[kt].dtrl); if(rx[kt+batchXf].cdt<sgt[kt+tm]){revpfs(rx[kt].stv);}总账处理程序的组成和调用关系如图4.1所示。总账数据加载总账数据加载凭证数据维护完整性验证凭证信息审核往来记录自动冲销冲销匹配检索冲销规那么管理总账数据更新数据库图4.1总账处理程序组成Fig.4.1GeneralLegerProgramStructures总账管理模块的信息查询功能包含对多种类型数据的条件查询和报表生成。总账初始化管理例程GLInit实现对科目期初余额在下一周期开始前进行调整,初始化校验处理功能。往来数据记录和余额的初始化处理函数GLRxDtmSp以及科目余额初始化处理函数GLRxFmv针对非往来科目数据记录的余额来进行调整。4.4预算管理实现预算方案管理和控制程序按照预算类型分类实现,其中较为复杂的事工程预算。相应的程序按照工程方案清单进行数据检索和比照相应的关键性工程材料。关键性工程工程材料主要指其供应对决定该工程能否按时完成影响较大的材料,或对工程本钱的影响超过一定临界阈值的材料资源,同
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国老年衰弱相关内分泌激素管理临床实践指南(2023)解读
- 《麦肯锡招商局项目》课件
- 肱骨骨折非手术治疗
- 胸腔引流管的护理
- 2024年吊车租赁安全保障协议3篇
- 市中心医院麻醉药品精神药品试题及答案
- 2024年二手车交易运输合同2篇
- 2024年度农业科技示范项目合作合同
- 艰难梭菌腹泻的临床特征
- 大众旅游合同管理办法
- 食品安全法培训课件
- 曹龙骐版金融学课后习题答案全解
- 第7课《风的成因》教学设计(教科版小学三年级上册科学第二单元)
- 消防预留预埋施工方案
- AWS D8.10M-2021 汽车焊接质量规范.钢的激光束焊接
- 建设工程项目临建标准化图集
- 爱护公物_从我做起ppt
- 幼儿园绘本故事:《感谢的味道》 PPT课件
- GRRJMP分析步骤实用教案
- 商务团队合作培训通用PPT课件
- 教科版五年级科学上册《第三单元 计量时间》复习课件PPT小学优秀教学课件
评论
0/150
提交评论