施工企业项目管理系统设计与实现.docx

上传人:b****3 文档编号:4385803 上传时间:2022-12-01 格式:DOCX 页数:15 大小:244.47KB
下载 相关 举报
施工企业项目管理系统设计与实现.docx_第1页
第1页 / 共15页
施工企业项目管理系统设计与实现.docx_第2页
第2页 / 共15页
施工企业项目管理系统设计与实现.docx_第3页
第3页 / 共15页
施工企业项目管理系统设计与实现.docx_第4页
第4页 / 共15页
施工企业项目管理系统设计与实现.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

施工企业项目管理系统设计与实现.docx

《施工企业项目管理系统设计与实现.docx》由会员分享,可在线阅读,更多相关《施工企业项目管理系统设计与实现.docx(15页珍藏版)》请在冰豆网上搜索。

施工企业项目管理系统设计与实现.docx

施工企业项目管理系统设计与实现

摘要

项目管理作为一次性创造活动的管理模式,在施工企业有着广泛和重要的应用,项目管理能力和水平的高低已经构成知识经济时代施工企业的核心竞争力。

根据市场需求和施工企业的特点,自主设计研发了施工企业项目管理系统,可广泛应用于核电站、航天、大型钢铁、石油化工企业、地铁工程和水利水电枢纽工程等领域。

本系统是针对我国建设施工企业具体业务,为了有效管理项目业务而开发的一套应用管理系统,主要实现项目进度、成本和质量管理。

通过采用B/S架构方式保证系统的高性能、高处理能力,并尽量消除Web系统存在的安全隐患,使系统具有良好的可操作性,并能够根据系统的需要进行功能上的扩展。

关键词:

合同管理网络框架统一建模语言WEB服务

1前言

施工企业项目管理系统可应用于核电站、航天、大型钢铁、有色冶炼、石油化工企业、地铁工程和水利水电枢纽工程等项目领域。

企业信息化就是信息技术应用于企业生产、技术、经营、管理等领域,不断提高信息资源开发效率,获取信息经济效益的过程。

由于信息技术的大量采用,不但改进和强化了企业物资流、资金流、人员流及信息流的集成管理,而且对企业固有的经营思想和管理模式产生强烈冲击,带来根本性的变革。

信息技术与企业管理的发展与融合,使企业发展战略和管理不断创新,企业竞争力不断提高。

大型工程建筑项目计算机管理信息系统是近年来顺应工程项目日趋扩大、技术日趋复杂、对工程质量、工期、费用的控制日益严格的形势下发展起来的新兴学科。

在工程建设项目管理中引入现代信息技术是促进工程建设项目管理现代化、科学化的基本保证。

核电站、航天、大型钢铁、石油化工企业、地铁工程和水利水电枢纽工程等许多大型基建项目均具有投资大、周期长、技术难、接口多、管理协调十分复杂等特点,应用信息系统对于改进工程项目管理、提高工效和工作质量、降低造价、积累信息财富、提高大型施工企业市场竞争能力具有十分重要的意义。

国内的工程企业需要逐步建立起一整套既与国际接轨,又符合中国国情的工程建设管理体系。

在当前内外资企业遵循统一的游戏规则、公平竞争的条件下,要赢得市场,必须靠自身的竞争实力,必须提高管理水平,增强技术创新能力,充分利用信息技术,开发、利用信息资源,对内加强管理,转换经营机制,降低企业成本,对外树立形象,开拓市场,提高企业的知名度和产品的市场占有率,并真正建立起一套对市场信息的快速反应系统。

因此,实现工程企业项目管理信息化是应对挑战的必然选择,使诸多管理方面问题迎刃而解:

(1)解决多项目分散作业与集中管理的矛盾。

针对施工企业项目分散,各个项目部距离总部比较远以及项目现场复杂、流动性大、涉及的关联环节较多,不可控风险多,企业集中管理难度大等业务特点,系统采用互联网和无线技术相结合的多层开放结构体系,对工程项目进行远程控制和管理,提高了项目施工的综合配套管理能力,加强了对成本、进度、质量等的控制能力,以及对合同、变更、支付、资金等的管理能力,有效的解决了施工企业分散作业与集中管理的矛盾。

(2)解决多项目实时监控的难题。

横向监控:

可以实现对多项目的监控。

及时发现项目的问题,并且可以将一些隐蔽在下面的问题通过类似项目之间对比等方式发现,而无需等到问题暴露出来才进行处理。

纵向监控:

通过对项目深度的监控,掌握项目各个可能发生问题的环节,将问题挖掘出来,而不是停留在事务的表面,简单的进行了解,这样从横向的对比分析监控到纵向的项目深度挖掘分析监控,实现了对项目的全面监控,从而确保了项目的有效执行。

(3)解决企业动态定额的难题。

基于WEB的动态企业定额系统,不仅可完善企业定额库建设,同时,可实时更新,敏捷反应,使基于企业定额的清单级快速报价和基于企业定额的项目计划管理成为现实。

(4)改善工作流程,固化优秀的管理模式,实现“管理复制”。

(5)提高项目计划和进度的控制能力。

进度是施工项目管理的最基本内容,也是成本的最基本载体,项目的所有成本其实都是通过进度来组织和发生的,由于项目环节众多,如何实现进度的多级协同,如何合理的组织配套、材料、设备、采购的协调等问题,是项目经理非常关心的问题。

(6)提升项目的成本管理水平。

近年来对一些工程项目的成本管理进行了比较系统的定量分析研究表明:

传统的项目管理对成本过程很难控制,不少项目经理部月度都盈余,最后赔钱。

其中项目成本过程控制不了是指,成本形成过程中无法发现差异的产生,也无法提出应有的警示,更难于实时地采取应对的措施。

不能干预成本形成过程、不能采取实时措施去降低成本是传统项目管理的致命要害。

那么,如何将传统的事后计算成本变成在过程中进行有效的成本控制,如何实时进行成本分析,发现问题及时预警,从而加快问题的反映速度,是每个项目经理关注的核心。

(7)规范项目的采购、合同、变更、结算、支付、资金等管理流程。

例如,项目经理可方便的了解物资部门为本项目输出的定购合同,使材料管理的各个环节透明度更高,可及时了解合同结算办理、支付的情况,资金使用情况和资金计划等。

(8)积累完整的工程项目数据,便于下个工程借鉴。

积累施工过程的各种数据和资源,例如设企业定额的编制模板、材料总库、分包商、供应商库以及各种类型合同的编制模板,便于下个工程的直接调用和借鉴。

同时,自动分析当前工程数据产生智能反馈,实现数据增值和经验沉淀。

2系统需求分析与设计

针对当前工程建设领域的发展和要求,首先对课题进行了需求分析,对施工企业项目管理系统的进行了需求设计,再把系统的功能提取出来。

与所有的软件工程一样,构造了一个完善的软件系统,还需要进行系统规划,下面用相应的技术、方法进行相关讨论。

2.1系统需求

系统需求分析就是从用户的应用出发,依据其总体规划和目标,对系统进行抽取细化,就系统性能、规格、行为等方面总结出来的期望。

2.1.1需求分析

需求分析是系统开发的第一步也是最重要一步。

对于施工企业项目管理系统也不例外。

在对建设公司合同管理业务现状的分析基础上,得到项目管理系统的主要需求如下:

(1)对公司项目进度进行管理和监控,通过互联网使系统成为企业各部门、分公司、远程项目部沟通的重要信息通道,并延伸到企业外部的市场。

(2)对成本做到事前计划、事中控制、事后分析。

(3)建立项目的质量计划和质量进度报告。

(4)实现公司总部对二级单位、项目部经营管理网上快速监控,在网络上直接填报或采集公司所需的资料报表,保证数据采集的真实、安全、快速。

(5)对执行中的项目,根据约束控制条件,对于符合条款的自动提示预警。

(6)实现重点工程项目的进度、质量、成本、安全、物资等方面的信息网络化监控和预警管理。

(7)远程项目部能在网上查询自己项目的信息,并进行进度上报、成本上报和质量上报的操作。

(8)系统应该具有很好的扩展性,随实际需要而不断增加新的功能模块。

图1系统顶层用例图

图1显示了本系统涉及到的几组不同用户,最普通的业务用户位于图的顶端,箭头表示关系,它又可具体分成三类:

施工企业用户,非施工企业用户,管理员,这三类用户共有各自私有的特征则在对应的参与者中说明。

其中,“非施工企业”用户又可分为业主、供应商、监理三种类型;施工企业用户又分为合同管理员、会计员、结算员、项目经理和办公人员等等。

基于图1的项目管理用例图,确定应用系统统的浏览器结构。

系统根据用户访问的请求、用户的类别及权限为用户提供个性化界面,便于维护,客户端无需安装客户软件,具有良好的统一性。

对于客户端的请求,通过应用服务器对下层核心的数据库服务器以及其他各类服务器进行调用,为用户提供综合的、个性化的响应。

系统逻辑结构如图2所示。

2.3系统功能设计

(1)系统功能

本系统包括七个子系统:

一是进度管理子系统,主要进行WBS分解和实际工程进度的的填报工作和查询工作。

二是成本管理子系统,主要实现合同预算、计划成本、实际成本的录入与对比分析。

三是质量管理子系统,主要发布质量管理计划和质量进度报告。

四是物资管理子系统,集中管理物资的采购与出入库。

五是合同管理子系统,主要处理合同的登记、审批与支付业务。

六是合格供应商管理子系统,主要工作是把经评审合格的供应商登记入库。

七是预警提醒子系统,通过控制点、里程碑、资源量、费用等警戒线的预置,合同执行中一旦条件达到临界值,系统自动给予提示。

系统功能如图3所示。

(2)逻辑关系

在功能模块间的逻辑关系设计上,以计划为龙头,以合同为约束,以进度为主线,以成本控制为目标。

系统依据合同,编制总的成本计划,在施工过程中根据进度情况编制阶段计划,由计划的工程量表可导出各成本要素的计划,如物资计划等;在施工业务开展的过程中,系统自动对各种费用等进行统计,综合个成本要素的实际发生费用就产生了实际成本。

某阶段末,按照实际完成工程量,分别套企业定额和政府定额生成阶段计划成本、阶段施工预算和阶段和合同预算,通过“三算对比”和反馈,调整下阶段的预算,达到以进度为主线来成本控的目的。

系统七大模块间的逻辑关系如图4所示。

图4模块逻辑关系图

2.4系统架构设计

基于以上的分析,我们确定应用系统统一采用B/S结构。

系统根据用户访问的请求、用户的类别及权限为用户提供个性化界面,便于维护,客户端无需安装客户软件,具有良好的统一性。

对于客户端的请求,通过应用服务器对下层核心的数据库服务器以及其他各类服务器进行调用,为用户提供综合的、个性化的响应。

本系统中,将代码规划分为不同的逻辑组件,这些逻辑组件组成三个逻辑层(图5):

用户服务、业务服务和数据服务,它们各自具有如下的属性:

(1)用户服务:

提供信息功能、浏览定位,保证用户界面的一致性和完整性;

(2)业务服务:

共享业务政策,从数据生成业务信息,保证业务的一致性;

(3)数据服务:

数据的定义、永久数据的存储和检索,保证数据的一致性。

图5三层结构模型

使用三层结构,可以把系统的需求分解成明确定义的服务,并进一步创建可重用的构件来实现它们。

构件遵守公开的接口标准,所以是通用的、可共享的和可以灵活部署的。

其优点可概括为以下四个方面:

(1)可重用性:

许多应用程序可共享和重用封装在构件中的功能。

(2)灵活:

从桌面计算环境到功能更强的网路服务器,随处都可分配工作,这有利于协调性能和网络宽带。

(3)可管理:

将大型复杂的工程细分为简单、安全的构件工程。

(4)易维护:

将业务逻辑部署在中央服务器上,而不是分散在用户桌面上,这有助于处理各种变化,并缩短解决方案的往返时间。

2.5系统安全设计

大多数基于WEB应用程序需要限制访问站点的某些部分,在开发Internet应用程序时,初期规划时就应该考虑系统安全性。

因为本系统是使用ASP.NET来开发的,所以需要规划三个基本功能:

认证,授权和模仿(impersonation),他们是在ASP.NET中,由.NET框架和IIS6.0提供的。

认证意味着确认是否是真正声明的用户;授权意味着特定用户是否有进行某项操作的权限;而模仿允许ASP.NET应用程序使用所给身份来访问文件和其他资源,并在假定的身份认证基础上被许可或被拒绝访问。

系统的某些部分对大众是公开的,而其他部件,如合同等级、合同支付、供应商管理等部分只对那些有相应授权的人才可访问。

.NET框架支持两种基本的访问授权方式:

文件授权方式和URL授权方式。

其中第一步工作是决定站点的哪一部分是对大众开放的,以及哪一部分只允许管理员访问。

基本上,站点中任何用来添加、删除、更新信息、构建和维护用户或站点上任何其他特性都只是有管理员才能访问的部分。

剩下来就是决定如何限制站点管理部分的访问。

2.6数据库设计

数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,是之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。

数据库结构设计是施工企业项目管理系统开发过程中一个非常重要的环节,设计的好坏将直接对所开发的系统效率以及实现的效果产生影响。

好的数据库结构设计会减少数据库的存储量,数据的完整性和一致性比较高,系统具有较快的响应速度,简化基于此数据库的应用程序的实现等。

ASP.NET为访问数据提供了丰富的类库,如System.Data,这些类库在系统开发中被频繁地使用。

由于本系统选用的是MSSQLServer2000数据库,所有数据都保存在数据库表中。

因此,对SQL数据库的访问如果使用一个封装的SQL数据库访问类的话,这样可以提高程序的可读性,提高效率。

3系统的实现

本系统开发过程中,使用.NET技术。

而数据库的应用是关键,数据库中包含了网站全部需要显示的内容。

因此,数据库的安全性能和权限设计成为很重要的一个环节。

对数据库的所有操作,都尽可能地以存储过程的方式保存在数据库中,以提高系统的安全性能。

另一方面,为了便于系统维护,可以将页面文件显示部分和实现部分分离出来,同时为避免代码文件过长,将代码以功能模块为单位进行分割。

相应功能的代码文件,都存放在同一个文件夹下,这样处理对系统的开发和维护管理起到了良好的作用。

3.1系统环境

为了让整个系统能很好的运行,我们对系统运行环境,以及集成开发环境,变成时所用语言,系统开发和运行时所使用的数据库都进行了仔细的分析,然后再选择符合我们所需要的开发环境和相关工具,下面分些介绍。

系统环境包括服务器、操作系统、数据库系统。

在系统投入使用的初期,用户较少,数据流量不大的情况下,选用一般PC级服务器可以满足要求,将来再进行硬件方面的升级。

考虑到对.NET支持情况,选择WindowsServer2003操作系统。

3.2开发环境与工具选择

为了让整个系统能很好的运行,我们对系统运行环境,以及集成开发环境,变成时所用语言,系统开发和运行时所使用的数据库都进行了仔细的分析,然后再选择符合我们所需要的开发环境和相关工具,下面分些介绍。

(1)系统的运行环境

系统环境包括服务器、操作系统、数据库系统。

在系统投入使用的初期,用户较少,数据流量不大的情况下,选用一般PC级服务器可以满足要求,将来再进行硬件方面的升级。

考虑到对.NET支持情况,选择WindowsServer2003操作系统。

在Windows环境下,考虑到与ASP.NET以及VS.NET开发工具结合最好,选用MSSQLServer2000作为支持数据库系统。

(2)集成开发环境

VisualStudio是一套完整的开发工具集,用于生成ASP.NETWeb应用程序、XMLWebServices、桌面应用程序和移动应用程序。

VisualBasic、VisualC++、VisualC#和VisualJ#全都使用相同的集成开发环境(IDE),利用此IDE可以共享工具且有助于创建混合语言解决方案[32]。

另外,这些语言利用了.NETFramework的功能,通过此框架可使用简化ASPWeb应用程序和XMLWebServices开发的关键技术[33]。

经过考虑,本系统决定使用VisualStudio2003.NET版本作为开发平台。

(3)使用编程语言

C#是微软公司创造的一种类似于JAVA的新的面向对象的变成语言,在各种.NET变成语言中,C#与.NET结合最紧密,是.NET的首选语言,C#通过工具箱、控件、窗体来简单地进行图形用户界面的开发,用.NET基本类提供的丰富功能库,开发者可以快速地进行集成开发,使开发效率更高[34]。

所以,本系统使用C#.NET作为主要程序设计语言。

(4)选用数据库

本系统使用MSSQLServer2000作为后台数据库,因为MSSQLServer2000具有突出的性能,对XML有良好的支持、带有强大的分析和管理工具,采用MSSQLServer2000,还可以利用其集成事务SQL(即T-SQL)调试器,以及使用灵活的在线分析处理器(OLAP)进行WEB数据访问。

另外,使用VisualStudioTeamSystemBetaZ平台,在整个软件声明周期进行源代码的管理以及各项测试工作。

使用OfficeVisio2003可进行简单的图标绘制,在系统规模不大的情况下,我们选用它来绘制建模所需要的各种UML图表。

3.3系统安全性的实现

系统的安全性主要从三个方面考虑:

(1)保证物理环境的安全性

人们常说,计算机的安全性由计算机前端面板上的电源开关来决定。

无论操作系统级别对系统的保护有多么严密,物理保护都是最基本的。

所以必须假定任何有权以物理方式访问计算机的用户始终能够以某种方式危害计算机的完整性。

(2)保证域环境的安全性

必须遵循设置用户帐户、密码和权限的最佳做法。

例如,如果不具有相应权限的用户能够直接访问包含Web应用程序所用的安全数据的数据库,则该应用程序可能会受到危害。

(3)保证.NET环境的安全性

.NET环境允许设置代码访问安全性。

这意味着各个系统和应用程序库可以与不同的信任级别相关联。

这在某些环境中是非常重要的,例如,可以运行多个Web应用程序的共享宿主环境。

可能由不同用户拥有的每个Web应用程序可能会要求彼此隔离与保护。

此外,如果不进行这种隔离,每个Web应用程序都可能影响关键的系统功能。

在与IIS配合工作时,ASP.NET支持三种身份验证提供程序:

Forms身份验证(使用应用程序特定的逻辑)、Passport身份验证(由Microsoft提供的集中身份验证服务)和Windows身份验证(使用直接通过IIS提供的身份验证)本文使用的是ASP.NET项目的默认身份验证:

Forms身份验证。

在系统运行过程中,不同的地方对安全性要求不同,可以为Web应用程序中的每个网页指定一个安全级别。

通过指定访问页面所需具备的角色即可执行此操作。

也可以指定只有特定角色才能访问某个子目录中的所有页面,在Web.config文件中,指定只有角色被指定为Administrator的用户才能访问审核页面。

本系统还提供比上述更精确的安全性。

也就是说,可能需要对控件(例如按钮)或aspx页面提供保护。

为此,需要以编程方式更改与会受影响的控件关联的属性。

例如,如果需要根据用户角色隐藏某个删除按钮,则需要执行两步操作:

首先,应该把名为ShowButtonBasedOnRole的方法添加到网页的codebehind类。

如果用户具备要求的角色,将返回true;如果用户不具备要求的角色,将返回false。

3.4数据库访问类的实现

ASP.NET为访问数据提供了丰富的类库,如System.Data,这些类库在系统开发中被频繁地使用。

由于本系统选用的是MSSQLServer2000数据库,所有数据都保存在数据库表中。

因此,对SQL数据库的访问如果使用一个封装的SQL数据库访问类的话,这样可以提高程序的可读性,提高效率。

3.5系统测试

系统测试是对软件系统进行总结和评价,从能上来说,测试的指标包括:

正确性、完整性、一致性、可靠性、可用性、效率等。

在本系统中,正确性、可用性、效率功能是我们考虑的重点。

下面重点论述以下两个方面的功能测试:

(1)网页执行时间的功能测试

本系统是基于Web页面的,所以页面运行速度直接影响到系统的整体运行状况,这就要进行页面运行时间的测试,具体做法是,将待测试页面运行检测其下载时间,勿使其超过10秒,这是浏览者等待下载可以承受的时间限度。

在系统开发过程中,通常可以在页面嵌入一段程序记录请求开始到请求完成的时间,并在每个页面下显示本页的执行时间。

根据记录结构的分析,可以发现哪些页面元素较多,执行时间超过限制。

也可以根据这个时间记录有针对性地对系统页面进行优化,调整元素分配,或对应用程序进行调整,以便使页面的响应时间不超出页面请求者等待下载的忍耐时间限度。

通过测试可以确认页面上包含的图形、图像、声音等多媒体素材是否过多、过大,而影响了下载时间;也可以发现程序是否效率不高,特别是针对数据库操作的代码,可以及时调整数据负载,避免增加在服务器上的执行时间,而增加用户的等待时间。

另外,还要考虑浏览器版本问题。

本系统是基于ASP.NET平台,同时使用了XML技术,考虑到这些因素,建议用户使用IE6.0作为首选浏览器。

(2)并发性能功能测试。

并发性能测试的过程是一个负载测试和压力测试的过程,即逐渐增加负载,直到系统的瓶颈或者不能接收的性能点。

一般要测试正常情况下和异常情况下两种情况。

并发用户测试要求对系统的核心功能和重要部分进行测试,要以真实的业务数据作为输入,选择有代表性的、关键的业务操作来设计测试用例,更有效的评测系统性能。

以本系统中的合同登记模块为例。

由于按照规定,公司每个月25号,汇总合同台帐,因此,合同管理员通常在这一天集中处理大批合同登记业务,这时候,查询合同台帐的人也会比较多,因而访问这个该页面的用户比较多,所以这个模块要进行并发测试。

因此,我们设计了并发用力测试表,测试结果如表1,表中列出来的一些常见的参数(表格中的数据为示例的测试用户和测试结果),可以根据实际需要进行增加和删除,其中磁盘I/O、数据库相关测试参数要根据实际情况进行选择,因此没有列出。

表1并发用例测试表

并发用户数与事务执行情况

并发用户数

事务平均响应时间

事务最大影响时间

平均每秒处理事务数

事务成功率

每秒点击率

平均流量

(字节每秒)

80

1.244

2.078

15

99.95%

98

5122

并发用户数与数据服务器的关系

并发用户数

CPU利用率

MEM利用率

磁盘I/O

DB参数

其他参数

80

23%

13%

并发用户数与应用服务器的关系

并发用户数

CPU利用率

MEM利用率

磁盘I/O

80

31%

26%

从测试结果来看,就算在线用户达到高峰,系统也能正常工作,因此可以满足正常业务需要,达到了预期目的。

通过测试可以知道数据库服务器、操作系统、网络设备等是否能够承受住考验,同时可以对瓶颈进行分析。

在测试中,并发用户增加到100个时,事务平均响应时间为143.7,数据服务器CPU利用率为30%,从测试结构显示,当同时在线人数越来越多时,事务响应时间越来越长,而数据库服务器和应用服务器的CPU利用率越来越高。

3.6系统的性能优化

在施工企业项目管理系统中,应用了缓冲技术来提高系统的性能,他的原理是把经常存取的或者是比较重要的数据保存于内存中以减少系统的响应时间。

对于WEB应用领域,缓冲技术主要是把HTTP请求的页面或数据保存于内存,以减少下次使用时重建它们的耗费。

ASP.NET有两种用于WEB应用的缓冲技术:

输出缓冲和数据缓冲[42]。

输出缓冲指:

把一次请求所产生的动态输出保存于内存中。

数据缓冲指:

按照一定的策略把事先不确定的对象保存于内存中。

输出缓冲常用于把整个输出页面缓冲起来。

对于一个存取繁忙的站点来说,把一些常用页面放入内存会带来性能上的极大提高。

当一个页面被放入输出缓存,那么接下来的对该页面的请求将不再执行创建它的代码,而是从内存中直接返回该页面。

但实际上,保存整个输出页面的方法并不一定都行得通,因为有些页面的输出取决于客户端的不同请求,称之为"定制"。

这时,采取的方法即找出不同中的相同,把一些并不需要经常重新创建的对象和数据识别出来,进行缓冲。

一旦这些部分被识别,那么它们将被一次创建并在缓存中保持一定的时间。

选择缓存的时间是提高性能的关键。

对一些部分来说,它们需要隔一定时间进行刷新,而另一些部分来说,可能仅仅只是需要保存一段时间。

此种情况下,都可以设定"过期策略"来实现。

一旦这些对象和数据到期,它们都将被从缓存中清除出去。

当存取对象和数

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1