SWEBOK软件工程知识体系 - 15.工程基础

工程基础( )
IEEE将工程定义为“对结构、机器、产品、系统或过程应用系统的、有纪律的、可量化的方法”[1] 。本章概述了一些对软件工程师有用的工程基础技能和技术 。重点是支持其他KA的主题,同时尽量减少本文档其他部分所涵盖主题的重复 。
随着软件工程理论和实践的不断成熟,软件工程是一门以所有工程学科所共有的知识和技能为基础的工程学科 。这个工程基础知识领域(KA)涉及应用于软件工程和其他工程学科的工程基础 。本KA的主题包括经验方法和实验技术、统计分析、测量、工程设计、建模、原型和仿真、标准和根本原因分析 。适当地应用这些知识将使软件工程师能够更有效地开发和维护软件 。高效地完成工程工作是所有工程专业工程师的目标 。
工程基础专题分解
工程基础KA的主题细分如图15.1所示 。
1.经验方法与实验技术
解决问题的工程方法包括提出解决方案或解决方案的模型,然后进行实验或测试来研究提出的解决方案或模型 。因此,工程师必须了解如何创建一个实验,然后分析实验结果,以评估所提出的解决方案 。经验方法和实验技术的可变性,并作出决定 。
工程实践中常用的三种不同类型的实证研究是设计实验、观察研究和回顾性研究 。下面简要介绍了常用的方法 。
1.1. 设计性实验
设计或控制实验是对一个可检验假设的调查,其中一个或多个自变量被操纵以测量它们对一个或多个因变量的影响 。进行实验的先决条件是有明确的假设 。对于工程师来说,理解如何提出清晰的假设是很重要的 。
通过设计实验,工程师可以精确地确定变量之间的关系,特别是它们之间是否存在因果关系 。每个自变量值的组合都是一种处理方法 。最简单的实验只有两个处理,代表一个独立变量的两个水平(例如,使用工具与不使用工具) 。当使用两个以上的水平、一个以上的自变量或任何因变量时,就会出现更复杂的实验设计 。
1.2. 观察研究
观察研究或案例研究是在现实生活中对过程或现象进行观察的实证研究 。虽然实验故意忽略了语境,但观察或案例研究将语境作为观察的一部分 。当研究的重点是如何和为什么提问,当研究参与者的行为不能被操纵,当语境条件相关且现象和语境之间的界限不明确时,案例研究是最有用的 。
1.3. 回顾性研究
回顾性研究包括对历史数据的分析 。回顾性研究也被称为历史研究 。这种类型的研究使用的数据(关于某些现象)已经存档了一段时间 。然后对这些存档的数据进行分析,试图找出变量之间的关系,预测未来的事件,或确定趋势 。分析结果的质量将取决于存档数据中所含信息的质量 。历史数据可能不完整、测量不一致或不正确 。
2.统计分析
为了履行他们的职责,工程师必须了解不同的产品和工艺特性是如何变化的 。工程师经常遇到需要研究不同变量之间关系的情况 。需要注意的一个重要点是,大多数研究都是在样本的基础上进行的,因此需要了解整个人群的观察结果 。因此,工程师必须充分了解统计技术,以便在抽样和分析方面收集可靠的数据,从而得出可以推广的结果 。下面将讨论这些技术 。
2.1. 分析单位(抽样单位)、总体和样本
【SWEBOK软件工程知识体系 - 15.工程基础】分析单位 。在进行任何实证研究时,都需要对所选的分析单位或抽样单位进行观察 。必须确定分析单位,并且必须适合分析 。例如,当一个软件产品公司想要找到一个软件产品的可感知可用性时,用户或软件功能可能是分析的单位 。