(点小图查看大图)
图1 软件项目估计时间示意图
图例说明
1=初步估计
2=可信赖的估计(它是软件项目管理如计划的基础)
3...7=估计新对象和对以前估计的跟踪
7=以文档的方式总结以前的估计
8=维护期的估计,如对客户新需求的估计
在软件企业,特别是我国的软件企业,估计人员往往迫于领导要求尽快估计的压力,草率地完成估计,导致错误的估计,影响项目的开发。事实上,估计人员应根据估计对象的具体情况,制定不同的估计计划,计划内容可以包括估计的对象说明,估计人员的角色和职责,估计的方法和估计,估计的风险识别,估计的工作量估计,估计活动进度安排(如收集估计的所需的信息安排,包括软件需求,历史数据等,进行估计,估计结果确定等)。大的估计活动还需要取得参与估计人员对估计计划的承诺,交给机构高级管理者审阅后执行估计活动,确保估计活动顺利进行。
软件项目应在周例会或里程碑会议跟踪项目估计情况。并随着软件开发活动不断深入,在软件开发后阶段要对前一阶段的估计进行跟踪修正。随着软件开发不断进行,开发人员或估计人员对软件项目的具体细节越来越清楚,做出的估计结果也应该越来越精确(当然,软件估计结果首先要求是准确的,而后才追求精确)。
机构应收集这些估计数据(如图1中?所列活动),包括估计活动本身的数据如估计工作量和估计结果,为以后估计活动提供指导。
可以这样理解,软件项目估计是指以准确的调查资料和项目信息(如人员和设备信息)为依据,从估计对象的历史、现状和及其规律性出发,运用科学的方法,对估计对象的规模,所需工作量和成本进行的测定。那些临时凭个人经验一时凭灵感或感觉对软件项目规耐工作量的估计不是真正软件项目估计。软件项目估计是项目决策科学化的工具,是项目组编制计划、预见计划执行情况、加强计划指导的定量依据,也是企业改善经营管理的有效手段之一。同时,软件项目估计在软件贸易估价活动中起到重要的作用。
2 软件项目估计发展现状
目前,国际上已有许多软件规模估计方法,如功能点(Function Point )、特征点(Feature Point)、对象点(Object Point)、德尔菲(Delphi)、凝逻辑(Fuzzy Logic)、标准构件法(Standard Component )等,这些方法随着各国研究者的不断研究细化又有许多具体的方法,如国际功能点用户协会(IFPUG The International Function Point Users Group)提出的IFPUG方法、英国软件度量协会(UKSMA United Kingdom Software Metrics Association )提出的Mk II FPA方法、荷兰功能点用户协会(NEFPUG Netherlands Function Point Users Group)提出的NESMA 方法以及软件度量共同协会(COSMIC the COmmon Software Metrics Consortium)提出的COSMIC-FFP方法,这些方法都属于Albrecht 功能点(Function Point )方法的发展和细化。
目前大部分软件估计方法有工具支持(如表1所示)。国际上目前已经有一些组织吸收和积累世界各地软件企业的软件估计和度量数据,建立了被广泛使用的历史数据库,如在功能规模度量领域,有一个ISBSG(国际软件基准组织International Software Benchmarking Standards Group)数据库。另外,COCOMO II Estimating Model也有丰富的估计和度量数据提供。转帖于 Xue163.com_费用管理