《系统分析与设计方法及实践》一3.7 案例6:分布式结对编程系统

3.7 案例6:分布式结对编程系统

分布式结对编程系统支持跨地域进行结对编程或学习。为了支持异地结对者能够像本地面对面结对那样自然地工作,系统通过文本、音频和视频进行交流。其问题描述如下:

  • 与集成开发环境进行集成。与源代码编辑器集成,包括Visual C++、Eclipse等开发环境。
  • 共享必要的文件和应用。这种工具应该支持共享程序员将用到的文件、应用或者测试工具。
  • 支持传递“手势”。“打手势”可以使合作者指向或加亮屏幕的一部分,就像合作者在同台计算机上对屏幕上做手势一样。“打手势”这一特性对分布式结对编程很有用。
  • 角色交换。结对编程程序员通常不严格遵循“驾驭者”和“导航者”的角色,所以分布式结对编程的工具应该允许合作者很容易地控制键盘。
  • 保护每个合作者的隐私。桌面共享工具允许合作者完全访问拥有者的计算机,这使客户潜在地威胁到了拥有者的隐私。分布式结对编辑工具仅允许共享特定的文件和应用,禁止访问计算机其他的数据,从而可以保护计算机拥有者的隐私。
  • 高效协作。一些工具仅仅传送合作者的代码,然而还有一些工具会传送各合作者的屏幕图像。传送屏幕图像显然需要更多的带宽并导致延迟。
  • 支持版本管理。
时间: 2024-11-02 01:15:23

《系统分析与设计方法及实践》一3.7 案例6:分布式结对编程系统的相关文章

《系统分析与设计方法及实践》一3.8 小结

3.8 小结 以上6个系统分别具有不同的特点,本书在结构化分析与设计和面向对象分析与设计中选择相应的系统进行介绍.其中,图书馆系统重点在结构化范型中介绍,ATM系统.POS机系统.电子商务系统.分布式结对编程系统重点在面向对象范型中介绍.胰岛素输送系统在形式化开发中介绍.

《系统分析与设计方法及实践》一第3章 案例研究

本书之所以选择以下这些案例,是因为许多人都熟悉这些问题,并且其中蕴涵的分析和设计问题具有普遍性.由于本书介绍传统的结构化范型和面向对象范型两大体系,因此选择适合不同范型的具有代表性的案例进行研究,以便读者能够深入理解这两大范型各自的优势.本书的案例既有简单常见的应用系统,如图书馆系统和ATM系统,也有比较实用的系统,如POS机系统和电子商务系统,还有一些稍微复杂的系统,如分布式结对编程系统和胰岛素输送系统.这些系统由简单到复杂,循序渐进,引导读者逐步理解系统开发的过程和关键问题.

《系统分析与设计方法及实践》一2.3 结对编程方法

2.3 结对编程方法 极限编程的实践中有一个非常重要的原则就是结对编程,这里所谓的结对编程并非是一个人在编程,另一个在看.另外一个人也同样起着非常重要的作用,他需要帮助编码的人找到低级失误,防止其编码出现方向性的错误,特别是在出现一个正在编码的人不擅长解决的问题的时候,他会直接替换编码的人来进行编程.这样做的好处也许只有在实践了之后才能够体会到,它不仅可以避免一些错误的发生,而且可以通过直接的讨论来更快地解决一些容易产生歧义的问题.在交流的过程中,大家的水平也会有很快的提高.结对编程的过程也是一

《系统分析与设计方法及实践》一1.2 什么是软件分析与设计

1.2 什么是软件分析与设计 软件分析与设计是软件工程的重要组成部分,其定义目前还没有统一的标准.早期,软件工程专家B.W. Boehm将软件工程定义为:设计并构造计算机程序,以及为开发.运行和维护这些程序所必需的相关文件资料.Fritz Bauer如下定义软件工程:为了经济地获得能够在实际机器上有效运行的可靠软件而建立和使用的一系列完善的工程化原则.IEEE软件工程标准定义软件工程为:开发.运行.维护和修复软件的系统方法.尽管软件工程的具体定义不尽相同,且又有一些学者提出了更完善的定义,但都是

《系统分析与设计方法及实践》一2.2 敏捷软件开发

2.2 敏捷软件开发 在传统的软件开发方法中,工作人员努力构建客户想要的产品.他们花费大量的时间努力从客户那里获取需求,针对需求进行分析和建模,并且归纳成规格说明书.然后,评审说明书,与客户开会讨论,最后签字.表面上看他们开发的产品是符合客户的要求的,但通常事与愿违.在项目快要结束的时候,需求和范围.产品的适用性成为争论的焦点. 敏捷软件开发方法告诉我们开发项目是一个学习的体验.没有谁能完全理解所有需求之后才开始项目,即使是客户也一样.客户一开始有一些主意,但是他们也会随着项目的进展进一步了解他

《系统分析与设计方法及实践》一2.6 小结

2.6 小结 软件过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤.软件过程框架定义了若干个小的框架活动,为完整的软件开发过程建立了基础.软件过程框架的通用过程框架活动包括沟通.计划.建模.构建和部署. 软件工程的敏捷理念强调自我组织团队.团队交流与合作.敏捷对待变更.敏捷方法是一组敏捷实践技术的总称.随着敏捷开发思想和极限编程方法在21世纪初前几年的快速普及,结对编程也迅速被大家熟知和尝试.结对编程是极限编程的12个主要实践之一,它吸收合作式编程的关键思想,

《系统分析与设计方法及实践》一第1章 软件分析与设计概述

软件系统分析与设计是软件工程(Software Engineering,SE)的重要组成部分,其目的是倡导以工程化的原理.原则和方法进行软件系统开发,是解决当时出现的"软件危机"的根本途径.

《系统分析与设计方法及实践》一2.4 软件过程模型

2.4 软件过程模型 软件过程是整个软件生命周期中一系列有序的软件生产活动的流程.为了能高效地开发一个高质量的软件产品,通常把软件生命周期中各项开发活动的流程用一个合理的框架--开发模型来规范描述,这就是软件过程模型,或者称为软件生命周期模型.所以,软件过程模型是一种软件过程的抽象表示法,"建模"是软件过程中最常使用的技术手段之一.软件过程模型是从一个特定的角度表现一个过程,一般使用直观的图形标识软件开发的过程,主要根据软件的类型.规模,特别是软件的开发方法.开发环境等多种因素确立过程

《系统分析与设计方法及实践》一1.4 软件生产活动

1.4 软件生产活动在软件工程概念被提出来之前,开发人员错误地认为,软件就是编码,至于分析和设计等都是次要的.随着软件规模的不断增大,软件生产过程中暴露出很多问题.软件工程是为克服这些问题(软件危机)而提出的一种概念,并在实践中不断地探索它的原理.技术和方法.软件开发的工程化思想让开发人员看到,软件生产活动不仅是开发活动,还有重要的维护活动.管理活动,进而发展了过程改进活动.1.开发活动开发活动是软件人员生产软件的活动.开发活动是软件工程的核心过程活动,软件工程提供了一整套工程化的方法来指导软件

《系统分析与设计方法及实践》一2.5 能力成熟度模型CMM

2.5 能力成熟度模型CMM 2.5.1 什么是能力成熟度模型 CMM(Capability Maturity Model)是指"能力成熟度模型",是对软件组织在定义.实施.度量.控制和改善其软件过程的实践中各个发展阶段的描述.CMM是国际公认的对软件公司进行成熟度等级认证的重要标准.CMM的核心是把软件开发视为一个过程,并根据这一原则对软件开发和维护进行过程监控与研究,以使其更加科学化.标准化,使企业能够更好地实现商业目标. CMM是由美国卡内基-梅隆大学的软件工程研究所(SEI)开