软件工程中的系统文献映射研究-简介、设计和执行过程的第一步

在一个研究领域趋向成熟的过程中,常常会涌现出各种各样的研究成果。随着成果的积累,在某个特定时期,总结和分析这些研究成果变得重要,是理解和进一步探索该领域的必要步骤。在软件工程中,人们常常使用系统文献综述(Systematic Literature Review)和系统文献映射研究(Systematic Mapping Study,这个基本直译了,但是觉得翻的有点奇怪)作为达成该目的的方法,即用于对于某领域研究现状的总结和分析[1]。系统文献综述旨在基于一个特定研究问题、主题、现象以识别、评价、解释相关的研究[1]。系统文献映射研究聚焦于为某领域提供概览,识别某主题的研究证据,提供定量(主要)和定性的数据[1]。此二类研究的主要区别在于系统文献综述的研究问题较为精确,而系统文献映射研究的研究问题较为宽泛[1]。从执行过程上来说两者类似,简单来说就是找出主要的相关文献,分析并描述它们的内容(如方法和结论)[1]。

值得注意的一点是,在进入软件工程某个领域的时候,第一件事就是应该找找该领域内是否有相关的系统文献综述和系统文献映射研究。如果没有,则应该考虑自行设计一个出来。不管我在荷兰的研究组还是在中国的研究组,每个博士生第一年确定研究方向后,如果该研究方向上没有类似的系统文献综述或者系统文献映射研究,则其被要求的第一件事总是基于其研究方向设计一个系统文献综述或者系统文献映射研究。这个过程对于该博士生迅速掌握领域全貌有着巨大的帮助。

作为一个系列,这篇博客首先介绍软件工程中系统文献映射研究设计和执行过程的第一步。

1. 确定目标和研究问题

目标和研究问题是整个系统文献映射研究最重要的环节。每个人在做之前都应该至少问自己以下四个问题:

(1)为什么要做这件事?

(2)是不是已经有人做过?

(3)现在是不是一个合适的时机?

(4)到底研究什么东西?

以我的研究为例,如果现在希望研究软件开发中的假设条件及其管理,那么其目标和研究问题举例如下。

目标:以研究者和实践者的角度探索并分析软件开发中的假设条件及其管理。该目标可进一步分解为九个研究问题:对软件开发中的假设条件的理解(研究问题一、二、三);假设条件管理活动、方法、工具(研究问题四、五);假设条件管理的涉众、收益、挑战、经验(研究问题六、七、九);未被妥善管理的假设条件所造成的后果(研究问题八)。

研究问题一:软件开发中的假设条件有哪些定义?

原理:研究者和实践者对软件开发中的假设条件可能有不同的理解。该研究问题的目的在于收集软件开发中的假设条件如何被定义的相关数据。

研究问题二:软件开发中的假设条件有哪些类型?

原理:不同的软件开发活动中存在不同类型的假设条件,该研究问题的结果提供对软件开发中不同类型的假设条件的概览。

研究问题三:软件开发中的假设条件与哪些软件制品关联?

原理:软件开发中的假设条件并非独立存在,而是与不同类型的软件制品关联。该研究问题的目的在于分析出相关的制品。

研究问题四:软件开发中的假设条件管理包含哪些活动?

原理:假设条件管理包括特定的活动。该研究问题的目的在于从文献中识别这些活动。

研究问题五:软件开发中有哪些方法和工具被用来支持假设条件管理?

原理:软件开发中假设条件管理存在不同的方法和工具。该研究问题的结果为研究者和实践者提供相关方法和工具的概览。

研究问题六:软件开发中假设条件管理的相关涉众是哪些?

原理:假设条件管理与多种涉众关联(如架构师)。该研究问题的结果帮助研究者和实践者理解谁应该参与假设条件管理。

研究问题七:软件开发中假设条件管理的收益和挑战是哪些?

原理:软件开发中假设条件管理具有相应的收益及挑战。该研究问题的结果聚焦于这些收益和挑战。

研究问题八:未被妥善管理的假设条件会造成哪些后果?

原理:为被妥善管理的假设条件(如隐式的假设条件)可能会导致特定的问题。该研究问题的结果帮助研究者和实践者认识到这些后果。

研究问题九:软件开发中假设条件管理有哪些经验?

原理:文献的作者在研究假设条件管理过程中可能得到不同的经验。该研究问题的目的即为收集相关的经验。 

值得注意的是,确定目标和研究问题是一个迭代的过程。这个过程中要开始阅读一些已知的相关文献(包括本领域和其他领域)来获取灵感。可能一开始就能想到2、3个研究问题,后续不断地增加。也可能在后期审阅自己的设计时发现有几个研究问题不合适,需要去掉。这个过程持续的周期不定,我在这里提供一些建议。

(1)多读类似的系统文献综述和系统文献映射研究,看看别人如何确定研究目标和研究问题。

(2)多读领域内文献,看看领域内存在什么研究点。

(3)多和其他人交流,以获取灵感。

(4)除了自己外,至少有一个相关的专家帮助你审阅你的设计。

(5)多思考,不要害怕修改,甚至于推翻重来。

参考文献

[1] B. Kitchenham and S. Charters. Guidelines for Performing Systematic Literature Reviews in Software Engineering, Version 2.3. EBSE Technical Report EBSE-2007-01, Keele University and Durham University, 2007.

猜你喜欢

转载自blog.csdn.net/ytomc/article/details/81805097
今日推荐