您的位置:软件测试 > 软件项目管理 > 开发管理 >
软件开发过程的定量监理
作者:网络转载 发布时间:[ 2013/5/16 14:38:50 ] 推荐标签:

下面将以某个计算机辅助设计(CAD)应用为例,估算开发的软件包的输入、输出、查询、文件及外部接口。为了达到这个估算目的,我们假设复杂度加权因子都是平均的。根据对软件范围的叙述,对软件功能进行分解,识别出主要的几个功能:用户界面和控制功能、二维几何分析、三维几何分析、数据库管理、计算机图形显示功能、外设控制以及设计分析模块。后可得到如表2所示的估算表。

由表2得到总计数值为318

接着,估算14个复杂度加权因子(Fi,根据问题对项目的影响取值范围是0~5),表3给出了因子值。

FP=总计数值×[0.65+0.01×ΣFi]=366

第二种方法是采用类比的方法,根据历史数据来进行估算。

如果有一个以前做过的类似项目并且掌握它的规模,可以把新项目的各个主要部分与原有项目的相应部分进行比较,得出一个比例关系,将各部分相对于原项目规模比例相加,计算出新项目的规模。如果估算者的经验丰富并且新项目与老项目具有足够的相似性,能够得到合理的估算值。

但是采用类比法,往往还要解决可重用代码的估算问题。估计可重用代码量的好办法是由程序员或系统分析员详细地考查已存在的代码,估算出新项目可重用的代码中需重新设计的代码百分比、需重新编码或修改的代码百分比以及需重新测试的代码百分比。根据这三个百分比,可用下面的计算公式计算等价新代码行:

等价代码行 = [(重新设计% +重新编码% +重新测试%)/3]× 已有代码行

比如:有10,000行代码,假定35%需要重新设计,55%需要重新编码,75%需要重新测试,那么其等价的代码行可以计算为:

[(30% + 50% + 70%)/3]×10,000= 5,500 等价代码行。即:重用这10000代码相当于编写5500代码行的工作量。

2、工作量估算

估算出软件规模并且对软件的开发周期进行定义后,开始估算软件项目的工作量。软件规模的估算结果是代码量,但是软件项目的开发、实施过程并不是只有编码的工作,实际上编码的工作量在这个过程中是小的。编写文档、架构设计、系统设计、测试以及实施发布等将占用大量的工作时间。因此,对软件项目工作量的估算是确定、估算这样一个代码量的项目所需的各种工作,相加得到项目的工作量。从软件规模(代码量)估算出项目工作量主要采用下述的两个方法:

(1)好的方法是利用历史数据,根据以前做过的类似项目规模与新项目规模的比例关系,对照以前项目的工作量求出新项目的工作量。

采用这个方法的前提是:a.对以前项目规模和工作量的计量是正确的;b.至少有一个以前的项目的规模和新项目类似;c.新项目的开发周期、使用的开发方法、开发工具与以前项目的类似,而且开发人员的技能和经验也不能与原来的人员相差太大。

(2)如果没有历史数据可用,或者新项目与以前做过的项目差别较大,那么可以使用一个成熟的估算模型,如采用IBM模型、COCOMO模型或Putnam方法论,将软件项目规模转换成工作量。

这些模型通过对大量不同类型组织已完成项目进行研究,得出的项目规模与工作量之间的关系和转换方法。这些行业性的模型可能不如自己的历史数据精确,但是非常有效。目前,还没有一种估算模型能够适用于所有的软件类型和开发环境,在监理活动中,从这些模型得到的结果必须根据项目的实际情况慎重使用,或者采用多个模型进行估算、掌握工作量的基本范围并与实际的工作量计划比较。

下面以IBM模型为例来进行计算。 为了计算,我们应当利用逆向法将功能点转化成一个等价的SLOC数值。这一步可以使用表4的语言等价表来完成:

所以,使用java 2完成上述项目(366功能点)时,将大约需要下列SLOC数:

L = 366×46 = 16386行 = 16.386KLOC

E = 5.2×L0.91 = 5.2×16.3860.91 = 66人/月

DOC = 49×L1.01 = 49×16.3861.01 = 826页

上一页123下一页
软件测试工具 | 联系我们 | 投诉建议 | 诚聘英才 | 申请使用列表 | 网站地图
沪ICP备07036474 2003-2017 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd