项目成本及实施的信息系统建设(图表丰富)课件_第1页
项目成本及实施的信息系统建设(图表丰富)课件_第2页
项目成本及实施的信息系统建设(图表丰富)课件_第3页
项目成本及实施的信息系统建设(图表丰富)课件_第4页
项目成本及实施的信息系统建设(图表丰富)课件_第5页
已阅读5页,还剩143页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第九讲信息系统建设的项目管理第九讲信息系统建设的项目管理1一、信息系统与项目管理一、信息系统与项目管理2信息系统的建设是一类项目信息系统的建设是一次性的任务,有一定的任务范围和质量要求,有时间或进度的要求,有经费或资源的限制。信息系统具有生命周期系统规划、系统分析、系统设计、系统实施、系统运行和维护五个阶段。从具体构成来看,信息系统项目可分为客户需求分析、应用软件开发、网络规划与设计、设备采购以及系统调试与集成等多项内容。信息系统的建设是一类项目信息系统的建设是一次性的任务,有一定3二、计划、费用与进度管理二、计划、费用与进度管理4信息系统项目的计划信息系统项目的计划是用来指导组织、实施、协调和控制信息系统建设的文件,制订一个良好的计划有诸多好处,比如:可以将计划的假设与前提写成书面文件,以备发生变更时查考;有助于项目成员之间的交流沟通,有助于大家统一认识;可以确定测量项目进展、对项目进行控制和考核工作业绩的基准。进度计划、费用计划、人力计划、质量保证计划、风险管理计划等。全过程计划,也可以是阶段性计划或子系统计划。信息系统项目的计划信息系统项目的计划是用来指导组织、实施、协5(一)、成本的构成及测算(一)、成本的构成及测算6信息系统项目成本的构成信息系统项目成本的构成7信息系统项目成本的测算分析信息系统项目的成本测算,就是根据待开发信息系统的成本特征以及当前能够获得的有关数据和情况,运用定量和定性分析方法对信息系统生命周期各阶段的成本水平和变动趋势做出尽可能科学的估计。最难确定的是开发成本中的软件开发成本,而硬件成本和其他成本相对容易估算出来。至于运行维护成本,则可以根据开发成本与运行维护成本比值的经验数据和测算出来的开发成本一起计算。并且,对于信息系统项目的用户来讲,项目开发成本的不确定性因素较大,而项目的运行维护成本由于多次发生,且在自身的使用中发生,相对来讲容易控制一些。所以信息系统项目成本测算的重点是软件开发成本。信息系统项目成本的测算分析信息系统项目的成本测算,就是根据待8信息系统项目成本测算过程信息系统项目成本测算过程9(二)软件规模与成本的估算(二)软件规模与成本的估算101、软件常用的估算方法参照已经完成的类似项目,估算待开发项目的软件开发成本和工作量。将大的项目分解成若干小的子系统,在估算出每个子系统软件开发成本和工作量之后,再估算整个项目的软件开发成本。将软件按信息系统的生命周期分解,分别估算出软件开发在各个阶段的工作量和成本,然后再把这些工作量和成本汇总,估算出整个软件开发的工作量和成本。根据实验或历史数据给出软件开发工作量或成本的经验估算公式。1、软件常用的估算方法参照已经完成的类似项目,估算待开发项目11软件代码行的方式软件开发的生产率:Pl=L/E

其中:L是应用软件的总代码行数。一般用千行代码KLOC(1KLOC=103LOC)度量。

E是应用软件的工作量,用人月(PM)度量。Pl是软件开发的生产率,用每人月完成的代码行数(LOC/PM)度量。软件代码行的方式软件开发的生产率:12软件代码行的方式例:某信息系统代码约为32000行,5人用2个月完成。则L=32000/1000=32E=5*2=10

Pl=L/E=32/10=3.2软件代码行的方式例:某信息系统代码约为32000行,5人用213软件代码行的方式每行代码的平均成本:Cl=S/L其中:S是软件开发的总成本,用人民币元或美元度量。Cl是软件项目每行代码的平均成本,用人民币元(或美元)/代码行度量。软件代码行的方式每行代码的平均成本:Cl=S/L14软件代码行方式的缺点用软件代码行数估算软件的开发规模简单易行,其缺点也有不少:代码行数的估算依赖于程序设计语言的功能和表达能力;采用代码行估算方法会对设计精巧的软件项目产生不利的影响;在软件项目开发前或开发初期估算它的代码行数十分困难;代码行估算只适用于过程式程序设计语言,对非过程式的程序设计语言不太适用,等等。软件代码行方式的缺点用软件代码行数估算软件的开发规模简单易行15软件功能点方式间接度量按基本功能定义,系统分析初期能大概估算出山软件开发的规模软件功能点方式间接度量16功能点计算中CT的度量功能点计算中CT的度量17这种方法用6个信息量的“加权和”CT和14个因素的“复杂性调节值”Fi(i=1,2,…,14)计算功能点FP:软件开发的生产率:Pf=FP/E其中:Pf表示每人月完成的功能点数。E是工作量,用人月(PM)度量。每功能点的平均开发成本:Cf=S/FP其中:S是软件开发的总成本。Cf表示每功能点的平均开发成本。软件功能点的方式这种方法用6个信息量的“加权和”CT和14个因素的“复杂性调18功能点计算中Fi的估值功能点计算中Fi的估值19采用功能点度量的优点主要有两条:第一,与程序设计语言无关,它不仅适用于过程式语言,也适用于非过程式的语言,这对于面向对象的开发方式尤为有用;第二,由于在信息系统项目启动时就能基本上确定系统的输入、输出等参数,所以功能点度量能用于软件开发成本在初期的预估。缺点主要是它涉及到的主观因素比较多,如Fi的选取与评估人的经验和态度有较大的关系,并且FP的值没有直观的物理意义。软件功能点方式的优缺点采用功能点度量的优点主要有两条:软件功能点方式的优缺点20采用前述估算方法估算出L或FP的乐观值a,悲观值b和一般值m,然后根据下列加权公式计算出期望值:e=(a十4m十b)/6当L或FP的期望值估算出来之后,根据以前开发软件的数据可知软件开发平均生产率(KLOC/PM或FP/PM)计算出工作量。比如软件项目规模按功能点估算为3l0FP,假设以前完成项目的平均生产率为5.5FP/PM,已知每人月的开发成本为1万元,于是:工作量估算为:E=310/5.5=56PM软件开发成本估算为:C=56×1=56万元软件规模和成本的的测算采用前述估算方法估算出L或FP的乐观值a,悲观值b和一般值m212、软件的经验估算模型2、软件的经验估算模型22CoCoMo模型是“构造性成本模型”(ConstructiveCostModel,简称CoCoMo模型)的英文缩写,分为基本、中间、详细三个层次,分别用于软件开发的不同阶段。基本CoCoMo模型用于系统开发的初期,估算整个系统的工作量(包括软件维护)和软件开发所需要的时间;中间CoCoMo模型用于估算各个子系统的工作量和开发时间;详细CoCoMo模型用于估算独立的软部件,如子系统内部的各个模块。CoCoMo模型简介CoCoMo模型是“构造性成本模型”(Constructi23基本CoCoMo模型是静态、单变量模型,具有下列形式:

E=aLb

D=cEd

C=λE

其中:L是项目的代码行估计值。E表示工作量,单位是人月(PM)。D表示开发时间,单位是月。C表示开发成本,单位是万元。λ表示每人月的人力成本,单位是万元/人月

a,b,c,d是常数。基本CoCoMo模型基本CoCoMo模型是静态、单变量模型,具有下列形式:基本C24基本CoCoMo模型参数取值基本CoCoMo模型参数取值25Putnam模型,是由Putnam提出的大型软件项目工作量(一般在30人年以上)估算模型。它是一个动态多变量模型,适用于软件开发的各个阶段。估算模型以大型软件项目的实测数据为基础,描述了开发工作量、开发时间和软件代码行数之间的关系。Putnam模型简介Putnam模型,是由Putnam提出的大型软件项目工作量26相应的方程是:其中:L表示源程序代码行数。E表示工作量(以人年记,包括维护)。

td表示开发时间(以年记)。Ck表示技术状态常数,它反映出“妨碍程序员进展的限制”,并因开发环境而异。显然:C=λE其中:C表示开发成本,单位是万元。λ表示每人年的人力成本,单位是万元/人年。Putnam模型相应的方程是:Putnam模型27Putnam模型技术状态常数Ck的取值Putnam模型技术状态常数Ck的取值28在Putnam模型中,开发软件项目的工作量与交付时间的4次方成反比,将0.9td代替式中的td计算E,我们发现,提前10%的时间要增加52%的工作量,显然是降低了软件开发生产率。因此,软件开发过程中人员与时间的折衷是一个十分重要的问题。由上述对两个经验模型的分析可知,CoCoMo模型和Putnam模型都是在估算软件代码行的方式基础上,估算出了软件开发的工作量和软件开发的成本。对于软件的开发时间,CoCoMo模型是根据经验公式估算出来的,对于Putnam模型则是与工作量相权衡的结果。对于软件的人力投入,两个模型都可以根据工作量和开发时间的比值测算出来。两个经验模型点评在Putnam模型中,开发软件项目的工作量与交付时间的4次29到此,我们就讨论完了软件规模、成本、开发时间、人力投入的测算过程。在此基础上,就可以根据测算的软件开发成本、硬件成本和信息系统开发期间的其他成本计算出信息系统的开发成本,再根据信息系统开发成本占信息系统总成本比例的经验数据得出信息系统项目的总成本。相应地,也可以根据软件开发时间或人力投入占信息系统项目总时间或总人力比例的经验数据知道信息系统项目建设所需要的总时间、总人力。信息系统项目的总成本到此,我们就讨论完了软件规模、成本、开发时间、人力投入的测算30(三)项目的进度与成本计划(三)项目的进度与成本计划31项目经理组织队伍形成项目团队,绘制专业领域技术编制表,建立一个工作分析结构(WBS),并在此基础上建立项目组成员的责任矩阵。所谓工作分析结构是指将一个信息系统项目分解成易于管理的几部分或几个细目,细目再展开成子细目,任何分支最低层的细目叫工作包。工作包、分摊项目经理组织队伍形成项目团队,绘制专业领域技术编制表,建立一32比如对于一个待建系统可以先按照生命周期的各阶段展开,然后按照子系统或系统功能点展开。责任矩阵一旦建立,就可以进行项目各建设活动的工期估计和预算分摊估计。工期估计和预算分摊估计各有两种办法,一种是自上而下法,即在项目建设总时间和总成本之内按照每一工作包的相关工作范围来考察,以项目总时间或总成本的一定比例分摊到各个工作包中。另一种方法是自下而上法,它是由每一工作包的具体负责人来做估计的方法。比如对于一个待建系统可以先按照生命周期的各阶段展开,然后按照33现在某企业准备开发一个客户关系管理的信息系统,合同双方将系统交付使用作为项目终结的依据,双方同意维护期间费用另行支付。经上述测算,估算该项目总开发工作量为4人年,项目总开发时间为50周,项目的总成本(包括软件开发成本、硬件成本和开发中的其他成本)是100万元人民币。将该项目划分为六个大的活动,并明确了各活动的工期:系统规划(5周)、系统分析(10周)、系统设计(10周)、系统实现(15周)、系统测试(8周)和系统转换(5周)。分摊实例现在某企业准备开发一个客户关系管理的信息系统,合同双方将系统34客户关系信息系统项目甘特图客户关系信息系统项目甘特图35客户关系信息系统项目分摊客户关系信息系统项目分摊36最早开始时间(EarliestStarttime,ES)和最早结束时间(EarliestFinishtime,EF)。ES和EF是通过网络图的正向计算得到的。规则:某项活动的最早开始时间(ES)必须相同或晚于直接指向这项活动的所有活动的最早结束时间(EF)中的最晚时间。EF=ES十工期估计。最迟开始时间(LatestStarttime,LS)和最迟结束时间(LatestFinishtime,LF)。LF和LS可以通过网络图的反向推算得出。规则:某项活动的最迟结束时间(LF)必须相同或早于该活动直接指向的所有活动最迟开始时间(LS)的最早时间。LS=LF-工期估计。ES、EF、LS、LF最早开始时间(EarliestStarttime,ES)37客户关系信息系统项目进度客户关系信息系统项目进度38总时差可以用每项活动的最迟结束(开始)时间减去它的最早结束(开始)时间算出,即:总时差=LF—EF或总时差=LS—ES。如果某项活动的总时差为正值,表明该项活动花费时间总量可以适当延长,而不必担心会出现在要求完工时间内活动无法完成的窘况。反之,如果总时差为负值,则表明该项活动要加速完成以减少花费的时间。要对项目的进度作到较好的控制,必须找到项目网络图中的关键路径。那些具有正的总时差的路径有时被称为非关键路径,而那些总时差为零或负值的路径被称为关键路径,并且我们将耗时最长的关键路径经常称为最关键路径。总时差、关键路径总时差可以用每项活动的最迟结束(开始)时间减去它的最早结束(39网络图实例(上)网络图实例(上)40网络图实例(下)网络图实例(下)41(四)项目计划的变更管理(四)项目计划的变更管理42信息系统项目变更管理过程图信息系统项目计划变更与监控制定基准计划(进度,预算)启动项目开始一个报告期收集实际进程数据(进度,成本)更新项目的计划(进度,预算)分析当前状况并与计划比较(进度,预算)需采取纠正措施吗?识别纠正措施和协调相关变化还有下一个报告期吗?项目结束是是否否信息系统项目变更管理过程图信息系统项目计43第一是对近期内即将发生的活动加强控制,积极挽回时间和成本,这是因为早控制早主动;第二是工期估计最长或预算估计最大的活动应进一步审核预估依据,并做好该活动压缩时间和费用的准备工作,因为估计值越大的项目更有压缩的可能;第三,将某些可以再分的活动进一步细分,研究细分活动之间并行工作或知识重用的可行性,如可行,则可以有效地压缩时间和费用。计划调整的重点第一是对近期内即将发生的活动加强控制,积极挽回时间和成本,这44时间与成本之间在一定的范围内有一定的替代性,时间—成本平衡法就是一种用最低的相关成本的增加来缩短项目工期的方法。该方法基于以下假设:每项活动有两组工期和成本估计:正常和应急。一项活动的工期可以通过从正常时间减至应急时间得到有效的缩减,这要靠投入更多资源来实现。应急时间是确保活动按质量完成的时间下限。当需要将活动的预计工期从正常时间缩短至应急时间时,必须有足够的资源作保证。在活动的正常点和应急点之间,时间和成本的关系是线性的。时间—成本平衡法时间与成本之间在一定的范围内有一定的替代性,时间—成本平衡法45附有正常和应急时间及成本的网络图附有正常和应急时间及成本的网络图46缩短工期的单位时间加急成本可用如下公式计算:每项活动的每周加急成本可根据上述公式分别计算出来:活动A:6000元/周活动B:10000元/周活动C:5000元/周活动D:6000元/周单位时间加急成本缩短工期的单位时间加急成本可用如下公式计算:单位时间加急成本47时间—成本平衡法的举例时间—成本平衡法的举例48下面介绍利用项目的预算累计量、实际成本累计量和盈余累计量三个指标监控成本变动的方法。假设现有一个小型信息系统项目——个人理财信息系统需要开发,合同总价款为10万元人民币,拟在12周内开发成功。项目采用原型法方式开发,为了简单起见,将该项目分为三个大的活动:需求分析与原型制作、原型改造与系统实现、系统测试与转换。项目成本计划的变更控制下面介绍利用项目的预算累计量、实际成本累计量和盈余累计量三个49预算累计量(PV,PlannedValue)预算累计量(PV,PlannedValue)50实际成本累计量(AC,ActualCost)实际成本累计量(AC,ActualCost)51挣值量(EV,EarnedValue)挣值量(EV,EarnedValue)52个人理财信息系统三个累计量的比较图个人理财信息系统三个累计量的比较图53成本差(CostVariance,CV);进度差(ScheduleVariance,SV);成本绩效指数,又叫成本效率(CostPerformanceIndex,CPI);进度绩效指数,又叫进度效率(SchedulePerformanceIndex,SPI)成本差(CV)=累计挣值(EV)—累计成本(AC)进度差(SV)=累计挣值(EV)—累计预算(PV)成本效率(CPI)=累计挣值(EV)/累计成本(AC)进度效率(SPI)=累计挣值(EV)/累计预算(PV)监控信息系统项目的指标成本差(CostVariance,CV);进度差(Sche54根据上述4个公式,可以计算上例到第8周时上述的4个指标:CV=EV—AC=5.4—6.8=—1.4(万元)SV=EV—PV=5.4—6.4=—1.0(万元)CPI=EV/AC=5.4/6.8=0.794SPI=EV/PV=5.4/6.4=0.844一般来讲,成本差和进度差都是正值(或者成本效率和进度效率都大于1)的项目执行得要好于成本差和进度差都是负值(或者成本效率和进度效率都小于1)的项目。项目经理通过对不同时期、不同工作包上述四个指标的监控,就可以清楚地了解项目的执行情况,并据此采取相应的措施。监控指标说明根据上述4个公式,可以计算上例到第8周时上述的4个指标:监控55三、IS项目的人员管理三、IS项目的人员管理56信息系统项目的人力计划,主要基于前面说到的工作量和进度预估,工作量与项目总时间的比值就是理论上所需的人力数。人员—进度权衡定律Brooks定律曾担任IBM公司操作系统项目经理的F.Brooks从大量的软件开发实践中得出了另一条结论:“向一个已经拖延的项目追加开发人员,可能使它完成得更晚”。两个重要定律信息系统项目的人力计划,主要基于前面说到的工作量和进度预估,57用作人力计划的Rayleigh-Norden曲线用作人力计划的Rayleigh-Norden曲线58信息系统开发人员作为技术工种,可不是一旦需要就马上找得到的,那么在制定人力资源计划时,就要在基本按照上述曲线配备人力的同时,尽量使某个阶段的人力稳定,并且确保整个项目期人员的波动不要太大。我们称这样的过程为人力资源计划的平衡。人力资源平衡法是制定使人力资源需求波动最小化的进度计划的一种方法。这种平衡人力资源的方法是为尽可能均衡地利用人力资源并满足项目要求完成的进度。人力资源平衡是在不延长项目完工时间的情况下建立人力资源均衡利用的进度计划。人力资源平衡信息系统开发人员作为技术工种,可不是一旦需要就马上找得到的,59反映学籍信息管理系统项目

人力资源需求的的网络图反映学籍信息管理系统项目

人力资源需求的的网络图60基于活动最早开始时间的人力资源计划图基于活动最早开始时间61基于资源平衡的人力资源计划图基于资源平衡的62每个项目小组的人数不能太多,否则组员间彼此通信的时间将占系统建设时间的一个很大比重。通常不能把一个信息系统划分成大量独立的单元模块或子系统,否则,不仅出现接口错误的可能性增加,而且系统测试将既困难又费时间。一般说来,每个项目小组的规模应该比较小,以2—8名成员为宜。如果项目属于中小型规模且建设时间在一年以内,那么项目小组的成员可以是活动负责人制。如果项目属于大中型规模,建设时间在一年以上,那么就必须考虑项目建设人员因各种原因发生变动的情况。项目小组的构成每个项目小组的人数不能太多,否则组员间彼此通信的时间将占系统63大型信息系统项目基层项目小组的具体构成及举例大型信息系统项目基层项目64项目团队成长的阶段形成(forming)阶段震荡(storming)阶段正规(norming)阶段表现(performing)阶段激励的结果是使参与信息系统的所有成员组织成一个工作富有成效的项目团队。有成效的项目团队具有如下特点:能清晰理解项目的目标;每位成员的角色和职责有明确的期望;以项目的目标为行为的导向;项目成员之间高度信任,高度地合作互助等。项目团队的成长与激励项目团队成长的阶段项目团队的成长与激励65信息系统项目团队的成长与激励信息系统项目团队的成长与激励66团队有效性自测表团队有效性自测表67四、IS项目的质量管理四、IS项目的质量管理68信息系统生命周期各阶段之间的关系信息系统生命周期69目前人们对信息系统项目提出的要求,往往只强调系统必须完成的功能、应该遵循的进度计划、以及生产这个系统花费的成本,却很少注意在整个生命周期中信息系统应该具备的质量标准。这种做法的后果是,许多系统的维护费用非常高,为了把系统移植到另外的环境中,或者使系统和其他系统配合使用,都必须付出很高代价。信息系统的质量管理不仅仅是项目开发完成后的最终评价,而是在信息系统开发过程中的全面质量控制。也就是说,不仅包括系统实现时的质量控制,也包括系统分析、系统设计时的质量控制;不仅包括对系统实现时软件的质量控制,而且还包括对文档、开发人员和用户培训的质量控制。IS项目的全面质量控制目前人们对信息系统项目提出的要求,往往只强调系统必须完成的功70变更时间与所付代价关系图变更时间与所付代价关系图71软件质量因素与产品活动的关系软件质量因素与产品活动的关系72项目成本及实施的信息系统建设(图表丰富)课件73实行工程化的开发方法实行阶段性冻结与改动控制实行里程碑式审查与版本控制实行面向用户参与的原型演化强化项目管理,引入外部监理与审计尽量采用面向对象和基于构件的方法进行系统开发引入CMM进行全面测试IS项目全面质量控制的办法实行工程化的开发方法IS项目全面质量控制的办法74第九讲信息系统建设的项目管理第九讲信息系统建设的项目管理75一、信息系统与项目管理一、信息系统与项目管理76信息系统的建设是一类项目信息系统的建设是一次性的任务,有一定的任务范围和质量要求,有时间或进度的要求,有经费或资源的限制。信息系统具有生命周期系统规划、系统分析、系统设计、系统实施、系统运行和维护五个阶段。从具体构成来看,信息系统项目可分为客户需求分析、应用软件开发、网络规划与设计、设备采购以及系统调试与集成等多项内容。信息系统的建设是一类项目信息系统的建设是一次性的任务,有一定77二、计划、费用与进度管理二、计划、费用与进度管理78信息系统项目的计划信息系统项目的计划是用来指导组织、实施、协调和控制信息系统建设的文件,制订一个良好的计划有诸多好处,比如:可以将计划的假设与前提写成书面文件,以备发生变更时查考;有助于项目成员之间的交流沟通,有助于大家统一认识;可以确定测量项目进展、对项目进行控制和考核工作业绩的基准。进度计划、费用计划、人力计划、质量保证计划、风险管理计划等。全过程计划,也可以是阶段性计划或子系统计划。信息系统项目的计划信息系统项目的计划是用来指导组织、实施、协79(一)、成本的构成及测算(一)、成本的构成及测算80信息系统项目成本的构成信息系统项目成本的构成81信息系统项目成本的测算分析信息系统项目的成本测算,就是根据待开发信息系统的成本特征以及当前能够获得的有关数据和情况,运用定量和定性分析方法对信息系统生命周期各阶段的成本水平和变动趋势做出尽可能科学的估计。最难确定的是开发成本中的软件开发成本,而硬件成本和其他成本相对容易估算出来。至于运行维护成本,则可以根据开发成本与运行维护成本比值的经验数据和测算出来的开发成本一起计算。并且,对于信息系统项目的用户来讲,项目开发成本的不确定性因素较大,而项目的运行维护成本由于多次发生,且在自身的使用中发生,相对来讲容易控制一些。所以信息系统项目成本测算的重点是软件开发成本。信息系统项目成本的测算分析信息系统项目的成本测算,就是根据待82信息系统项目成本测算过程信息系统项目成本测算过程83(二)软件规模与成本的估算(二)软件规模与成本的估算841、软件常用的估算方法参照已经完成的类似项目,估算待开发项目的软件开发成本和工作量。将大的项目分解成若干小的子系统,在估算出每个子系统软件开发成本和工作量之后,再估算整个项目的软件开发成本。将软件按信息系统的生命周期分解,分别估算出软件开发在各个阶段的工作量和成本,然后再把这些工作量和成本汇总,估算出整个软件开发的工作量和成本。根据实验或历史数据给出软件开发工作量或成本的经验估算公式。1、软件常用的估算方法参照已经完成的类似项目,估算待开发项目85软件代码行的方式软件开发的生产率:Pl=L/E

其中:L是应用软件的总代码行数。一般用千行代码KLOC(1KLOC=103LOC)度量。

E是应用软件的工作量,用人月(PM)度量。Pl是软件开发的生产率,用每人月完成的代码行数(LOC/PM)度量。软件代码行的方式软件开发的生产率:86软件代码行的方式例:某信息系统代码约为32000行,5人用2个月完成。则L=32000/1000=32E=5*2=10

Pl=L/E=32/10=3.2软件代码行的方式例:某信息系统代码约为32000行,5人用287软件代码行的方式每行代码的平均成本:Cl=S/L其中:S是软件开发的总成本,用人民币元或美元度量。Cl是软件项目每行代码的平均成本,用人民币元(或美元)/代码行度量。软件代码行的方式每行代码的平均成本:Cl=S/L88软件代码行方式的缺点用软件代码行数估算软件的开发规模简单易行,其缺点也有不少:代码行数的估算依赖于程序设计语言的功能和表达能力;采用代码行估算方法会对设计精巧的软件项目产生不利的影响;在软件项目开发前或开发初期估算它的代码行数十分困难;代码行估算只适用于过程式程序设计语言,对非过程式的程序设计语言不太适用,等等。软件代码行方式的缺点用软件代码行数估算软件的开发规模简单易行89软件功能点方式间接度量按基本功能定义,系统分析初期能大概估算出山软件开发的规模软件功能点方式间接度量90功能点计算中CT的度量功能点计算中CT的度量91这种方法用6个信息量的“加权和”CT和14个因素的“复杂性调节值”Fi(i=1,2,…,14)计算功能点FP:软件开发的生产率:Pf=FP/E其中:Pf表示每人月完成的功能点数。E是工作量,用人月(PM)度量。每功能点的平均开发成本:Cf=S/FP其中:S是软件开发的总成本。Cf表示每功能点的平均开发成本。软件功能点的方式这种方法用6个信息量的“加权和”CT和14个因素的“复杂性调92功能点计算中Fi的估值功能点计算中Fi的估值93采用功能点度量的优点主要有两条:第一,与程序设计语言无关,它不仅适用于过程式语言,也适用于非过程式的语言,这对于面向对象的开发方式尤为有用;第二,由于在信息系统项目启动时就能基本上确定系统的输入、输出等参数,所以功能点度量能用于软件开发成本在初期的预估。缺点主要是它涉及到的主观因素比较多,如Fi的选取与评估人的经验和态度有较大的关系,并且FP的值没有直观的物理意义。软件功能点方式的优缺点采用功能点度量的优点主要有两条:软件功能点方式的优缺点94采用前述估算方法估算出L或FP的乐观值a,悲观值b和一般值m,然后根据下列加权公式计算出期望值:e=(a十4m十b)/6当L或FP的期望值估算出来之后,根据以前开发软件的数据可知软件开发平均生产率(KLOC/PM或FP/PM)计算出工作量。比如软件项目规模按功能点估算为3l0FP,假设以前完成项目的平均生产率为5.5FP/PM,已知每人月的开发成本为1万元,于是:工作量估算为:E=310/5.5=56PM软件开发成本估算为:C=56×1=56万元软件规模和成本的的测算采用前述估算方法估算出L或FP的乐观值a,悲观值b和一般值m952、软件的经验估算模型2、软件的经验估算模型96CoCoMo模型是“构造性成本模型”(ConstructiveCostModel,简称CoCoMo模型)的英文缩写,分为基本、中间、详细三个层次,分别用于软件开发的不同阶段。基本CoCoMo模型用于系统开发的初期,估算整个系统的工作量(包括软件维护)和软件开发所需要的时间;中间CoCoMo模型用于估算各个子系统的工作量和开发时间;详细CoCoMo模型用于估算独立的软部件,如子系统内部的各个模块。CoCoMo模型简介CoCoMo模型是“构造性成本模型”(Constructi97基本CoCoMo模型是静态、单变量模型,具有下列形式:

E=aLb

D=cEd

C=λE

其中:L是项目的代码行估计值。E表示工作量,单位是人月(PM)。D表示开发时间,单位是月。C表示开发成本,单位是万元。λ表示每人月的人力成本,单位是万元/人月

a,b,c,d是常数。基本CoCoMo模型基本CoCoMo模型是静态、单变量模型,具有下列形式:基本C98基本CoCoMo模型参数取值基本CoCoMo模型参数取值99Putnam模型,是由Putnam提出的大型软件项目工作量(一般在30人年以上)估算模型。它是一个动态多变量模型,适用于软件开发的各个阶段。估算模型以大型软件项目的实测数据为基础,描述了开发工作量、开发时间和软件代码行数之间的关系。Putnam模型简介Putnam模型,是由Putnam提出的大型软件项目工作量100相应的方程是:其中:L表示源程序代码行数。E表示工作量(以人年记,包括维护)。

td表示开发时间(以年记)。Ck表示技术状态常数,它反映出“妨碍程序员进展的限制”,并因开发环境而异。显然:C=λE其中:C表示开发成本,单位是万元。λ表示每人年的人力成本,单位是万元/人年。Putnam模型相应的方程是:Putnam模型101Putnam模型技术状态常数Ck的取值Putnam模型技术状态常数Ck的取值102在Putnam模型中,开发软件项目的工作量与交付时间的4次方成反比,将0.9td代替式中的td计算E,我们发现,提前10%的时间要增加52%的工作量,显然是降低了软件开发生产率。因此,软件开发过程中人员与时间的折衷是一个十分重要的问题。由上述对两个经验模型的分析可知,CoCoMo模型和Putnam模型都是在估算软件代码行的方式基础上,估算出了软件开发的工作量和软件开发的成本。对于软件的开发时间,CoCoMo模型是根据经验公式估算出来的,对于Putnam模型则是与工作量相权衡的结果。对于软件的人力投入,两个模型都可以根据工作量和开发时间的比值测算出来。两个经验模型点评在Putnam模型中,开发软件项目的工作量与交付时间的4次103到此,我们就讨论完了软件规模、成本、开发时间、人力投入的测算过程。在此基础上,就可以根据测算的软件开发成本、硬件成本和信息系统开发期间的其他成本计算出信息系统的开发成本,再根据信息系统开发成本占信息系统总成本比例的经验数据得出信息系统项目的总成本。相应地,也可以根据软件开发时间或人力投入占信息系统项目总时间或总人力比例的经验数据知道信息系统项目建设所需要的总时间、总人力。信息系统项目的总成本到此,我们就讨论完了软件规模、成本、开发时间、人力投入的测算104(三)项目的进度与成本计划(三)项目的进度与成本计划105项目经理组织队伍形成项目团队,绘制专业领域技术编制表,建立一个工作分析结构(WBS),并在此基础上建立项目组成员的责任矩阵。所谓工作分析结构是指将一个信息系统项目分解成易于管理的几部分或几个细目,细目再展开成子细目,任何分支最低层的细目叫工作包。工作包、分摊项目经理组织队伍形成项目团队,绘制专业领域技术编制表,建立一106比如对于一个待建系统可以先按照生命周期的各阶段展开,然后按照子系统或系统功能点展开。责任矩阵一旦建立,就可以进行项目各建设活动的工期估计和预算分摊估计。工期估计和预算分摊估计各有两种办法,一种是自上而下法,即在项目建设总时间和总成本之内按照每一工作包的相关工作范围来考察,以项目总时间或总成本的一定比例分摊到各个工作包中。另一种方法是自下而上法,它是由每一工作包的具体负责人来做估计的方法。比如对于一个待建系统可以先按照生命周期的各阶段展开,然后按照107现在某企业准备开发一个客户关系管理的信息系统,合同双方将系统交付使用作为项目终结的依据,双方同意维护期间费用另行支付。经上述测算,估算该项目总开发工作量为4人年,项目总开发时间为50周,项目的总成本(包括软件开发成本、硬件成本和开发中的其他成本)是100万元人民币。将该项目划分为六个大的活动,并明确了各活动的工期:系统规划(5周)、系统分析(10周)、系统设计(10周)、系统实现(15周)、系统测试(8周)和系统转换(5周)。分摊实例现在某企业准备开发一个客户关系管理的信息系统,合同双方将系统108客户关系信息系统项目甘特图客户关系信息系统项目甘特图109客户关系信息系统项目分摊客户关系信息系统项目分摊110最早开始时间(EarliestStarttime,ES)和最早结束时间(EarliestFinishtime,EF)。ES和EF是通过网络图的正向计算得到的。规则:某项活动的最早开始时间(ES)必须相同或晚于直接指向这项活动的所有活动的最早结束时间(EF)中的最晚时间。EF=ES十工期估计。最迟开始时间(LatestStarttime,LS)和最迟结束时间(LatestFinishtime,LF)。LF和LS可以通过网络图的反向推算得出。规则:某项活动的最迟结束时间(LF)必须相同或早于该活动直接指向的所有活动最迟开始时间(LS)的最早时间。LS=LF-工期估计。ES、EF、LS、LF最早开始时间(EarliestStarttime,ES)111客户关系信息系统项目进度客户关系信息系统项目进度112总时差可以用每项活动的最迟结束(开始)时间减去它的最早结束(开始)时间算出,即:总时差=LF—EF或总时差=LS—ES。如果某项活动的总时差为正值,表明该项活动花费时间总量可以适当延长,而不必担心会出现在要求完工时间内活动无法完成的窘况。反之,如果总时差为负值,则表明该项活动要加速完成以减少花费的时间。要对项目的进度作到较好的控制,必须找到项目网络图中的关键路径。那些具有正的总时差的路径有时被称为非关键路径,而那些总时差为零或负值的路径被称为关键路径,并且我们将耗时最长的关键路径经常称为最关键路径。总时差、关键路径总时差可以用每项活动的最迟结束(开始)时间减去它的最早结束(113网络图实例(上)网络图实例(上)114网络图实例(下)网络图实例(下)115(四)项目计划的变更管理(四)项目计划的变更管理116信息系统项目变更管理过程图信息系统项目计划变更与监控制定基准计划(进度,预算)启动项目开始一个报告期收集实际进程数据(进度,成本)更新项目的计划(进度,预算)分析当前状况并与计划比较(进度,预算)需采取纠正措施吗?识别纠正措施和协调相关变化还有下一个报告期吗?项目结束是是否否信息系统项目变更管理过程图信息系统项目计117第一是对近期内即将发生的活动加强控制,积极挽回时间和成本,这是因为早控制早主动;第二是工期估计最长或预算估计最大的活动应进一步审核预估依据,并做好该活动压缩时间和费用的准备工作,因为估计值越大的项目更有压缩的可能;第三,将某些可以再分的活动进一步细分,研究细分活动之间并行工作或知识重用的可行性,如可行,则可以有效地压缩时间和费用。计划调整的重点第一是对近期内即将发生的活动加强控制,积极挽回时间和成本,这118时间与成本之间在一定的范围内有一定的替代性,时间—成本平衡法就是一种用最低的相关成本的增加来缩短项目工期的方法。该方法基于以下假设:每项活动有两组工期和成本估计:正常和应急。一项活动的工期可以通过从正常时间减至应急时间得到有效的缩减,这要靠投入更多资源来实现。应急时间是确保活动按质量完成的时间下限。当需要将活动的预计工期从正常时间缩短至应急时间时,必须有足够的资源作保证。在活动的正常点和应急点之间,时间和成本的关系是线性的。时间—成本平衡法时间与成本之间在一定的范围内有一定的替代性,时间—成本平衡法119附有正常和应急时间及成本的网络图附有正常和应急时间及成本的网络图120缩短工期的单位时间加急成本可用如下公式计算:每项活动的每周加急成本可根据上述公式分别计算出来:活动A:6000元/周活动B:10000元/周活动C:5000元/周活动D:6000元/周单位时间加急成本缩短工期的单位时间加急成本可用如下公式计算:单位时间加急成本121时间—成本平衡法的举例时间—成本平衡法的举例122下面介绍利用项目的预算累计量、实际成本累计量和盈余累计量三个指标监控成本变动的方法。假设现有一个小型信息系统项目——个人理财信息系统需要开发,合同总价款为10万元人民币,拟在12周内开发成功。项目采用原型法方式开发,为了简单起见,将该项目分为三个大的活动:需求分析与原型制作、原型改造与系统实现、系统测试与转换。项目成本计划的变更控制下面介绍利用项目的预算累计量、实际成本累计量和盈余累计量三个123预算累计量(PV,PlannedValue)预算累计量(PV,PlannedValue)124实际成本累计量(AC,ActualCost)实际成本累计量(AC,ActualCost)125挣值量(EV,EarnedValue)挣值量(EV,EarnedValue)126个人理财信息系统三个累计量的比较图个人理财信息系统三个累计量的比较图127成本差(CostVariance,CV);进度差(ScheduleVariance,SV);成本绩效指数,又叫成本效率(CostPerformanceIndex,CPI);进度绩效指数,又叫进度效率(SchedulePerformanceIndex,SPI)成本差(CV)=累计挣值(EV)—累计成本(AC)进度差(SV)=累计挣值(EV)—累计预算(PV)成本效率(CPI)=累计挣值(EV)/累计成本(AC)进度效率(SPI)=累计挣值(EV)/累计预算(PV)监控信息系统项目的指标成本差(CostVariance,CV);进度差(Sche128根据上述4个公式,可以计算上例到第8周时上述的4个指标:CV=EV—AC=5.4—6.8=—1.4(万元)SV=EV—PV=5.4—6.4=—1.0(万元)CPI=EV/AC=5.4/6.8=0.794SPI=EV/PV=5.4/6.4=0.844一般来讲,成本差和进度差都是正值(或者成本效率和进度效率都大于1)的项目执行得要好于成本差和进度差都是负值(或者成本效率和进度效率都小于1)的项目。项目经理通过对不同时期、不同工作

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论