实证研究


实证研究涉及对任何工具、技术或方法的科学研究。本次调查主要有以下4个原则。

  • 选择调查技术
  • 陈述假设
  • 保持对变量的控制
  • 让调查变得有意义

选择调查技术

软件工程实证研究的关键组成部分是 -

  • 民意调查
  • 案例分析
  • 正式实验

民意调查

调查是对情况进行回顾性研究,以记录关系和结果。它总是在事件发生后完成。例如,在软件工程中,可以执行民意调查来确定用户对特定方法、工具或技术的反应,从而确定趋势或关系。

在这种情况下,我们无法控制眼前的情况。我们可以记录一种情况并将其与类似的情况进行比较。

案例分析

这是一种研究技术,您可以确定可能影响活动结果的关键因素,然后记录该活动:其输入、约束、资源和输出。

正式实验

这是对一项活动进行严格的受控调查,其中确定并操纵关键因素以记录其对结果的影响。

调查

可以根据以下准则选择特定的调查方法 -

  • 如果活动已经发生,我们可以进行调查或案例研究。如果尚未发生,则可以选择案例研究或正式实验。

  • 如果我们对影响结果的变量有高度的控制,那么我们就可以使用实验。如果我们无法控制变量,那么案例研究将是首选技术。

  • 如果无法在更高水平上进行复制,那么实验就不可能进行。

  • 如果复制成本低,那么我们可以考虑实验。

陈述假设

为了促进特定调查技术的决策,研究的目标应该表达为我们想要测试的假设。假设是程序员认为可以解释他们想要探索的Behave的尝试性理论或假设。

保持对变量的控制

陈述假设后,接下来我们必须决定影响其真实性的不同变量以及我们对其拥有多少控制权。这是至关重要的,因为实验和案例研究之间的关键区别在于对影响Behave的变量的控制程度。

正式实验中用状态变量来区分控制情况和实验情况,状态变量是表征项目的因素,也能影响评价结果。如果我们无法区分控制与实验,案例研究技术将是首选技术。

例如,如果我们想确定编程语言的变化是否会影响项目的生产力,那么语言将是一个状态变量。假设我们当前正在使用 FORTRAN,我们希望将其替换为 Ada。然后 FORTRAN 将作为控制语言,Ada 将作为实验语言。

让调查变得有意义

实验的结果通常比案例研究或调查更具有普遍性。案例研究或调查的结果通常仅适用于特定组织。以下几点证明了这些技术回答各种问题的效率。

符合理论和传统智慧

案例研究或调查可用于在单个组织中验证传统观点和许多其他标准、方法或工具的有效性和实用性。然而,正式的实验可以调查那些主张通常正确的情况。

探索关系

资源和软件产品的各种属性之间的关系可以通过案例研究或调查来表明。

例如,对已完成项目的调查可以显示,用特定语言编写的软件比用其他语言编写的软件具有更少的错误。

理解和验证这些关系对于任何未来项目的成功都至关重要。这些关系中的每一个都可以表达为假设,并且可以设计正式的实验来测试这些关系的维持程度。通常,通过保持其他属性不变或受控来观察一个特定属性的值。

评估模型的准确性

模型通常用于预测活动的结果或指导方法或工具的使用。在设计实验或案例研究时,它提出了一个特别困难的问题,因为他们的预测往往会影响结果。项目经理经常将预测转化为完成目标。当使用成本和进度模型时,这种效应很常见。

某些模型(例如可靠性模型)不会影响结果,因为在软件准备好在现场使用之前,无法评估以平均故障时间衡量的可靠性。

验证措施

有许多软件措施可以捕获属性的值。因此,必须进行一项研究来测试给定的度量是否反映了它应该捕获的属性的变化。验证是通过将一项措施与另一项措施相关联来进行的。第二个衡量标准也是影响因素的直接有效衡量标准,应用于验证。这些措施并不总是可用或易于衡量。此外,所使用的测量必须符合人类对被测量因素的观念。