软件项目管理第5章 软件项目成本估算

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第5章 软件项目成本估算
值得注意的是:由于软件自身的抽象性、软件项目的复 杂性、以往经验数据的可重复性、估算工具的缺乏以及人为 主观经验的影响,将会导致软件项目估算与实际情况有较大 差异。在项目实施之初,估算有着非常重要的意义,但这一 阶段的估算有较大的误差,随着项目计划的逐步落实,估算 结果会越来越准确,但是后期的估算将逐渐失去意义,如图 5.2所示。
第5章 软件项目成本估算
第5章 软件项目成本估算
5.1 软件项目估算概述 5.2 软件项目规模估算 5.3 软件项目成本估算方法 5.4 软件项目成本估算模型 5.5 小结
第5章 软件项目成本估算
第5章 软件项目成本估算
第5章 软件项目成本估算
进度估算是指根据软件工作量估算结果以及用户提出的 进度要求,估算实施一系列软件工程任务的持续时间,即软 件项目历时估计。进度估算涉及人、财、物等项目资源的分 配,形成项目进度计划,用来跟踪和沟通项目进展状态,也 可跟踪变更对项目的影响。
第5章 软件项目成本估算
5.1.3 软件项目估算的时机 基于软件项目估算的特点,可以将估算工作与软件产品
的生命周期结合起来,使其既有意义,又有较高的精度。 软件产品的生命周期可以划分为问题定义、可行性研究、
需求分析、构架设计、详细设计、编码与测试和运行与维护 等八个阶段。这些阶段反映了软件开发实质是一个逐步细化 的过程,在不同阶段对项目进行估算,存在着不同程度的误 差(如图5.3所示),这种误差随着项目的推进具有收敛特性, 并对项目实施能否成功有着重要的影响。
第5章 软件项目成本估算
估算调整期ET5:在编码调试阶段,人、财、物等资源 随着系统实现工作的推进,投入量更加清楚明了,为确保后 期工作的顺利实施,需要总结前面各阶段的实际量,对成本 和进度估算进行调整。
估算评价期ET6:产品完工、系统投入运行之后,前面 各阶段存在的不确定性都已成为已知量,此时可以将各阶段 的估算值与实际量进行比较评价,从中获得项目估算的经验 教训,有助于提高开发方管理和实施软件项目的能力和水平。 5.1.4 软件项目估算的方法
第5Baidu Nhomakorabea 软件项目成本估算
工作量和 成本估算
问题 定义
4.0X
2.0X 1.5X 1.25X 1.0X 0.9X 0.85X 0.8X
可行性 研究
进度估算
需求 分析
构架 设计
详细 设计
编码 测试
系统 运行
系统 维护
4.0X
2.0X
1.5X 1.25X 1.0X 0.9X 0.85X
0.8X
0.6X
初始的 产品定义
没问题!
太好了,那我们 开工吧!
建筑师
客户
图5.1 客户的需要(除非你很清楚地知道客户想要什么,否则你很难知道 能否在期望的时间段内建造客户想要的产品)
第5章 软件项目成本估算
5.1.2 软件项目估算的意义 软件项目估算是有效的软件项目管理必不可少的,没有
比较准确的估算,软件项目将不可避免地造成产品性能的损 失、软件成本大幅度增长、项目的超支、软件开发工作处于 失控状态和进度拖期等问题。从上述的案例也可以发现这里 列出的一些问题。
软件项目估算是制定项目计划的基础和依据,目的就是 为某个软件项目的实施制定一个较准确的经费预算和进度估 计,从而支撑整个项目在可控的状态下按计划执行,并且能 够实现预期目标。除此之外,还能够为后续的软件度量提供 依据,以便发现项目实施中存在的问题,并总结项目管理和 实施的经验与教训,继而提升软件开发企业的软件生产能力 和软件项目管理人员的管理水平。
成本估算是根据软件规模及其工作量估算结果,估算完 成该项目要付出的经济代价。软件项目的成本主要体现在人 力资源成本上,但也不能忽视资源配置、软件培训、人员变 动、进度压缩和进度延期等因素产生的其他成本。
工作量估算结果和进度估算结果对于组建项目团队具有
重要作用。
第5章 软件项目成本估算
一个月的时间造 这样一栋房子?
第5章 软件项目成本估算
估算意义 O
估算精度 项目进度
图5.2 软件项目估算的意义和精度(估算的意义随项目的进展 逐渐减弱,估算的精度则正好相反)
第5章 软件项目成本估算
因此,软件项目估算具有以下几个特点。 (1) 估算是有误差的。实践证明,大多数项目超过估算 25%到100%,但也有少数的估算准确到10%以内。 (2) 经验(历史)数据非常重要,这种估算大多是利用以 前的代价和经验作为参考而做出的。 (3) 估算可以借助估算工具和数学模型进行,旨在减少 人为误差,但不要过分迷信数学模型。 (4) 软件开发是逐步细化的过程,估算也是随项目的进 行逐步求精的过程,因此项目估算要考虑合适的时间节点。
第5章 软件项目成本估算
一级精度估算期ET3:在需求分析阶段,进一步明确了 系统的功能目标,通过项目实施完成需求说明书中描述的功 能及其规格,便会有比较明确的成本和进度,此时的成本和 进度估算偏差分别降至±1.5倍和±1.15倍,开发方可再次权 衡产品实现的可行性,进而决定项目是否继续执行。
二级精度估算期ET4:在构架设计和详细设计阶段,确 定了系统实现的最佳方案及其详细计划、体系结构、功能模 块及其算法和数据结构,成本和进度估算更多考虑的是如何 将系统开发完成、后期各阶段资源的分配以及相关的其他细 节,不确定性因素更少,此时的成本和进度估算具有较高的 精度,其偏差分别降至±1.25倍和±1.1倍以下,开发方一般 不会作出终止项目的决定,他们会将主要精力投入到更好的 管理和实施项目上来。
ET1
批准的 产品定义
ET2
需求 说明书
ET3
构架设计 详细设计 说明书 说明书 ET4
软件 代码 ET5
0.6X
产品 完工 ET6
图5.3 软件项目估算的时机和收敛曲线(软件项目估算的时间越早, 误差越大,意义也越大)
第5章 软件项目成本估算
图5.3表明,软件项目估算要把握6个不同的时机: 粗略估算期ET1:在问题定义阶段,对软件产品的认识 存在着诸多的不确定性,因此成本和进度估算的偏差很大, 分别达到±4倍和±1.6倍,此时的估算只能作为粗略估算, 很难成为项目成本和进度管理的依据。 初级精度估算期ET2:在可行性分析阶段,通过研究问 题确定是否存在可行的办法,使得项目的不确定性降低了很 多,成本和进度估算的偏差分别降至±2倍和±1.25倍,启 动或取消项目也能随之定夺下来。
相关文档
最新文档