行动研究可以在实验软件工程中 取得平衡外文翻译资料

 2022-08-06 14:34:17

英语原文共 77 页,剩余内容已隐藏,支付完成后下载完整资料


行动研究可以在实验软件工程中

取得平衡

Paulo Seacute;rgio Medeiros dos Santos

Guilherme HortaTravassos

系统工程与计算机科学系

COPPE /里约热内卢联邦大学

邮政信箱68511 – 21941-972里约热内卢– RJ –巴西

{pasemes, ght}@cos.ufrj.br

摘 要

通常,专业人士在大多数决策中仍然会忽略科学证据来代替专家意见。因此,仍然看到在没有任何科学依据或充分依据的情况下,该领域在专家的意见下采用新的技术。实验软件工程对提供了解软件技术的局限性和适用性的基础至关重要。为了更好地观察和了解软件工程的实践,我们需要寻找替代实验方法支持我们的研究。可以使用不同的研究策略来探索不同的软件工程实践。在深入研究软件工程实践的同时,行动研究可以被视为加强具有重要价值的重要实验研究的替代方法。在本文中,讨论了在软件工程中使用行为研究的问题。为了更好地说明行为的应用,描述了一项有关软件开发人员主观决策调查的实验性研究,该研究涉及在分布式软件开发环境中重构源代码以提高源代码质量。此外,有关如何完成软件工程中的行动研究的一些指南补充了讨论。讨论了动作研究在软件工程中的使用。为了更好地说明行为研究的应用,描述了一项有关软件开发人员主观决策调查的实验性研究,该研究涉及在分布式软件开发环境中重构源代码以提高源代码质量。此外,有关如何完成软件工程中的行动研究的一些指南补充了讨论。讨论了动作研究在软件工程中的使用。为了更好地说明行为研究的应用,描述了一项有关软件开发人员主观决策调查的实验性研究,该研究涉及在分布式软件开发环境中重构源代码以提高源代码质量。此外,有关如何完成软件工程中的行动研究的一些指南补充了讨论。

关键字:行动研究,重构,体内研究,软件工程理论,科学知识管理,实验软件工程

1.简介

软件工程是涉及不同社会和技术特征的多学科学科。要了解软件工程师如何维护复杂的软件系统,不仅需要调查他们使用的工具和过程,还必须调查围绕它们的认知和社会过程。它需要研究人类活动。我们需要了解软件工程师如何单独开发软件以及团队和组织如何协调工作(Easterbrook等,2008)。

支持这种理解的一种可能方法是实验。实验性软件工程对提供了解软件技术的局限性和适用性的基础至关重要。它旨在使软件工程的实践可预测且经济可行。确实,近年来,正如许多技术文献调查和研究人员指出的那样,实验的重要性已大大提高,例如Sjouml;berg等。(2005),Basili和Elbaum(2006),Houml;fer和Tichy(2007)以及Kampenes等(2005)。(2009)。

然而,尽管人们意识到了所有的重要性,但是实验似乎并没有像今天其他科学领域所展示的那样在软件工程中获得广泛的使用和扩展,例如医学(Charters等,2009)。例如,几年前Tichy(1998)指出,没有比较可靠的证据来比较用于软件工程实践的基本技术,例如几乎所有工业软件项目中都存在的功能和面向对象的开发范例。两者当然都有优点和缺点。并且,为了向软件工程界展示此类技术,通常会开发演示和启发式方法以支持其选择和使用。但是,示威很少能提供确凿的证据。尽管付出了全部努力来揭示有关开发范式以外的不同软件技术的证据,但仍可以在该领域中看到此类评估的使用。可以将不同的因素归因于软件工程中有限的实验应用。例如,与不同类型的实验有关的复杂性,成本和风险显然代表了其采用的障碍(Juristo和Moreno,2001)。

对软件工程研究人员对实验重要性的理解促进了软件工程中实验方法的最初和相关经验。据Basili等。(1986),那些实验受到物理和医学等领域的强烈影响,由于它们的成熟程度,它们集中于对照研究。这种类型的研究在实际的软件项目中可能很难控制,因为大量未知上下文变量可能会对这些实验带来很高的风险(Basili,1996)。此外,实验研究可能很耗时,并且会产生大量信息,从而使科学知识的管理变得困难(Shull等人,2001)。

后来,在专门针对该主题的书中描述了通过对照研究获得的教训(Wouml;hlin等,2000; Juristo和Moreno,2001)。基于这一经验,研究人员开始研究如何通过引入新方法和研究策略(例如案例研究,人种志,调查和访谈技术)来扩大实验机会(Harrison等,1999;Wouml;hlin等,2003; Zelkowitz,2007; Easterbrook等(2008)。

寻求新研究方法的动机与以下事实有关:尽管受控研究和测量方法允许通过统计检验观察变量之间的关系,但其局限性可能会限制人们所能看到的内容,因此进行了研究(Pfleeger,1999年) 。同样,几年后,Kitchenham(2007)指出,在软件工程中过分强调使用受控研究“可能使我们自己研究现象,这些现象是将技术从其使用环境中而不是技术本身的特性中抽象出来的结果。”换句话说,过早地坚持准确性会抑制进展,并导致科学家以可以衡量的方式提出问题,但与问题的特征相关性有限(Argyris等,1985)。由于这个原因,研究人员冒着风险,即在实际问题出在他们的实际问题上时,会考虑由行业内负责滥用他们所提议的软件技术的专业人员,因为他们不了解使用这些技术的复杂环境(Kitchenham,2007)。

需要更好地观察和理解软件工程的实践,导致我们寻找替代的实验方法。因此,这将我们带到了软件工程研究的核心问题之一:科学成果的相关性。相关性关系到结果在工业环境中(例如,提供能够制定指南的结果)以及在学术环境中(例如,通过构建理论更好地理解现象)的有用性(Sjouml;berg等等(2007)。其他研究人员也强调了这一需求,例如Kitchenham等。(2004)和Glass(2009)。行业本身显示出增加软件工程研究的相关性的重要性。最近的工作(Rainer等人,2005; Kitchenham等人,2007)建议专业人员在大多数决策过程中会忽略科学证据,而不是专家意见。因此,在没有任何科学依据或扎实标准的情况下采用新软件技术仍然很普遍,并且专家的意见可能会受到限制,因为他们的经验只包含在一组有限的选项中。

因此,应使用不同的研究策略来探索软件工程实践中的不同功能。可以将“行动研究”中的方法论视为替代方法,以加强相关研究的执行和获得重大价值的结果(Baskerville和Wood-Harper,1996),同时允许对软件工程实践进行深入研究。

行动研究的起源与1940年代Kurt Lewin在社会技术实验过程中进行的早期干预主义实践有关。主要行动研究目标和抱负的兴起和设计的最初刺激来自当时将社会研究成果转化为实际行动的普遍困难(Carr,2006)。

行动研究的历史通常至少分为两个阶段(Reason和Bradbury,2001)。第一个阶段与Kurt Lewin的最初实践有关,第二个阶段与1970年代初期对行动研究教育研究的兴趣重新兴起有关,在此之后,由于社会科学中的实证主义立场占主导地位而被最初拒绝。对行动研究重新产生兴趣的一些原因包括,例如,主张教师的专业化也应通过赋予研究人员的作用来评估教室的课程指南和改善教学实践而得到改善(Carr,2006)。因此,以这种方式看,行动研究已从专业人员在实践中应用社会科学理论的方法转变为允许从业人员评估自己的默契理论在实践中的适当性的方法。如今,行动研究还被用于其他科学领域,例如管理,护理和信息系统(Dick,2004年),以支持研究在其日常活动中的作用。

对行动研究历史的简短描述显示了该方法是如何通过新解释引起的许多变化而演变的,并利用了来自不同科学领域的研究人员给予的方法(Burns,2005年)。Baskerville和Wood-Harper(1998)的工作代表了这种持续转型过程的一个明显例子。研究人员能够识别大量的行动研究过程,以信息系统领域中使用的10种不同“格式”为代表。幸运的是,除了所有这些建议之外,还可以确定一个全面的行动研究过程(基于1978年Susman和Evered模型),可以支持软件工程中的行动研究的完成(Davison等人,2004)。

正如本章将要描述的那样,行动研究开始支持软件工程方面的研究。它的特性表明它的应用可以使该领域的研究受益,因为它同时允许进行研究和采取行动。行动通常与社区,组织或项目中的某种转变相关联,而研究的特征是研究人员(研究团体),个人(客户)或两者都对转变现象有广泛的了解。Avison等。(1999)强调,行动研究认为“从业者所做的比他们说的要多”。根据这一主张,Sjouml;berg等。(2007年)指出,行动研究方法论是“发现最现实的情况的一种研究”,因为它涉及真实的行业环境来调查具体行动的结果。

研究人员在软件工程研究中所面对的社会挑战使行动研究成为一种有用的研究方法,因为它的特点和获得相关结果的可能性。我们发现,在软件工程中使用动作研究来解决不同的研究主题的趋势正在增加,这表明其在该领域的应用潜力很大。最初的发现还表明,在软件工程相关的研究中,应该改进行动研究的严格性和控制性。这可能源于借鉴其他科学领域(社会科学)的方法,在这些领域中,通常使用不同的交流和交换思想的方式来描述研究。因此,即使很少有人使用软件工程中的行动研究方法来进行研究,也有必要对该领域中方法的特殊性进行讨论,而且还要考虑对其使用的日益增长的兴趣。

为了解决这些问题,我们进行了两项行动研究。除了给软件项目带来预期收益外,目的还在于观察如何将行动研究应用于软件工程。第一项研究调查了基于清单的检查技术,以提高实际软件项目中用例模型的可理解性。最初计划严格按照行动研究程序进行这项研究。但是,尽管该研究确实是基于行动研究的研究,但我们先前完成与软件检查有关的受控研究的实验还是使我们过度依赖定量数据。因此,我们决定更好地了解行动研究,以提高我们的调查能力。因此,在第二部分中,读者可以找到有关行动研究的主要概念及其局限性和优势的描述,并将其与其他方法进行比较,并展示其过程和核心原理。之后,作为本概述的补充,本节3 旨在说明技术文献调查的结果,该调查旨在评估Action Research在软件工程中的当前使用程度。

在对方法学有了更好的了解之后,第二项研究自发地从当时与作者一起参与的分布式软件开发环境中与源代码质量相关的问题状况中浮现出来。第二项研究检查了与源代码重构有关的主观决定。由于它具有更丰富的应用场景并遵循了行动研究方法论,包括使用定性数据技术(即扎根理论),这将在本节中解决。4. 但是,这两项研究的工作经验将成为我们关于如何应用以及何时选择行动研究作为软件工程研究方法的建议,建议和实践(在本节中5).最后,在6, 给出了一些结论,包括打算加强本章预期论点的其他说明:行动研究可以平衡各种情况,以支持实验软件工程中证据的揭示。

2.行动研究概述

基于对行动研究在科学研究范式中的定位的理解,本节详细介绍了该方法的许多方面,并描述了技术文献中确定的规范过程。为了了解研究策略的目标,局限性和优势,本节将介绍区分它们的主要标准。为了简单起见,无意在其中任何一个中都过分详细。

2.1.背景

可以通过研究范式概念来区分研究策略。范式可以看作是一组涉及基本原理(公理和学说)的基本真理(我们无法确定其准确性)。这个场景代表了一种世界观,它定义了“世界”的本质,每个人的位置以及与世界及其部分的一系列可能的关系(Guba和Lincoln,1994)。对于海瑟薇(1995),科学范式在本质上可以充当一个透镜,研究者可以通过它观察和理解他们所在地区的问题,并为他们做出科学贡献。科学范式强加了研究人员认为什么是数据,他们在科学研究中的作用是什么,要考虑什么知识以及如何看待和访问现实。简而言之,科学家根据他们所掌握的知识,现实和研究策略来做出日常假设。科学范式通常以本体论,认识论概念和方法论为标志(Guba和Lincoln,1994)。认识论与人类知识的本质以及人类知识的理解和传播方式有关,本体论处理世界自然的基本问题,而不论谁试图观察它,方法论着眼于个人如何(哪些方法和途径)获取知识。在世界上 。

在技术文献中发现的四个主要的科学范例(Guba和Lincoln,1994; Healy和Perry,2000; Easterbrook等,2008)可

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[246708],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。