估算方法分类
软件项目估算涉及人、技术、环境等多种因素,需要一些方法和技术来支持项目的估算,常用的估算方法有下列3 种:
- 基于已经完成的 类似项目 进行估算
基于 分解技术 进行估算。分解技术包括:
问题分解:将一个复杂问题分解成若干个小问题,通过对小问题的估算得到复杂问题的估算
过程分解:先根据软件开发过程中的活动(分析、设计、编码、测试等)进行估算,然后得到整个项目的估算值。
基于 经验估算模型 的估算。典型的经验估算模型有:
- IBM估算模型
- CoCoMoII 模型
- Putmam 模型
成本估算方法
上面的方法组合使用,提高估算精度:
自顶向下估算方法
自底向上估算方法
差别估算方法
其他估算方法
COCOMO估算模型
COCOMO模型是一种精确的、易于使用的成本估算模型。
COCOMO模型按其详细程度分为:
基本COCOMO模型:静态单变量 模型,用于对整个软件系统进行估算,以 每千源代码行数 来度量的程序大小
中级COCOMO模型:静态多变量 模型,它将软件系统模型分为系统和部件两个层次,系统由部件构成。以基本COCOMO模型为基础,并考虑了 15种影响 软件工作量的因素
详细COCOMO模型:将软件系统模型分为系统、子系统和模块3个层次,除包括中级模型所考虑的因素外,还考虑了在需求分析、软件设计等每一步的成本驱动属性的影响。
应用软件项目
有机项目-相对较小、较简单的软件项目,由较小的有经验的团队来完成,需求较少并且没有过份严格的限定。
中度分离项目-指中等规模(大小及复杂度)的软件项目,由不同经验水平的人组成的团队来完成,需求中即有严格的部分也有不太严格的部分。
嵌入式项目-指软件项目必须依赖于一套紧凑的硬件、软件以及符合操作限制。
COCOMOⅡ模型
分为3个阶段性模型:
应用组装模型。在软件工程的前期阶段使用,这时用户界面的原型开发、对软件和系统交互的考虑、性能的评估以及技术成熟度的评价是最重要的。
早期设计阶段模型。在需求已经稳定并且基本的软件体系结构已经建立时使用。
体系结构阶段模型。在软件的构造过程中使用。
需要使用规模估算信息,在模型层次结构中有3种不同的规模估算选择:
- 对象点:应用组装模型使用
- 功能点:早期设计阶段模型使用
- 代码行:体系结构阶段模型使用,功能点可以转换为代码行
对象点也是一种间接的软件测量。计算对象点时使用如下的计数值:
- (用户界面的)屏幕数
- 报表数
- 构造应用系统可能需要的构件数
题
工作量估算模型COCOMOII的层次结构中,估算选择不包括
A、对象点
B、功能点
C、用例数
D、源代码行
答案
C