首页> 外文学位 >On the relationship between software dependencies and coordination: Field studies and tool support.
【24h】

On the relationship between software dependencies and coordination: Field studies and tool support.

机译:关于软件依赖关系和协调之间的关系:现场研究和工具支持。

获取原文
获取原文并翻译 | 示例

摘要

As software systems provide more, and more distributed, real-time services to our society, it is possible to witness their growing complexity. One way to manage this complexity is to decompose software systems into smaller parts, called modules. The predictable consequence of dividing a system into modules is that these modules need to be put back together in some coordinated way, so that the software system can provide services. A dependency between software modules is said to exist when one module relies on another to perform its operations or when changes to the latter must be reflected on the former.; Dependencies between software modules affect their development, maintenance, and reuse. More important, they affect the coordination of software development efforts. Although this relationship has been long known by researchers and practitioners, it has been largely unexplored. Most researchers focus on the technical aspects of the dependencies---identification, analysis, and maintenance---instead of focusing on their implications for understanding the collaborative work of software production. Meanwhile, empirical studies of software dependencies focus on how organizations and teams adopt strategies to manage these dependencies.; To address this issue, I have conducted two field studies to understand how software developers manage the effect of these dependencies in the coordination of their work. Using ethnographic data, I detail how management of dependencies can be understood as impact management---the work performed by software developers to minimize the impact of one's effort on that of others, and at the same time, the impact of others' efforts on one's own. The main aspect underlying impact management is used to inform the design of Ariadne, a tool that aims to facilitate this same activity.; Ariadne is evaluated in two different settings, each examined to determine how software dependencies can be used to facilitate the understanding and enactment of collaborative software development activities. This dissertation concludes by using the observations from my field studies and results from my evaluations to suggest implications for empirical software engineering research, organizational work practices, and the design of collaborative technologies.
机译:随着软件系统为我们的社会提供越来越多,越来越分散的实时服务,有可能见证它们日益增长的复杂性。一种管理这种复杂性的方法是将软件系统分解为较小的部分,称为模块。将系统划分为模块的可预见的结果是,这些模块需要以某种协调的方式重新组合在一起,以便软件系统可以提供服务。当一个模块依赖于另一个模块来执行其操作或必须在后者上反映对后者的更改时,据说存在软件模块之间的依赖性。软件模块之间的依赖关系会影响其开发,维护和重用。更重要的是,它们影响软件开发工作的协调。尽管这种关系早已为研究人员和从业者所熟知,但在很大程度上尚未得到探索。大多数研究人员专注于依赖性的技术方面-识别,分析和维护-而不是专注于对理解软件生产协作工作的影响。同时,对软件依赖性的实证研究集中于组织和团队如何采用策略来管理这些依赖性。为了解决这个问题,我进行了两次现场研究,以了解软件开发人员如何在工作协调中管理这些依赖关系的影响。我使用人种学数据详细说明了如何将依赖关系管理理解为影响管理,即软件开发人员为最大程度地减少一个人的工作对其他人的影响以及与此同时其他人的工作对他人的影响而进行的工作。己方。影响管理的主要方面是用来指导Ariadne的设计,Ariadne是旨在促进同一活动的工具。在两个不同的环境中对Ariadne进行了评估,每种环境都经过检查,以确定如何使用软件依赖项来促进对协作软件开发活动的理解和制定。本文以我的实地研究的观察结果和我的评估结果作为结论,对经验软件工程研究,组织工作实践和协作技术设计提出了建议。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号