缺陷密度度量(DD) 是除了代码行(LOC)度量之外在业界应用最广的度量方法之一。缺陷密度度量定义如下:
Defects是软件发行以后一段时间(一般6个月)缺陷的数目。这里我们将不讨论实际应用中的度量问题。下面的图表可以说明使用DD度量时的效果。
|
Version 1 |
Version 2 |
|
# |
Defects |
LOC |
Defects/LOC |
Defects |
LOC |
Defects/LOC |
Relation |
1 |
12 |
777 |
0.01544 |
3 |
55 |
0.05455 |
< |
2 |
5 |
110 |
0.04545 |
6 |
110 |
0.05455 |
< |
3 |
2 |
110 |
0.01818 |
3 |
110 |
0.02727 |
< |
4 |
3 |
110 |
0.02727 |
4 |
110 |
0.03636 |
< |
5 |
6 |
1000 |
0.00600 |
70 |
10000 |
0.00700 |
< |
Sum |
28 |
2107 |
0.01329 |
86 |
10385 |
0.00828 |
> |
表1:缺陷密度度量行为。版本1与版本2缺陷密度度量的对应关系
假设,我们有两个程序版本,版本1和版本2,并且每个版本包含5个模块。对每个版本我们考察它的缺陷密度度量。我们可以看到,版本1的每个模块比版本2的每个模块都有较小的缺陷密度度量。当把每个版本的缺陷数(Defects)与代码行(LOC)数加起来后,我们得到合计行。结果令人吃惊,尽管版本1的每个模块的缺陷密度度量都比版本2的小,但版本1的所有模块的缺陷密度度量却比版本2的大。 问题是:这是怎么发生的? 请看第3讲( third lecture)给出的结论 
|