资源预览内容
第1页 / 共57页
第2页 / 共57页
第3页 / 共57页
第4页 / 共57页
第5页 / 共57页
第6页 / 共57页
第7页 / 共57页
第8页 / 共57页
第9页 / 共57页
第10页 / 共57页
亲,该文档总共57页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
软件工程第20章 软件项目估算主要内容v对估算的估算的观察察v项目策划目策划过程程v软件范件范围和可行性和可行性v资源源v软件件项目估算目估算v分解技分解技术v经验估算模型估算模型v面向面向对象象项目的估算目的估算v小小结估算v软件的真件的真实需求已需求已经确定;共利益者确定;共利益者们都已就都已就绪;软件工程件工程师准准备开始;开始;项目将目将要启要启动。但是如何。但是如何进行下去呢?行下去呢?软件件项目目计划包括五划包括五项主要活主要活动估算、估算、进度安度安排、排、风险分析、分析、质量管理量管理计划和划和变更管理更管理计划。本章考划。本章考虑估算估算尝试确定构造一确定构造一个特定的基于个特定的基于软件的系件的系统或或产品所需要花品所需要花费的的资金、工作量、金、工作量、资源及源及时间。估算v软件件项目目经理理利用从共利益者和利用从共利益者和软件工程件工程师那里那里获得的信息以及从以往得的信息以及从以往项目收集的目收集的软件度件度量数据。量数据。v估算首先要描述估算首先要描述产品的范品的范围。然后,将。然后,将问题分分解解为一一组较小的小的问题,再以,再以历史数据和史数据和经验为指指南,南,对每个小每个小问题进行估算。在行估算。在进行最行最终的估算的估算之前,要考之前,要考虑问题的复的复杂度和度和风险。v工作工作产品是生成一个品是生成一个简单的表,描述要完成的的表,描述要完成的任任务、要、要实现的功能,以及完成每一的功能,以及完成每一项所需的成所需的成本、工作量和本、工作量和时间。估算v 如果有如果有经验并遵循系并遵循系统化的方法,使用化的方法,使用可靠的可靠的历史数据史数据进行估算,利用至少两种行估算,利用至少两种不同的方法不同的方法创建估算数据点,制定建估算数据点,制定现实的的进度表并随着度表并随着项目的目的进展不断展不断进行行调整,整,则可以确信已可以确信已经为项目做了最好的估算。目做了最好的估算。估算v软件件项目管理从一目管理从一组统称称为项目策划的目策划的活活动开始。在开始。在项目可以开始前,目可以开始前,项目目经理理和和软件件团队必必须估算将要完成的工作、所估算将要完成的工作、所需的需的资源,以及从开始到完成所需要的源,以及从开始到完成所需要的时间。这些活些活动一旦完成,一旦完成,软件件团队就要制就要制定定项目目进度度计划。在划。在项目目进度度计划中,要划中,要定定义软件工程任件工程任务及里程碑,确定每一及里程碑,确定每一项任任务的的负责人,人,详细指明指明对项目目进展影响展影响很大的任很大的任务间的相互依的相互依赖关系。关系。估算v很多技很多技术工作者宁愿从事技工作者宁愿从事技术工作,而不愿花工作,而不愿花费时间制定制定计划。很多技划。很多技术管理者没有接受管理者没有接受过充充分的技分的技术管理方面的培管理方面的培训,对他他们的的计划能划能够改改善善项目成果缺乏信心。目成果缺乏信心。这两部分人都不想制定两部分人都不想制定计划,因此就划,因此就经常不制定常不制定计划。划。v但是没有很好地制定但是没有很好地制定计划是一个划是一个项目犯的最目犯的最严重的重的错误之一之一有效的有效的计划是必需的,可以在划是必需的,可以在上游以上游以较低的成本解决低的成本解决问题,而不是在下游以,而不是在下游以较高成本解决高成本解决问题。一般的。一般的项目要将目要将80%的的时间花花费在返工上在返工上改正在改正在项目早期所犯的目早期所犯的错误。对估算的观察v估算是一估算是一门艺术,更是一,更是一门科学,科学,这项重重要的活要的活动不能以随意的方式来不能以随意的方式来进行。行。现在已在已经有了估算有了估算时间和工作量的和工作量的实用技用技术。过程程度量和度量和项目度量目度量为定量估算从定量估算从历史角度提供史角度提供了依据和有效的了依据和有效的输入。当建立估算和入。当建立估算和评审估估算算时,过去去经验的的辅助作用是不可估量的。助作用是不可估量的。由于估算是所有其他由于估算是所有其他项目策划活目策划活动的基的基础,而且而且项目目计划又提供了通往成功的划又提供了通往成功的软件工程件工程的路的路线图。因此,没有估算就着手开。因此,没有估算就着手开发,将,将陷入盲目性。陷入盲目性。对估算的观察v对软件工程工作的件工程工作的资源、成本及源、成本及进度度进行估算行估算时,需要,需要经验,需要了解有用的,需要了解有用的历史信息,史信息,还要要有当只存在定性的信息有当只存在定性的信息时进行定量行定量预言的勇气。言的勇气。估算具有与生俱来的估算具有与生俱来的风险,正是,正是这种种风险导致了致了不确定性。不确定性。v历史信息的有效性史信息的有效性对估算的估算的风险有很大影响。有很大影响。通通过回回顾过去,能去,能够仿效做仿效做过的工作,并改的工作,并改进出出现问题的地方。如果能取得的地方。如果能取得对以往以往项目的全面的目的全面的软件度量,做估算就会有更大的保件度量,做估算就会有更大的保证,合理安排,合理安排进度以避免重走度以避免重走过去的弯路,去的弯路,总体体风险也会降低。也会降低。对估算的观察v估算的估算的风险取决于取决于对资源、成本及源、成本及进度的定量估算中存在的不确定性。度的定量估算中存在的不确定性。如果如果对项目范目范围不太了解,或者不太了解,或者项目目需求需求经常改常改变,不确定性和估算,不确定性和估算风险就会非常高。就会非常高。计划人划人员,尤其是客,尤其是客户,都都应该认识到到经常改常改变软件需求意味件需求意味着在成本和着在成本和进度上的不度上的不稳定性。定性。项目策划过程v软件件项目策划的目目策划的目标是提供一个能使管是提供一个能使管理人理人员对资源、成本及源、成本及进度做出合理估算度做出合理估算的框架。此外,估算的框架。此外,估算应该尝试定定义“最好最好的情况的情况”和和“最坏的情况最坏的情况”,使,使项目的目的结果能果能够限制在一定范限制在一定范围内。内。项目目计划是在划是在计划任划任务中中创建的,尽管它具有与生俱来建的,尽管它具有与生俱来的不确定性,的不确定性,软件件团队还是要根据它着手是要根据它着手开开发。因此,随着。因此,随着项目的目的进展,必展,必须不断不断地地对计划划进行行调整和更新。整和更新。软件范围和可行性v软件范件范围描述了将要交付描述了将要交付给最最终用用户的的功能和特性、功能和特性、输入和入和输出的数据、使用出的数据、使用软件件时要呈要呈现给用用户的的“内容内容”,以及界定,以及界定系系统的性能、的性能、约束条件、接口和可靠性。束条件、接口和可靠性。定定义范范围可以使用两种方法:可以使用两种方法: 1、在与所有共利益者交流之后,写出、在与所有共利益者交流之后,写出对软件范件范围的叙述性描述。的叙述性描述。 2、由最、由最终用用户开开发一一组用例。用例。软件范围和可行性v在开始估算之前,首先要在开始估算之前,首先要对范范围陈述中述中描述的功能描述的功能进行行评估,在某些情况下,估,在某些情况下,还要要进行行细化,以提供更多的化,以提供更多的细节。由于成。由于成本和本和进度的估算都是面向功能的,因此某度的估算都是面向功能的,因此某种程度上的功能分解常常是有用的。性能种程度上的功能分解常常是有用的。性能方面的考方面的考虑包括包括处理理时间和响和响应时间的需的需求。求。约束条件束条件则标识了外部硬件、可用存了外部硬件、可用存储,或其他,或其他现有系有系统对软件的限制。件的限制。软件范围和可行性v一旦确定了一旦确定了软件范件范围,人,人们自然会自然会问:我我们能能够开开发出出满足范足范围要求的要求的软件件吗?这个个项目可行目可行吗?软件工程件工程师常常匆忙越常常匆忙越过这些些问题,不料竟会一开始就注定要陷,不料竟会一开始就注定要陷入入这个个项目的泥潭中。目的泥潭中。资源v项目策划的第二个任目策划的第二个任务是是对完成完成软件开件开发工作所需的工作所需的资源源进行估算。行估算。图20-1描述了三描述了三类主要的主要的软件工程件工程资源源人人员、可复用的、可复用的软件构件及开件构件及开发环境。境。对每一每一类资源,都要源,都要说明以下四个特征:明以下四个特征:资源的描述、可用性源的描述、可用性说明、何明、何时需要需要资源、使用源、使用资源的持源的持续时间。最后两个特性可以看成是最后两个特性可以看成是时间窗口。窗口。对于一于一个特定的个特定的时间窗口,必窗口,必须在开在开发初期就建立初期就建立资源的可用性。源的可用性。资源图20-1 项目资源人力资源v计划人划人员首先首先评估估软件范件范围,并,并选择完成完成开开发所需的技能,所需的技能,还要指定要指定组织中的中的职位和位和专业。对于一些比于一些比较小的小的项目,只要向目,只要向专家家做些咨做些咨询,也,也许一个人就可以完成所有的一个人就可以完成所有的软件工程任件工程任务。而。而对于一些于一些较大的大的项目,目,软件件团队的成的成员可能分散在很多不同的地方,因可能分散在很多不同的地方,因此,要此,要详细说明每个人所明每个人所处的位置。的位置。v只有在估算出开只有在估算出开发工作量后,才能确定工作量后,才能确定软件件项目需要的人目需要的人员数量。数量。可复用软件资源v基于构件的基于构件的软件工程件工程强调可复用性,即可复用性,即创建并复用建并复用软件构造件构造块,这种构造种构造块通常通常被称被称为构件。构件。为了容易引用,必了容易引用,必须对这些些构件构件进行分行分类;为了容易了容易应用,必用,必须使使这些构件些构件标准化;准化;为了容易集成,必了容易集成,必须对这些构件些构件进行确行确认。可复用软件资源vBEN92建建议在制定在制定计划划时应该考考虑以以下四种下四种软件件资源。源。v成品构件:能成品构件:能够从第三方从第三方获得,或在以前的得,或在以前的项目中目中已已经进行行过内部开内部开发的已有的已有软件。件。v具有完全具有完全经验的构件:的构件:为以前以前项目开目开发的,与当前的,与当前项目要构造的目要构造的软件相似的已有的件相似的已有的规格格说明、明、设计、代代码或或测试数据。数据。v具有部分具有部分经验的构件:的构件:为以前以前项目开目开发的,与当前的,与当前项目要构造的目要构造的软件有关的已有的件有关的已有的规格格说明、明、设计、代代码或或测试数据,但是需要做数据,但是需要做实质上的修改。上的修改。v新构件:新构件:软件件团队为了了满足当前足当前项目的特定需要,目的特定需要,而必而必须专门开开发的的软件构件。件构件。可复用软件资源v具有具有讽刺意味的是,在策划刺意味的是,在策划阶段,人段,人们往往忽往往忽视可复用可复用软件构件,直到件构件,直到软件件过程程的开的开发阶段,它才段,它才变成最重要的关注成最重要的关注对象。象。最好是尽早确定最好是尽早确定软件件资源的需求,源的需求,这样才才能能对各种候各种候选方案方案进行技行技术评估,并及估,并及时获取所需的构件。取所需的构件。环境资源v支持支持软件件项目的目的环境,通常称境,通常称为软件工件工程程环境(境(SEE),它集成了硬件和,它集成了硬件和软件。件。硬件提供了支持工具的平台,硬件提供了支持工具的平台,这些工具是些工具是采用良好的采用良好的软件工程件工程实践来践来获得工作得工作产品品所必需的。因所必需的。因为在大多数在大多数软件件组织中,有中,有很多人都需要使用很多人都需要使用SEE,因此,因此,项目目计划划人人员必必须详细规定需要硬件和定需要硬件和软件的件的时间窗口,并且窗口,并且验证这些些资源是可用的。源是可用的。软件项目估算v几乎在所有基于几乎在所有基于计算机的系算机的系统中,中,软件件都是最昂都是最昂贵的万分。的万分。对于复于复杂的定制的系的定制的系统,如果成本估算,如果成本估算误差很大,就会使差很大,就会使赢利利变成成亏损。对于开于开发者来者来说,成本超支可,成本超支可能是灾能是灾难性的。性的。软件项目估算v为得出可靠的成本和工作量估算,有很多得出可靠的成本和工作量估算,有很多选择:1.把
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号