之前的博客详细描述了软件工程中的系统文献映射研究方法。这里接着给出一个我曾经做过的工作作为例子,以更直观地展示这种研究类型。该研究的背景信息这里不再赘述。
这篇博客主要介绍第九个研究问题的结果,即软件开发中假设条件管理有哪些经验。
经验可能为一句话、多句话、几个段落。由于此系统文献映射研究收集了超过400条的经验,因此,并未在本文中全部列出。详细数据可参阅[1]。本研究进一步将这些经验分为以下三类。
- 假设条件的影响
此类型的经验均关于假设条件如何影响软件开发(如软件制品、软件质量、资源、开发活动)。
- 假设条件管理的建议
此类型的经验包括在软件开发中管理假设条件的建议和指南(如假设条件的分类、在敏捷开发中管理假设条件、假设条件管理活动)。
- 假设条件的理解
此类型的经验均关于软件开发中对假设条件的理解(如假设条件的角色、假设条件的特征)。
下表给出以上三种类型的经验的例子。
经验类型 | 描述 |
假设条件的影响 | 例子1:假设条件是程序属性的部分,且假设条件的错误将导致不期望的程序行为[2]。 例子2:设计决策基于关于环境特征的假设条件[3]。 例子3:需求模型中包含假设条件,且这些假设条件驱动需求的演化[4]。 |
假设条件管理的建议 | 例子1:更稳定的假设条件一旦无效,将产生更严重的影响[5]。 例子2:当构造一个接口时,应确认至少存在一种环境满足其输入的假设条件[6]。 例子3:建模环境的假设条件的能力很重要[7]。 |
假设条件的理解 | 例子1:隐式的假设条件的可存在于多种场景,且其影响辐射较广[8]。 例子2:在系统运行时,那些关于系统运行时环境的假设条件可能变为无效[9]。 例子3:不同的涉众可能有不同的假设条件,且这些假设条件可能互相冲突[10]。 |
参考文献
[1] C. Yang, P. Liang, and P. Avgeriou. Assumptions and Their Management in Software Development: A Systematic Mapping Study – Examples, Classifications, and Lessons Learned. http://www.cs.rug.nl/search/uploads/Resources/Assumptions_SMS-Examples_Classifications_and_Lessons_Learned.zip
[2] M.M. Lehman and J.F. Ramil. Rules and tools for software evolution planning and management. Annals of Software Engineering, 11(1): 15-44, 2001.
[3] C. Landauer. Wrapping architectures for long-term sustainability. In: Proceedings of the 2nd IEEE International Workshop on Software Evolvability (SE), Philadelphia, PA, USA, pp. 44-49, 2006.
[4] R. Ali, F. Dalpiaz, P. Giorgini, and V.E.S. Souza. Requirements evolution: from assumptions to reality. In: Proceedings of the 12th International Conference on Enterprise, Business-Process and Information Systems Modeling (BPMDS), London, UK, pp. 372-382, 2011.
[5] I. Ostacchini and M. Wermelinger. Managing assumptions during agile development. In: Proceedings of the 4th Workshop on SHAring and Reusing architectural Knowledge (SHARK), Vancouver, BC, Canada, pp. 9-16, 2009.
[6] L. de Alfaro and M. Stoelinga. Interfaces: A game-theoretic framework for reasoning about component-based systems. Electronic Notes in Theoretical Computer Science, 97(7): 3-23, 2004.
[7] C. Brenner, J. Greenyer, and V. Panzica La Manna. The ScenarioTools play-out of modal sequence diagram specifications with environment assumptions. Electronic Communications of the EASST, 58, 2013.
[8] P. Lago and H. van Vliet. Explicit assumptions enrich architectural models. In: Proceedings of the 27th International Conference on Software Engineering (ICSE), St Louis, Missouri, USA, pp. 206-214, 2005.
[9] A. Nhlabatsi, Y. Yu, A. Zisman, T. Tun, N. Khan, and A. Bandara. Managing security control assumptions using causal traceability. In: Proceedings of the 8th International Symposium on Software and Systems Traceability (SST), Florence, Italy, pp. 43-49, 2015.
[10] D. Klappholz and D. Port. Introduction to MBASE (Model-Based (System) Architecting and Software Engineering). Advances in Computers, 62: 203-248, 2004.