实证调查
实证调查涉及对任何工具、技术或方法的科学调查。这种调查主要包含以下 4 个原则。
- 选择调查技术
- 陈述假设
- 保持对变量的控制
- 使调查有意义
选择调查技术
软件工程中实证调查的关键组成部分是 −
- 调查
- 案例研究
- 正式实验
调查
调查是对情况的回顾性研究,以记录关系和结果。它总是在事件发生后进行。例如,在软件工程中,可以进行民意调查以确定用户对特定方法、工具或技术的反应,以确定趋势或关系。
在这种情况下,我们无法控制当前的情况。我们可以记录一种情况并将其与类似情况进行比较。
案例研究
这是一种研究技术,您可以识别可能影响活动结果的关键因素,然后记录该活动:其输入、约束、资源和输出。
正式实验
这是对活动的严格控制调查,其中确定和操纵关键因素以记录它们对结果的影响。
可以根据以下准则选择特定的调查方法 −
如果活动已经发生,我们可以进行调查或案例研究。如果尚未发生,则可以选择案例研究或正式实验。
如果我们对可能影响结果的变量有很高的控制水平,那么我们可以使用实验。如果我们无法控制变量,那么案例研究将是首选技术。
如果无法在更高级别进行复制,则无法进行实验。
如果复制成本低,那么我们可以考虑实验。
陈述假设
为了促进特定调查技术的决策,研究目标应表达为我们想要测试的假设。假设是程序员认为可以解释他们想要探索的行为的暂定理论或假设。
保持对变量的控制
陈述假设后,接下来我们必须确定影响其真实性的不同变量以及我们对它的控制程度。这很重要,因为实验和案例研究之间的关键区别在于对影响行为的变量的控制程度。
状态变量是可以表征项目并影响评估结果的因素,用于在正式实验中区分控制情况和实验情况。如果我们无法区分控制和实验,案例研究技术将是首选。
例如,如果我们想确定编程语言的变化是否会影响项目的生产力,那么语言将是一个状态变量。假设我们目前正在使用 FORTRAN,我们想用 Ada 替换它。然后 FORTRAN 将成为控制语言,Ada 将成为实验语言。
使调查有意义
实验结果通常比案例研究或调查更具普遍性。案例研究或调查的结果通常仅适用于特定组织。以下几点证明了这些技术在回答各种问题方面的效率。
符合理论和传统智慧
案例研究或调查可用于符合传统智慧和许多其他标准、方法或工具在单个组织中的有效性和实用性。但是,正式实验可以调查这些说法通常是正确的情况。
探索关系
资源和软件产品的各种属性之间的关系可以通过案例研究或调查来表明。
例如,对已完成项目的调查可以发现,用某种语言编写的软件比用其他语言编写的软件故障更少。
理解和验证这些关系对于任何未来项目的成功都至关重要。这些关系中的每一个都可以表示为一个假设,并且可以设计一个正式实验来测试这些关系的维持程度。通常,通过保持其他属性不变或受控制来观察一个特定属性的值。
评估模型的准确性
模型通常用于预测活动的结果或指导方法或工具的使用。在设计实验或案例研究时,它提出了一个特别困难的问题,因为它们的预测通常会影响结果。项目经理经常将预测转化为完成目标。这种影响在使用成本和进度模型时很常见。
某些模型(例如可靠性模型)不会影响结果,因为在软件准备好投入现场使用之前,无法评估以平均故障时间衡量的可靠性。
验证措施
有许多软件措施可以捕获属性的值。因此,必须进行研究以测试给定的度量是否反映了它应该捕获的属性的变化。验证是通过将一个度量与另一个度量相关联来执行的。应该使用第二个度量来验证,该度量也是影响因素的直接和有效度量。这样的措施并不总是可用或易于衡量。此外,所使用的措施必须符合人类对被测因素的概念。