- 1、本文档共56页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程
第20章软件项目估算
主要内容
对估算的观察
项目策划过程
软件范围和可行性
资源
软件项目估算
分解技术
经验估算模型
面向对象项目的估算
小结
估算
软件的真实需求已经确定;共利益者们都
已就绪;软件工程师准备开始;项目将要
启动。但是如何进行下去呢?软件项目计
划包括五项主要活动——估算、进度安排、
风险分析、质量管理计划和变更管理计划。
本章考虑估算——尝试确定构造一个特定
的基于软件的系统或产品所需要花费的资
金、工作量、资源及时间。
估算
软件项目经理——利用从共利益者和软件工程
师那里获得的信息以及从以往项目收集的软件度
量数据。
估算首先要描述产品的范围。然后,将问题分
解为一组较小的问题,再以历史数据和经验为指
南,对每个小问题进行估算。在进行最终的估算
之前,要考虑问题的复杂度和风险。
工作产品是生成一个简单的表,描述要完成的
任务、要实现的功能,以及完成每一项所需的成
本、工作量和时间。
估算
如果有经验并遵循系统化的方法,使用
可靠的历史数据进行估算,利用至少两种
不同的方法创建估算数据点,制定现实的
进度表并随着项目的进展不断进行调整,
则可以确信已经为项目做了最好的估算。
估算
软件项目管理从一组统称为项目策划的活
动开始。在项目可以开始前,项目经理和
软件团队必须估算将要完成的工作、所需
的资源,以及从开始到完成所需要的时间。
这些活动一旦完成,软件团队就要制定项
目进度计划。在项目进度计划中,要定义
软件工程任务及里程碑,确定每一项任务
的负责人,详细指明对项目进展影响很大
的任务间的相互依赖关系。
估算
很多技术工作者宁愿从事技术工作,而不愿花
费时间制定计划。很多技术管理者没有接受过充
分的技术管理方面的培训,对他们的计划能够改
善项目成果缺乏信心。这两部分人都不想制定计
划,因此就经常不制定计划。
但是没有很好地制定计划是一个项目犯的最严
重的错误之一……有效的计划是必需的,可以在
上游以较低的成本解决问题,而不是在下游以较
高成本解决问题。一般的项目要将80%的时间
花费在返工上——改正在项目早期所犯的错误。
对估算的观察
估算是一门艺术,更是一门科学,这项重
要的活动不能以随意的方式来进行。现在已
经有了估算时间和工作量的实用技术。过程
度量和项目度量为定量估算从历史角度提供
了依据和有效的输入。当建立估算和评审估
算时,过去经验的辅助作用是不可估量的。
由于估算是所有其他项目策划活动的基础,
而且项目计划又提供了通往成功的软件工程
的路线图。因此,没有估算就着手开发,将
陷入盲目性。
对估算的观察
对软件工程工作的资源、成本及进度进行估算
时,需要经验,需要了解有用的历史信息,还要
有当只存在定性的信息时进行定量预言的勇气。
估算具有与生俱来的风险,正是这种风险导致了
不确定性。
历史信息的有效性对估算的风险有很大影响。
通过回顾过去,能够仿效做过的工作,并改进出
现问题的地方。如果能取得对以往项目的全面的
软件度量,做估算就会有更大的保证,合理安排
进度以避免重走过去的弯路,总体风险也会降低。
对估算的观察
估算的风险取决于对资源、成本及进
度的定量估算中存在的不确定性。如
果对项目范围不太了解,或者项目需
求经常改变,不确定性和估算风险就
会非常高。计划人员,尤其是客户,
都应该认识到经常改变软件需求意味
着在成本和进度上的不稳定性。
项目策划过程
软件项目策划的目标是提供一个能使管理
人员对资源、成本及进度做出合理估算的
框架。此外,估算应该尝试定义“最好的
情况”和“最坏的情况”,使项目的结果
能够限制在一定范围内。项目计划是在计
划任务中创建的,尽管它具有与生俱来的
不确定性,软件团队还是要根据它着手开
发。因此,随着项目的进展,必须不断地
对计划进行调整和更新。
软件范围和可行性
软件范围描述了将要交付给最终用户的功
能和特性、输入和输出的数据、使用软件
时要呈现给用户的“内容”,以及界定系
统的性能、约束条件、接口和可靠性。定
义范围可以使用两种方法:
1、在与所有共利益者交流之后,写出对
软件范围的叙述性描述。
2、由最终用户开发一组用例。
软件范围和可行性
在开始估算之前,首先要对范围陈述中
描述的功能进行评估,在某些情况下,还
要进行细
文档评论(0)