软件规模估算方法 软件成本及工作量估算永远不会是一门精确的科学。太多的变化——人员、技术、环境、策略——影响了软件的最终成本及开发所需的工作量。不过,软件项目估算可以从神秘的技巧向一系列系统化的步骤的转变的过程中,估算出可接受的风险。现在世界上比较流行的软件估算方法有: “模糊逻辑”法,功能点法,标准构件法,修改法,基于代码行(LOC)的估算方法,基于功能点(FP)的估算方法,基于过程的估算方法,基于 COCOMO模型的估算方法,基于软件方程式的估算方法。 今天,一个软件成本估算模型如果能够达到以下结果就相当不错了:估算的软件开发成本与实际的成本相差不到 20%,时间估算相差不到 70%,而且是在它自己的地盘上(即,是它适用的项目类型)… … 这可能不象我们所期望的那么精确,但已经足以在软件工程经济分析及决策中提供很大的帮助了。 为了可靠地估算成本及工作量,结合雁联公司项目历史数据比较缺少的特点。我们建议采用基于功能点(FP)的估算方法来估算工作量。 以下是基于功能点(FP)估算方法的估算流程及估算例子。 基于 FP估算的分解是集中于信息域值,而不是软件功能。根据功能点计算方法原理,项目经理要从软件的输入、输出、报表、接口、内部处理及其他六方面进行估算。为了达到这个估算目的,我们假设复杂度加权因子都是平均的。项目经理根据自己的经验,按要求填写好基于功能点(FP)估算方法的工作量估算表。 项目估算表 项目名称 项目经理 估算信息域值 客户端 信息域值 乐观值 可能值 悲观值 估算计数 加权因子 FP计数 输入 输出 报表 接口数 内部处理 其他 计算复杂度调整因子 (Fi(i=1到14)是基于对附表1中问题的回答而得到的“复杂度调整值”(0到5)) 因子 值 因子 值 备份和恢复 质量等级 数据通信(接口) 重用模块设计 分布式处理 内部处理 系统性能 人员技能 系统移植 过程方法 界面复杂度 开发工具 重用程度 项目管理 采用下面的公式来估算功能点: FP=总计数值×[0.65+0.01×ΣFi] FPestimated(功能点)= E(工作量)= FPestimated/a 采用下面的公式来估算项目合适的人员数目 N=E/D Nestimated(人员数目)= 表格说明: 1、功能点分解说明 功能类型 功能点描述 功能点权重 (编码阶段) 备注 输入 输入界面 1~3 由易到难 输出 输出界面 1~3 由易到难 报表 报表,凭证 2~4 由易到难 接口 报文接口,文件接口,调...