随着软件开发日趋国际化,对软件的质量要求和管理也随之增高。微软看到了使用 程序生命周期管理在业界逐渐被接受认可的趋势,并宣称VSTS2010将会是一个革命性的.Net软件开发以及管理工具的产品,估计 在2010年3月正式版揭晓 。它将提供协同一致的使用 程序生命周期管理工具,让参与软件开发的各种角色人员,例如:从架构师到开发人员,从项目经理到测试人员,都能够更加容易地在整个ALM流程 中执行 协作。
在本文中,笔者将介绍Microsoft Visual Studio 2010 Beta2版本中的敏捷特征 ,以及以往版本优劣势等方面的内容。通过这些内容的阐述,让读者了解VSTS2010的敏捷思想体系,以便于.NET人员在自己的项目中,根据实际情况,尽快熟悉和看清VSTS2010流程为导向的软件工程全貌和整体发展趋势。
1.概述
一个软件产品或系统同任何事物一样,也要经历孕育、诞生、成长、成熟、衰亡等阶段,一般称为软件生存周期,也称为SDLC(software development life cycle)软件开发生命周期。它是软件的产生直到报废的生命周期,周期内有疑问 定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段,这种按时间分程的思想要领 是软件工程中的一种思想原则。我们也可以将SDLC解释为一组步骤(Step)、阶段(Phase)或者里程标(Milestone),SDLC的一般步骤包括:确定疑问 、可行性分析与开发计划、收集需求、分析与设计、编码开发、测试、安装、维护。。
在Visual Studio 2010 Ultimate中,使用 程序生命周期(ALM)是其主要 特征 和SDLC实现方式之一。我们将一个软件的生命周期(SDLC)划分为多个 阶段;而运用 各种工具辅助每个关键环节执行 管理,就称为使用 程序生命周期管理(ALM,Application Lifecycle Management)。微软Visual Studio 2010将会努力打造 一个功能平等、共同分担,易用便捷的平台,以用于组织内的使用 程序生命周期管理流程 。
Visual Studio 2010的ALM涵盖了系统设计到测试阶段的工具,其中,在架构方面,Visual Studio 2010包括新的架构检视工具(Architecture Exp lorer),添加 对统一建模语言(UML)的支持,例如类图、用例图、活动图和时序图等;以及架构层图(Architecture Layer Diagram),以图形化的方式描述系统架构,从而使得项目中的技能 人员或非技能 人员都能以模型透过图形化的方式执行 协作,以及定义企业与系统功能联系 等。另外微软提供虚拟实验室管理(Microsoft Test and Lab Manager)技能 ,可供开发人员和测试人员收集更多的测试资料,增强ALM的周期管理控制。 图1 Architecture工具模板
2.Scrum开发思想敏捷特征
Visual Studio 2010中项目流程 模板变化很大,微软把Scrum作为基本Agile开发模型(Scrum模型为基础参考导向),TFS2010中集成了MSF for Agile Software Development v5.0,可操作性上融合了敏捷等软件开发流程思想模型。
点击查看大图
图2 添加MSF for Agile模板
Scrum最初的意思 是英式橄榄球争球队,是敏捷软件开发模型中的一种。Scrum 将软件开发团队比拟成橄榄球队,有明确的最高目标,熟悉开发流程中所需具备的最佳技能 ,具有高度自主权,紧密地沟通合作,以高度弹性处理 各种挑战,确保每天、每个阶段都明确的朝向目标推进。
图3 Scrum for Agile模型
Scrum开发流程通常以30天(或者更短的一段时间)为一个阶段,由客户提供新产品的需求规格开始,开发团队与客户于每一个阶段开始时挑选该完成的规格部分,开发团队必须尽力于30天后交付成果,团队每天用 15 分钟开会检查每个成员的进度与计划,了解所遭遇的困难并设法排除。
3.VSTS2010安装敏捷特征
在以往的版本中,微软TFS2005/2008安装、配置的复杂性等原由 ,使得很多.Net中小型开发团队还在运用 传统的、功能单一的VSS等开发管理工具,TFS被逐渐被边缘化。
在VSTS2010中,TFS2010安装更加基本 便捷,完美支持SQL Server 2008,并与Web Access集成,比起之前繁琐的安装和配置步骤更为基本 ,无需单独安装SharePoint Service,并且可以在不用安装域控和AD(活动目录)的模式下
安装,从而非常适合不同规模的开发团队的运用 须要 。
点击查看大图
图4 Team Foundation Administration Console
4.VSTS2010功能与角色敏捷性
点击查看大图
点击查看大图
图5 Visual Studio 2010 Ultimate架构
Visual Studio 2010 Ultimate的用户包含了项目管理人员(PM),架构师,开发人员和测试人员,他们覆盖在整个软件开发生命周期中。而VSTS 2010则为软件开发项目流程中不同角色的人员提供相应的工具,并且最主要 的是将这些工具以Team Foundation Server为核心整合在一起,增强了软件开发团队中的沟通与协作。我们将能够实现完整的使用 程序生命周期管理,使得开发团队能够在开发流程 的早期以及在整个开可预见性发流程 中确保更高的和更好的质量。
图6 微软MSF软件流程 基础模型
5.敏捷的架构设计(Architecture)(项目经理、架构师或开发人员)
VSTS 2010支持统一建模语言UML(Unified Modeling Language)及特定领域语言DSL(Domain Specific Language),.NET项目管理人员、软件架构师或者开发人员可以丢掉Rose建模工具,执行 软件架构的构建。
所示微软MSF软件流程 基础模型设计设计活动阶段,经过概念设计、逻辑设计和物理设计(参考图6),在软件工程图纸设计流程 中,VSTS2010可以敏捷的执行 软件工程设计(参考图1 Architecture工具模板),从而辅助的完成软件工程文档。如图7所示,执行 软件工程类联系 图的设计。
点击查看大图
图7 设计UML Class Diagram
鼠标右键,点击“Create Lifeline”菜单项,可以自动生成Lifeline,在这基础上可以执行 类的时序图的设计,如图8所示。
点击查看大图
图8 设计UML Sequence Diagram
另外,在架构管理方面,VSTS 2010通过新的架构阅读 器(Architecture Exp lorer)和架构层图(Architecture Layer Diagram),以图形化的方式描述系统架构,从而使得项目中的技能 人员或非技能 人员都能以模型透过图形化的方式执行 协作,以及定义企业与系统功能。
在实际的项目开发实践中,大多数情况下我们都是在已有代码的基础上构建新的系统。在这种情况下,.NET架构师或者开发人员遇到的一个典型的疑问 就是没有好的工具可以帮助他们很好地理解现有代码的架构,从而不能 有效地在现有代码的基础上,添加新的功能以满足新的需求。为了处理 这个疑问 ,VSTS 2010提供了新的建模工具——架构阅读 器(Architecture Exp lorer)。
架构阅读 器图,如图9所示。
点击查看大图
图9 架构阅读 器
新的架构阅读 器可以让架构师或者开发人员为已有代码建立 完整的架构图,理解原有系统的各个组件是如何 协作在一起的。这将为架构师或者开发人员决定如何 运用 ,复用或者是弃用现有代码提供足够的有价值的参考信息。
对于非.NET架构设计人员来说,也可以借用微软的New Diagram模板(Uml Class Diagram、UML Sequence Diagram、UML Use Case Diagram、UML Activity Diagram、UML Component Diagram等)执行
好看 的软件工程图表设计,并可以直接粘贴到word中执行 功能说明(参考图1)。