之前的博客详细描述了软件工程中的系统文献映射研究方法。这里接着给出一个我曾经做过的工作作为例子,以更直观地展示这种研究类型。该研究的背景信息这里不再赘述。
这篇博客主要介绍第一个研究问题的结果,即软件开发中的假设条件有哪些定义。
下面的表中给出假设条件的定义的分类,并映射到相关的软件开发活动。其中环境的假设条件包括系统环境(如硬件环境)或者制品环境(如制定特定决策的原理);一般性的假设条件指对假设条件进行字面解释(如采用英语字典的定义)。此系统文献映射研究重述了文献中对假设条件的定义,但并未改变它们的原意。
类型 | 软件开发活动 | 核心概念 | 定义 |
环境的假设条件 | 需求工程、软件设计、软件维护和演化 | 不确定性和期望 | 环境的假设条件指制定设计决策的环境(如制定决策的原因)的不确定性以及期望。 |
需求工程 | 假设条件 | 环境的假设条件指关于现实世界的规则以及其他系统行为的假设条件。 | |
需求工程 | 不确定的描述性的陈述 | 环境的假设条件指不确定为真但需要在问题域中满足的描述性的陈述。 | |
需求工程、软件设计、软件构造 | 假设条件 | 环境的假设条件指约束环境行为的假设条件。 | |
需求工程、软件设计 | 不确定的陈述 | 环境的假设条件指关于硬件以及系统外的事物且被接受和认可的陈述。 | |
可信的假设条件 | 需求工程、软件设计 | 可信的选择、陈述和意见 | 可信的假设条件指关注系统的行为和属性的显式或隐式的选择、陈述、意见。 |
体系结构假设条件 | 需求工程、软件设计、软件构造、软件测试、软件维护和演化 | 隐式的设计决策及其原理 | 体系结构假设条件指隐式的设计决策及其原理。 |
早期的体系结构假设条件 | 需求工程、软件设计 | 假设条件 | 早期的体系结构假设条件指关于期望的体系结构的初始元素的假设条件(如系统模块)。这些假设条件早于体系结构设计决策的制定。 |
一般性的假设条件 | 需求工程 | 不确定的断言 | 假设条件指对事实的断言或理所当然认可的事物。 |
需求工程、软件设计、软件维护和演化 | 不变形 | 假设条件指系统或环境的不可变性。 | |
方面的假设条件 | 需求工程、软件设计、软件构造、软件测试、软件维护和演化 | 假设条件 | 方面的假设条件指在面向方面的软件开发中一个方面的环境的假设条件。 |
服务的假设条件 | 软件设计 | 假设条件 | 服务的假设条件指在服务合成中不确定的事物。 |