• 1.55 MB
  • 72页

【计算机软件毕业设计】安装项目成本管理系统收支管理子系统的设计与实现-一稿

  • 72页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'编号毕业设计(论文)题目建筑安装项目成本管理系统收支管理子系统的设计与实现完整源代码68661508二级学院计算机科学与工程专业软件工程班级学生姓名学号指导教师职称讲师时间2014年6月II 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现摘要IAbstractII1绪论11.1选题背景11.2现状分析21.3本章小结32关键技术42.1关键技术概述42.2Spring42.3Hibernate52.4Flex62.5BlazeDS72.6本章小结83系统需求分析93.1需求概述93.2系统用例图93.3系统需求分析133.3.1施工员报量需求分析133.3.2分包合同报量需求分析153.3.3项目部报量需求分析173.3.4材料支付需求分析183.3.5分包支付需求分析193.3.6租赁支付需求分析203.3.7记账需求分析213.3.8项目费用月结需求分析223.3本章小结234系统架构与设计244.1设计原则244.2系统技术架构254.3系统功能架构254.4施工员报量管理模块设计274.4.1功能设计274.4.2领域类设计27 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现4.5分包合同报量管理模块设计344.5.1功能设计344.5.2领域类设计344.6项目部报量管理模块设计374.6.1功能设计374.6.2领域类设计374.7材料支付管理模块设计434.7.1功能设计434.7.2领域类设计434.8分包支付管理模块设计454.8.1功能设计454.8.2领域类设计454.9租赁支付管理模块设计464.9.1功能设计464.9.2领域类设计464.10记账管理模块设计484.10.1功能设计484.10.2领域类设计484.11项目费用月结模块设计494.11.1功能设计494.11.2领域类设计494.12本章小结505系统实现525.1系统实现总体概述525.1.1实现理念525.1.2软件环境525.1.3代码层次525.2施工员报量管理模块的实现525.3分包报量管理模块的实现535.3项目部报量管理模块的实现545.4材料支付管理模块的实现545.5分包支付管理模块的实现555.6租赁支付管理模块的实现565.7记账管理模块的实现565.8项目费用月结管理模块的实现58 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现5.9本章小结596系统测试606.1测试项目606.1.1测试项目背景606.1.2测试要点606.1.3测试内容606.2测试范围606.3测试用例616.3.1施工员报量功能性测试616.3.2分包支付功能性测试616.3.3项目费用月结功能性测试627结束语647.1本文工作总结647.2进一步的研究课题及展望64致谢65参考文献66 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现摘要收支管理是安装工程项目成本管理的重要组成部分,所以,如何在项目施工过程中管理好项目的收支情况是一件十分重要的事情。收支管理系统就是根据项目施工的实际收支情况进行的数据收集、归类与分析。因此,收支管理系统采用了B/S的架构,企业的人员都可以在浏览器上操作系统,使数据可以保证及时性、准确性和一致性,施工项目的所有收支情况都可以在系统中反映出来。企业的领导人则可以根据系统中反映的项目收支情况对项目施工过程中的成本进行掌控,并调整施工过程中的费用消耗。收支管理系统涉及到报量管理、费用管理,支付管理等关键功能。系统中的用户权限分布明确,从总公司、分公司到项目部,各个级别的用户有不同的权限对工程成本信息进行查询、统计和管理工作,实现对项目收支的有效控制。该系统实质上便是一种基于数据库的成本管理控制的计算机信息管理系统,该系统的特点如下:1.安装部署简单、灵活,无需安装客服端。2.数据统一收集管理,便于查询和分析。3.系统数据与项目的实施过程同步,不会造成数据的滞后。关键词:收支管理数据II 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现AbstractIncomeandexpenses,amajorcomponentofengineeringprojectcost,isthemainpartofthenprojectcostmanagement.Soitisveryimportantthathowtomanagethebalancesoftheproject.Incomeandexpensesmanagementsystemcancollectthedata,classfythedata,analysisthedata,withtheactualconditionofthebalaces.Therefor,incomeandexpensesmanagementsystemusetheB/Sframework.Thepeople,inthecompany,allcanoperatethesysteminthebrowser.Itcanensuredatatimeliness,accuracyandconsistency.Allbalancesoftheprojectcanbereflectedinthesystem.Thentheleaderscancontrolthecostintheprocessofconstruction,accordingtothebalancesreflectedinthesystem.Imcomesandexpensesmanagementsystemcontainprogressmanagement,costmanagementandpaymentmanagement.Thepromissionofuserswhichinthesystemisclear.thecompany,branchandproject-department,everylevelsofuserscanquery,sencusandmanagetheprojectcostinformationwithdifferentpermissions.Realizingtheeffectivecontrolofprojectbalances.Thesystemessentiallyiscomputerinformationmanagementsystemcostofmanagementandcontrolofcomputerinformationmanagementsystembasedonthedatabase.Thecharacteristicsofthissystem,asfollows:1.Emphasisondatacollectionequipment,butignorethemanagementfunctions2.Inadequatecontrolsonthetestingequipment,mostwithone-wayletter,nottwo-waycontrol3.Systemdataandtheprocessofprojectaresynchronization,willnotcausethedatadelay.Keywords:costmanagementdataII 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现1绪论1.1选题背景项目收支是安装项目成本管理的主要内容之一,在安装项目成本管理中占有很大的地位。通常工程项目所设计到的资金流转情况比较复杂,管理比较困难。然而,我们需要在项目的整个施工过程当中把控成本。那么,在项目实施中的收支就是给我们作为参考的实时分析数据。我们可以根据一段时间的收支情况进行项目成本的控制与管理,以便使企业能够高效益、低成本地按项目要求施工。所以,一款好的建筑收支管理系统对工程来说是至关重要的。收支管理子系统是基于计算机网络,采用科学的管理理念和先进的数据库技术对各类项目的收支信息做综合管理的计算机软件,是计算机技术、管理科学相结合的结果。本系统集现代化的管理理念和基于计算机的数据处理技巧、大量数据存储技术、宽带传输网络技术为一体,为工程收支流转的各种信息存储、交换和统计分析提供网络化的平台。该系统本质上便是一种基于数据库的项目成本控制的计算机信息管理系统,是一种优良的成本控制思想或方法的集中体现,或者说是通过高级的计算机技术来提高管理质量的一种手段。该系统能给建筑公司带来如下的价值:l数据信息化:将各种与成本有关联的数据如项目的报量,费用的记账,还有费用的支付之类的都以一定的数据形式存入到计算机,可以随时进行成本的轨迹、查询、分析。另外,各个相关部门的费用数据通过网络传输,实现成本数据的共享,从而实现数据的信息化。l流程规范化:该系统作为一种管理手段,辅助企业的管理制度,将企业已经固定下来的一些科学的安装工程成本管理流程以软件程序的方式规范下来,致使流程所涉及的岗位职工的工作更加规范有效率,增强了成本管理中的桎梏,减少人为控制和“拍脑袋”的管理行为,同时阻塞的管理上的漏洞。l决策科学化:该系统可以帮助管理人员在决策时对成本对象的“定量”分析,管理者可以明确知道项目费用哪儿超了、哪儿省了,从而可以做出科学的决策。51 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现1.2现状分析成本是安装项目单位为实现施工工程的任务所花费的各种生产金额的总和,它包含了施工过程当中所耗损的生产资料转移价值和以报酬补偿费方式分配给劳动者个人消费的那部分劳动消耗所带来的价值。利润的增加就是想要增加收入、消减成本。而对于施工单位来讲,收入相对来说是不变的,而成本在施工中是可以通过恰当的技术和组织管理方式来进行控制。成本控制不再是财务部门的内容,要想把控好成本,就要从材料管理、设备管理、劳务管理、分包管理、合同管理、项目管理、费用管理之列相关业务入手,并要注重精细,不但经过财务、材料、设备、分包、合同、项目、收支等部门知道工程整体收支状况,更要了解到工程细节成本情况。这样才可以为成本控制给予真实无误的数据基础。是以,在施工现场创建一套完备的成本管理系统,各职能部门可以通过局域网录入,接收各种数据,通过管理系统进行预测、汇总、计算、分析,得出我们想要的信息,然后再通过网络和权限进行查询,实现数据的精确无差错,分析得及时透彻,最后根据所了解的信息进行现场施工管理。这样不但使管理更加简便有效,也能够提高职工素质,促使经营意识全员化。我国企业成本管理经由这些年的发展,获得了很多的成效,可是同时也存在着些许多问题,主要有以下几点:l成本管理观念落后:主要体现在成本管理的范围、目标及方法等认知存在偏差。不少企业依然将成本管理的范畴局限在企业里面甚至只包含生产过程,而忽略了对其他相关企业和相关领域成本行为的管理。l不良的利益,导致成本信息失真:在中国,有偷税逃税之类的不良利益,驱动许多企业管理人员不顾他人利益,任意调整,编造成本资料,从而使成本信息失真现象越发严峻,并造成以成本为基础的种种管理活动的效率低下,乃至给企业带来损失。l分工太过细碎,人力资源浪费严重:如今中国企业内部的分工愈来愈细致,以致要求企业实行高度的协作管理,因此导致企业管理的协调成本过高;此外,因为太过细致的分工致使企业管理复杂化,不便于企业管理效率的抬高,因此给企业带来一些的低效率成本,和造成直接的经济损失和人力资源的严重浪费,这也是企业管理经费增加的一个原因。因为分工层次及协作步骤的51 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现增添,信息在传送过程当中时间拉长,没必要的停留环节增多,在一定程度上致使信息的损耗和失真,这就有机会使企业决策失误的可能性增加,导致企业管理的失误成本增加。综上所述,中国企业现今已有的成本管理早已不能够满足企业市场竞争的需求。1.3本章小结本章首先阐述了本文的选题背景,说明了安装项目成本管理系统——收支管理子系统的目的和意义;然后介绍了成本管理系统的现状分析,从而为本文所述系统有明确的定位。51 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现2关键技术2.1关键技术概述本文设计的成本管理系统是一款基于B/S架构的RIA(RichInternetApplication)系统。可以通过互联网访问使用本系统。网络架构如图2-1所示:图2-1B/S架构图2.2SpringSpring是一个开源框架。它是为了解决企业应用开发的复杂性而由Rod51 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现Johnson创建的。Spring利用基本的JavaBean来完成原来只能够由EJB完成的事情。但是,Spring的用途不仅局限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。简单的说,Spring是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架。控制反转(IOC)——Spring通过一种叫做控制反转(IOC)的技术促进了松耦合。当应用了IOC,一个对象依赖的其它的对象就会通过被动的方法传递进来,而不会是这个对象自己创建或者查找依赖对象。面向切面(AOP)——Spring提供了面向切面编程的大量支持,允许通过分离应用的业务逻辑与系统级服务和事务进行内聚性的开发。容器——Spring包括并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean怎样被创建。2.3HibernateHibernate是一种Java语言下的对象关系映射解决方案。它是一种自由、开源的软件。它用来把对象模型表示的对象映射到基于SQL的关系模型结构中去,为面向对象的领域模型到传统的关系型数据库的映射,提供了一个使用方便的框架。Hibernate对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,它既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用。最具革命意义的是,Hibernate可以在应用EJB(EnterpriseJavaBeans是Java应用于企业计算的框架)的J2EE架构中取代CMP,完成数据持久化的重任。Hibernate实际上也是一个中间件,主要是提供数据库服务,结构图如图2-3所示:51 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现图2-3Hibernate结构图由上图可以看出Hibernate的基本架构,其中主要是通过xml的配置来具体实现Hibernate的一些相关功能,由图2-2可以看出Hibernate是数据库和应用程序之间的一个中间层,既然是中间层就有着承上启下的作用,从应用程序中的实体对象到数据库表结构、从数据库表结构到实体对象的处理都由hibernate完成。2.4FlexFlex是Adobe进军企业级Internet应用的重要工具。使用flex开发的应用最终会编译为SWF文件,使得flex应用在部署上有着跨平台的先天优势,从而使开发人员不必花费大量精力为不同的浏览器编写不同的代码。另外由于Actionscript是一种面向对象的编程语言,有一定编程基础的开发人员可以很快学习并掌握,而flex提供的丰富且功能强大的组件能让开发更加规范和高效。当前Internet应用的方向正朝着RIA(RichInternetApplication,富互联网应用)发展,然而flex有着很多的优势。Flex支持3中通信方式,httpServic、webService、remoteService,在这个框架中用的是remoteService这种通信方式。在这里spring的作用主要是起到容器的作用,用来实例化对象;hibernate的作用还是负责持久化对象,这里还结合了一些API的相关的知识,但是主要的目的还是为了更方便的处理持久化。51 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现BlazeDS的主要作用是为了处理通信,是和flex的remoteService这种通信方式打交道,flex就是处理前台界面和相关的简单的逻辑。在SHF中,主要的应用分为后台和前台,后台是对hibernate和spring的应用,在这里我用到了hibernate的自定义标签来解决对象中中文名称,在这个框架中最主要的是能通过工具自动生成所有的前台和后台的一些基本代码,也包括前台界面上的相应的控件,这里主要用的就有hibernate和一些反射的基本知识。2.5BlazeDSBlazeDS是一个基于服务器的Java远程控制(remoting)和Web消息传递(messaging)技术,以LGPL(LesserGNUPublicLicense)公共许可证书发布。它能够使得后端的Java应用程序和运行在浏览器上的AdobeFlex应用程序相互通信。在Java应用服务器上,它以servlet的形式存在,因此可以在任何标准Java网络应用中运用它,其结构图如下图2-4所示,由图可见BlazeDS在webserver服务中所出的位置和工作机制。图2-4BlazeDS结构图无论是哪种服务端技术都能够很轻松地应用XML,因为XML完全是一个基于文本的协议。像XML这样基于文本的协议的缺点是额外的数据抽象层的编写与维护工作相对很沉重。此外,如果数据需要序列化和反序列化,那么这个数据抽象层在客户端和服务器端都会占用很多资源。FlashPlayer可以支持另外一种传输协议,这个协议能够缓解由基于文本的协议导致的传输瓶颈问题,能够帮助开发者以更简单的方式与服务器交互。这就是AMF(ActionMessageFormat)。它是一个二进制格式的协议,能够替代用于传输XML的基于文本的协议而在HTTP协议之上交换数据。采用AMF51 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现的应用中,数据抽象层完全可以省去,客户与服务器间的通讯效率比传统的应用基于文本的协议传输要高得多。BlazeDS中包含了AMF的Java实现,可以用来与服务器端的Java对象远程交互,也可以用来在客户端之间传递消息。开发人员可以借助BlazeDS的远程技术简单地调用POJO、Spring服务或EJB方法。开发人员可以通过其消息系统从客户端向服务器端发送消息,当然也可从服务器端向客户端发送消息。BlazeDS也可以与其他一些消息系统结合使用,比如JMS、ActiveMQ。由于其远程技术与消息系统采用的方式是在HTTP协议上传输AMF数据,BlazeDS因此在性能上拥有很大优势,同时也避免了额外的数据抽象层的处理工作。BlazeDS在很多基于Java的应用服务器环境下都能正常工作,这些服务器包括Tomcat、WebSphere、WebLogic、JBoss以及ColdFusion。此外,无论是web(在FlashPlayer中运行)还是桌面(在AdobeAIR下运行)的Flex应用程序中,BlazeDS的使用都很简单。简单来说BlazeDS是一个基于服务器的Java远程调用和Web消息传递技术,它能够让后台的Java应用程序和运行在浏览器上的Flex应用程序相互通信。BlazeDS是Adobe的一个开源项目,里面提供了Java封装AMF3格式的方法。2.6本章小结本章首先描述了本系统的网络架构图,同时还介绍了应用架构的一些相关概念、基本组成部分和设计原则,然后分别介绍了框架所用到的一些关键的技术。51 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现3系统需求分析3.1需求概述对于收支管理,是安装项目成本管理的重要组成部分,而且项目的收支情况是反应项目成本的重要依据,工程项目而言,项目的收支为了实时把控好项目的收支情况,根据收支情况来调整项目的施工来说,把收支管理好是一个非常重要的功能。本章的主要内容是对收支管理进行了详细的需求分析。3.2系统用例图施工员涉及到的是施工员报量业务,预算员涉及到的是分包合同报量和项目报量的业务,财务科科长涉及到的是分包支付、租赁支付和材料支付的业务,项目经理则涉及到记账和项目费用月结的业务。收支管理模块的用例如下图3.1所示:图3.1收支管理用例图51 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现图3-1中涉及到的用例描述如下:l“施工员报量”用例用例名:施工员报量直接执行者:施工员目的:当施工员负责的项目完成了一段时间的工作量之后,施工员对完成的工作量进行报量,根据完成的工作量进行报量内容填写,然后提交审核流程。过程描述:1.施工员输入施工员报量单名称,系统识别名称的有效性。2.选择分包合同,填写报量时间和报量时间段。3.保存施工员报量单。4.填写报量内容并计算汇总。5.保存施工员报量单后,施工人员将该报量单提交审核,进入后续操作流程。l“分包合同报量”用例用例名称:分包合同报量直接执行者:项目部预算员目的:施工员进行报量后,预算员根据施工员报量,对项目的每个分包合同进行报量,用以了解分包的费用情况。过程描述:1.预算员新增一个分包合同报量单。2.选择分包合同,并填写报量时间和报量时间段,自动生成分包报量名称。3.选择需要汇总的施工员报量单。4.点击汇总。5.保存报量单,并手动提交审核。l“项目部报量”用例用例名称:项目部报量直接执行者:项目部预算员目的:51 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现进行分包报量后,预算员根据分包报量,对项目的整个工程进行报量,项目报量后,会对整个项目的实际费用情况进行汇总,是领导可以看到这个时间段的费用收支情况。过程描述:1.预算员新增一个项目部报量单。2.选择报量时间和报量时间段。3.选择需要汇总的分包报量单。4.点击汇总。5.保存报量单,并手动提交审核。l“材料支付”用例用例名称:材料支付直接执行者:材设分公司财务科科长目的:材设分公司财务科科长对已签的采购合同进行支付申请。已签的采购合同中的材料到货后会生成应付款,材设分公司财务科科长就可以对此采购合同进行相应的支付申请。过程描述:1.材设分公司财务科科长对需要支付的采购合同选择支付申请。2.选择执行条款。3.填写支付金额并输入支付金额的中文大写。4.可对支付单上传所需附件。5.保存并提交审核。l“分包合同支付”用例用例名称:分包合同支付直接执行者:材设分公司财务科科长目的:分公司财务科科长对已签的分包合同进行支付申请。已签的分包合同进行报量后会生成应付款,分公司财务科科长就可以对此采购合同进行相应的支付申请。过程描述:51 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现1.分公司财务科科长对需要支付的分包合同选择支付申请。2.选择执行条款。3.填写支付金额并输入支付金额的中文大写。4.可对支付单上传所需附件。5.保存并提交审核。l“租赁合同支付”用例用例名称:分包合同支付直接执行者:材设(工业)分公司财务科科长目的:材设(工业)分公司财务科科长对已签的分包合同进行支付申请。已签的租赁合同中设备进场并结算后会生成应付款,分公司财务科科长就可以对此租赁合同进行相应的支付申请。过程描述:1.材设(工业)分公司财务科科长对需要支付的租赁合同选择支付申请。2.选择执行条款。3.填写支付金额并输入支付金额的中文大写。4.可对支付单上传所需附件。5.保存并提交审核。l“记账”用例用例名称:记账直接执行者:项目部项目经理目的:项目经理根据项目的实际情况进行记账操作,用以之后的项目费用月结提供项目的费用数据来源。过程描述:1.项目经理新增记账。2.选择费用类别和单位工程。3.填写金额、记账时间、摘要和说明。4.保存记账。51 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现l“项目费用月结”用例用例名称:项目费用月结直接执行者:项目部项目经理目的:项目经理对这个月的费用情况进行一个月结操作,生成项目费用月结清单。之后可以在项目费用总表中看到项目的费用情况,并进行项目的成本和利润的分析。过程描述:1.项目经理新增项目费用月结清单。2.保存项目费用月结清单。3.加载记账信息。4.保存并手动提交审核。3.3系统需求分析3.3.1施工员报量需求分析当施工员负责的项目完成了一段时间的工作量之后,施工员对完成的工作量进行报量,根据完成的工作量进行报量内容填写,然后提交审核流程,该功能基本流程如下如图3.2所示:51 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现图3.2施工员报量流程施工员报量所对应的顺序图如下图3.3所示:51 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现图3.3施工员报量顺序图3.3.2分包合同报量需求分析施工员进行报量后,预算员根据施工员报量,对项目的每个分包合同进行报量,用以了解分包的费用情况。分包合同报量必须要施工员报量后才能进行。如果施工员未报量,那么分包合同报量也不会有任何的内容,也就没有了实际意义。而分包合同报量也是项目报量的数据基础。分包合同报量管理基本流程如图3.4所示:51 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现图3.4分包合同报量流程分包合同报量所对应的顺序图如下图3.5所示:图3.5分包报量顺序图51 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现3.3.3项目部报量需求分析施工员进行报量后,预算员根据施工员报量,对项目的每个分包合同进行报量,用以了解分包的费用情况。项目部报量管理流程如图3.6所示:图3.6项目部报量流程项目报量所对应的顺序图如下图3.7所示:图3.7项目报量顺序图51 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现3.3.4材料支付需求分析材设分公司财务科科长对已签的采购合同进行支付申请。已签的采购合同中的材料到货后会生成应付款,材设分公司财务科科长就可以对此采购合同进行相应的支付申请。材料支付管理具体流程如图3.8所示:图3.8材料支付流程材料支付所对应的顺序图如图3.9所示:图3.9材料支付顺序图51 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现3.3.5分包支付需求分析分公司财务科科长对已签的分包合同进行支付申请。已签的分包合同进行报量后会生成应付款,分公司财务科科长就可以对此采购合同进行相应的支付申请,具体流程如图3.10所示:图3.10分包支付流程分包支付所对应的顺序图如图3.11所示:图3.11分包支付顺序图51 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现3.3.6租赁支付需求分析材设(工业)分公司财务科科长对已签的分包合同进行支付申请。已签的租赁合同中设备进场并结算后会生成应付款,分公司财务科科长就可以对此租赁合同进行相应的支付申请,具体流程如图3.12所示:图3.12租赁支付流程租赁支付所对应的顺序图如图3.13所示:图3.13租赁支付顺序图51 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现3.3.7记账需求分析项目经理根据项目的实际情况进行记账操作,用以之后的项目费用月结提供项目的费用数据来源。具体流程如图3.14所示:图3.14记账流程记帐所对应的顺序图如图3.15所示:图3.15记账顺序图51 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现3.3.8项目费用月结需求分析项目经理对这个月的费用情况进行一个月结操作,生成项目费用月结清单。之后可以在项目费用总表中看到项目的费用情况,并进行项目的成本和利润的分析。具体流程如图3.16所示:图3.16项目费用月结流程项目费用月结所对应的顺序图如图3.17所示:图3.17项目费用月结顺序图51 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现3.3本章小结本章主要描述了安装项目成本管理系统——收支管理子系统的需求分析,通过对施工员报量管理、分包报量管理、项目报量管理、记账管理、材料支付管理、分包支付管理、租赁支付管理和项目费用月结的分析使得该系统的功能明确。51 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现4系统架构与设计4.1设计原则整个系统在设计的过程中以收支管理为核心,逐步向外扩展。依次形成了施工员报量管理、分包合同报量管理、项目部报量管理、材料支付管理、分包支付管理、租赁支付管理、记账管理以及项目费用月结管理功能。并将每个功能设计成一个独立的Module(模块),易于装载与卸载。系统设计的核心思想是面向对象。在设计与实现的过程中使用了大量的设计模式,因此系统具有以下优点:l易维护采用面向对象思想设计的结构,可读性高,由于继承的存在,即使改变需求,那么维护也只是在局部模块,所以维护起来是非常方便和较低成本的。l质量高在设计时,可重用现有的,在以前的项目的领域中已被测试过的类,使系统满足业务需求并具有较高的质量。l效率高在软件开发时,根据设计的需要对现实世界的事物进行抽象,产生类。使用这样的方法解决问题,接近于日常生活和自然的思考方式,势必提高软件开发的效率和质量。l易扩展由于继承、封装、多态的特性,自然设计出高内聚、低耦合的系统结构,使得系统更灵活、更容易扩展,而且成本较低。系统的设计与开发是基于SHF框架。SHF框架是一套以Spring、Hibernate、Flex等框架为基础的应用层框架。该框架内部含有大量的开发模板,可大大的提高开发效率。51 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现4.2系统技术架构本系统是基于SHF框架进行开发的,而技术架构是指SHF框架中实现功能的分层架构,在此框架中一共分为五层,如图4.1所示,这五层与数据模型(Entity)之间相互协调共同工作从而组成了SHF框架的核心架构:图4.1SHF框架技术架构图从上图4-1可以看出,SHF框架的技术架构主要分为前端展现层和后台业务逻辑层,其中前端展现层有2层,后台业务逻辑层有3层,它们通过中间件BlazeDS相互连接。从图中可以看出前端展现层和业务逻辑层有几层是一样的如Entity和Service,这两层分别是实体层(或数据模型层)和服务层,其中实体层前端展现层和业务逻辑层是对应的,及后台的java实体和前台的Flex实体都是代表同一个实体,它们之间相互映射。服务也是相互对应但是有些区别,前端展现层服务层所对应的是业务逻辑层的ViewService层,这一层是专门负责和前端展现层映射的服务层。4.3系统功能架构51 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现建筑安装项目成本管理系统的基础架构是由施工图预算管理、管理项目管理、合同管理、设备租赁管理、材料管理、经营管理、收支管理和系统管理等组成。而收支管理子系统是由施工员报量管理、分包合同报量管理、项目部报量管理、材料支付管理、分包支付管理、租赁管理、记账管理和项目费用月结管理组成。建筑安装项目成本管理系统——收支管理子系统的具体功能如下图4.3所示:图4.2建筑安装项目成本管理系统图4.3建筑安装项目成本管理系统--收支管理子系统对图4.3中的功能模块简单描述如下:l施工员报量模块:对施工过程中施工员完成的工程量的报量进行管理。l分包合同报量模块:对施工过程中分包合同完成的工程量的报量进行管理。l项目报量模块:对施工过程中项目完成的工程量的报量管理。l材料支付模块:对施工过程中采购合同的支付进行管理。l分包支付模块:对施工过程中分包合同的支付进行管理。l租赁支付模块:对施工过程中租赁合同的支付进行管理。l记账管理模块:对施工过程中所产生的费用进行记账管理。51 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现l项目费用月结模块:对项目的费用产生情况进行一个结算管理。收支管理子系统的功能是由以上模块协作完成的。由于各个模块之间耦合性很低,所以又保证了各个功能的独立性,各个模块可独立装载实现不同的效果,使系统可以灵活多变在不同的管理模式下和不同的收支管理流程下都可使用。4.4施工员报量管理模块设计4.4.1功能设计施工员报量首先是由施工员提出施工员报量单,然后提交到项目部,项目部相关人员对施工员提交的施工员报量单进行审核。施工员报量模块有对施工员报量新增、编辑、删除以及提交等操作权限。4.4.2领域类设计在施工员报量中涉及到的类主要是施工员报量单(SubCProgress)、分包工程项目报量(SubCProjectProgress)、分包工程分部分项报量(SubCSegmentProgress)、分包工程定额子目报量(SubCQuotaProgress)以及分包工程人机材含量报量(SubCPmmContentProgress),各自的属性以及他们之间的关联如下图4.4所示:51 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现图4.4施工员报量类图从上图中可以看出施工员报量中由施工员报量单、分包工程项目报量、分包工程分部分项报量、分包工程定额子目报量以及分包工程人机材含量报量组成。他们之间的关系是一个施工员报量单对应一个分包工程项目报量,一个分包工程项目报量对应多个分包工程分部分项报量,一个分包工程分部分项报量对应多个分包工程定额子目报量,一个分包工程定额子目报量对应多个分包工程人机材含量报量,因此它们之间这种一对多的关系要用面向对象中的集合List来维持。施工员报量涉及到类的字段信息如下表所示:表4.1施工员报量单施工员报量单(SubCProgress)字段编号字段名称字段类型中文名称约束关系备注51 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现1subCProgressIdLong主键2subCProjectProgressSubCProjectProgress分包工程项目报量3totalPriceDouble本期合价4laborTotalPriceDouble本期人工费合价5materialTotalPriceDouble本期材料费合价6mainMaterialTotalPriceDouble本期主材费合价7machineTotalPriceDouble本期机械费合价8budgetTotalPriceDouble预算合价9budgetLaborTotalPriceDouble预算人工费合价10budgetMainMaterialTotalPriceDouble预算主材费合价11budgetMaterialTotalPriceDouble预算材料费合价12budgetMachineTotalPriceDouble预算机械费合价13priorLaborTotalPriceDouble上期累计人工费14priorMaterialTotalPriceDouble上期累计材料费15priorMachineTotalPriceDouble上期累计机械费16priorTotalPriceDouble上期累计合价17currentLaborTotalPriceDouble本期累计人工费18currentMaterialTotalPriceDouble本期累计材料费19currentMachineTotalPriceDouble本期累计机械费20currentTotalPriceDouble本期累计合价21subContractorSubContractor分包商22organizationOrganization分公司23managementItemManagementItem管理项目24constructorEmployee施工人员25startingDateDate报量开始时间26closingDateDate报量截止时间27reportDateDate报量时间28stateString状态草稿、提交29subContractItemSubContractItem分包项目属性留着不用30subContractSubContract分包合同31subContractProgressSubContractProgress分包合同报量单51 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现表4.2分包工程项目报量分包工程项目报量(SubCProjectProgress)字段编号字段名称字段类型中文名称约束关系备注1subCProjectProgressIdLong主键2subCProgressSubCProgress分包报量单3subCProjectSubCProject分包工程项目4subCProjectProgressCodeString编码5subCProjectProgressNameString名称6managementItemManagementItem管理项目7employeeEmployee施工人员(报量人员)8currentLaborPricedouble本期人工费合价9currentMaterialPriceDouble本期材料费合价10currentMainMaterialPriceDouble本期主材费合价11currentMachinePriceDouble本期机械费合价12currentPriceDouble本期合价13currentLaborTotalPriceDouble本期累计人工费14currentMaterialTotalPriceDouble本期累计材料费15currentMainMaterialTotalPriceDouble本期累计主材费16currentMachineTotalPriceDouble本期累计机械费17currentTotalPriceDouble本期累计合价18priorLaborTotalPriceDouble上期累计人工费19priorMaterialTotalPriceDouble上期累计材料费20priorMainMaterialTotalPriceDouble上期累计主材费21priorMahineTotalPriceDouble上期累计机械费22priorTotalPriceDouble上期累计合价23budgetLaborTotalPriceDouble预算人工费合价24budgetMaterialTotalPriceDouble预算材料费合价51 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现25budgetMainMaterialTotalPriceDouble预算主材费合价26budgetMachineTotalPriceDouble预算机械费合价27budgetTotalPriceDouble预算合价28subCQuotaProgressesList分包工程定额子目报量表表4.3分包工程分部分项报量分包工程分部分项报量(SubCSegmentProgress)编号字段名称字段类型中文名称约束关系备注1subCSegmentProgressIdLong主键唯一2subCProjectProgressSubCProjectProgress分包工程项目报量3subCSegmentSubCSegment分包工程分部分项4subCProjectProgressCodeString编码5subCProjectProgressNameString名称6managementItemManagementItem管理项目7employeeEmployee施工人员(报量人员)8currentLaborPricedouble本期人工费合价9currentMaterialPriceDouble本期材料费合价10currentMainMaterialPriceDouble本期主材费合价11currentMachinePriceDouble本期机械费合价12currentPriceDouble本期合价13currentLaborTotalPriceDouble本期累计人工费14currentMaterialTotalPriceDouble本期累计材料费15currentMainMaterialTotalPriceDouble本期累计主材费16currentMachineTotalPriceDouble本期累计机械费17currentTotalPriceDouble本期累计合价18priorLaborTotalPriceDouble上期累计人工费19priorMaterialTotalPriceDouble上期累计材料费20priorMainMaterialTotalPriceDouble上期累计主材费21priorMahineTotalPriceDouble上期累计机械费22priorTotalPriceDouble上期累计合价51 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现23budgetLaborTotalPriceDouble预算人工费合价24budgetMaterialTotalPriceDouble预算材料费合价25budgetMainMaterialTotalPriceDouble预算主材费合价25budgetMachineTotalPriceDouble预算机械费合价26budgetTotalPriceDouble预算合价27subCProgressIdLong分包报量单Id28parentSubContractSegmentProgress父亲29childrenList孩子30subCQuotaProgressesList分包工程定额子目报量表表4.4分包工程定额子目报量分包工程定额子目报量(SubCQuotaProgress)编号字段名称字段类型中文名称约束关系备注1subCQuotaProgressIdLong主键唯一2subCSegmentProgressSubCSegmentProgress分包工程分部分项报量3subCQuotaSubCQuota分包工程定额子目4subCQuotaProgressCodeString编码5subCQuotaProgressNameString名称6employeeEmployee施工人员(报量人员)7unitString单位8priceDouble单价9currentProjectAmountDouble本期工程量10currentProjectTotalAmountDouble本期累计工程量11priorProjectTotalAmountDouble上期累计工程量12budgetProjectTotalAmountDouble预算累计工程量13currentLaborPriceDouble本期人工费合价14currentMaterialPriceDouble本期材料费合价15currentMainMaterialPriceDouble本期主材费合价16currentMachinePriceDouble本期机械费合价51 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现17currentPriceDouble本期合价18currentLaborTotalPriceDouble本期累计人工费19currentMaterialTotalPriceDouble本期累计材料费20currentMachineTotalPriceDouble本期累计机械费21currentTotalPriceDouble本期累计合价22priorLaborTotalPriceDouble上期累计人工费23priorMaterialTotalPriceDouble上期累计材料费24currentMainMaterialTotalPriceDouble本期累计主材费25priorMachineTotalPriceDouble上期累计机械费25priorTotalPriceDouble上期累计合价26budgetLaborTotalPriceDouble预算人工费合价27budgetMaterialTotalPriceDouble预算材料费合价28budgetMainMaterialTotalPriceDouble预算主材费合价29budgetMachineTotalPriceDouble预算机械费合价30budgetTotalPricedouble预算合价31subCPmmContentProgressesList分包工程人机材含量报量32managementItemManagementItem管理项目表4.5分包工程人机材含量报量分包工程人机材含量报量(SubCPmmContentProgress)编号字段名称字段类型中文名称约束关系备注1subCQuotaProgressIdLong主键2subCQuotaProgressSubCQuotaProgress分包工程定额子目报量3subCPmmContentSubCPmmContent分包工程人机材含量4employeeEmployee施工人员(报量人员)5unitString单位6pricedouble单价7currentProjectAmountdouble本期工程量8currentProjectTotalAmountDouble本期累计工程量51 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现9priorProjectTotalAmountDouble上期累计工程量10budgetProjectTotalAmountDouble预算累计工程量11typeString类型人、材、机4.5分包合同报量管理模块设计4.5.1功能设计施工员报量后,预算员新增一个分包报量单,然后选择施工员报量进行汇总。4.5.2领域类设计该部分涉及到的类主要是分包合同报量单(SubContractProgress)和分包合同分部分项报量(SubContractSegmentProgress)组成,其属性如下图4.5所示:图4.5分包合同报量管理模块类图从上图中可以看出分包合同报量管理主要由分包合同报量单和分包合同分部分项报量组成,一个分包合同报量单对应多个分包合同分部分项报量。分包合同报量涉及到类的字段信息如下表所示:51 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现表4.6分包报量单分包报量单(subContractProgress)字段编号字段名称字段类型中文名称约束关系备注1subContractProgressIdLong主键唯一2subContractProjectProgressCodeString编码3subContractProjectProgressNameString名称4subContractProgressSubContractProgress分包合同报量单5subCProjectSubCProject分包工程项目6managementItemManagementItem管理项目7currentPriceDouble本期合价8currentProjectAmountDouble本期工程量9currentProjectTotalAmountDouble本期累计工程量10priorProjectTotalAmountDouble上期累计工程量11currentLaborPriceDouble本期人工费合价12currentMaterialPriceDouble本期辅材费合价13currentMainMaterialPriceDouble本期主材费合价14currentMachinePriceDouble本期机械费合价15budgetLaborTotalPriceDouble预算人工费合价16budgetMaterialTotalPriceDouble预算辅材费合价17budgetMainMaterialTotalPriceDouble预算主材费合价18budgetMachineTotalPriceDouble预算机械费合价19budgetTotalPriceDouble预算合价20priorLaborTotalPriceDouble上期累计人工费21priorMaterialTotalPriceDouble上期累计材料费22priorMachineTotalPriceDouble上期累计机械费23priorTotalPriceDouble上期累计合价24currentLaborTotalPriceDouble本期累计人工费25Double本期累计辅材费51 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现currentMaterialTotalPrice26currentMainMaterialTotalPriceDouble本期累计主材费27currentMachineTotalPriceDouble本期累计机械费28currentTotalPriceDouble本期累计合价29subContractSegmentProgressesList分包合同工程分部分项报量表表4.7分包合同分部分项报量分包合同分部分项报量(SubContractSegmentProgress)字段编号字段名称字段类型中文名称约束关系备注1subContractSegmentProgressIdLong主键唯一2subContractSegmentProgressCodeString编码3subContractSegmentProgressNameString名称4subContractProjectProgressSubContractProjectProgress分包工程项目报量5subCSegmentSubCSegment分包工程分部分项6managementItemManagementItem管理项目7unitString单位(计算单位)8priceDouble单价9currentPriceDouble本期合价10currentProjectAmountDouble本期工程量11currentProjectTotalAmountDouble本期累计工程量12priorProjectTotalAmountDouble上期累计工程量13currentLaborPriceDouble本期人工费合价14currentMaterialPriceDouble本期辅材费合价15currentMainMaterialPriceDouble本期主材费合价16currentMachinePriceDouble本期机械费合价17budgetLaborTotalPriceDouble预算人工费合价18budgetMaterialTotalPriceDouble预算辅材费合价19budgetMainMaterialTotalPriceDouble预算主材费合价51 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现20budgetMachineTotalPriceDouble预算机械费合价21budgetTotalPriceDouble预算合价22priorLaborTotalPriceDouble上期累计人工费23priorMaterialTotalPriceDouble上期累计材料费24priorMachineTotalPriceDouble上期累计机械费25priorTotalPriceDouble上期累计合价26currentLaborTotalPriceDouble本期累计人工费27currentMaterialTotalPriceDouble本期累计辅材费28currentMainMaterialTotalPriceDouble本期累计主材费29currentMachineTotalPriceDouble本期累计机械费30currentTotalPriceDouble本期累计合价31subContractQuotaProgressesList分包工程定额子目报量表32parentSubContractSegmentProgress父亲33childrenList孩子4.6项目部报量管理模块设计4.6.1功能设计项目部报量是预算员分包合同报量之后,进行项目部报量。项目部报量需要选择已经审核的分包合同报量进行汇总,之后进行保存并提交审核。4.6.2领域类设计在项目部报量管理中涉及到的类主要是项目部报量单(ItemProgress)、项目部工程报量(ItemProjectProgress)、项目部定额报量(ItemQuotaProgress)、项目部分部分项报量(ItemSegmentProgress)和项目部人材机含量报量(ItemPmmContentProgress),各自的属性以及关联如下图4.6所示:51 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现图4.6项目部报量管理类图从上图中可以看出项目部报量管理由项目部报量单、项目部工程报量、项目部定额报量、项目部分部分项报量和项目部人材机含量报量组成。它们之间分关系为一个项目部报量单对应一个项目部工程报量,一个项目部工程报量对应多个个目部定额报量,一个目部定额报量对应多个项目部分部分项报量,一个项目部分部分项报量对应多个项目部人材机含量报量。采购入库管理涉及到的类的字段具体信息如下表所示:表4.8项目报量单项目部报量单(ItemProgress)字段编号字段名称字段类型中文名称约束关系备注1itemProgressIdLong主键2itemProjectProgressItemProjectProgress对外工程项目报量3currentPriceDouble本期合价4currentProjectAmountDouble本期工程量5currentProjectTotalAmountDouble本期累计工程量6priorProjectTotalAmountDouble上期累计工程量7currentLaborPriceDouble本期人工费合价51 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现8currentMaterialPriceDouble本期辅材费合价9currentMainMaterialPrice本期主材费合价10currentMachinePriceDouble本期机械费合价11budgetTotalPriceDouble折后合价12bugetLaborTotalPriceDouble折后人工费合价13budgetMaterialTotalPriceDouble折后辅材费合价14budgetMainMaterialTotalPriceDouble折后主材费合价15budgetMachineTotalPriceDouble折后机械费合价16priorLaborTotalPriceDouble上期累计人工费17priorMaterialTotalPriceDouble上期累计材料费18priorMachineTotalPriceDouble上期累计机械费19priorTotalPriceDouble上期累计合价20currentLaborTotalPriceDouble本期累计人工费21currentMaterialTotalPriceDouble本期累计辅材费22currentMainMaterialTotalPriceDouble本期累计主材费23currentMachineTotalPriceDouble本期累计机械费24currentTotalPriceDouble本期累计合价25organizationOrganization分公司25managementItemManagementItem管理项目26closingDateDate报量截止时间27reportDateDate报量时间28stateString状态表4.9项目部工程报量项目部工程报量(ItemProjectProgress)编号字段名称字段类型中文名称约束关系备注1itemProjectProgressIdLong主键2projectProject工程3currentPriceDouble本期合价4currentProjectAmountDouble本期工程量5currentProjectTotalAmountDouble本期累计工程量6priorProjectTotalAmountDouble上期累计工程量7currentLaborPriceDouble本期人工费合价8currentMaterialPriceDouble本期辅材费合价9本期主材费合价51 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现currentMainMaterialPrice10currentMachinePriceDouble本期机械费合价11budgetTotalPriceDouble折后合价12bugetLaborTotalPriceDouble折后人工费合价13budgetMaterialTotalPriceDouble折后辅材费合价14budgetMainMaterialTotalPriceDouble折后主材费合价15budgetMachineTotalPriceDouble折后机械费合价16priorLaborTotalPriceDouble上期累计人工费17priorMaterialTotalPriceDouble上期累计材料费18priorMachineTotalPriceDouble上期累计机械费19priorTotalPriceDouble上期累计合价20currentLaborTotalPriceDouble本期累计人工费21currentMaterialTotalPriceDouble本期累计辅材费22currentMainMaterialTotalPriceDouble本期累计主材费23currentMachineTotalPriceDouble本期累计机械费24currentTotalPriceDouble本期累计合价25managementItemManagementItem管理项目26itemSegmentProgressesList项目工程分部分项报量表4.10项目部定额报量项目部定额报量(ItemQuotaProgress)编号字段名称字段类型中文名称约束关系备注1itemQuotaProgressIdLong主键2itemQuotaProgressNameString名称3priceDouble单价4unitString单位5currentProjectAmountDouble本期工程量6currentProjectTotalAmountDouble本期累计工程量7priorProjectTotalAmountDouble上期累计工程量51 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现8currentLaborPriceDouble本期人工费合价9currentMaterialPriceDouble本期辅材费合价10currentMainMaterialPrice本期主材费合价11currentMachinePriceDouble本期机械费合价12currentPriceDouble本期合价13priorLaborTotalPriceDouble上期累计人工费14priorMaterialTotalPriceDouble上期累计材料费15priorMachineTotalPriceDouble上期累计机械费16priorTotalPriceDouble上期累计合价17currentLaborTotalPriceDouble本期累计人工费18currentMaterialTotalPriceDouble本期累计辅材费19currentMainMaterialTotalPriceDouble本期累计主材费20currentMachineTotalPriceDouble本期累计机械费21currentTotalPriceDouble本期累计合价22budgetLaborTotalPriceDouble预算人工费合价23budgetMaterialTotalPriceDouble预算辅材费合价24budgetMainMaterialTotalPriceDouble预算主材费合价25budgetMachineTotalPriceDouble预算机械费合价26budgetTotalPriceDouble预算合价27managementItemManagementItem管理项目28itemSegmentProgressesList项目工程分部分项报量表4.11项目部分部分项报量项目部分部分项报量(ItemSegmentProgress)编号字段名称字段类型中文名称约束关系备注1itemSegmentProgressIdLong主键唯一2itemSegmentProgressNameString名称3currentPriceDouble本期合价4currentProjectAmountDouble本期工程量5Double本期累计工程量51 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现currentProjectTotalAmount6priorProjectTotalAmountDouble上期累计工程量7currentLaborPriceDouble本期人工费合价8currentMaterialPriceDouble本期辅材费合价9currentMainMaterialPrice本期主材费合价10currentMachinePriceDouble本期机械费合价11budgetTotalPriceDouble折后合价12bugetLaborTotalPriceDouble折后人工费合价13budgetMaterialTotalPriceDouble折后辅材费合价14budgetMainMaterialTotalPriceDouble折后主材费合价15budgetMachineTotalPriceDouble折后机械费合价16priorLaborTotalPriceDouble上期累计人工费17priorMaterialTotalPriceDouble上期累计材料费18priorMachineTotalPriceDouble上期累计机械费19priorTotalPriceDouble上期累计合价20currentLaborTotalPriceDouble本期累计人工费21currentMaterialTotalPriceDouble本期累计辅材费22currentMainMaterialTotalPriceDouble本期累计主材费23currentMachineTotalPriceDouble本期累计机械费24currentTotalPriceDouble本期累计合价25managementItemManagementItem管理项目26itemSegmentProgressesList项目工程分部分项报量27segmentItemSegmentItem分部分项28itemQuotaProgressesList项目定额子目报量29itemProgressIdLong分包报量单Id30itemSegmentProgressCodeString编码31parentItemSegmentProgress父亲32childrenList孩子51 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现表4.12项目部人材机含量报量项目部人机材含量报量(ItemPmmContentProgress)字段编号字段名称字段类型中文名称约束关系备注1itemPmmContentProgressIdLong主键唯一2itemPmmContentProgressCodeString编码3itemPmmContentProgressNameString名称4managementItemManagementItem管理项目5itemQuotaProgressItemQuotaProgress项目定额子目报量6pmmContentPmmContent人机材含量7unitString单位8priceDouble单价9currentProjectAmountDouble本期工程量10currentProjectTotalAmountDouble本期累计工程量11priorProjectTotalAmountDouble上期累计工程量12budgetProjectTotalAmountDouble预算累计工程13typeString类型4.7材料支付管理模块设计4.7.1功能设计材料支付涉及到的步骤首先是由材设分公司财务科科长新增材料支付申请,填写完毕后材设分公司财务科科长将申请提交审核,审核通过后对采购合同进行支付。4.7.2领域类设计在材料支付管理中涉及到的类主要是材料支付申请(MaterialPaymentApply)、采购合同和支付凭证51 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现,各自的属性字段以及关联如下图4.7所示:图4.7材料支付管理类图从上图可以看出,材料支付管理主要是由材料支付申请、采购合同和支付凭证组成,一个采购合同对应多个材料支付申请,一个材料支付申请对应一个支付凭证。类的具体字段信息如下表所示:表4.13材料支付申请MaterialPaymentApply(材料支付申请)字段编号字段名称字段类型中文名称约束关系备注1materialPaymentApplyIdLong主键唯一2materialPaymentApplyCodeString编码唯一3materialPaymentApplyNameString名称4MaterialContractMaterialContract材料采购合同5runClauseRunClause材料采购合同条款6applyPriceDouble申请金额7auditPriceDouble审批金额8realPriceDouble实际支付金额9applyReasonString申请理由大文本10organizationOrganization分公司11managementItemManagementItem管理项目12supplierSupplier供应商13paymentVoucherPaymentVoucher支付凭证14stateString状态草稿、审核中、已审核、已支付51 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现15checkOptionString审批意见16checkResultString审批结果17emergencyStatusString紧急状态18isEffectString是否有效4.8分包支付管理模块设计4.8.1功能设计分包支付涉及到的步骤首先是由分公司财务科科长新增分包支付申请,填写完毕后分公司财务科科长将申请提交审核,审核通过后对分包合同进行支付。4.8.2领域类设计分包支付涉及到的类主要是分包支付申请(SubPaymentApply)、分包合同、以及支付凭证,各自的属性字段以及关联如下图4.8所示:图4.8分包支付管理模块类图从上图可以看出,分包支付管理主要是由分包支付申请、分包合同和支付凭证组成,一个分包合同对应多个分包支付申请,一个分包支付申请对应一个支付凭证。各自类的具体属性字段信息如下表所示:表4.14分包支付申请SubPaymentApply(分包支付申请)字段编号字段名称字段类型中文名称约束关系备注1subPaymentApplyIdLong主键唯一2subPaymentApplyCodeString编码唯一51 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现3subPaymentApplyNameString名称4subContractSubContract分包合同5runClauseRunClause分包合同条款6applyPriceDouble申请金额7auditPriceDouble审批金额8realPriceDouble实际支付金额9applyReasonString申请理由大文本10organizationOrganization分公司11managementItemManagementItem管理项目12supplierSupplier供应商13paymentVoucherPaymentVoucher支付凭证14stateString状态草稿、审核中、已审核、已支付15checkOptionString审批意见16checkResultString审批结果17emergencyStatusString紧急状态18isEffectString请假单是否有效4.9租赁支付管理模块设计4.9.1功能设计租赁支付涉及到的步骤首先是由分公司财务科科长新增租赁支付申请,填写完毕后分公司财务科科长将申请提交审核,审核通过后对租赁合同进行支付。4.9.2领域类设计租赁支付涉及到的类主要是租赁支付申请(LeasePaymentApply)、租赁合同、以及支付凭证,各自的属性字段以及之间的关联如下图4.9所示:51 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现图4.9租赁支付管理模块类图从上图可以看出,租赁支付管理主要是由租赁支付申请、租赁合同和支付凭证组成,一个租赁合同对应多个租赁支付申请,一个租赁支付申请对应一个支付凭证。各自类的具体属性字段信息如下表所示:表4.15租赁支付申请LeasePaymentApply(租赁支付申请)字段编号字段名称字段类型中文名称约束关系备注1leasePaymentApplyIdLong主键唯一2leasePaymentApplyCodeString编码唯一3leasePaymentApplyNameString名称4leaseContractLeaseContract设备租赁合同5runClauseRunClause设备租赁合同条款6applyPriceDouble申请金额7auditPriceDouble审批金额8realPriceDouble实际支付金额9applyReasonString申请理由大文本10organizationOrganization分公司11managementItemManagementItem管理项目12supplierSupplier供应商13paymentVoucherPaymentVoucher支付凭证14stateString状态草稿、审核中、已审核、已支付15checkOptionString审批意见16checkResultString审批结果51 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现17emergencyStatusString紧急状态18isEffectString请假单是否有效4.10记账管理模块设计4.10.1功能设计项目经理对项目进行记账管理,主要有记账的新增、删除、修改和查看功能。4.10.2领域类设计记账管理管理中涉及到的类主要有记帐(Accounting)和管理项目,他们各自的字段属性以及相互之间的关联如下图4.10所示:图4.10记账管理模块类图从上图中可以看出,记账管理模块由材记账和管理项目。它们之间的关联是一个管理项目对应多个记账。各自类的具体属性字段信息如下表所示:表4.16记账Accounting(记帐)字段编号字段名称字段类型中文名称约束关系备注1accountingIdLong主键唯一2accountingCodeString编码唯一3abstractString摘要51 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现4costCategoryCostCategory费用类别5amountDouble金额6generateDateDate记帐时间7costTypeCodeTableString费用分类收入、支出8managementItemManagementItem管理项目9accountingTypeString记帐类别录入、自动生成10businessIdentifierString业务标示业务标示格式自定,能做逆向操作11projectCostListDetailProjectCostListDetail项目费用计划明细12isAccountedBoolean是否已记账13isSummedBoolean是否已汇总4.11项目费用月结模块设计4.11.1功能设计项目费用月结模块主要对项目的本月的费用进行结算。4.11.2领域类设计项目费用月结模块主要由项目发生费用清单(ProjectCostList)以及项目费用清单明细(ProjectCostListDetail)组成,各自字段属性以及之间的联系如下图4.11所示:图4.11项目费用月结模块类图从上图可知项目费用月结模块是由项目发生费用清单和项目发生费用清单明细组成,一个项目发生费用清单对应多个项目发生费用清单明细51 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现。各自类具体属性字段信息如下表所示:表4.17实际发生费用清单ProjectCostList(项目发生费用清单)字段编号字段名称字段类型中文名称约束关系备注1ProjectCostListIdLong主键唯一主键2projectCostListCodeString编码唯一3managementItemManagementItem管理项目4costRemarkString费用说明5projectCostListDetailList项目费用清单明细6startDateDate开始时间7endDateDate结束时间8statecodeTableString状态草稿已确认9projectCostListMonthString费用月份表4.18项目费用清单明细ProjectCostListDetail(项目费用清单明细)字段编号字段名称字段类型中文名称约束关系备注1projectCostListDetailIdLong主键唯一主键2projectCostListProjectCostList项目费用清单3costRemarkString费用说明4costAmountDouble费用金额5employeeEmployee费用填报人6costTypeString费用类型7costCategoryCostCategory费用类别8accountingsList记账9isAudittedBoolean是否已审核4.12本章小结51 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现本章主要是详细介绍了收支管理子系统框架的设计,首先介绍了系统的总体架构其中包括技术架构和功能架构,这两部分是密不可分的2个架构,只有这两个架构同时存在才能构成整个框架的架构。然后分别对每个模块做了详细的设计51 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现5系统实现5.1系统实现总体概述5.1.1实现理念代码风格是编码的一个重要方面,它直接影响代码的质量和阅读性。收支管理子系统在编码实现的过程中采用统一模板编程。尽量统一代码的风格。同时代码的实现的过程中尽量采用健壮灵活的编码方式。使用面向对象的方式进行编程。5.1.2软件环境Java开发环境:MyEclipse9.0、JDK1.6Flex开发环境:FlsshBuilder4.5、SDK4.5数据库:Oracle11g5.1.3代码层次l后台服务代码层次后台代码分为四层:数据模型层、数据库访问DAO层、业务服务层、界面服务层。数据模型层负责实体的定义、数据访问DAO层服务数据的持久化操作、业务服务层负责业务逻辑处理、界面服务层负责界面数据显示与处理。l前台代码层次前台代码分为三层:数据模型层、界面显示层、服务接口层。数据模型层负责将前台数据实体与后台实体进行映射。界面显示层负责界面数据显示和部分业务处理。服务接口层负责调用后台相应的业务服务。5.2施工员报量管理模块的实现66 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现施工员报量管理是先由施工员填写施工员报量单,然后由施工员将填写好的报量单提交到项审核流程进行审核。施工员报量界面中主要功能有报量单的起草、编辑、删除、提交以及对不同审核状态的计划进行查看。界面如下图5.1所示:图5.1施工员报量主界面从上图中可以看出,施工员报量主界面中对不同审核状态的需用计划进行了分页显示,这样使得数据的显示更加清晰,从而使得用户对施工员报量的查看更加方便。只有在起草页面可以新增和删除施工员报量,而在其他页面中只能够对施工员报量进行查看。5.3分包报量管理模块的实现分包合同报量的流程是,预算员将施工员提交的施工员报量进行汇总生成分包合同报量,然后手动提交审核。这里涉及到的主要界面是分包报量界面,如下图5.2所示:图5.2分包报量界面66 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现从上图中可以看出,分包报量可以查看施工员报量的情况,根据施工员报量来进行分包报量的操作分包报量界面可以对分包报量进行起草、修改、查看和删除的操作。5.3项目部报量管理模块的实现项目部报量的流程是,预算员将提交的分包合同报量进行汇总生成项目部报量,然后手动提交审核。这里涉及到的主要界面是项目部报量界面。涉及到的界面如下图5.3所示:图5.3项目部报量主界面从上图中可以看出,主界面中有分包报量的查看页面,可以对分包合同报量进行查看。根据分包报量的情况进行项目部报量。项目部报量界面可以自动生成本月的项目报量单,也可以手动的起草项目报量单,并且有查看、修改和删除功能。5.4材料支付管理模块的实现材料支付是先由材设分公司财务科科长填写材料支付申请,然后分公司财务科科长提交材料支付申请。然后公司对采购合同进行支付工作。主要界面如下图5.4所示:66 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现图5.4材料支付申请界面从上图中可以看出,材料支付申请界面分为采购合同、起草、审核中、审核通过、审核未通过和全部页面。在采购合同页面和起草页面中能够新增材料支付申请。在起草页面可以编辑、删除和查看材料支付申请;在已提交页面中只能查看审核中的材料支付申请;在审核通过页面和审核未通过页面可以查看已审核的材料支付申请;而在全部页面中可以查看所有的材料支付申请。5.5分包支付管理模块的实现分包支付是先由分公司财务科科长填写分包支付申请,然后分公司财务科科长提交分包支付申请。然后公司对分包合同进行支付工作,分包支付管理界面如下图5.5所示:图5.5分包支付申请主界面66 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现从上图中可以看出,分包支付申请界面分为采购合同、起草、审核中、审核通过、审核未通过和全部页面。在分包合同页面和起草页面中能够新增分包支付申请。在起草页面可以编辑、删除和查看分包支付申请;在已提交页面中只能查看审核中的分包支付申请;在审核通过页面和审核未通过页面可以查看已审核的分包支付申请;而在全部页面中可以查看所有的分包支付申请。5.6租赁支付管理模块的实现租赁支付是先由分公司财务科科长填写租赁支付申请,然后分公司财务科科长提交租赁支付申请。然后公司对租赁合同进行支付工作。设计到的界面主要如下图5.6所示:图5.6租赁支付管理主界面从上图中可以看出,分包支付申请界面分为租赁合同、起草、审核中、审核通过、审核未通过和全部页面。在分包合同页面和起草页面中能够新增租赁支付申请。在起草页面可以编辑、删除和查看租赁支付申请;在已提交页面中只能查看审核中的租赁支付申请;在审核通过页面和审核未通过页面可以查看已审核的租赁支付申请;而在全部页面中可以查看所有的租赁支付申请。5.7记账管理模块的实现66 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现记账管理是由项目部经理对实施中的项目进行记账操作,记账的内容可以生成项目费用月结清单,记账管理界面如下图5.7和5.8所示:图5.7记账管理主界面从上图中可以看出,记账管理主界面是由未汇总、已汇总和全部三个子页面组成。在未汇总页面中可以新增、编辑、删除和查看记账;在已汇总子页面中只能查看已经汇总的记账;而在全部子页面中可以查看所有的记账。图5.8新增/编辑记账界面从上图中可以看出,记账中的编码、费用了类别是必填项,当然材料金额也是必填项,如果金额不填,那么该记账就没有存在的意义。66 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现5.8项目费用月结管理模块的实现项目费用月结是由项目经理每个月进行的项目没有月结操作,结算后会汇入项目费用总表中,方便查看整个项目的运行情况。界面入图5.9所示:图5-.9项目费用月结界面从上图可以看出项目费用月结只有一个界面,可以进行新增、修改、查看和删除操作。项目费用月结的新增和修改界面入图5.10所示:图5.11新增/编辑项目费用月结清单界面从上图可以看出项目费用月结清单中表面和费用月份,开始时间和结束时间都是自动生成的,当然可以修改但是是必填项。填好基本信息之后需要先保存项目费用月结清单,然后加载记账信息。完成本月的项目费油月结。66 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现5.9本章小结本章开篇介绍了该系统的实现环境以及代码的分层结构,然后依次详细描述了该系统中的核心业务功能,还有其他的功能要等到实际操作是才会用到,并且该系统的所有功能都需要在应用过程中进行优化。66 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现6系统测试6.1测试项目6.1.1测试项目背景本次测试的目的是测试收支管理子系统中的施工员报量管理和分包合同支付管理。6.1.2测试要点l被测特性:对系统进行功能性测试l不测特性:1)源代码,逻辑等。2)模块的接口,模块的错误处理,模块的局部数据结构,模块在执行时执行流的独立路径,模块再处理边界值时的情形。6.1.3测试内容对被测软件进行系统级别的测试,针对软件的功能需求进行功能测试,验证此软件是否实现了需求分析中所定义的功能,是否正确实现了此功能。测试内容即测试需求,主要为功能测试。6.2测试范围收支管理子系统中的施工员报量管理模块、分包支付管理模块和项目费用月结管理模块,其关键点在于报量和支付的数据准确无误控制。66 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现6.3测试用例6.3.1施工员报量功能性测试施工员报量会为分包报量提供数据基础,为了确定施工员报量能否正确地为分包报量提供准确无误的数据而进行了功能测试,具体测试用例如下表6.1所示:表6.1施工员报量测试用例测试用例编号100001版本号V1.0测试环境CCM系统施工员报量主界面用例名称施工员报量测试用例前提条件网络正常、CCM服务器已经启动、施工员工作量达到报量条件测试步骤1.新增施工员报量单,选择分包合同,填写报量时间段。2.保存施工员报量单,填报量内容,计算汇总。3.提交审核。输入数据报量时间预期输出能够正确计算汇总施工员填写时间段的报量内容。实际输出同预期输出相同问题描述无设计人倪涛设计日期2014-5-10测试人倪涛测试日期2014-5-11再测试人再测试日期问题修改摘要修改人修改日期6.3.2分包支付功能性测试66 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现分包支付关联这分包合同和支付凭证,在新增分包支付后会修改分包合同中的应付款和已付款,同时也会新增支付凭证。为了测试在新增分包支付后分包合同中的应付款和已付款能否相应的改变,支付凭证是否正确生成而进行了功能测试,测试用例如下表6.2所示:表6.2分包支付测试用例测试用例编号100002版本号V1.0测试环境CCM系统分包支付主界面用例名称分包支付测试用例前提条件网络正常、CCM服务器已经启动、完成了指定的分包内容。测试步骤1.新增分包支付,选择分包合同,填写支付金额。2.保存提交审核。输入数据支付金额预期输出能够正确计算汇总支付总额实际输出同预期输出相同问题描述无设计人倪涛设计日期2014-5-10测试人倪涛测试日期2014-5-11再测试人再测试日期问题修改摘要修改人修改日期6.3.3项目费用月结功能性测试项目费用月结关联着项目的记账信息。项目费用月结之后,记账信息会标记为已结算状态。项目费用总表中会呈现月结之后的费用情况。为保证月结之后的费用能正确的呈现而进行了功能性测试,测试用例如下表6.3所示:表6.3项目费用月结测试用例测试用例编号100003版本号V1.0测试环境CCM系统项目费用月结清单主界面用例名称项目费用月结测试用例前提条件网络正常、CCM服务器已经启动、记账信息已存在。测试步骤1.新增项目费用月结清单,保存清单。66 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现1.加载记账信息,提交审核。输入数据记账信息预期输出能够正确计算汇总记账总额。实际输出同预期输出相同问题描述无设计人倪涛设计日期2014-5-10测试人倪涛测试日期2014-5-11再测试人再测试日期问题修改摘要修改人修改日期66 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现7结束语7.1本文工作总结本文针对成本控制管理的一些问题提出了收支管理系统,并对该系统做了一系列的介绍和说明,从设计理念和关键技术开始,详细介绍了需求分析、系统设计、系统实现以及系统测试等关键过程。本文主要体现在一下几个封面的介绍:l分析了成本控制管理的常见问题,说明了开发收支管理系统的原因和使用收支管理系统带来的方便性和适用性。并因此介绍了收支管理系统的设计理念和所用到的一些关键技术。l通过对收支管理系统需求的分析,得出了收支管理系统的所需的基本功能需求,通过这些需求,明确划分了各个功能模块。l通过对所有技术的了解和学习,再加上需求分析,得到了收支管理系统的总体架构,通过对技术总体架构的分析使得对各个模块有了详细的设计。l通过设计和需求分析,得出了收支管理系统的实现过程,并详细介绍了各个功能模块的实现过程。l最后通过一些测试用例对该系统的关键功能模块进行了功能性测试。本文所介绍的材料管理系统采用了纯面向对象的思想来实现功能,通过对问题的分时和功能的理解最终实现了该系统的系统功能,而且能在实际应用中使用本系统。7.2进一步的研究课题及展望在开发才来哦管理系统的过程中,由于各种原因使得收支管理很多功能没有完善,这些功能都是在以后的开发过程中需要完善处理的,下一步的核心工作就是优化收支管理系统中的内容和完成未完成的其他的功能。66 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现致谢在本系统的开发过程中,我遇到了很多的难关和问题。其中,有技术方面的问题,还有生活方面的问题。但是在老师同学和家人的帮助下都一一解决了这些问题,客服了重重的难关,使我顺利地完成了毕业设计。首先,我要感谢我的导师对我的尽心帮助。导师在软件开发方面有着丰富的理论基础和实战经验,在他们的领导下,我不仅在技术上获得了很多帮助,也在生活上得到了很多帮助,使我能力有很大的提高。在这里特别要感谢徐传运老师对我的栽培和支持,在本系统的开发过程中曾多次遇到瓶颈,是徐老师的细心教导和帮助才使得本系统能顺利完成,不仅如此,还使得我学到了很多软件开发中的知识。其次,我还要深深地感谢我的同学们。在技术上和精神上他们都给予了我极大的支持和帮助,使我才能更有效率的完成毕业设计。然后,我要感谢我的父母。虽然毕业设计是我在学校的事情,在技术上,他们也帮不上什么忙。但是,他们仍然在背后默默地支持着我,在以后的工作或是学习中我会报答他们。最后,感谢在百忙之中评阅论文和参加答辩的各位老师。66 重庆理工大学论文安装项目成本管理系统——收支管理子系统的设计与实现参考文献[1]李庆等.我的Flex我精通—RIA高级开发指南.2009年北京电子工业出版社[2]莫勇等.深入浅出设计模式(C#/Java版).2006年北京清华大学出版社[3]《Flex4权威指南》MichaelLabriola,JeffTapper,MatthewBoles著,张翠芬,杨博,杜昱宏译,人民邮电出版社,2011.6[4]程洪等.基于J2EE体系的Web应用框架整合.计算机工程.2005(20)[5]吕海东等.基于Flex和BlazeDS推技术实现WEB方式实时监控系统.自动化技术与应用.2010(01)[6]李锦春.WebSoftwareDevelopmentFrameworkResearchandPractice.武汉大学.2004年9月[7]BruceEckel.ThinkinginJava[M].PrenticeHall:4thRevisededition,2006:256-366.[8]CayS.Horstmann,GaryCornell.CoreJava,VolumeI:AdvancedFeatures,2008:125-234.[9]ElvisC.Foster.SoftwareEngineering:AMethodicalApproach,XlibrisCorporation,2012:100-234.[10]毛澄映.面向对象程序分析与测试技术研究[D].华中科技大学.2006年[11]刘剑.面向服务体系结构的服务重组关键技术研究[D].华中科技大学.2006年[12]郭晓峰.基于.NET的Web应用框架的设计与实现[D].解放军信息工程大学.2007年[13]梁培明.基于构件的软件框架研究与实现[D].大连理工大学.2007年[14]张志超.基于FLEX1.5应用程序的安全性[D].浙江大学.2007年[15]尹金发.基于Flex和J2EE技术的RIA系统的设计与实现[D].西南交通大学.2008年[16]尹贻林《工程造价计价与控制》[M],中国计划出版社2008.4[17]李锋,杨萍.施工企业成本控制方法研究和存在的问题.四川建筑,2006. [18]高伟.装饰工程项目成本控制初探.河北建筑科技学院学报,2003.66'