软件估算方法

巡山小妖精
719次浏览
2020年12月21日 17:07
最佳经验
本文由作者推荐

中国地震带分布-趣味图片

2020年12月21日发(作者:殳默)


软件规模估算方法

软件成本及工作量估算永远不会是一门精确的科学。太多 的变化——人员、
技术、环境、策略——影响了软件的最终成本及开发所需的工作量。不过,软件
项目估算可以从神秘的技巧向一系列系统化的步骤的转变的过程中,估算出可接
受的风险。现在世界上 比较流行的软件估算方法有:“模糊逻辑”法,功能点法,
标准构件法,修改法,基于代码行(LOC) 的估算方法,基于功能点(FP)的估算方
法,基于过程的估算方法,基于
COCOMO模型的 估算
方法,基于软件方程式的估算
方法。
今天,一个软件成本估算模型如果能够达到 以下结果就相当不错了:估算的
软件开发成本与实际的成本相差不到20%,时间估算相差不到70%, 而且是在
它自己的地盘上(即,是它适用的项目类型)……这可能不象我们所期望的那么精
确, 但已经足以在软件工程经济分析及决策中提供很大的帮助了。
为了可靠地估算成本及工作量,结合雁联 公司项目历史数据比较缺少的特
点。我们建议采用基于功能点(FP)的估算方法来估算工作量。
以下是基于功能点(FP)估算方法的估算流程及估算例子。
基于FP估算的分解是集中于信 息域值,而不是软件功能。根据功能点计算
方法原理,项目经理要从软件的输入、输出、报表、接口、内 部处理及其他六方
面进行估算。为了达到这个估算目的,我们假设复杂度加权因子都是平均的。项
目经理根据自己的经验,按要求填写好基于功能点(FP)估算方法的工作量估算
表。

项目估算表
项目名称
项目经理
估算信息域值

客户端
信息域值

乐观值

可能值

悲观值

估算计数

加权因子

FP计数



输入

输出

报表

接口数
内部处理
其他




































计算复杂度调整因子
(Fi(i=1到14)是基于对附表1中问题的回答而得到的“复杂度调整值”(0到5))
因子
备份和恢复

数据通信(接口)

分布式处理

系统性能

系统移植

界面复杂度

重用程度
值 因子
质量等级

重用模块设计

内部处理

人员技能

过程方法

开发工具

项目管理















采用下面的公式来估算功能点:
FP=总计数值×[0.65+0.01×ΣF
i

FP
estimated
(功能点)
=



E
(工作量)=
FP
estimated
a

采用下面的公式来估算项目合适的人员数目

N=ED

N
estimated
(人员数目)
=

表格说明:
1、功能点分解说明
功能类型

功能点描述 功能点权重
(编码阶段)
备注


输入
输入界面
输出界面
报表,凭证
报文接口,文件接口,调用接口等
逻辑处理
算法研究、数据转移等
1~3
1~3
2~4
2~6
1~10
5~10
由易到难
由易到难
由易到难
由易到难
由易到难
由易到难
输出
报表
接口
内部处理
其他
注:权重的基准值为1人天
2、各生命周期工作量比例
阶段
需求分析
系统设计
编码及单元测试
集成测试
功能测试
性能测试
参考工作量阶段分布比例
基准值(%)
参考工作量阶段分布比例范围 (%)
15 5~20
20 10~30
35 25~50
5 3~8
20 10~30
5 2~10

3、表格中估算计数为估算变量(规模)的期望值即EV(expected value) ,可
以通过乐观值
(S
opt
)
、可能值
(S
m< br>)
、及悲观值
(S
pess
)
估算的加权平均值
来计 算:
EV=(S
opt
+4S
m
+S
pess
)6
(公式)其中给予“可能值”估算以最
大的权重,并遵循β概率分布。
4、表格中加 权因子由估算人员根据其经验对软件的输入、输出、查询、文
件、及外部接口五方面功能点复杂度和所花 时间的加权。建议加权因子
取值范围为整数(0-10)
5、其中公式
E(工作量)= FP
estimated
a 中系数a为生产率。
6、D为项目开发周期。



附表1
功能点估算复杂度调整参考问题表

功能点估算复杂度调整参考问题表
F
i
:Fi(i=1到14)是基于对表2中问题的回答而得到的“复杂度调整值”(0到5)
1.备份和恢复  由低到高
 0:系统不需要备份和恢复模块
 5:备份和恢复模块数占总模块数超过30%
 由低到高
 0:系统不需要数据通信(无接口)
 5:需要复杂的数据通信(接口多于3个)
 由低到高
 0:不需要分布式处理功能
 5:需要复杂的分布式处理功能(功能多于3个)
 由低到高
 0:无性能要求或性能要求很低
 5:性能要求很高
 由低到高
 0:代码不需要平台移植
 5: 50%以上的代码需要平台移植
 由低到高
 0:输入项(输出项)小于7项
 5:输入项(输出项)大于20项
 由低到高
 0:系统可重用模块占总模块数超过60%
 5:无可重用的系统模块
 由低到高
 0:系统不需要内部测试
 5:系统需要严格的内部测试
 由低到高
 0:设计不考虑
 5:设计中可重用模块占总模块数超过40%
 由低到高
 0:文件交互模块(内部接口)少于5个
 5:文件交互模块(内部接口)少于20个
 由低到高
 0:技术级别7级以上人员多于3人
 5:都是新手
 由低到高
 0:开发过程有明确定义
 5:开发过程无明确的定义
 由低到高
2.数据通信(接口)
3.分布式处理
4.系统性能
5.系统移植
6.界面复杂度
7.重用程度
8.质量等级
9.重用模块设计
10.内部处理
11.人员技能
12.过程方法
13.开发工具


 0:开发工具熟悉并稳定可靠
 5:开发工具完全不熟悉
14. 项目管理  由低到高
 0:客户关系良好、需求稳定
 5:客户关系一般、需求变化大



估算例子

根据功能点计算方法原理,项目计划者估算CAD软件的输入、输出、报 表、
接口、内部处理及其他六方面来分别估算。为了达到这个估算目的,我们假设复
杂度加权因 子都是平均的。

信息域值 乐观值 可能值 悲观值 估算计数 加权因子 FP计数
输入数 20 24 30 24 4 96
输出数 12 15 22 16 5 80
报表数 16 22 28 22 4 88
内部处理 4 4 5 4 10 40
接口数 2 2 3 2 6 12
总计数值 316
估算信息域值表

接着,估算14个复杂度加权因子,并计算复杂度调整因子,
因子 值
备份和恢复

数据通信(接口)

分布式处理

系统性能

系统移植

界面复杂度

重用程度
因子 值
质量等级

重用模块设计

内部处理

人员技能

过程方法

开发工具

项目管理
计算复杂度调整因子表

4
2
0
4
3
4
4
4
3
5
3
3
3
2

根据公式FP
estimated
=总计数值×[0.65+ 0.01×ΣF
i
]


得出FP的估算值
FP
es timated
=总计数值×[0.65+0.01×ΣF
i
]
=316×[0.65+0.01×44]
=344.44
根据公式
E(工作量)= FP
estimated
a
E= FP
estimated
a =344.441=344.44人天
折算成人月 =344.4422.5=15.31人月
根据公式
N=ED
N=ED=15.313=约5人

叶静印度舞-想和你跳舞


淘宝金币有什么用-炸虾仁的做法


滑雪装-刘长卿的逢雪宿芙蓉山主人


人家的闺女有花戴-普通话推广周


猜歌名-墨镜男头像


经典英文对白-朴一泽


付出的爱-犬姊妹


爱因为在心中伴奏-雷峰的故事