1、重庆理工大学毕业论文 成本管理系统-施工图预算管理子系统的设计与实现编号 毕业设计(论文)题目 安装项目成本管理系统-施工图预算管理子系统的设计与实现二级学院 计算机科学与工程 专 业 软 件 工 程 班 级 学生姓名 学号 指导教师 评阅教师 时 间 重庆理工大学毕业论文 成本管理系统-施工图预算管理子系统的设计与实现I摘要成本管理系统(CCM)是利用先进的计算机信息技术和网络技术,实现施工企业对项目的全过程成本监控管理,指导项目部在责任成本费额之内完成项目施工任务。全套源程序代码加 153893706施工图预算管理子系统是成本管理系统的基础子系统,该系统实现了对项目、项目人员等基础信息的管
2、理,同时实现了从预算软件与成本管理系统的对接,对预算基础数据进行基本管理,如计算项目金额,项目费用等,对项目的后期其它业务处理提供数据支撑。本文对比国内外成本管理系统的发展状况并结合安装集团的实际需求,通过详细的需求分析,决定采用 B/S 架构,使用当前成熟稳定的 RIA 作为技术支撑。并使用 SHF 框架进行系统开发,实现了以对项目、人员、预算等管理的自动化系统。系统具有一下特点:1) 具有独一无二的预算软件与管理系统的结合2) 系统安装简单、灵活,无需任何客户端。3) 预算基础数据统一管理、及时共享。4) 系统提供较强的计算功能,减轻了项目管理人员的工作。通过近半年的分析与实现,该成本系统
3、已经成功交付与某安装集团使用,使该集团的管理人员以及施工人员能更好的观察整个项目运行状况。极大的提高了项目的管理水平,降低了项目的成本。关键字:成本管理系统,预算管理,flex,BlazeDS 重庆理工大学毕业论文 成本管理系统-施工图预算管理子系统的设计与实现IIAbstractThe cost management system (CCM) is the use of advanced computer information technology and network technology, realize the whole process of cost control manag
4、ement of construction enterprises of the project, to guide the project department to complete the project construction task within the responsibility cost amount.The construction drawing budget management system is the basic system of cost management system, the system of project, project personnel
5、and other basic information management, at the same time to realize the butt joint from the budget and cost management system, the basic management of budget data, such as the calculating amount of the project, project expenses, late stage of the project other business and provide data support.The d
6、evelopment status of the domestic cost management system and combined with the actual needs of installation group, through the detailed needs analysis, decided to adopt the B/S architecture, using the current mature and stable RIA as technical support. And to develop the system using SHF framework,
7、in order to realize the automation system for the project, personnel, budget management. The system has the characteristics of:1) combined with budget software and management system of the one and only2) system installation is simple, flexible, without any client.3) budget base data management, time
8、ly sharing.4) system provides strong function reduces the calculation, project management staff.重庆理工大学毕业论文 成本管理系统-施工图预算管理子系统的设计与实现IIIThrough the analysis of nearly half a year and implementation, the system cost has been successfully delivered and an installation group, the management personnel of t
9、he group operation condition and construction personnel can better observe the whole project. Greatly improve the level of project management, reduces the cost of the project.Keywords: Cost management systems, budget management,flex,BlazeDS目录摘要 IAbstract.II目录 III1 绪论 31.1 选题背景 .31.1.1 目的 .31.1.2 背景
10、.31.2 现状分析 .31.2.1 存在的问题 .41.2.2 问题的成因 .41.2.3 解决方案 .41.3 本章小结 .42 关键技术概述 62.1 B/S 架构 62.2 Flex 框架 62.2 BlazeDS 框架 72.3 Spring 框架 92.4 Hibernate 框架 92.5 设计模式 102.7 本章小结 153 系统需求分析 163.1 需求概述 .163.2 基础数据管理 .183.2.1 需求描述 .183.2.2 用例描述 .19重庆理工大学毕业论文 成本管理系统-施工图预算管理子系统的设计与实现IV3.3 经营管理 .203.3.1 需求描述 .203.
11、3.2 用例描述 .213.4 施工图预算管理 .213.4.1 需求描述 .213.4.2 业务流程 .223.4.3 用例描述 .243.5 项目管理 .253.5.1 需求描述 .253.5.2 用例描述 .263.6 施工内容管理 .26重庆理工大学毕业论文 成本管理系统-施工图预算管理子系统的设计与实现13.6.1 需求描述 .263.6.2 用例描述 .273.7 施工材料对照管理 .283.7.1 需求描述 .283.7.2 用例描述 .293.8 本章小结 .294 系统设计 304.1 总体架构 304.1.1 设计理念 .304.1.2 总体描述 .314.2 基础数据的设
12、计 314.2.1 功能设计 .311.2.2 类设计 .324.3 经营管理的设计 334.3.1 功能设计 .334.3.2 类设计 .334.4 施工图预算管理的设计 354.4.1 功能设计 .354.4.2 类设计 .354.5 项目管理的设计 394.5.1 功能设计 .394.5.2 类设计 .394.6 施工内容管理的设计 414.6.1 功能设计 .414.6.2 类设设计 .414.7 施工材料对照管理的设计 444.7.1 功能设计 .444.7.2 类设计 .444.8 本章小结 .465 系统实现 475.1 系统总体概述 475.1.1 基础数据 .475.1.2
13、软件环境 .475.1.3 代码结构 .475.2 基础数据的实现 475.3 经营管理的实现 485.4 施工图预算管理的实现 495.5 项目管理的实现 535.6 施工内容管理的实现 545.7 施工材料对照管理的实现 555.8 本章小结 56重庆理工大学毕业论文 成本管理系统-施工图预算管理子系统的设计与实现26 系统测试 576.1 系统测试总体概述 576.2 测试与分析 576.3 本章小结 607 总结 61致 谢 62参考文献 63重庆理工大学毕业论文 成本管理系统-施工图预算管理子系统的设计与实现31 绪论1.1 选题背景1.1.1 目的成本管理系统开发的主要目的是利用先
14、进的计算机信息技术和网络技术,实现施工企业对项目的全过程成本监控管理,指导项目部在责任成本费额之内完成项目施工任务。建立以施工总公司、分公司和项目部门的计算机网络系统,实现工程项目成本网络化管理,实现不同级别的用户有不同的权限对工程成本信息的查询、统计和管理工作,真正实现对费用的有效控制,最大限度地降低工程成本费用,从而全面提高企业的综合经济效益。建立以工程项目为中心的工程项目成本统一数据库,确保工程项目成本信息的一致性、准确性、可靠性和可维护性,实现信息共享。为各部门、各层次业务管理人员提供方便的数据输入、汇总统计、报表生成及数据库维护等日常信息处理。1.1.2 背景成本管理系统(CST-C
15、ost Managerment System)专门处理采用计划成本核算的材料成本,计划成本法的物料通过该系统录入计划价调价单,以调整计划单价。可查询、修改、审核计划调价单,并查询计划成本法物料的历史计划价格。 成本管理信息化需要建立奖惩机制,更需要执行监督。针对于施工单位的施工员在施工操作过程中,对材料的领用与申请没有规定跟约束,为了方便管理和限制施工员无限制的领用材料,以达到控制成本的目的。1.2 现状分析现代企业管理成本的内容不仅仅是孤立地降低成本,而应该是包括财务成本管理、生产成本管理和组织成本管理在内的一种全面的成本管理。在国外,中小企业成本管理的研究主要集中在如何提高成本管理信息有用
16、性和如何利用先进的计算机技术拓展成本管理功能,提高成本管理效率等方面。重庆理工大学毕业论文 成本管理系统-施工图预算管理子系统的设计与实现4在我国,对中小企业成本管理方面的研究也取得一定的成果。许多学者结合西方管理会计出现的新思维、新方法对中国的企业成本管理现状进行分析对比,深入探讨了由于环境的变革而应采取的对策。1.2.1 存在的问题我国企业的成本管理几乎还只限于对产品生产过程进行计划、核算和分析,而没有拓展到技术领域和流通领域,缺乏对产品生产价值链的成本核算与分析。1) 企业成本管理偏离重心,未能真正考虑到企业是成本管理的主题。成本管理是企业经营管理的一个重要组成部分。2) 企业成本管理缺
17、乏市场观念,成本是一个企业生产经营效率的综合体现,是企业内部投入和产出的对比关系。3) 过分依赖现有的成本会计系统,成本信息的严重扭曲,不能满足企业实行全面成本管理的需要在现代化的制造环境下,直接人工成本比例大大下降,制造费所占比例大幅度上升,继续使用传统的成本计算方法会产生不合理现象。1.2.2 问题的成因1) 不健全的市场经济秩序和不公平的市场竞争,削弱了企业加强成本管理的外在压力和内在积极性在大部分企业进入市场经济轨道。2) 宏观成本管理体质不完善,检测不力,影响了企业简历健全内部成本管理体制的主动性在变国家对企业直接管理为简介管理的过程中,宏观成本监测、控制只能明显弱化。3) 市场观念
18、不强,缺乏成本竞争意识,适应环境的能力较差企业在生产效率水平、工作质量水平、企业素质水平特别是经营决策水平等方面,明显缺乏成本竞争意识,不适应成本竞争的需求。1.2.3 解决方案 1) 树立成本管理的系统观念。2) 引入先进的现代企业成本核算和管理办法3) 采取措施保证成本信息真实、有效4) 健全成本管理专业队伍,完善激励约束机制重庆理工大学毕业论文 成本管理系统-施工图预算管理子系统的设计与实现55) 以技术创新促进成本管理,获得长期成本竞争优势1.3 本章小结本章讨论了成本管理系统(CCM)的开发背景、意义和现状,分析了成本管理系统存在的问题,并提出了新的解决方案。重庆理工大学毕业论文 成
19、本管理系统-施工图预算管理子系统的设计与实现62 关键技术概述本节主要介绍了成本管理系统所用到的一些核心的技术,其中包括Spring、Hibernate、Flex、BlazeDS 的简介。2.1 B/S 架构B/S(Browser/Server,浏览器/服务器)模式又称 B/S 结构。它是随着Internet 技术 的兴起,对 C/S 模式应用的扩展。在这种结构下,用户工作界面是通过 IE 浏览器 或其他浏览器来实现的。其结构如图 2-1 所示。图 2-1 B/S 架构图从图 2-1 可以看出,B/S 最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件,只要有一台能上网的电脑就能使用
20、,客户端零安装、零维护。系统的扩展非常容易。这种架构对开发 B/S 系统的工程师来讲,维护和升级方式更为简单。当前,软件系统的改进和升级越发频繁, B/S 架构的产品明显体现着更为方便的特性。成本降低,选择更多,在开发过程中,是以浏览器为标准,但在服务器操作系统上 windows 并不是处于绝对的统治地位,开发商可以有更多的选择服务器操作系统,但这也相应的增加了应用服务器运行数据负荷。2.2 Flex 框架Flex 是一个高效、免费的开源框架,可用于构建具有表现力的 Web 应用程序,这些应用程序利用 Adobe Flash Player 和 Adobe AIR, 可以实现跨浏览重庆理工大学毕
21、业论文 成本管理系统-施工图预算管理子系统的设计与实现7器、桌面和操作系统。虽然只能使用 Flex 框架构建 Flex 应用程序,但 Adobe Flash Builder 软件可以通过智能编码、交互式遍历调试以及可视设计用户界面布局等功能加快开发。Flex 最初是作为一个 J2EE(Java 2 Platform, Enterprise Edition)应用,或者可以说是 JSP 标签库而发布的。它可以把运行中的 MXML 和 ActionScript 编译成 FLASH 应用程序(即二进制的 SWF 文件) 。最新版的 FLEX 支持创建静态文件,该文件使用解释编译方式并且不需要购买服务器
22、许可证就可以在线部署。Flex 的目标是让程序员更快更简单地开发 RIA 应用。在多层式开发模型中,Flex 应用属于表现层。Flex 采用 GUI 界面开发,使用基于 XML 的 MXML 语言。Flex 具有多种组件,可实现 Web Services,远程对象, drag and drop,列排序,图表等功能;FLEX 内建动画效果和其它简单互动界面等。相对于基于 HTML 的应用(如PHP、ASP、JSP、ColdFusion 及 CFMX 等)在每个请求时都需要执行服务器端的模板,由于客户端只需要载入一次,FLEX 应用程序的工作流被大大改善。FLEX 的语言和文件结构也试图把应用程序
23、的逻辑从设计中分离出来。Flex 支持 3 中通信方式,httpServic、webService、remoteService,在 CCM系统里用的是 remoteService 这种通信方式。在这里 spring 的作用主要是起到容器的作用,用来实例化对象;hibernate 的作用还是负责持久化对象,这里还结合了一些 API 的相关的知识,但是主要的目的还是为了更方便的处理持久化。BlazeDS 的主要作用是为了处理通信,是和 flex 的 remoteService 这种通信方式打交道,flex 就是处理前台界面和相关的简单的逻辑。2.2 BlazeDS 框架BlazeDS 是一个基于服
24、务器的 Java 远程控制 (remoting) 和 Web 消息传递 (messaging) 技术,以 LGPL(Lesser GNU Public License)公共许可证书发布。它能够使得后端的 Java 应用程序和运行在浏览器上的 Adobe Flex 应用程序相互通信。在 Java 应用服务器上,它以 servlet 的形式存在, 因此可以在任何标准 Java 网络应用中运用它,其结构图如下图 2-4 所示,由图可见 BlazeDS在 web server 服务中所出的位置和工作机制。 重庆理工大学毕业论文 成本管理系统-施工图预算管理子系统的设计与实现8图 2-4 BlazeDS
25、 结构图无论是哪种服务端技术都能够很轻松地应用 XML,因为 XML 完全是一个基于文本的协议。像 XML 这样基于文本的协议的缺点是额外的数据抽象层的编写与维护工作相对很沉重。此外,如果数据需要序列化和反序列化,那么这个数据抽象层在客户端和服务器端都会占用很多资源。 Flash Player 可以支持另外一种传输协议,这个协议能够缓解由基于文本的协议导致的传输瓶颈问题,能够帮助开发者以更简单的方式与服务器交互。这就是 AMF(Action Message Format)。它是一个二进制格式的协议,能够替代用于传输 XML 的基于文本的协议而在 HTTP 协议之上交换数据。采用 AMF 的应用
26、中,数据抽象层完全可以省去,客户与服务器间的通讯效率比传统的应用基于文本的协议传输要高得多。 BlazeDS 中包含了 AMF 的 Java 实现,可以用来与服务器端的 Java 对象远程交互,也可以用来在客户端之间传递消息。开发人员可以借助 BlazeDS 的远程技术简单地调用 POJO、Spring 服务或 EJB 方法。开发人员可以通过其消息系统从客户端向服务器端发送消息,当然也可从服务器端向客户端发送消息。 BlazeDS 也可以与其他一些消息系统结合使用,比如 JMS、ActiveMQ。由于其远程技术与消息系统采用的方式是在 HTTP 协议上传输 AMF 数据,BlazeDS 因此在
27、性能上拥有很大优势,同时也避免了额外的数据抽象层的处理工作。BlazeDS 在很多基于 Java 的应用服务器环境下都能正常工作,这些服务器包括 Tomcat、WebSphere 、WebLogic 、JBoss 以及 ColdFusion。此外,无论是 web(在 Flash Player 中运行)还是桌面(在 Adobe AIR 下运行)的 Flex 应用程序中,BlazeDS 的使用都很简单。 重庆理工大学毕业论文 成本管理系统-施工图预算管理子系统的设计与实现9简单来说 BlazeDS 是一个基于服务器的 Java 远程调用和 Web 消息传递技术,它能够让后台的 Java 应用程序和
28、运行在浏览器上的 Flex 应用程序相互通信。BlazeDS 是 Adobe 的一个开源项目,里面提供了 Java 封装 AMF3 格式的方法。2.3 Spring 框架Spring 是一个开源框架。它是为了解决企业应用开发的复杂性而由 Rod Johnson 创建的。 Spring 使用基本的 JavaBean 来完成以前只可能由 EJB 完成的事情。然而,Spring 的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何 Java 应用都可以从 Spring 中受益。简单说来,Spring有如下特点:轻量从大小与开销两方面而言 Spring 都是轻量的。控制反转Spri
29、ng 通过一种称作控制反转(IoC)的技术促进了松耦合。面向切面Spring 提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务进行内聚性的开发。容器Spring 包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个 bean 如何被创建。框架Spring 可以将简单的组件配置、组合成为复杂的应用。Spring 的好处:1. 提供了一种管理对象的方法,可以把中间层对象有效地组织起来。一个完美的框架“ 黏合剂” 。2. 采用了分层结构,可以增量引入到项目中。3. 有利于面向接口编程习惯的养成。4. 目的之一是为了写出易于测试的代码。5. 非侵入性,应
30、用程序对 Spring API 的依赖可以减至最小限度。6. 一致的数据访问介面。7. 一个轻量级的架构解决方案。Spring 是由 IOC 容器和 AOP 这两个核心模块组成,其中 IOC 容器的两个重要的实现 BeanFactory 和 ApplicaitonContext2.4 Hibernate 框架重庆理工大学毕业论文 成本管理系统-施工图预算管理子系统的设计与实现10Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了非常轻量级的对象封装,使得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate 可以应用在任何使用 JDBC
31、的场合,既可以在 Java 的客户端程序使用,也可以在 Servlet/JSP 的 Web 应用中使用,最具革命意义的是,Hibernate 可以在应用 EJB 的 J2EE 架构中取代 CMP,完成数据持久化的重任。Hibernate 也是目前 Java 开发中最为流行的数据库持久层框架,现已归 JBOSS所有。Hibernate 实际上也是一个中间件,主要是提供数据库服务,结构图如图2-3 所示:图 2-3 Hibernate 结构图由上图可以看出 Hibernate 的基本架构,其中主要是通过 xml 的配置来具体实现 Hibernate 的一些相关功能,由图 2-2 可以看出 Hibe
32、rnate 是数据库和应用程序之间的一个中间层,既然是中间层就有着承上启下的作用,从应用程序中的实体对象到数据库表结构、从数据库表结构到实体对象的处理都由hibernate 完成。在 Hibernate 里,有五个核心接口,他们分别是:Session(负责执行被持久化对象的 CRUD 操作)、SessionFactory( 负责初始化 Hibernate)、Transaction( 一个可选的 API,可以选择不使用这个接口,取而代之的是 Hibernate 的设计者自己写的底层事务处理代码)、Query( 对数据库及持久对象进行查询 )、Criteria(创建并执行面向对象的标准化查询)和
33、Configuration(对 Hibernate 进行配置,以及重庆理工大学毕业论文 成本管理系统-施工图预算管理子系统的设计与实现11对它进行启动)。2.5 设计模式在本系统的开发过程中,使用的大量的设计模式,包含单例模式、动态代理模式、责任链模式、工厂模式,让代码更容易理解、保证了代码的可靠性使得代码更容易维护。1) 单例模式单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。2) 代
34、理模式所谓代理,就是一个人或者一个机构代表另一个人或者另一个机构采取行动。在一些情况下,一个客户不想或者不能够直接引用一个对象,而代理对象可以在客户端和目标对象之前起到中介的作用。代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。至少在以下集中情况下可以用代理模式解决问题: 1. 创建开销大的对象时候,比如显示一幅大的图片,我们将这个创建的过程交给代理去完成,GoF 称之为虚代理(Virtual Proxy) ; 2. 为网络上的对象创建一个局部的本地代理,比如要操作一个网络上的一个对象 (网络性能不好的时候,问题尤其突出) ,我们将这个操纵的过程交给一个代理去完成,GoF
35、 称之为远程代理(Remote Proxy ) ; 3. 对对象进行控制访问的时候,比如在 Jive 论坛中不同权限的用户 (如管理员、普通用户等)将获得不同层次的操作权限,我们将这个工作交给一个代理去完成,GoF 称之为保护代理(Protection Proxy ) 。代理模式的结构图如下图 2-5 所示:重庆理工大学毕业论文 成本管理系统-施工图预算管理子系统的设计与实现12class 、Client SubjectConnectSubject Proxy图 2-5 代理模式结构图从上图可以看出代理模式的基本原理和一些实现。3) 责任链模式责任链模式是一种对象的行为模式。在责任链模式里,很
36、多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织和分配责任。其责任链的结构如图 2-所示:重庆理工大学毕业论文 成本管理系统-施工图预算管理子系统的设计与实现13class 、ClientHandler+ successor: Handler+ getSuccessor() : Handler+ handleRequest() : void+ setSuccessor() : voidConereteHandler+ ha
37、ndleRequest() : void01图 2-6 责任链模式结构图抽象处理者(Handler)角色:定义出一个处理请求的接口。如果需要,接口可以定义 出一个方法以设定和返回对下家的引用。这个角色通常由一个 Java 抽象类或者 Java 接口实现。上图中 Handler 类的聚合关系给出了具体子类对下家的引用,抽象方法 handleRequest()规范了子类处理请求的操作。具体处理者(ConcreteHandler)角色:具体处理者接到请求后,可以选择将请求处理掉,或者将请求传给下家。由于具体处理者持有对下家的引用,因此,如果需要,具体处理者可以访问4) 工厂模式在面向对象系统设计中经
38、常可以遇到以下的两类问题:(1)为了提高内聚(Cohesion)和松耦合(Coupling ) ,我们经常会抽象出一些类的公共接口以形成抽象基类或者接口。这样我们可以通过声明一个指向基类的指针来指向实际的子类实现,达到了多态的目的。这里很容易出现的一个问题 n 多的子类继承自抽象基类,我们不得不在每次要用到重庆理工大学毕业论文 成本管理系统-施工图预算管理子系统的设计与实现14子类的地方就编写诸如 new;的代码。这里带来两个问题一是客户程序员必须知道实际子类的名称 (当系统复杂后,命名将是一个很不好处理的问题,为了处理可能的名字冲突,有的命名可能并不是具有很好的可读性和可记忆性,就姑且不论不
39、同 程序员千奇百怪的个人偏好了。 ) ,二是程序的扩展性和维护变得越来越困难。(2)还有一种情况就是在父类中并不知道具体要实例化哪一个具体的子类。以上两个问题也就引出了工厂模式的两个最重要的功能: 1)定义创建对象的接口,封装了对象的创建; 2)使得具体化类的工作延迟到了子类中。通常模式通常就是来解决上面给出的两个问题。在第一个问题中,我们经常就是声明一个创建对象的接口,并封装了对象的创建过程。Factory 这里类似于一个真正意义上的工厂(生产对象) 。在第二个问题中,我们需要提供一个对象创建对象的接口,并在子 类中提供其具体实现(因为只有在子类中可以决定到底实例化哪一个类) 。 第一中情况
40、的工厂模式的结构示意图为: 重庆理工大学毕业论文 成本管理系统-施工图预算管理子系统的设计与实现15class 、Factory+ createProduct() : voidProduct+ operation() : voidConcreteProduct1+ operation() : voidConcreteProduct2+ operation() : voidConcreteProduct3+ operation() : void图 2-7 工厂模式结构示意图 1图 2-7 所以的工厂模式经常在系统开发中用到,但是这并不是 工厂模式的最大威力所在 (因为这可以通过其他方式解决这个问
41、题) 。工厂模式不单是提供了创建对象的接 口,其最重要的是延迟了子类的实例化(第二个问题)以下是这种情况工厂模式的结构示意图:重庆理工大学毕业论文 成本管理系统-施工图预算管理子系统的设计与实现16class 、Product+ Operation() : voidFactory+ createProduct() : voidConcreteFactory+ createProduct() : voidConnectProduct1+ Operation() : voidConnectProduct2+ Operation() : void图 2-8 工厂模式结构示意图 2图 2-8 中关键中
42、工厂模式的应用并不是只是为了封装对象的创建,而是要把对象的创建放到子类中实现:工厂中只是提供了对象创建的接口,其实现将放在 Factory 的子类 ConcreteFactory 中进行。这是图 2-7 和图 2-8 的区别所在。2.7 本章小结本章围绕成本管理系统所需要用到的技术框架和设计模式进行了具体分析,主要针对于 B/S、flex、BlazeDS、Spring、Hibernate 和一些设计模式进行了研究。重庆理工大学毕业论文 成本管理系统-施工图预算管理子系统的设计与实现173 系统需求分析软件需求是整个软件开发项目的最关键的一个输入,和传统的生产企业相比较,软件的需求具有模糊性、不
43、确定性和主观性的特点。获取需求是通过与用户的交流,对现有系统的观察及对任务进行分析,从而开发、捕获和修订用户的需求。本章通过对成本管理系统进行功能分析,提出成本管理系统的主要功能需求,分别是施工图管理子系统、合同管理子系统、材料管理子系统、设备管理子系统、报量管理子系统、费用管理子系统。其中,限于本人精力跟时间有限,只是参加了系统的部分功能模块的开发,本人将详细描述施工图管理子系统。3.1 需求概述在成本管理系统中,施工图管理子系统是基础的子系统,系统的前期工作都需要依赖本子系统,这关系这整个系统的运行情况,其地位相当重要。成本管理系统的架构如图 3-1 所示。object 、业业业业业业业业
44、业业业业业业业业业业业业业业业业业业业业业业业业业业业业业业业业业业业业业业业业业图 3-1 成本管理系统架构图从上图 3-1 可以看出,成本管理系统分为施工图管理子系统、合同管理子系统、材料管理子系统、设备管理子系统、报量管理子系统、费用管理子系统。其中,施工图管理子系统架构图如下图 3-2 所示。重庆理工大学毕业论文 成本管理系统-施工图预算管理子系统的设计与实现18object 、业业业业业业业业业业业业业业业业业业业业业业业业业业业业业业业业业业业业业业业业业图 3-2 施工图管理子系统架构图从上图 3-2 可以看到,施工图管理子系统核心功能由商机信息管理、项目管理、施工图预算管理、施
45、工内容管理、施工材料对照管理构成。下面将介绍这些功能需求: 基础信息管理:系统的基础数据模块,提供基础数据的管理功能,为后面项目的立项等提供数据支撑。 经营管理:商机信息、投标信息是系统前期工作的基础模块,由总公司经营部对公司的商机信息、投标信息进行管理。 项目管理:项目管理主要管理工程项目的基本信息、项目人员、项目成本、合同、分包、报量、进度提示等,成本管理系统中对工程项目的管理或操作都是对应项目管理。 施工图预算:这是 CCM 系统中最为重要的基础数据,由其它预算软件提供(如广联达、鹏业等) ,再经本系统处理之后的数据。施工图预算提供基本的计算功能。CCM 系统里所有的工作都是围绕施工图预
46、算而展开的。预算的准确性,关联到这个项目的盈利情况。 施工内容:每个施工项目都需要经由施工单位的相关人员一起完成,这就涉及到不同人员的工作内容,这里主要所管理的内容就是负责各个施工单位的不同人员的工作内容,并如何高效的管理项目人员的工作。 施工材料对照:施工员在项目的施工过程中,需要对自己所用到的材料进行标准化处理,这是个繁杂的过程,也是成本控制的重点,关系到整个项目的成本。重庆理工大学毕业论文 成本管理系统-施工图预算管理子系统的设计与实现19以上是 CCM 系统施工图预算管理子系统所要实现的功能目标,系统所具有的特色就是将预算软件与管理系统相结合的方式,这样就构成了一个新模式的管理系统。
47、成本管理系统的运行是需要多部门合作,共同才能完成一个项目的内容,系统的运行过程如下图 3-3 所示。图 3-3,系统应用过程示意图3.2 基础数据管理3.2.1 需求描述系统的基础数据模块,是整个成本管理系统的基础,后续的所有工作任务都需要基于基础数据的支撑。这些基本信息包含供应商、分包商、业主。因为这些基础数据是从其它的系统同步过来的,所以在本系统中需要提供对这些基础数据的维护功能。其基本结构如下图 3-4 所示:重庆理工大学毕业论文 成本管理系统-施工图预算管理子系统的设计与实现20object 、 、 、 、 、 、业业业业业业业业业业业业业业业 业 业 业 业 业图 3-4 基础数据管
48、理用例图从上图 3-4 可以看出,基础数据管理的基本功能如下: 供应商管理:公司的施工需要其它很多公司提供如钢筋、水泥、风机、电梯等等的基础材料,为了更好的管理这些提供材料的供应商,需要对供应商进行集中管理,管理他们的服务以及提供材料的质量等等,以方便公司下面参考。 分包商管理:一个项目的完成,可能需要多个分包商进行合作,这个分包商既可能是该集团下的分包商也可能是其他公司的分包商,为了统一管理这些分包商的基础数据,这里就专门独立出来了一个管理分包商的模块。 业主管理:项目的实施以及管理,都需要一个或者多个业主来进行管理,为了规范化管理这些业主,于是就独立出了业主管理模块,提供对业主的基本信息的管理。3.2.2 用例描述系统管理远需要对业主、供应商、分包商的数据进行管理,系统管理员参与的用例如图 3-5 所示:重庆理工大学毕业论文 成本管理系统-施工图预算管理子系统的设计与实现21uc 、图 3-5 基础数据用例图