软件工程估算.ppt

上传人:p** 文档编号:166015 上传时间:2023-03-10 格式:PPT 页数:55 大小:1.09MB
下载 相关 举报
软件工程估算.ppt_第1页
第1页 / 共55页
软件工程估算.ppt_第2页
第2页 / 共55页
软件工程估算.ppt_第3页
第3页 / 共55页
软件工程估算.ppt_第4页
第4页 / 共55页
软件工程估算.ppt_第5页
第5页 / 共55页
软件工程估算.ppt_第6页
第6页 / 共55页
软件工程估算.ppt_第7页
第7页 / 共55页
软件工程估算.ppt_第8页
第8页 / 共55页
软件工程估算.ppt_第9页
第9页 / 共55页
软件工程估算.ppt_第10页
第10页 / 共55页
亲,该文档总共55页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《软件工程估算.ppt》由会员分享,可在线阅读,更多相关《软件工程估算.ppt(55页珍藏版)》请在第壹文秘上搜索。

1、软件工程第17章 估算主要内容v对估算的观察对估算的观察v项目策划过程项目策划过程v软件范围和可行性软件范围和可行性v资源资源v软件项目估算软件项目估算v分解技术分解技术v经验估算模型经验估算模型v面向对象项目的估算面向对象项目的估算v小结小结估算v软件的真实需求已经确定;共利益者们都软件的真实需求已经确定;共利益者们都已就绪;软件工程师准备开始;项目将要已就绪;软件工程师准备开始;项目将要启动。但是如何进行下去呢?软件项目计启动。但是如何进行下去呢?软件项目计划包括五项主要活动划包括五项主要活动估算、进度安排、估算、进度安排、风险分析、质量管理计划和变更管理计划。风险分析、质量管理计划和变更

2、管理计划。本章考虑估算本章考虑估算尝试确定构造一个特定尝试确定构造一个特定的基于软件的系统或产品所需要花费的资的基于软件的系统或产品所需要花费的资金、工作量、资源及时间。金、工作量、资源及时间。估算v软件项目经理软件项目经理利用从共利益者和软件工程利用从共利益者和软件工程师那里获得的信息以及从以往项目收集的软件师那里获得的信息以及从以往项目收集的软件度量数据。度量数据。v估算首先要描述产品的范围。然后,将问题分估算首先要描述产品的范围。然后,将问题分解为一组较小的问题,再以历史数据和经验为解为一组较小的问题,再以历史数据和经验为指南,对每个小问题进行估算。在进行最终的指南,对每个小问题进行估算

3、。在进行最终的估算之前,要考虑问题的复杂度和风险。估算之前,要考虑问题的复杂度和风险。v工作产品是生成一个简单的表,描述要完成的工作产品是生成一个简单的表,描述要完成的任务、要实现的功能,以及完成每一项所需的任务、要实现的功能,以及完成每一项所需的成本、工作量和时间。成本、工作量和时间。估算v 如果有经验并遵循系统化的方法,使用如果有经验并遵循系统化的方法,使用可靠的历史数据进行估算,利用至少两种可靠的历史数据进行估算,利用至少两种不同的方法创建估算数据点,制定现实的不同的方法创建估算数据点,制定现实的进度表并随着项目的进展不断进行调整,进度表并随着项目的进展不断进行调整,则可以确信已经为项目

4、做了最好的估算。则可以确信已经为项目做了最好的估算。估算v软件项目管理从一组统称为项目策划的活软件项目管理从一组统称为项目策划的活动开始。在项目可以开始前,项目经理和动开始。在项目可以开始前,项目经理和软件团队必须估算将要完成的工作、所需软件团队必须估算将要完成的工作、所需的资源,以及从开始到完成所需要的时间。的资源,以及从开始到完成所需要的时间。这些活动一旦完成,软件团队就要制定项这些活动一旦完成,软件团队就要制定项目进度计划。在项目进度计划中,要定义目进度计划。在项目进度计划中,要定义软件工程任务及里程碑,确定每一项任务软件工程任务及里程碑,确定每一项任务的负责人,详细指明对项目进展影响很

5、大的负责人,详细指明对项目进展影响很大的任务间的相互依赖关系。的任务间的相互依赖关系。估算v很多技术工作者宁愿从事技术工作,而不愿花很多技术工作者宁愿从事技术工作,而不愿花费时间制定计划。很多技术管理者没有接受过费时间制定计划。很多技术管理者没有接受过充分的技术管理方面的培训,对他们的计划能充分的技术管理方面的培训,对他们的计划能够改善项目成果缺乏信心。这两部分人都不想够改善项目成果缺乏信心。这两部分人都不想制定计划,因此就经常不制定计划。制定计划,因此就经常不制定计划。v但是没有很好地制定计划是一个项目犯的最严但是没有很好地制定计划是一个项目犯的最严重的错误之一重的错误之一有效的计划是必需的

6、,可以有效的计划是必需的,可以在上游以较低的成本解决问题,而不是在下游在上游以较低的成本解决问题,而不是在下游以较高成本解决问题。一般的项目要将以较高成本解决问题。一般的项目要将80%的的时间花费在返工上时间花费在返工上改正在项目早期所犯的错改正在项目早期所犯的错误。误。对估算的观察v估算是一门艺术,更是一门科学,这项重估算是一门艺术,更是一门科学,这项重要的活动不能以随意的方式来进行。现在已要的活动不能以随意的方式来进行。现在已经有了估算时间和工作量的实用技术。过程经有了估算时间和工作量的实用技术。过程度量和项目度量为定量估算从历史角度提供度量和项目度量为定量估算从历史角度提供了依据和有效的

7、输入。当建立估算和评审估了依据和有效的输入。当建立估算和评审估算时,过去经验的辅助作用是不可估量的。算时,过去经验的辅助作用是不可估量的。由于估算是所有其他项目策划活动的基础,由于估算是所有其他项目策划活动的基础,而且项目计划又提供了通往成功的软件工程而且项目计划又提供了通往成功的软件工程的路线图。因此,没有估算就着手开发,将的路线图。因此,没有估算就着手开发,将陷入盲目性。陷入盲目性。对估算的观察v对软件工程工作的资源、成本及进度进行估算对软件工程工作的资源、成本及进度进行估算时,需要经验,需要了解有用的历史信息,还时,需要经验,需要了解有用的历史信息,还要有当只存在定性的信息时进行定量预言

8、的勇要有当只存在定性的信息时进行定量预言的勇气。估算具有与生俱来的风险,正是这种风险气。估算具有与生俱来的风险,正是这种风险导致了不确定性。导致了不确定性。v历史信息的有效性对估算的风险有很大影响。历史信息的有效性对估算的风险有很大影响。通过回顾过去,能够仿效做过的工作,并改进通过回顾过去,能够仿效做过的工作,并改进出现问题的地方。如果能取得对以往项目的全出现问题的地方。如果能取得对以往项目的全面的软件度量,做估算就会有更大的保证,合面的软件度量,做估算就会有更大的保证,合理安排进度以避免重走过去的弯路,总体风险理安排进度以避免重走过去的弯路,总体风险也会降低。也会降低。对估算的观察v估算的风

9、险取决于对资源、成本及估算的风险取决于对资源、成本及进度的定量估算中存在的不确定性。进度的定量估算中存在的不确定性。如果对项目范围不太了解,或者项目如果对项目范围不太了解,或者项目需求经常改变,不确定性和估算风险需求经常改变,不确定性和估算风险就会非常高。计划人员,尤其是客户,就会非常高。计划人员,尤其是客户,都应该认识到经常改变软件需求意味都应该认识到经常改变软件需求意味着在成本和进度上的不稳定性。着在成本和进度上的不稳定性。项目策划过程v软件项目策划的目标是提供一个能使管理软件项目策划的目标是提供一个能使管理人员对资源、成本及进度做出合理估算的人员对资源、成本及进度做出合理估算的框架。此外

10、,估算应该尝试定义框架。此外,估算应该尝试定义“最好的最好的情况情况”和和“最坏的情况最坏的情况”,使项目的结果,使项目的结果能够限制在一定范围内。项目计划是在计能够限制在一定范围内。项目计划是在计划任务中创建的,尽管它具有与生俱来的划任务中创建的,尽管它具有与生俱来的不确定性,软件团队还是要根据它着手开不确定性,软件团队还是要根据它着手开发。因此,随着项目的进展,必须不断地发。因此,随着项目的进展,必须不断地对计划进行调整和更新。对计划进行调整和更新。软件范围和可行性v软件范围描述了将要交付给最终用户的功软件范围描述了将要交付给最终用户的功能和特性、输入和输出的数据、使用软件能和特性、输入和

11、输出的数据、使用软件时要呈现给用户的时要呈现给用户的“内容内容”,以及界定系,以及界定系统的性能、约束条件、接口和可靠性。定统的性能、约束条件、接口和可靠性。定义范围可以使用两种方法:义范围可以使用两种方法: 1、在与所有共利益者交流之后,写出对、在与所有共利益者交流之后,写出对软件范围的叙述性描述。软件范围的叙述性描述。 2、由最终用户开发一组用例。、由最终用户开发一组用例。软件范围和可行性v在开始估算之前,首先要对范围陈述中在开始估算之前,首先要对范围陈述中描述的功能进行评估,在某些情况下,还描述的功能进行评估,在某些情况下,还要进行细化,以提供更多的细节。由于成要进行细化,以提供更多的细

12、节。由于成本和进度的估算都是面向功能的,因此某本和进度的估算都是面向功能的,因此某种程度上的功能分解常常是有用的。性能种程度上的功能分解常常是有用的。性能方面的考虑包括处理时间和响应时间的需方面的考虑包括处理时间和响应时间的需求。约束条件则标识了外部硬件、可用存求。约束条件则标识了外部硬件、可用存储,或其他现有系统对软件的限制。储,或其他现有系统对软件的限制。软件范围和可行性v一旦确定了软件范围,人们自然会问:一旦确定了软件范围,人们自然会问:我们能够开发出满足范围要求的软件吗?我们能够开发出满足范围要求的软件吗?这个项目可行吗?软件工程师常常匆忙越这个项目可行吗?软件工程师常常匆忙越过这些问

13、题,不料竟会一开始就注定要陷过这些问题,不料竟会一开始就注定要陷入这个项目的泥潭中。入这个项目的泥潭中。资源v项目策划的第二个任务是对完成软件开发工项目策划的第二个任务是对完成软件开发工作所需的资源进行估算。图作所需的资源进行估算。图17-1描述了三类描述了三类主要的软件工程资源主要的软件工程资源人员、可复用的软人员、可复用的软件构件及开发环境。对每一类资源,都要说件构件及开发环境。对每一类资源,都要说明以下四个特征:资源的描述、可用性说明、明以下四个特征:资源的描述、可用性说明、何时需要资源、使用资源的持续时间。最后何时需要资源、使用资源的持续时间。最后两个特性可以看成是时间窗口。对于一个特

14、两个特性可以看成是时间窗口。对于一个特定的时间窗口,必须在开发初期就建立资源定的时间窗口,必须在开发初期就建立资源的可用性。的可用性。资源图17-1 项目资源人力资源v计划人员首先评估软件范围,并选择完成开计划人员首先评估软件范围,并选择完成开发所需的技能,还要指定组织中的职位和专发所需的技能,还要指定组织中的职位和专业。对于一些比较小的项目,只要向专家做业。对于一些比较小的项目,只要向专家做些咨询,也许一个人就可以完成所有的软件些咨询,也许一个人就可以完成所有的软件工程任务。而对于一些较大的项目,软件团工程任务。而对于一些较大的项目,软件团队的成员可能分散在很多不同的地方,因此,队的成员可能

15、分散在很多不同的地方,因此,要详细说明每个人所处的位置。要详细说明每个人所处的位置。v只有在估算出开发工作量后,才能确定软件只有在估算出开发工作量后,才能确定软件项目需要的人员数量。项目需要的人员数量。可复用软件资源v基于构件的软件工程强调可复用性,即创基于构件的软件工程强调可复用性,即创建并复用软件构造块,这种构造块通常被建并复用软件构造块,这种构造块通常被称为构件。为了容易引用,必须对这些构称为构件。为了容易引用,必须对这些构件进行分类;为了容易应用,必须使这些件进行分类;为了容易应用,必须使这些构件标准化;为了容易集成,必须对这些构件标准化;为了容易集成,必须对这些构件进行确认。构件进行

16、确认。可复用软件资源vBEN92建议在制定计划时应该考虑以建议在制定计划时应该考虑以下四种软件资源。下四种软件资源。v成品构件:能够从第三方获得,或在以前的项目中成品构件:能够从第三方获得,或在以前的项目中已经进行过内部开发的已有软件。已经进行过内部开发的已有软件。v具有完全经验的构件:为以前项目开发的,与当前具有完全经验的构件:为以前项目开发的,与当前项目要构造的软件相似的已有的规格说明、设计、项目要构造的软件相似的已有的规格说明、设计、代码或测试数据。代码或测试数据。v具有部分经验的构件:为以前项目开发的,与当前具有部分经验的构件:为以前项目开发的,与当前项目要构造的软件有关的已有的规格说明、设计、项目要构造的软件有关的已有的规格说明、设计、代码或测试数据,但是需要做实质上的修改。代码或测试数据,但是需要做实质上的修改。v新构件:软件团队为了满足当前项目的特定需要,新构件:软件团队为了满足当前项目的特定需要,而必须专门开发的软件构件。而必须专门开发的软件构件。可复用软件资源v具有讽刺意味的是,在策划阶段,人们往具有讽刺意味的是,在策划阶段,人们往往忽视可复用软件构件,直到软件过程的

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

当前位置:首页 > 建筑/环境 > 工程造价

copyright@ 2008-2023 1wenmi网站版权所有

经营许可证编号:宁ICP备2022001189号-1

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。第壹文秘仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第壹文秘网,我们立即给予删除!