minor revisions

This commit is contained in:
Xin Peng 2019-09-30 15:03:58 +08:00
parent 7532eae878
commit bb98f905ba
3 changed files with 30 additions and 29 deletions

View File

@ -202,52 +202,52 @@
由于需求工程的出发点是观察现实世界并进行问题识别,根据现实世界问题识别的不同角度,出现了不同的需求工程方法,主要的需求工程方法包括:面向目标的方法[39]、面向主体和意图的方法 [40]、面向情景的方法[41]、问题框架方法[42]、环境建模方法[43]等。这些方法的特点和需求工程技术见表1所列。
\begin{table}
\centering
\small
\footnotesize
\caption*{表1. 代表性需求工程方法}
\begin{tabular}{|p{0.1\textwidth}<{\centering}|p{0.2\textwidth}<{\centering}|p{0.28\textwidth}<{\centering}|p{0.27\textwidth}<{\centering}|}%
\begin{tabular}{|p{0.1\textwidth}<{\centering}|p{0.2\textwidth}<{\centering}|p{0.28\textwidth}<{\centering}|p{0.28\textwidth}<{\centering}|}%
\hline
方法& 问题视角& 软件需求获取手段& 软件需求获取手段\\
\hline
面向目标的方法& 现实世界中存在新的需要达成的业务目标& \makecell[l]{ • 识别高层目标\\
• 自顶向下,按照业\\ \protect\quad 务目标实现策略进\\ \protect\quad 行目标分解,直到\\ \protect\quad 获得可操作目标}
& \makecell[l]{• 可操作目标的可实\\ \protect\quad 现性分析\\
• 自底向上的逐层目\\ \protect\quad 标可满足性分析\\
• 目标冲突的检测和\\ \protect\quad 协商}
• 自顶向下,按照业务目标\\ \protect\quad 实现策略进行目标分解,\\ \protect\quad 直到获得可操作目标}
& \makecell[l]{• 可操作目标的可实现性分析\\
• 自底向上的逐层目标可满足\\ \protect\quad 性分析\\
• 目标冲突的检测和协商}
\\
\hline
面向主体和意图的方法& 现实世界存在需要维系的自治个体/组织的关系& \makecell[l]{• 个体/组织间依赖关\\ \protect\quad 系识别\\
• 个体/组织策略的目\\ \protect\quad 标建模\\
• 个体/组织的反依赖\\ \protect\quad 关系以及反依赖关\\ \protect\quad 系应对策略
}& \makecell[l]{• 依赖关系的可满足\\ \protect\quad 性和鲁棒性分析\\
• 依赖路径的脆弱性\\ \protect\quad 分析\\
面向主体和意图的方法& 现实世界存在需要维系的自治个体/组织的关系& \makecell[l]{• 个体/组织间依赖关系识别\\
• 个体/组织策略的目标建模\\
• 个体/组织的反依赖关系以\\ \protect\quad 及反依赖关系应对策略
}& \makecell[l]{• 依赖关系的可满足性和鲁棒\\ \protect\quad 性分析\\
• 依赖路径的脆弱性分析\\
• 反依赖关系的防御
}\\
\hline
面向情景的方法& 现实世界中的业务流程需要自动化支撑& \makecell[l]{• 现实场景抽象和\\ \protect\quad 模。\\
• 现实场景模型脆弱\\ \protect\quad 点分析和改进点确\\ \protect\quad 定,如活动改进和\\ \protect\quad 流程改进。\\
面向情景的方法& 现实世界中的业务流程需要自动化支撑& \makecell[l]{• 现实场景抽象和模。\\
• 现实场景模型脆弱点分析\\ \protect\quad 和改进点确定,如活动改\\ \protect\quad 进和流程改进。\\
• 改进策略确定
}& \makecell[l]{• 场景流合理性分析\\
• 场景流可行性分析\\
• 场景流资源/环境依\\ \protect\quad 赖性分析\\
• 场景流资源/环境依赖性\\ \protect\quad 分析\\
• 场景流最优化分析
}\\
\hline
问题框架方法& 软件处于环境中,软件的能力需求由需要和环境进行的交互决定& \makecell[l]{• 识别软件上下文\\ \protect\quad (环境)\\
• 抽象环境实体的特\\ \protect\quad \\
• 在环境实体上确定\\ \protect\quad 用户需求,以此确\\ \protect\quad 定软件与环境实体\\ \protect\quad 的交互\\
• 根据交互特征识别\\ \protect\quad 问题框架
}& \makecell[l]{• 构建上下文图。环\\ \protect\quad 境实体识别\\
• 构建问题图。基于\\ \protect\quad 环境实体确定用户\\ \protect\quad 需求,系统/环境\\ \protect\quad 互识别\\
• 进行问题投影。子\\ \protect\quad 问题识别,基本问\\ \protect\quad 题框架匹配
问题框架方法& 软件处于环境中,软件的能力需求由需要和环境进行的交互决定& \makecell[l]{• 识别软件上下文(环境)\\
• 抽象环境实体的特征\\
• 在环境实体上确定用户\\ \protect\quad 需求,以此确定软件与环\\ \protect\quad 境实体的交互\\
• 根据交互特征识别问题\\ \protect\quad 框架
}& \makecell[l]{• 构建上下文图。环境实体\\ \protect\quad 识别\\
• 构建问题图。基环境实体\\ \protect\quad 确定用户需求,系统/环境\\ \protect\quad 互识别\\
• 进行问题投影。子问题识\\ \protect\quad 别,基本问题框架匹配
}\\
\hline
环境建模方法& 软件处于环境中,环境的行为模型和意图确定软件的功能和非功能需求& \makecell[l]{• 识别软件的上下文\\ \protect\quad (环境)\\
• 环境模型已存在,\\ \protect\quad 继承环境实体模型,\\ \protect\quad 否则\\ \protect\quad 构建环境实体模型\\
• 按业务场景定义用\\ \protect\quad 户需求\\
• 确定系统和环境的\\ \protect\quad 交互,根据需求约\\ \protect\quad 束和环境实体约束,\\ \protect\quad 确定系统能力,包\\ \protect\quad 含功能和非功能性
}& \makecell[l]{• 特定领域的环境建\\ \protect\quad \\
• 业务场景定义及其\\ \protect\quad 环境约束叠加\\
• 基于业务场景逻辑\\ \protect\quad 的系统需求识别
环境建模方法& 软件处于环境中,环境的行为模型和意图确定软件的功能和非功能需求& \makecell[l]{• 识别软件的上下文(环境)\\
• 环境模型已存在,继承环\\ \protect\quad 境实体模型,否则构建环\\ \protect\quad 境实体模型\\
• 按业务场景定义用户需求\\
• 确定系统和环境的交互,\\ \protect\quad 根据需求约束和环境实体\\ \protect\quad 约束,确定系统能力,包\\ \protect\quad 含功能和非功能性
}& \makecell[l]{• 特定领域的环境建模\\
• 业务场景定义及其环境\\ \protect\quad 约束叠加\\
• 基于业务场景逻辑的系统\\ \protect\quad 需求识别
}\\
\hline
\end{tabular}

View File

@ -178,3 +178,4 @@
\hangafter=1
\setlength{\hangindent}{2.3em}
[14] 中国电子信息产业发展研究院、工业和信息化部赛迪智库软件产业发展白皮书2015版[R]2015.4

View File

@ -146,4 +146,4 @@
综上,生态观对软件方法学带来显著的变化和跨越,软件学科跟其他学科的交叉性将更为凸显。软件和软件学科需要从以往关注个体软件的构建和运维转变到关注有广泛社会参与的软件体系的构建、运维和成长,以及软件生态的平衡和可持续发展。
\section{软件学科的发展趋势}
预告本篇其余各章的主要内容】
预告本篇其余各章的主要内容】