目录
软件项目管理:通过计划、组织、控制一系列活动,合理配置使用资源,达到既定目标的活动。
一、软件规模量度
常用方法:代码行技术、功能点技术
1. 代码行技术
估计每个功能需要源代码(参考类似项目的历史数据);
累计;
估计整个软件源程序行数。
当程序较小时常用的单位是代码行数(LOC),
当程序较大时常用的单位是千行代码数(KLOC)。
具体方法:
1.多名(n)有经验软件工程师估计
吗a:程序最小规模;b:程序最大规模;m:程序最可能规模
2.求三种规模的平均值
3.求程序规模
优缺点
优点:
代码是所有软件开发项目都有的“产品”,而且很容易计算代码行数。
缺点:
- 源程序不等于软件
- 实现语言不同代码行数不同
- 不适用非过程语言
2. 功能点技术
依据软件信息域特性和软件复杂性评估结果估算软件规模。
信息域特性:
- 用户输入数:各用户面向不同应用的输入数据计数。
- 用户输出数:为用户提供面向应用的输出信息。
- 用户查询数:即是一次联机输入,以输出方式产生 某种即时响应。
- 文件数:每一个逻辑主文件都应计数。
- 外部接口数:所有将信息传到另一系统中的机器可读写接口。
具体步骤:
(1)估算未调整功能点UFP
(2)计算技术复杂性因子
(3)计算功能点数FP
TCF = 0.65 + 0.01 x DI
FP = UFP × TCF
功能点数与所用编程语言无关,比代码行合理。但主观因素过多。
二、工作量估算
工作量是软件规模函数,单位为人月(pm)。
支持大多数估算模型的经验数据,都是从有限个项目的样本集中总结出来的,因此,没有一个估算模型可以适用于所有类型的软件和开发环境。
1. 静态单变量模型
E=A+B*(ev)C
A、B、C为经验常数,ev是估算变量(LOC或FP)。
1.1 面向KLOC估算模型
(1)Walston-Felix模型 E=5.2×(KLOC)0.91
(2)Bailey-Basili模型 E=5.5+0.73×(KLOC)1.16