天天看点

软件工程中的系统文献映射研究实例-对于研究者和实践者的意义(第十三部分)

之前的博客详细描述了软件工程中的系统文献映射研究方法。这里接着给出一个我曾经做过的工作作为例子,以更直观地展示这种研究类型。该研究的背景信息这里不再赘述。                      

这篇博客主要介绍基于前面的分析,其对研究者和实践者的意义。

注:实践者(practitioner),通俗点讲就是在企业工作的人员。

1. 对研究者的意义

(1)29.9%的入选文献有实践者作为作者。根据此系统文献映射研究的结果,假设条件及其管理在软件开发中具有重要的意义。因此,本研究鼓励研究者与实践者开展更多、更深入的合作。

(2)仅有少数入选文献清晰地定义假设条件的概念。研究者在他们的工作中需要清晰地解释假设条件的概念。

(3)尽管此系统文献映射研究采用SWEBOK[1]中的五个软件开发活动对假设条件进行分类,此分类在实践中的适用性和有效性需要进一步的研究。

(4)尽管本研究提供了软件开发中的假设条件集中于需求工程和软件设计或主要与需求工程和软件设计的制品关联的两个潜在原因,这些原因需要在后续研究中进一步被证实。

(5)假设条件与多种软件制品关联,且此系统文献映射研究识别出九种关联关系。研究者应关注为什么、如何、何时假设条件与特定制品会相互影响。

(6)并非所有假设条件管理活动都得到一致的关注。研究者应识别和分析软件开发中各个假设条件管理活动的收益、成本或其他因素。

(7)假设条件及其管理的相关方法和工具具有特定的使用环境。研究者在介绍一个新方法或工具时应特别清晰地阐明其使用环境。此外入选文献中没有方法被用于支持假设条件的交流、复用、理解、检索、组织,且大部分工具被用于支持assume-guarantee reasoning(34种工具中的19种;55.9%)。研究者应探索为这些未受广泛关注的假设条件管理活动研发方法的可行性,且提供更多专用的工具,特别要重视与工业界的合作。

(8)此系统文献映射研究指出,所有识别的不同的类型的涉众均会制定假设条件,其次是评价和描述。需求工程、软件设计、软件构造的涉众在假设条件管理中占据主导地位。除了涉众与假设条件管理活动间的关系,本研究还识别出其他四种涉众与假设条件管理之间的关系。因此研究者在研究软件开发中的假设条件管理时应关注这些不同的涉众。此外,入选文献中提到的涉众与假设条件管理活动之间的关系并不完全。例如针对假设条件复用和检索,没有入选文献指出哪些涉众应与之关联。一个原因可能为涉众并非入选文献的主要关注点。本研究鼓励研究者深入研究此问题,以清晰化涉众在假设条件管理中的具体职责。

(9)假设条件管理的收益同样基于特定的条件。研究者在介绍其工作时应清晰阐明这些条件。

(10)未被妥善管理的假设条件中,以无效的或者隐式的假设条件危害最大。因此本研究建议研究者聚焦于如何明确假设条件并减少无效假设条件的数量。

(11)假设条件的自动化和人工管理具有显著的区别。一个有趣的研究题目为合成假设条件的自动化和人工管理。例如在除了系统验证的环境下使用assume-guarantee reasoning的方法。

2. 对实践者的意义

(1)实践者应基于他们的特定环境就假设条件的理解达成一致以减少假设条件的概念和术语的模糊性。

(2)实践者应理解假设条件应从软件开发的早期阶段被管理。本研究建议实践者反思假设条件管理的最佳时间点以及哪些假设条件需要被重视。

(3)假设条件与多种软件制品关联,且此系统文献映射研究识别出十二类假设条件管理活动。本研究建议实践者基于他们的可用资源就假设条件管理做出决策。例如当资源短缺时,仅重视假设条件制定、描述、评价、维护比重视所有十二种假设条件管理活动获得更高的收益。

(4)此系统文献映射研究识别的假设条件管理的方法、工具、收益、经验具有其特定的环境。例如实践者不仅需要关注方法本身,还需要关注其使用环境。

(5)此系统文献映射研究中识别的假设条件管理的挑战以及未被妥善管理的假设条件造成的后果可作为一个检查表。本研究建议实践者对此有清晰的认识。

(6)实践者在他们的工作中无意识地制定假设条件,即一种隐式的假设条件。对假设条件具备较清晰的理解,认识到实践者在工作中制定假设条件,识别已存在的假设条件是实践假设条件管理的第一个重要步骤。

参考文献

[1] P. Bourque and R.E. Fairley. Guide to the Software Engineering Body of Knowledge (SWEBOK (R)): Version 3.0. IEEE Computer Society Press, 2014.

继续阅读