软件工程-实践者的研究方法讲义ccyq.ppt

上传人:jix****n11 文档编号:91229584 上传时间:2023-05-24 格式:PPT 页数:57 大小:1,004.01KB
返回 下载 相关 举报
软件工程-实践者的研究方法讲义ccyq.ppt_第1页
第1页 / 共57页
软件工程-实践者的研究方法讲义ccyq.ppt_第2页
第2页 / 共57页
点击查看更多>>
资源描述

《软件工程-实践者的研究方法讲义ccyq.ppt》由会员分享,可在线阅读,更多相关《软件工程-实践者的研究方法讲义ccyq.ppt(57页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

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

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

3、任任务、要、要实现的功能,以及完成每一的功能,以及完成每一项所需的成所需的成本、工作量和本、工作量和时间。估算v 如果有如果有经验并遵循系并遵循系统化的方法,使用化的方法,使用可靠的可靠的历史数据史数据进行估算,利用至少两种行估算,利用至少两种不同的方法不同的方法创建估算数据点,制定建估算数据点,制定现实的的进度表并随着度表并随着项目的目的进展不断展不断进行行调整,整,则可以确信已可以确信已经为项目做了最好的估算。目做了最好的估算。估算v软件件项目管理从一目管理从一组统称称为项目策划的目策划的活活动开始。在开始。在项目可以开始前,目可以开始前,项目目经理理和和软件件团队必必须估算将要完成的工作

4、、所估算将要完成的工作、所需的需的资源,以及从开始到完成所需要的源,以及从开始到完成所需要的时间。这些活些活动一旦完成,一旦完成,软件件团队就要制就要制定定项目目进度度计划。在划。在项目目进度度计划中,要划中,要定定义软件工程任件工程任务及里程碑,确定每一及里程碑,确定每一项任任务的的负责人,人,详细指明指明对项目目进展影响展影响很大的任很大的任务间的相互依的相互依赖关系。关系。估算v很多技很多技术工作者宁愿从事技工作者宁愿从事技术工作,而不愿花工作,而不愿花费时间制定制定计划。很多技划。很多技术管理者没有接受管理者没有接受过充充分的技分的技术管理方面的培管理方面的培训,对他他们的的计划能划能

5、够改改善善项目成果缺乏信心。目成果缺乏信心。这两部分人都不想制定两部分人都不想制定计划,因此就划,因此就经常不制定常不制定计划。划。v但是没有很好地制定但是没有很好地制定计划是一个划是一个项目犯的最目犯的最严重的重的错误之一之一有效的有效的计划是必需的,可以在划是必需的,可以在上游以上游以较低的成本解决低的成本解决问题,而不是在下游以,而不是在下游以较高成本解决高成本解决问题。一般的。一般的项目要将目要将80%的的时间花花费在返工上在返工上改正在改正在项目早期所犯的目早期所犯的错误。对估算的观察v估算是一估算是一门艺术,更是一,更是一门科学,科学,这项重重要的活要的活动不能以随意的方式来不能以

6、随意的方式来进行。行。现在已在已经有了估算有了估算时间和工作量的和工作量的实用技用技术。过程程度量和度量和项目度量目度量为定量估算从定量估算从历史角度提供史角度提供了依据和有效的了依据和有效的输入。当建立估算和入。当建立估算和评审估估算算时,过去去经验的的辅助作用是不可估量的。助作用是不可估量的。由于估算是所有其他由于估算是所有其他项目策划活目策划活动的基的基础,而且而且项目目计划又提供了通往成功的划又提供了通往成功的软件工程件工程的路的路线图。因此,没有估算就着手开。因此,没有估算就着手开发,将,将陷入盲目性。陷入盲目性。对估算的观察v对软件工程工作的件工程工作的资源、成本及源、成本及进度度

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

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

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

10、系系统的性能、的性能、约束条件、接口和可靠性。束条件、接口和可靠性。定定义范范围可以使用两种方法:可以使用两种方法:1、在与所有共利益者交流之后,写出、在与所有共利益者交流之后,写出对软件范件范围的叙述性描述。的叙述性描述。2、由最、由最终用用户开开发一一组用例。用例。软件范围和可行性v在开始估算之前,首先要在开始估算之前,首先要对范范围陈述中述中描述的功能描述的功能进行行评估,在某些情况下,估,在某些情况下,还要要进行行细化,以提供更多的化,以提供更多的细节。由于成。由于成本和本和进度的估算都是面向功能的,因此某度的估算都是面向功能的,因此某种程度上的功能分解常常是有用的。性能种程度上的功能

11、分解常常是有用的。性能方面的考方面的考虑包括包括处理理时间和响和响应时间的需的需求。求。约束条件束条件则标识了外部硬件、可用存了外部硬件、可用存储,或其他,或其他现有系有系统对软件的限制。件的限制。软件范围和可行性v一旦确定了一旦确定了软件范件范围,人,人们自然会自然会问:我我们能能够开开发出出满足范足范围要求的要求的软件件吗?这个个项目可行目可行吗?软件工程件工程师常常匆忙越常常匆忙越过这些些问题,不料竟会一开始就注定要陷,不料竟会一开始就注定要陷入入这个个项目的泥潭中。目的泥潭中。资源v项目策划的第二个任目策划的第二个任务是是对完成完成软件开件开发工作所需的工作所需的资源源进行估算。行估算

12、。图20-1描述了三描述了三类主要的主要的软件工程件工程资源源人人员、可复用的、可复用的软件构件及开件构件及开发环境。境。对每一每一类资源,都要源,都要说明以下四个特征:明以下四个特征:资源的描述、可用性源的描述、可用性说明、何明、何时需要需要资源、使用源、使用资源的持源的持续时间。最后两个特性可以看成是最后两个特性可以看成是时间窗口。窗口。对于一于一个特定的个特定的时间窗口,必窗口,必须在开在开发初期就建立初期就建立资源的可用性。源的可用性。资源图20-1 项目资源人力资源v计划人划人员首先首先评估估软件范件范围,并,并选择完成完成开开发所需的技能,所需的技能,还要指定要指定组织中的中的职位

13、和位和专业。对于一些比于一些比较小的小的项目,只要向目,只要向专家家做些咨做些咨询,也,也许一个人就可以完成所有的一个人就可以完成所有的软件工程任件工程任务。而。而对于一些于一些较大的大的项目,目,软件件团队的成的成员可能分散在很多不同的地方,因可能分散在很多不同的地方,因此,要此,要详细说明每个人所明每个人所处的位置。的位置。v只有在估算出开只有在估算出开发工作量后,才能确定工作量后,才能确定软件件项目需要的人目需要的人员数量。数量。可复用软件资源v基于构件的基于构件的软件工程件工程强调可复用性,即可复用性,即创建并复用建并复用软件构造件构造块,这种构造种构造块通常通常被称被称为构件。构件。

14、为了容易引用,必了容易引用,必须对这些些构件构件进行分行分类;为了容易了容易应用,必用,必须使使这些构件些构件标准化;准化;为了容易集成,必了容易集成,必须对这些构件些构件进行确行确认。可复用软件资源vBEN92建建议在制定在制定计划划时应该考考虑以以下四种下四种软件件资源。源。v成品构件:能成品构件:能够从第三方从第三方获得,或在以前的得,或在以前的项目中目中已已经进行行过内部开内部开发的已有的已有软件。件。v具有完全具有完全经验的构件:的构件:为以前以前项目开目开发的,与当前的,与当前项目要构造的目要构造的软件相似的已有的件相似的已有的规格格说明、明、设计、代代码或或测试数据。数据。v具有

15、部分具有部分经验的构件:的构件:为以前以前项目开目开发的,与当前的,与当前项目要构造的目要构造的软件有关的已有的件有关的已有的规格格说明、明、设计、代代码或或测试数据,但是需要做数据,但是需要做实质上的修改。上的修改。v新构件:新构件:软件件团队为了了满足当前足当前项目的特定需要,目的特定需要,而必而必须专门开开发的的软件构件。件构件。可复用软件资源v具有具有讽刺意味的是,在策划刺意味的是,在策划阶段,人段,人们往往忽往往忽视可复用可复用软件构件,直到件构件,直到软件件过程程的开的开发阶段,它才段,它才变成最重要的关注成最重要的关注对象。象。最好是尽早确定最好是尽早确定软件件资源的需求,源的需

16、求,这样才才能能对各种候各种候选方案方案进行技行技术评估,并及估,并及时获取所需的构件。取所需的构件。环境资源v支持支持软件件项目的目的环境,通常称境,通常称为软件工件工程程环境(境(SEE),它集成了硬件和,它集成了硬件和软件。件。硬件提供了支持工具的平台,硬件提供了支持工具的平台,这些工具是些工具是采用良好的采用良好的软件工程件工程实践来践来获得工作得工作产品品所必需的。因所必需的。因为在大多数在大多数软件件组织中,有中,有很多人都需要使用很多人都需要使用SEE,因此,因此,项目目计划划人人员必必须详细规定需要硬件和定需要硬件和软件的件的时间窗口,并且窗口,并且验证这些些资源是可用的。源是

17、可用的。软件项目估算v几乎在所有基于几乎在所有基于计算机的系算机的系统中,中,软件件都是最昂都是最昂贵的万分。的万分。对于复于复杂的定制的系的定制的系统,如果成本估算,如果成本估算误差很大,就会使差很大,就会使赢利利变成成亏损。对于开于开发者来者来说,成本超支可,成本超支可能是灾能是灾难性的。性的。软件项目估算v为得出可靠的成本和工作量估算,有很多得出可靠的成本和工作量估算,有很多选择:1.把估算推把估算推迟到到项目的后期目的后期进行。行。2.根据已根据已经完成的完成的类似似项目目进行估算。行估算。3.使用比使用比较简单的分解技的分解技术,生成,生成项目的成本和目的成本和工作量估算。工作量估算

18、。4.使用一个或多个使用一个或多个经验模型来模型来进行行软件成本和工件成本和工作量的估算。作量的估算。v每种可行的每种可行的软件成本估算方法,其效果的好坏件成本估算方法,其效果的好坏取决于估算使用的取决于估算使用的历史数据。如果没有史数据。如果没有历史数据,史数据,成本估算也就建立在一个很不成本估算也就建立在一个很不稳定的基定的基础上。上。分解技术v软件件项目估算是一种解决目估算是一种解决问题的形式,的形式,在多数情况下,要解决的在多数情况下,要解决的问题非常复非常复杂,不能作不能作为一个整体考一个整体考虑。因此,要。因此,要对问题进行分解,把它分解成一行分解,把它分解成一组较小的小的问题,再

19、定再定义它它们的特性。的特性。软件规模估算v软件件项目估算的准确性取决于目估算的准确性取决于许多因素:多因素:(1)计划人划人员估算待开估算待开发产品品规模的正确程度模的正确程度;(2)把把规模估算模估算转换成人成人员工作量、工作量、时间及成本的能力及成本的能力;(3)项目目计划反映划反映软件件团队能力的程度能力的程度;(4)产品品需求的需求的稳定性和支持定性和支持软件工程工作的件工程工作的环境。境。v考考虑软件件规模的估算模的估算问题。由于。由于项目估算的准目估算的准确程度取决于待完成工作的确程度取决于待完成工作的规模估算,因此,模估算,因此,规模估算是模估算是项目目计划人划人员面面临的第一

20、个主要挑的第一个主要挑战。在在项目目计划中,划中,规模是指模是指软件件项目的可量化的目的可量化的结果。如果采用直接的方法,果。如果采用直接的方法,规模可以用代模可以用代码行行(LOC)来来测量。如果量。如果选择间接的方法,接的方法,规模可以模可以用功能点用功能点(FP)来表示。来表示。软件规模估算vPUT92建建议使用四种不同的方法来估算使用四种不同的方法来估算规模模问题:v模糊模糊逻辑法。使用法。使用这种方法,种方法,计划人划人员必必须先确定先确定应用的用的类型,型,定性地确定其量定性地确定其量级,然后在初始范,然后在初始范围内再内再细化化该量量级。v功能点法。功能点法。计划人划人员对信息域

21、的特性信息域的特性进行估算。行估算。v标准构件法。准构件法。软件是由件是由许多不同的多不同的“标准构件准构件”组成的,成的,对于于某个特定的某个特定的应用用领域而言,域而言,这些构件是通用的。些构件是通用的。项目目计划人划人员估算每个估算每个标准构件出准构件出现的次数,然后使用的次数,然后使用历史史项目数据来确定目数据来确定每个每个标准构件交付准构件交付时的的规模。模。v修改法。当修改法。当项目要使用已有的目要使用已有的软件作件作为项目的一部分,并且目的一部分,并且该软件必件必须做某些方面的修改做某些方面的修改时,可以使用,可以使用这种方法。种方法。计划人划人员要估算必要估算必须完成的修改的数

22、量和完成的修改的数量和类型。型。基于问题的估算v在前述章在前述章节中,已中,已经描述了描述了LOC和和FP测量,从中可以量,从中可以计算出生算出生产率度量。在率度量。在软件件项目估算中,目估算中,LOC和和FP数据被用于两个方数据被用于两个方面:面:(1)作作为估算估算变量,用于度量量,用于度量软件中件中每个元素的每个元素的规模;模;(2)作作为基基线度量,度量,这些度量数据是从以前的些度量数据是从以前的项目中收集起来的,目中收集起来的,将它将它们与估算与估算变量量联合使用,合使用,进行成本和行成本和工作量的估算。工作量的估算。基于问题的估算vLOC估算和估算和FP估算是两种不同的估算技估算是

23、两种不同的估算技术,但两者有很多共同的特性。,但两者有很多共同的特性。项目目计划划人人员从界定的从界定的软件范件范围陈述入手。根据述入手。根据该陈述将述将软件分解成一些可分件分解成一些可分别独立独立进行估行估算的功能算的功能问题。然后,估算每个功能的。然后,估算每个功能的LOC或或FP。计划人划人员也可以也可以选择其他元素其他元素进行行规模估算,如模估算,如类或或对象、象、变更、受影更、受影响的响的业务过程。程。基于问题的估算v然后,将基然后,将基线生生产率度量率度量应用于适当的估算用于适当的估算变量中,量中,导出每个功能的成本或工作量。将所有功出每个功能的成本或工作量。将所有功能的估算合并起

24、来,即可能的估算合并起来,即可产生整个生整个项目的目的总体估体估算。算。v对于一个于一个组织而言,其生而言,其生产率度量常常是率度量常常是变化化的,使用的,使用单一的基一的基线生生产率度量是不可信的。一率度量是不可信的。一般情况下,平均的般情况下,平均的LOC/pm或或FP/pm应该根据根据项目目领域来域来计算。当估算一个新算。当估算一个新项目目时,首先,首先应将将该项目目对应到某个到某个领域中,然后,再使用恰当域中,然后,再使用恰当的的领域生域生产率平均率平均值对其其进行估算。行估算。基于问题的估算v不管使用哪一种估算不管使用哪一种估算变量,量,项目目计划人划人员都要首先都要首先为每个功能或

25、每个信息域每个功能或每个信息域值确确定一个估算定一个估算值的范的范围。利用。利用历史数据或凭史数据或凭直直觉,计划人划人员为每个功能或每个信息域每个功能或每个信息域的的计数数值都分都分别估算出一个估算出一个乐观的、可能的、可能的和悲的和悲观的的规模模值。当确定了。当确定了值的范的范围后,后,就得到了一个不确定程度的就得到了一个不确定程度的隐含指含指标。基于问题的估算v接着,接着,计算三点算三点(估算估算值)或期望或期望值。可。可能通能通过乐观值(Sopt)、可能、可能值(Sm)和悲和悲观值(Spess)估算的加估算的加权平均平均值来来计算估算算估算变量量(规模模)的期望的期望值S:S=(Sop

26、t+4Sm+Spess)/6v一旦确定了估算一旦确定了估算变量的期望量的期望值,就可以,就可以应用用历史的史的LOC或或FP生生产率数据。任何估率数据。任何估算技算技术,不管它有多先,不管它有多先进,都必,都必须与其他与其他方法方法进行交叉行交叉检查。基于LOC估算的实例v考察一个考察一个为机械零件机械零件计算机算机辅助助设计应用而开用而开发的的软件包。件包。P354-355图20-2 LOC方法的估算表基于FP估算的实例v基于基于FP估算估算时,问题分解关注的不是分解关注的不是软件功能,而是信息域的件功能,而是信息域的值。项目目计划人划人员分分别对软件的外部件的外部输入、外部入、外部输出、外

27、部出、外部查询、内部、内部逻辑文件和外部接口文件文件和外部接口文件进行行估算。估算。图20-3 估算信息域的值基于FP估算的实例v估算出复估算出复杂度加度加权因子,并因子,并计算出复算出复杂度校正因子。最后得出度校正因子。最后得出FP的的值:FPestimated=总计0.65+0.01(Fi)基于过程的估算v最通用的最通用的项目估算技目估算技术是根据将要采用是根据将要采用的的过程程进行估算。即,将行估算。即,将过程分解程分解为一一组较小的任小的任务,并估算完成每个任,并估算完成每个任务所需的所需的工作量。工作量。v同基于同基于问题的估算技的估算技术一一样,基于,基于过程程的估算首先从的估算首

28、先从项目范目范围中抽取出中抽取出软件功能。件功能。接着接着给出出为实现每个功能所必每个功能所必须执行的一行的一系列的框架活系列的框架活动。这些功能和相关的框架些功能和相关的框架活活动可用表格形式可用表格形式给出,如出,如图20-4所示。所示。基于过程的估算图20-4 基于过程的估算表基于过程的估算v一旦将一旦将问题功能与功能与过程活程活动结合起来,合起来,计划人划人员就可以就可以针对每个每个软件功能,估算件功能,估算完成各个完成各个软件件过程活程活动所需的工作量,所需的工作量,这些数据写在些数据写在图的中心部分。然后,将平均的中心部分。然后,将平均劳动力价格力价格应用于每个用于每个软件件过程活

29、程活动的估的估算工作量,就可以估算出成本。但各算工作量,就可以估算出成本。但各项任任务的的劳动力价格可能是不同的。力价格可能是不同的。基于过程的估算v最后一个步最后一个步骤就是就是计算每一个功能及框算每一个功能及框架活架活动的成本和工作量。如果基于的成本和工作量。如果基于过程的程的估算是不依估算是不依赖LOC或或FP估算而估算而实现的,的,现在就已在就已经有了两有了两组或三或三组成本与工作量的成本与工作量的估算,可以估算,可以进行比行比较、调和。如果两和。如果两组估估算非常一致,算非常一致,则有理由相信估算是可靠的。有理由相信估算是可靠的。反反过来,如果来,如果这些分解技些分解技术得到的得到的

30、结果不果不一致,一致,则必必须做做进一步的一步的调查和分析。和分析。基于过程估算的实例v参看参看图20-4所示的在于所示的在于过程的估算表,程的估算表,表中表中对CAD软件的每个功能,都件的每个功能,都给出了其出了其各个各个软件工程活件工程活动的工作量估算的工作量估算(人月人月)。其中,工程和构造其中,工程和构造发布活布活动又被又被细分成表分成表中所示的主要中所示的主要软件工程任件工程任务。对客客户沟通、沟通、策划和策划和风险分析活分析活动,还给出了出了总工作量工作量的估算。的估算。v如果需要的如果需要的话,每一个框架活,每一个框架活动或或软件件工程任工程任务都可以采用不同的都可以采用不同的劳

31、动力价格,力价格,分分别进行行计算。算。基于用例的估算v由于以下原因,建立基于用例的估算方由于以下原因,建立基于用例的估算方法法还有困有困难:v描述用例描述用例时,可以采用多种格式和,可以采用多种格式和风格格没有没有标准形式。准形式。v用例表用例表现的是的是软件的外部件的外部视图,常常在不同的抽象,常常在不同的抽象级别上建立。上建立。v用例没有用例没有标识出它所描述的功能和特性的复出它所描述的功能和特性的复杂性。性。v用例没有描述出涉及很多功能和特性的复用例没有描述出涉及很多功能和特性的复杂行行为。v与与LOC或或FP不同,一个角色的不同,一个角色的“用例用例”可能需要数月的工作量,而另一个角

32、色的可能需要数月的工作量,而另一个角色的“用例用例”可能在一到两天内就能完成。可能在一到两天内就能完成。调和不同的估算方法v必必须对多种估算方法多种估算方法进行行调和,以得到和,以得到对工作量、工作量、项目持目持续时间或成本的一致估或成本的一致估算。算。v如果不同估算之如果不同估算之间的差的差别很大,一般能很大,一般能够追溯到以下两个原因之一:追溯到以下两个原因之一:v计划人划人员没有充分了解或没有充分了解或误解了解了项目范目范围。v在基于在基于问题的估算技的估算技术中所使用的生中所使用的生产率数据不适率数据不适合本合本应用系用系统,过时了,或者是了,或者是误用了。用了。v计划人划人员必必须确

33、定确定产生差生差别的原因,再的原因,再来来调和估算和估算结果。果。经验估算模型v计算机算机软件估算模型使用由件估算模型使用由经验导出的公式来出的公式来预测工作量,工作量是工作量,工作量是LOC或或FP的函数,将的函数,将LOC或或FP的的结果果值代入到估算模型中。代入到估算模型中。v用以支持大多数估算模型的用以支持大多数估算模型的经验数据都是从有数据都是从有限的限的项目目样本中得出的。因此,本中得出的。因此,还没有一种估算没有一种估算模型能模型能够适用于所有的适用于所有的软件件类型和开型和开发环境。从境。从这些模型中得到的些模型中得到的结果必果必须慎重使用。慎重使用。v应该对估算模型估算模型进

34、行行调整,以反映当前整,以反映当前项目的目的情况。情况。应该使用从已完成使用从已完成项目中收集的数据目中收集的数据对该模型模型进行行检验方法是将数据代入到模型中,方法是将数据代入到模型中,然后将然后将实际结果与果与预测结果果进行比行比较。如果两者。如果两者一致性很差,一致性很差,则在使用在使用该模型前,必模型前,必须对其其进行行调整和再次整和再次检验。估算模型的结构v典型的估算模型是通典型的估算模型是通过回回归分析从以往分析从以往软件件项目收集到的数据而得到的。目收集到的数据而得到的。这种模种模型的型的总体体结构表构表现为下面的形式:下面的形式:E=A+B(Ev)Cv其中,其中,A、B、C是是

35、经验常数,常数,E是工作量,是工作量,Ev是估算是估算变量(量(LOC或或FP)。除了上式)。除了上式所表示的关系外,大多数估算模型都有某所表示的关系外,大多数估算模型都有某种形式的种形式的项目目调整成分,使得整成分,使得E能能够根据根据其他的其他的项目特性加以目特性加以调整。整。COCOMO II模型vCOCOMO II模型是一种模型是一种层次次结构的估构的估算模型,主要算模型,主要应用于以下用于以下领域:域:v应用用组装模型。装模型。在在软件工程的早期件工程的早期阶段使用,段使用,这时,用用户界面的原型开界面的原型开发、对软件和系件和系统交互的考交互的考虑、性能的性能的评估以及技估以及技术

36、成熟度的成熟度的评价是最重要的。价是最重要的。v早期早期设计阶段模型。段模型。在需求已在需求已经稳定并且基本的定并且基本的软件体系件体系结构已构已经建立建立时使用。使用。v体系体系结构后构后阶段模型。段模型。在在软件的构造件的构造过程中使用。程中使用。COCOMO II模型v和所有的和所有的软件估算模型一件估算模型一样,COCOMO II模型也需要使用模型也需要使用规模估算信息,在模型模估算信息,在模型层次次结构中有三种不同的构中有三种不同的规模估算模估算选项:对象点、功能点和源代象点、功能点和源代码行。行。COCOMO II模型vCOCOMO II应用用组装模型使用的是装模型使用的是对象点象

37、点一种一种间接的接的软件件测量,量,计算算对象象点点时,使用如下的,使用如下的计数数值:(1)(用用户界面界面)屏幕数,屏幕数,(2)报表数,表数,(3)构造构造应用可能需用可能需要的构件数。将每个要的构件数。将每个对象象实例例归类到三个到三个复复杂度度级别之一(即之一(即简单的、中等的或困的、中等的或困难的)。本的)。本质上,复上,复杂度是以下度是以下变量的函量的函数:客数:客户和服和服务器数据表的数量和来源,器数据表的数量和来源,以及以及视图或版面的数量。或版面的数量。COCOMO II模型v一旦确定了复一旦确定了复杂度,就可以根据度,就可以根据图20-6对屏幕、屏幕、报表和构件的数量表和

38、构件的数量进行加行加权。首。首先将初始的先将初始的对象象实例数与表中的加例数与表中的加权因子因子相乘就确定了相乘就确定了对象点数,求和后就得到了象点数,求和后就得到了总的的对象点数。当采用基于构件的开象点数。当采用基于构件的开发或或一般的一般的软件复用件复用时,还要估算复用的百分要估算复用的百分比,并比,并调整整对象点数:象点数:NOP=对象点象点(100-复用的百分比复用的百分比)/100v其中其中NOP是新的是新的对象点。象点。COCOMO II模型图20-6 不同对象类型的复杂度加权COCOMO II模型v根据根据计算得到的算得到的NOP值进行工作量估算行工作量估算时,必,必须先确定先确

39、定“生生产率率”值。图20-7中中分分别给出了在不同水平的开出了在不同水平的开发者者经验和开和开发环境成熟度下的生境成熟度下的生产率。率。PROD=NOP/人月人月v一旦确定了生一旦确定了生产率,就可以得到率,就可以得到项目工目工作量的估算作量的估算值:估算工作量估算工作量=NOP/PRODCOCOMO II模型图20-7 应用于对象点的生产率软件方程式v软件方程式是一个多件方程式是一个多变量模型,它假定在量模型,它假定在软件件开开发项目的整个生命周期中有特定的工作量分布。目的整个生命周期中有特定的工作量分布。该模型是根据从模型是根据从4000多个当代的多个当代的软件件项目中收目中收集的生集的

40、生产率数据率数据导出的。根据出的。根据这些数据,估算模些数据,估算模型具有以下形式:型具有以下形式:E=LOCB0.333/P3(1/t4)v其中,其中,E为工作量,工作量,t为项目持目持续时间,B为特特殊技能因子,殊技能因子,P为生生产率参数。率参数。对于于实时嵌入式嵌入式软件的开件的开发,典型,典型值是是P=2000;对于于电信及系信及系统软件件P=10000;而而对于商于商业系系统应用,用,P=28000。当前情况下的生。当前情况下的生产率参数可以根据率参数可以根据以往开以往开发工作中收集到的工作中收集到的历史数据来史数据来导出。出。面向对象项目的估算v最好用明确最好用明确为OO软件件设

41、计的估算方法的估算方法对传统的的软件成本件成本估算方法加以估算方法加以补充。充。LOR94给出了下列方法:出了下列方法:1.使用工作量分解、使用工作量分解、FP分析和任何其他适用于分析和任何其他适用于传统应用的用的方法方法进行估算。行估算。2.使用面向使用面向对象的分析模型建立用例并确定用例数。要象的分析模型建立用例并确定用例数。要认识到随着到随着项目的目的进展,用例数可能会改展,用例数可能会改变。3.由分析模型确定关由分析模型确定关键类的数量。的数量。4.对应用的界面用的界面类进行行归类,确定支持,确定支持类的乘数,关的乘数,关键类的数量乘上的数量乘上乘数乘数就得到了支持就得到了支持类数量的估算数量的估算值。5.将将类的的总数乘以每个数乘以每个类的平均工作的平均工作单元数。元数。6.将用例数乘以每个用例的平均工作将用例数乘以每个用例的平均工作单元数,元数,对基于基于类的的估算做交叉估算做交叉检查。小结作业vP364页 20.4 17.5演讲完毕,谢谢观看!

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 施工组织

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com