某公司工程预算管理系统设计与实现论文.docx
2专 业 学 位 硕 士 学 位 论 文 鸿恒公司工程预算管理系统设计与实现 Design and Implementation of Engineering Budget Information Management System for Hongheng Company作 者 姓 名: 沈 刚 工 程 领 域: 软件工程 学 号 : 41217181 指 导 教 师: 完 成 日 期: 大连理工大学Dalian University of Technology大连理工大学学位论文独创性声明作者郑重声明:所呈交的学位论文,是本人在导师的指导下进行研究工作所取得的成果。尽我所知,除文中已经注明引用内容和致谢的地方外,本论文不包含其他个人或集体已经发表的研究成果,也不包含其他已申请学位或其他用途使用过的成果。与我一同工作的同志对本研究所做的贡献均已在论文中做了明确的说明并表示了谢意。若有不实之处,本人愿意承担相关法律责任。学位论文题目: 作 者 签 名 : 日期: 年 月 日大连理工大学专业学位硕士学位论文摘 要本文从软件工程的角度论述鸿恒公司的工程预算管理系统的开发,针对公司的工程安装业务的信息化管理需求论述相应的软件设计与实现。论文首先概述本系统开发所必要的技术基础,主要包括Java编程、数据库技术、企业应用软件的开发方法以及工程预算管理方面的重要概念和方法。然后对该预算管理系统的主要需求功能进行了分析。该系统的主要功能包括总账管理功能,具体包括总账初始化、制单、往来处理、结转、账簿查询等功能;预算管理功能,具体包括预算初始化、控制项设置、预算计划分析、预算控制和统计查询等功能;出纳事务管理功能,具体包括现金管理和票据管理等功能。接下来在需求分析的基础上进一步讨论设计方案,根据修分析的业务内容和软件设计的原则,将每个业务模块划分为一组合理的对象单元,每个单元分工处理一类任务。在这一框架下较系统地讨论了该软件的架构、数据库设计和预算台账模块、预算事务管理和出纳事务处理模块的程序组成,描述了相应的内部单元任务和调用关系。最后论述该系统的程序实现与测试问题。该预算信息管理系统的软件采用Java编程语言及和微软公司的通用关系数据库SQL Server 2008实现,本章论述了主要模块的程序组成、代行程序段的代码和测试情况。关键词:工程预算; 成本控制;管理信息系统 - I -Design and Implementation of Engineering Budget Information Management System for Hongheng CompanyAbstractThis paper discusses the development of Hongheng companys engineering project budget management system from the view of software engineering. It also discusses corresponding software design and implementation according to the companys engineering project business informational management requirement. First, it summarizes necessary technology foundation for the system development, including Java programming, database technology, industry applied software developing methods and important concepts and methods of engineering project budget management. Then, it analyzes the systems main demand functions. This systems main functions includes general accounts management function, which has general accounts initialization, processing, transmitting and enquiry functions; budget management function, which has budget initialization, control items setting up, budget analysis, budget control and enquiry functions; cashier transaction management function, which has cash management and tickets management functions, etc. Furthermore, it discusses design scenarios on the basis of demand analysis. According to business contents and software design principle, it divides each business module to a group of reasonable object units, and each unit processes a type of assignment. Under this frame, it systematically discusses the softwares structure, database design and many modules programming, internal units and transfer relations such as budget accounting module, budget transaction management and cashier transaction processing module, etc. In the end, it discusses the systems program implementation and testing.This budget information management system software uses Java and Microsoft SQL Server 2008 to realize, The paper also discusses main modules programming, coding and testing.Key words: Engineering Budget; Expense Control; Management Information System 目 录摘 要IAbstractII1 绪论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- IV -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.1 Middleware based Software Technical Architecture J2EE的技术架构针对编写可重用的组件对象建立起一套技术规范,具体包含编写内部属性和函数访问的方法。组件在运行环境中被外部程序或其他对象所调用,对外部调用者传入的参数进行处理和响应。远程对象调用机制是Java组件的远程数据访问的基础,通过该机制,一个主机上的Java对象可以访问因特网上其他主机上的Java对象,调用该远程对象的接口函数,传递参数并且获取计算的结果。RMI是一种基础层次的远程访问协议,基于因特网的TCP协议来实现,RMI的基本工作过程中,首先被调用的组件在分布式系统的目录服务器上注册,作为一个命名对象通过目录服务被发布,以便使访问客户端能够检索到该对象的位置。当某个对象要访问另一个对象的特定方法时,该对象所在的基础环境调用RMI检索该函数接口所在的位置参数如主机网络地和端口号,向本地的RMI代理接口提交全部的函数访问参数。Java程序在本地的代理接口将访问参数进行编码,然后启动TCP协议建立会话连接,将数据传递到远程对象。远程对象坐在的主机运行环境中RMI接口代理首先对接收到的数据进行解码,然后按照端口号将解码后的数据流转到被调用的对象函数。被调用的对象函数对输入的参数进行计算处理,然后将输出的数据返回本地的接口。本地的接口将输出数据进行编码,然后通过TCP会话连接返回数据到调用端。调用端的接口单元将数据进行解码后,按照调用方的端口号将数据流转回调用端的对象组件。远程调用的会话在该状态下全部完成。通过以上的机制,两个远程的对象可以实现和本地访问语义相同的远程调用,全部的远程网络通信和基础数据的编码-解码处理工作都在底层的接口单元组件来完成。为解决Web系统的编程开发,J2EE提供了大量的技术,从软件架构到具体的编程模型都在很充分的基础上做了扩展,主要包括对XML的支持、JSP和Java Serverlet编程等方面。 图1.2 J2EE/Web多层架构 Fig. 1.2 J2EE/Web Multilayer Architecture 运用J2EE技术开发Web应用系统在总体逻辑上具有三个层次的实现层面,分别是客户端(浏览器端)编程、J2EE应用服务器编程和数据库编程,其中J2EE应用服务器编程进一步划分为Web服务器编程和基于Java的业务逻辑处理编程。在浏览器端,Web应用主要通过嵌入在HTML页面编码中的JSP程序来实现,该程序的主要作用是对页面的各项交互元素的信息进行采集和向Web服务器传输。在J2EE服务器端,一部分程序在Web服务器中运行,将后台数据转换为HTML页面,这种生成动态HTML页面的程序是Serverlet程序。该程序在形式上基本与Java程序类似,基本运行方式是调用Web服务器环境中的其他Java组件和访问数据库。在Web环境中还运行Java EJB中间件组件,为程序的运行提供基础服务。1.3.2 数据库技术数据库管理系统(DBMS)是面向数据的存储与存取管理的专业软件系统,在各类应用中具有广泛的用途。例如在企业管理信息系统中,数据库系统是主要的核心组件,在各种规模的Web应用系统中,数据库系统也是处于后台服务器的最主要的软件系统,为前端的交互处理金新后台的响应和计算。面向企业应用的信息系统是典型的数据密集型应用系统,目前在面向财务的信息处理领域广泛应用组件技术、在线事务处理(OLTP)和客户服务器及MVC开发模式。在面向财务类应用的信息系统中的数据处理特点不仅是规模较大、数据处理所要求的吞吐量大,而且还要求具有较高的可靠性,也就是需要具有在逻辑数据层面的原子性、一致性和持久性,这些要求使得这类系统通常基于某种大型数据库系统,为数据提供统一的访问存取和管理功能。 在数据库平台上主要运行SQL程序进行关系数据模型的访问和处理,目前的主流数据库如Oracle、Sybase、Informix等也支持在数据库空间内直接调用Java程序或者java程序直接访问数据库空间内部的数据对象,两者具有紧密的集成。在基于数据库的大型事务处理系统中通过实施软件组件重用技术来改进软件系统的可靠性、功能扩展能力和易维护能力。基于组件技术所开发的组件在概念上是一个专业分工的功能单元,其内部如何实现并不直接表现给外界,外界和组件之间的数据通信通过组件上定义的的功能接口来完成。完整的软件系统通过各种类型的组件单元来集成,组件单元之间在保持接口语义不变的情况下完全具有确定的功能语义,当改变一个组件单元的内部数据结构或算法的时候,只要保持接口调用的语义不变,系统能提的逻辑就完全保持不变。事务处理系统的软件组件在服务器平台上实现了一种大规模的分布式平台运行基础环境,能够支持软件的开发者在不同的层次上建立系统的逻辑功能。图1.3是J2EE对数据库的访问接口组成。图1.3 J2EE/数据库存取架构 Fig. 1.3 J2EE/Database Data Access Architecture 在数据库平台的内部结构不断地集成对新型应用的支持功能。数据库管理系统这一基础平台之上,数据库开发商还不断强化和创新某些特殊功能,以及面向领域应用的新型特性,是数据库从单一的数据管理软件发展到具有特定功能的应用系统。在这些以数据库为基础、面向应用的新类型软件中,有在线多维数据处理与分析(OLAP)、商业智能系统(BI)、决策支持系统、客户关系管理系统、制造资源管理系统、项目管理系统、产品数据管理系统(PDM)等许多新类型。众多的智能化应用是建立在数据库平台上。以目前越来越重要的商业智能和决策支持为例,这类系统一方面集成数据库系统的数据密集型处理能力,同时在基础层次扩展建模和基于模型的计算和仿真分析管理能力,通过调用各种模型的计算(输入输出模型、机理型模型、统计模型、符号推理和演绎计算模型等)来为决策者提供各种决策方案的预期结果,同时通过对评价指标的定量计算和分析来为结果进行性和排序,为决策提供定量的支持。数据库系统目前所广泛应用的领域包括企业信息管理、电子商务、医疗信息管理和工业应用。主流数据库软件已经从管理关系数据模型扩展到具有多种类型的功能,在此基础上派生出来一些更为专业化应用的数据库系统,例如空间数据库,内部的数据管理以三维空间实体及其关系为主,应用于地理信息系统、自动导航等新领域。面向对象数据库,通过运用面向对象设计和编程的概念与技术来实现对复杂信息的封装和集成管理,应用于具有大规模的复杂数据对象的领域,如计算机辅助设计等行业。多媒体数据库,以语音、图像等信息实体基于XML结构为基础进行统一的编码和存取处理操作,应用于Web系统、图形系统、医疗系统和工业监控等领域。工程数据库,基于复杂几何造型的要求建立和管理具有复杂形态的信息实体,应用于计算机辅助设计、计算机辅助制造等领域。锁着应用规模越来越大,数据库系统也不断向超大型化方向发展,同时不断融合成熟的新技术,特别是大型数据库服务器的实现,具有较高的成熟程度,采用大量的现金软件技术来提高数据库系统的性能和可靠性。当前的高性能数据库软件在架构上采用客户-服务器模式,将计算处理能力和数据管理能力集中在服务器端。数据库服务器进程采用多线程结构,适应多处理器平台和高指令带宽处理能力的特点。以Oracle 数据库服务器为例,主要的构成部分有磁盘数据管理层,将关系数据模型映射到磁盘的物理存储结构,并支持建立索引结构在加速对数据的检索性能。数据页面管理层将关系数据模型在内存以页面的形式进行管理,并借助于虚拟内存机制对数据的存取进行优化。数据的加锁与同步管理以支持基于关系数据模型的事务语义和逻辑模型。数据输入输出管理包括磁盘访问的宽带输入输出处理机制和面向网络的高效输入输出机制。内部数据缓冲管理为提高数据库服务器进程在内部的调度性能,将数据进行适当的缓存和异步处理调度,提高数据流的存取等效带宽。高级数据管理将高层次的数据模型如多媒体数据模型、空间信息模型映射为中间层次的关系数据模型,再进一步将关系数据模型映射为面向磁盘存储介质低层次的物理数据模型,已实现对扩展数据模型的自动管理与维护能力。 1.4 论文的章节概述 论文第一章汉族要论述开发背景和必要地基础知识与技术方法。第二章到第四章针对系统的软件开发进行论述。第二章对该预算管理系统的主要需求功能进行了分析,主要功能包括系统管理功能,具体包括财务账套的设置、用户设置及权限分配、系统安全备份等功能;总账管理功能,具体包括总账初始化、制单、往来处理、结转、账簿查询等功能;预算管理,包括预算初始化、控制项设置、计划、拨款、查询等功能;出纳事务管理功能,具体包括现金出纳、银行出纳、确认、开票、银行对账、查询等功能;报表管理功能,具体包括报表设置、报表查询功能。第三章在需求分析的基础上进一步讨论设计方案,根据修分析的业务内容和软件设计的原则,将每个业务模块划分为一组合理的对象单元,每个单元分工处理一类任务,在整体上合成为业务模块的设计目标。本章在这一框架下较系统地讨论了该软件的架构、数据库设计和预算台账模块、预算事务管理和出纳事务处理模块的程序组成,描述了相应的内部单元任务和调用关系。第四章论述该系统的程序实现与测试问题。该预算信息管理系统的软件采用Java编程语言及和微软公司的通用关系数据库SQL Server 2008实现,本章论述了主要模块的程序组成、代行程序段的代码和测试情况。 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.1 General Budget Leger Management Use-case 该系统在进行自动冲销处理前检查是否核销方存在负数的数据记录,如果有则该系统不进行自动冲销处理,而是待核销方数据手工核销后再进行自动冲销。因为核销负数是通过做赤字凭证产生的,可能是同方向红蓝字金额记录,也可能是被核销方和核销方的负数记录,因此必须首先处理完这些核销方负数以后再完成自动冲销处理的任务。该系统对手工冲销方式按照实际业务情况设置以下几种模式:(1)借贷冲销处理借方记录和贷方记录的数据冲销按照往来明细科目、部门、项目过滤后向用户显示。哦用户选择借、贷方对应业务后确认即结束该对应关系的冲销。该系统的缺省处理模式是借贷冲销,其他方式需选择确定。(2)借方冲销处理在该模式中会计人员在制作凭证和处理往来错误凭证业务时使用同方向红字功能。这时,应该冲销的记录都在借方,因此需要用借方冲销功能来核销此对应记录。(3)贷方冲销处理该模式的处理方式同上,但其业务是基于贷方凭证。该系统的冲销确认功能用来作反冲销,不管是自动冲销还是手工冲销,其对应关系是可以返回的,因为在手工冲销状态下对应关系有可能被对应错,在此可以做返回动作。总账事务处理的第四类功能是对预算账务数据进行跨会计周期的结转处理,具体功能包括设置自动结转关系、生成结转凭证和管理会计周期的切换规则。 总账管理模块的信息查询功能包含对多种类型数据的条件查询和报表生成。初始化管理功能实现对科目期初余额在下一周期开始前进行调整,初始化校验处理功能。往来数据(记录和余额)的初始化处理以及科目余额初始化处理,后者针对非往来科目数据记录的余额来进行。2.3 预算事务管理 本节从预算基础数据管理、预算计划管理和拨款管理等几项功能进行分析。 2.3.1 预算基础信息管理 预算基础管理管理功能对实施预算计划与控制功能设置必要的变量属性和参数,具体功能有下面这些。 (1)设置预算选项,例如是否启用余额结转设置和主管预算。(2)设置与维护预算的控制属性(3)设置预算控制规则的模板(4)在预算控制规则基础上设置超值预算控制属性和参数(5)设置主管岗位的下辖预算项目(6)在建账是设置预算科目的初始金额(7)设置预算经费类型属性以上也代表来了该