搜索
查看: 56432|回复: 0

用Visual Studio 2010进行应用程序生命周期管理介绍 [复制链接]

Rank: 8Rank: 8

发表于 2012-3-23 17:22:45 |显示全部楼层
最初,微软的Visual Studio致力于满足个人开发者,提供高生产率的“聚焦编码的快速应用程序开发”特色,对开发人员以团队形式的工作并没有太大的帮助。对于软件架构师、测试人员、项目经理更是如此。

许多团队借助第三方或自己开发的工具解决这些问题,例如版本控制、bug跟踪和团队交流。但是这些工具之间很难整合。这时,Visual Studio Team System 2005诞生了。

Team System用来解决整个软件开发的生命周期问题。

命名的变化
从Visual Studio 2010开始,Team System不再使用了。微软通过调查发现,顾客对VS和VSTS两个品牌很混淆。VS定位于开发人员的基本工具,而VSTS定位于团队开发的一系列工具。然而,几乎所有的专业开发者都以团队的形式工作,因此Team System变得没有意义。因此,微软决定舍弃Team System,将相关的所有东西都放到Visual Studio品牌系列。

例如:

Microsoft Visual Studio 2010 Ultimate

Microsoft Visual Studio Test Professional 2010

Microsoft Visual Studio Team Foundation Server 2010

Microsoft Visual Studio Lab Management 2010

当代软件开发面临挑战
1、整合问题

软件开发团队使用的大部分工具都来自第三方。对这些工具进行整合是个很大的挑战。很多情况下,需要在多个系统之间转移数据。每个程序都有一个学习成本,工具之间的信息传递是烦人且耗时的。

2、地理分散的团队——许多工具都不能满足地理分散的团队。获取精确的报表很困难,沟通和协作的工作支持也不好。结果,需求和定义不能正确的匹配,导致工作的拖延和错误的发生。全球化的团队需要将稳固的设计、过程和软件配置管理整合到一起。没有多少软件可以满足所有这些要求,即使存在,也是非常昂贵的。

3、角色的分工——专业化可能是团队中的一个大问题。一个部门的人可能会认为其他部门知道某个信息,这个信息没有在报告中体现,但是却会极大的影响项目。部门间的交流是一个巨大而常见的挑战。

4、糟糕的报表——这是上一个问题的衍生。大部分情况下,每个报表都是由每个团队自己产生的,没有一个有效的工具可以整合不同来源的数据。结果,项目领导缺乏必需的数据来做有效的决定。

5、缺乏过程指导——大部分工具都不支持或整合过程指导。例如,当存在特别的编程风格时,很可能脱离正常的轨道,为软件的开发带来麻烦。

6、不够重视测试——缺乏测试或短时间的测试可能在后期引进缺陷。开发人员和测试人员之间合作不畅经常导致浪费时间的工作反复及软件缺陷。

7、交流问题——大部分公司使用各种交流工具。但是如果你不小心,你可能会轻易的丢失一张纸或删除一个重要email信息。没有集中的系统来管理团队的交流。频繁且耗时的状态会议需要开以保证团队在正确的轨道,许多手工的过程被引进(例如发送email,复制粘贴报告)。本质上,问题是在工具和项目领导之间没有交流。



公司引进各种方法和实践以简化和组织软件设计过程,但是这些方法必须权衡。目的是使过程是可预测的,因为在一个可预测的环境,各种方法可以让项目走在正轨。否则的话,方法会给过程添加额外的任务。如果开发人员花了太多时间处理这些任务,那么他们是更没有生产率的。

走进Visual Studio 2010
VS 2010应用程序生命周期管理(ALM)功能设计的一个目的就是解决上述挑战。

下面是VS2010ALM能力背后的三个基础原则:生产率、集成性和扩展性

生产率体现在:

1、协同:Team Foundation Server 2010(TFS)将所有工作项,bug、需求、任务、测试用例、源代码和生成都统一管理起来。所有的报表都是集中式的,这可以让项目领导跟踪项目的整个过程。

2、管理复杂性:软件项目一年比一年负责。TFS通过集中的跟踪整个软件开发过程,帮助管理这种复杂性,确保整个团队都可以在任何时刻看到项目的状态和工作流。

整合体现在:

1、集成的工具——这加强了部门之间的沟通。更重要的是移除了信息的隔阂。使用VS2010系列产品,集成不是问题,它是这个工具集的核心设计。

2、能见度:VS2010和TFS增加了项目的能见度。项目领导可以轻易的查看项目相关的指标,通过识别模式和趋势可以前瞻性的解决一些问题。

扩展性体现在:

1、TFS核心API:平台大部分都暴露给开发者,提供很多扩展的机会,可以创建自定义的工具与TFS整合。

2、IDE:VS 2010 IDE本身就是可扩展的,允许第三方或终端用户添加额外的功能。

应用程序生命周期管理



为了更好的描述VS 2010如何帮助应用程序生命周期管理,让我们体验一个虚拟的软件开发公司eMockSoft的常见场景。eMockSoft最近与一家经销商签署合作关系以销售他们的产品。经销商请求一个web service传输存货和定价信息给合作伙伴。

让我们看看这个场景如何与应用程序生命周期和VS 2010工具结合起来。

1、需求

项目经理与客户会面获取项目的需求。开发团队通过需求了解客户期望软件做的事。项目经理可以选择使用VS、Excel、Project存储这些需求到TFS上。客户使用一个基于SharePoint的团队项目web门户(由TFS生成)验证和跟踪这些需求。团队项目门户展现报表和其他存储在TFS的信息。

架构师现在可以进行系统设计了。

2、系统设计和建模

基于客户的定义,架构师使用VS2010提供的新UML工具定义这个web service。同时,项目经理可以跟踪设计的过程,包括产生的图表。基于这些定义,项目经理将工作分解成任务(也存储在TFS上)分配给团队的开发者。

3、代码产生

开发人员受到工作安排并查看架构师设计的UML图,核对定义(在本例中指该程序需要一个安全的web service 使用WSE 3.0)。开发人员写必要的代码,做一些初步的测试,使用VS2010内置的代码分析和单元测试工具。经过一段时间,开发人员将代码和测试代码嵌入到TFS 2010。

4、测试

测试人员通过每晚的自动生成和自动测试检查开发团队的进程。通过使用VS Lab Management 2010,每天晚上的生成触发了一个虚拟机的自动创建,每天早上测试人员使用这个虚拟机开始测试。测试人员使用Visual Studio Test Professional 2010编写、管理和执行一系列手动测试以找到潜在的bug。当找到一个bug时,测试人员在TFS将bug指派给某个开发人员。

所有的bug都存储在TFS,团队成员和项目客户都可以清楚的看到项目的过程。
回顶部