之前的博客详细描述了软件工程中的系统文献映射研究方法。这里接着给出一个我曾经做过的工作作为例子,以更直观地展示这种研究类型。该研究的背景信息这里不再赘述。
这篇博客主要介绍第八个研究问题的结果,即软件开发中假设条件管理的收益和挑战是哪些。
下表将未被妥善管理的假设条件造成的后果分为五个大类:无效的假设条件、隐式的假设条件、不一致的假设条件、未被妥善建模的假设条件、其他。注意无效的假设条件也包括违反的假设条件、失败的假设条件。
后果类型 | 后果子类型 |
无效的假设条件 | 系统问题。例如系统脆弱性、系统错误、集成缺陷。 |
对需求的消极影响。例如需求分析的无效结果、实现安全需求的障碍、无法实现需求、系统质量问题、需求违反、需求风险。 | |
不期望的后果。例如产品中不期望的变化、缺陷的副作用、无法预测或无法接受的程序、系统、环境行为。 | |
成本的提高。例如维护成本的提高、额外的资源消耗、返工。 | |
商业问题。例如不满意的客户、市场份额的缩减、声望的降低、商业操作成本的提高。 | |
软件操作环境的不匹配的增加。 | |
漏洞出现几率增加。 | |
API客户和供应商之间的误解。 | |
隐式的假设条件 | 系统问题。例如系统脆弱性、系统错误、运行时错误、有效性问题。 |
对需求的消极影响。例如需求违反、错误的需求、无法实现需求、不完整以及无法理解的需求、需求风险、需求不确定性的增加、系统质量问题。 | |
设计问题。例如设计的违反、构件的问题、僵化的体系结构、体系结构解决方案的可演化性、可变性、可复用性的降低、体系结构的误解、体系结构的风险。 | |
成本的提高。例如改变系统的成本很高、下一个版本发布需要更多的时间、返工、高维护成本、解决由隐式的假设条件导致的问题的成本。 | |
一致性问题。例如冲突的假设条件导致的系统的不匹配。 | |
阻碍软件演化。 | |
不期望的后果。例如不期望的环境行为。 | |
可追溯性问题。 | |
项目延期。 | |
不一致的假设条件 | 体系结构的不匹配。例如构件或模型间的不匹配。 |
系统问题。例如系统错误和集成缺陷。 | |
项目风险。 | |
构件间互操作性的冲突。 | |
成本的提高。例如超过预算或计划时间。 | |
未被妥善建模的假设条件 | 阻碍体系结构的变化影响分析及权衡分析。 |
提高的成本。例如额外的理解和分析需求的成本。 | |
其他 | 设计问题。例如昂贵的重新构造设计原理的成本、影响体系结构的不清晰的设计标准和环境因素、设计完整性的违反、设计决策的误解。 |
对需求的消极影响。例如忽视商业目标和约束、不合适的针对需求和环境因素的变化影响分析。 |