基于规则配置的类比成本估算方法
立即解锁
发布时间: 2025-08-30 01:28:30 阅读量: 10 订阅数: 20 AIGC 

# 基于规则配置的类比成本估算方法
## 1. 引言
软件成本估算旨在预测开发软件系统所需的工作量,通常在项目启动前进行,并贯穿软件开发生命周期,对项目的可行性、计划制定、资源分配和进度监控至关重要。准确且一致的估算对项目成功的多个关键因素起着基础性作用,因此存在多种估算模型。
基于类比的估算(EBA)是一种常用方法,它通过识别与待估算项目相似的历史项目,并利用这些项目的数据来进行估算。EBA具有一定优势,可在软件开发早期数据有限时应用,且结果易被软件经理理解,不受异常值影响。然而,当前基于类比的工作量估算方法存在局限性,估算的准确性和一致性依赖于历史数据质量以及能否找到历史项目与待估算项目之间的类比关系。
本文将利用BRACE工具实现的EBA方法,并对其进行扩展:一是确定方法中最关键的配置参数(相似度度量)不适用于特定项目估算的情况;二是识别更适合特定项目估算的新参数和属性集。
## 2. 基于类比的估算
基于类比的估算本质上是一种基于案例的推理方法。该方法的基本思路是利用已完成项目的历史信息,这些项目的规模、工作量或生产率已知。首先,选择最合适的属性,将新项目与历史数据集中的旧项目进行比较,并对属性值进行标准化处理(范围在0到1之间),以确保各属性具有相同的影响程度,且不受测量单位选择的影响。
项目属性可分为定量属性(如功能点,用于衡量软件系统的功能)和定性属性(如编程语言,以名义尺度测量,值为“c”、“java”等)。接下来,使用“距离”度量来计算新项目与数据库中其他项目的差异。常见的距离度量包括欧几里得距离、闵可夫斯基距离、堪培拉距离、切卡诺夫斯基系数和切比雪夫距离等。
最终,基于与新项目相似的已完成项目来估算工作量。用户需计算新项目与数据库中所有项目的距离,识别出距离较近的“邻居”项目,然后通过这些邻居项目的工作量组合来获得估算值,常用的统计量是这些工作量值的均值或中位数,该统计量可根据待开发系统与邻居项目的规模进行加权。
为提高方法的预测准确性,通常需要对方法进行校准,即通过经验找出能提供最佳准确性结果的方法参数值组合。可调整的方法选项包括:
- 距离度量:用于对数据库中的项目按与待估算项目的相似度进行排序(如欧几里得距离、曼哈顿距离)。
- 最近项目数量(类比数量):对于小数据集,通常使用较少的邻居项目(如1或2个);对于大数据集,选择取决于数据的同质性。
- 生产率估算的统计量。
- 根据项目规模对所选统计量进行加权。
本文借助BRACE工具进行基于类比的规模和工作量预测,并对其进行校准。该工具会根据数据集尝试所有可行的参数值组合,以找到最佳的整体参数配置。由于大数据集的计算复杂度较高,用户需根据直觉和经验预先确定某些参数的值,以缩小搜索空间。
## 3. 规则归纳
规则归纳是归纳学习的一个特定方面。归纳学习是从具体示例中获取一般概念的过程,通过分析大量示例,可能推导出定义生产条件的一般概念。
规则归纳采用覆盖方法,即分别处理每个类别,尝试覆盖该类别中的所有示例,同时排除不属于该类别的示例。在构建规则时,通过添加测试条件,始终尝试创建具有最大准确性的规则。与其他使用信息增益准则选择属性以最大化类别间分离度的算法不同,覆盖算法选择属性 - 值对以最大化所需分类的概率。
本文应用基于Weka机器学习库提取部分决策树的PART算法。一个简单的软件成本估算规则示例如下:
```plaintext
If language used = java
and
development type = enhancement then
40 < productivity ≤ 60
total no of projects = 10 wrong estimates = 2
```
该规则表示,如果新项目使用的编程语言为Java,且开发类型为增强型,则该项目的生产率值有80%(置信值)的概率在每小时40到60行代码之间。
归纳学习相对于其他机器学习方法的一个优势是规则具有透明性,易于阅读和理解,有助于估算人员理解此类系统做出的预测。
## 4. 提出的方法
本文提出的方法首先使用刀切法进行基于类比的估算,以确定最佳相似度度量。具体步骤如下:
1. 从历史数据集中每次抽取一个项目用于估算。
2. 针对该项目测试各种相似度度量组合,并选择具有最佳MMRE(平均相对误差幅度)估算准确性的组合。MMRE的定义为:
\[MMRE = \frac{1}{n}\sum_{i = 1}^{n}\frac{\vert P_{i}-\hat{P}_{i}\vert}{P_{i}}\]
其中,$P_{i}$ 是新项目 $i$ 完成所需的实际生产率,$\hat{P}_{i}$ 是新项目的估算生产率,$n$ 是数据集中的项目数量。
3. 重复上述步骤,直到所有项目都被排除一次,并由其余项目进行估算。
4. 最终,选择以MMRE衡量的整体估算准确性最佳的相似度度量组合作为最佳配置。
然而,可能存在新的未知项目与基于所选度量的历史数据几乎没有或没有相似性的情况。为此,进一步分析刀切法为每个项目单独生成的数据,保留每个项目估算过程的元数据,包括最准确的距离度量、统计点估计和类比数量。然后,将使用全局确定的默认相似度度量产生的估算准确性与为每个项目单独确定的最佳配置的估算准确性进行比较,分析这些数据以生成规则,指示可能导致不同最佳配置的项目属性组合。
## 5. 数据集描述
本研究使用的数据集是ISBSG发布的第7版,这是一个公开可用的多组织数据集。国
0
0
复制全文
相关推荐









