学习VSTS有一段时间,打算把学到的东西整理出来.看看VSTS是个什么?理顺以下此前接触到的知识点。
1: VSTS是什么?
2: VSTS能做什么?
3: VSTS中有哪些角色?
4: VSTS有哪些组成部分?
5: VSTS如何安装?
6:设计分布式系统
7:对软件项目管理的支持
8:单元测试
9:逻辑数据中心设计器简介
10:应用程序设计器简介
11:企业级源代码管理和工作项跟踪
一: VSTS是什么?
1: 名称: Microsoft Visual Studio 2005 Team System 。
2:提供生命周期工具。
3:功能:
提供开发分布式应用程序的工具与技术。
提供必需的工具和指导来解决应用程序复杂性及其设计、开发和部署所必需的生命周期问题。
软件开发生命周期的改进
1)信息交流:
自动从使用的工具那里收集信息,简化报告过程。
即:采集到的数据保存在数据仓库中。
2)集成的工具
将测试和性能工具(例如,单元测试、代码分析和性能分析)合并在一起。
3)简化的、集成的工作流和过程
将过程体现为实际的工具行为,
做法:将过程集成到团队成员日常使用的基本工具中。
自动收集跨职能的项目标准,无需人工报告的相关开销。
内置SDLC 过程的支持,使得支持工作流。
集成:
1)用户界面集成:
提供跨整个 SDLC 工具套件的,例如,单元测试、工作项跟踪、代码剖析以及代码分析。
2)数据集成:
使用一个跨工具集的数据仓库,启动了一个聚合的项目状态视图。
结果:团队根据能够收集到的规则来管理项目。
通过平衡利用SDLC 的数据来管理项目规则。
不仅限于缺陷跟踪,而是包括测试结果、代码涵盖、代码生成、任务进度等。
团队还能够创建自定义报告。
3)过程集成:
将过程与工具相集成,确保在项目各阶段之间或各种项目角色之间丢失内容。
扩展性
Visual Studio Team System 利用
Visual Studio Team Foundation Core Services (TFCS) [Team Foundation核心服务]将工具集成在一起。
TFCS 提供集成工具,无需工具间的紧密耦合。
SDLC 工具可以利用与第三方可用的扩展性功能相同的扩展性功能。
扩展性体现在集成的三个层次:UI、数据和过程。
1)用户界面扩展性:
Visual Studio 集成开发环境 (IDE)的扩展。[未做深入调查。]
2)数据扩展性
TFCS 能将第三方工具用于数据仓库。
3)过程扩展性:
题外话:如何集成各种工具?即:如何实现扩展性?[团队基础 (Team Foundation) 集成服务]
1)VSTS提供一组服务并定义API,允许工具集成。
2)能插入到用户界面以供使用。
3)能将数据添加到报告仓库中并在报告中利用这些数据。
3:角色:
提供支持整个软件开发团队的工具:
1)架构师
提供直观地构建面向服务的解决方案的工具。是什么工具呢?
2)开发人员
提供高级的静态分析、代码剖析、代码涵盖以及单元测试工具。
3)测试人员
提供了用于管理和运行各种测试(包括单元测试、手工测试和 Web 测试)的工具,以及检验性能的高级负载测试工具。
4)项目管理人员
提供一套项目管理工具(Microsoft Excel、Microsoft Project 和 Windows SharePoint Services),
与 Microsoft Office 集成
站点提供项目状态视图,及追溯风险承担者的功能。即:数据收集的自动化。
5)团队协作
Portfolio Explorer:
从项目站点获得的工作产品集成到 IDE,让团队能进行有效的访问。
还提供一个可扩展的工作项跟踪系统和企业级别的源代码管理。
4:组成:
Visual Studio 2005 Team System 包括 Visual Studio Team Foundation 平台和一套工具。Team Foundation 包括:
工作项跟踪
项目管理
源代码管理
集成服务
描述:
Team System 的核心是集成的更改管理组件,
这些组件是:
工作项跟踪
源代码管理
策略支持
通知和报告生成功能
这些组件统称为 Visual Studio Team Foundation。
Visual Studio 2005 Team System 中的附加工具有:
Architecture and Design
Public Builds
Code Analysis 和 Testing
另一种Team Foundation 组成:
1)数据层:
由SQL Server 2005组成,存储工作项、版本控制源文件、测试结果及其他用于衡量项目的关键指标。
2)应用层:
由基于网络的和前端的应用组成。与 (IIS) 集成。
这些应用包括Team Foundation核心服务和SharePoint Services。
应用层还是Team Foundation Windows services的宿主。
Team Foundation应用层也包括Team Foundation Build和Team Foundation Server Proxy。
Team Foundation Build提供自动构建服务。
Team Foundation Server Proxy对版本控制的源文件进行缓存,以提高版本控制操作在窄带连接情况下的性能。
3)客户层
由Team Explorer组层,它作为一个独立的应用程序或者集成在Visual Studio 2005中 (不包括Visual Studio 2005 Express 版本)。
客户层也集成了Project和Excel,可以查看项目信息,向Team Foundation Server发布信息。
第三种组成:
Team System 包括一个新的工作项跟踪系统(用于管理开发任务和过程实现),
以及一个 Web 门户网站(允许开发过程的一个透明级别)。
5:能做什么
1)创建团队项目:
设置方法模板, 创建Windows SharePoint? 服务 (WSS) 团队站点(该站点如何判断权限我倒是不知道)。
2)配置项目:
设置安全权限(添加成员,用户组),源代码控制策略,建立项目结构(迭代次数)
3)项目文档:
创建文档(提供模版),存储在WSS站点中,工作项的导入。
4)管理工作项:
(包括文档任务、设计任务、开发任务、错误或需求,软件开发过程中需要完成的每个任务都可以被认为是一个工作项),
创建工作项,工作项跟踪
5)开发:
编写代码,托管代码分析
6)测试
a:单元测试:
测试的创建,创建数据驱动的单元测试,执行测试,测试的组织,测试报告,代码覆盖,结果发布
b:加载测试:
创建、管理和运行 Web 加载测试
c:测试器
d:手动测试器:
存储并管理项目现有的各种手动测试
e:错误跟踪:
嵌入在 Team System 之中,并作为任务分配给某人使用
8)团队站点和报告:
包括管理人员、项目管理人员、测试人员、业务用户、分析人员,以及对开发项目状态有兴趣的任何人
7)源代码管理:
8〉软件项目管理
6:设计分布式系统
分布式系统设计器:旨在改进企业级分布式系统的开发、部署和管理。
用系统定义模型(System Definition Model,SDM)作为描述应用程序服务和运行时环境的连接状况、
配置情况和相互关系的基础元模型。
1〉应用程序连接设计器(ACD):
帮助开发人员或架构师定义和配置组成供部署的系统的应用程序。
2〉逻辑数据中心设计器(LDD):
用于创建相互连接的逻辑服务器的关系图,这些关系图表示数据中心的逻辑结构。
3〉系统设计器
用于根据ACD中定义的应用程序组成和配置系统。
4〉部署设计器
用于定义如何将特定系统部署到目标逻辑数据中心。通常,部署设计器由开发人员和架构师使用。
7:对软件项目管理的支持
1〉共享数据和自定义视图
自动捕获视图(通过推理所建立的关系来提供上下文信息),
创建视图(在不同的视图中选择和组织数据)
2〉在 Microsoft Excel 中构建工作项列表
提供Excel 加载项,将Excel的列表对象,连接到工作项数据库中。
创建工作项的两种方式:
Portfolio Explorer
Excel
3〉使用 Microsoft Project 维护项目计划
提供了Project 加载项,将项目计划和项目团队数据连接在一起。
4〉Portfolio Explorer
公文包项目,将团队创建的成果存放在一起。
Portfolio Explorer,可以从IDE 中导航到工作产品(例如,功能规范、风险评估和项目计划)。
团队成员可以查看产品版本的信息、进入到源代码、查询分配给他们的任务、查看整体项目状态、
定位文档、查看报告和创建与项目有关的工作产品。
5〉项目站点
存储工作产品并对其进行版本控制。
在 Portfolio Explorer 中创建新的文档节点,则会在项目站点中创建新的文档文件夹。
6〉团队沟通和协作
a:工作项数据库
存储每个公文包项目的工作项。
有错误、风险、需求、方案、功能和任务。
错误的典型工作流是活动、待定、解决和关闭。
b:将代码签入与工作项相关联
7〉:管理软件流程
通过将流程集成到工具中,可以在成员间自动处理和交接。
组成一个流程的元素有:文档模板、工作项和工作流、报告、安全组、签入策略和流程指导。这
些元素打包到一个方法模板中。
a:现成的方法模板
MSF
MSF Agile 和 MSF Formal。
b:流程指导
提供上下文的流程指导。
c:文档模板
d:工作项和工作流
工作项类型由方法模板确定。
每个工作项都有一套字段和规则,可以确定该工作项的工作流程,及团队成员分配和执行任务情况。
工作项跨 Portfolio Explorer、Microsoft Project 和 Microsoft Excel 集成。
工作项类型有错误、风险、任务、方案、功能和需求。
可添加。
e:退出条件
是一些特殊的任务,在退出特定活动或重要事件之前必须完成。
f:报告
描述项目的状态和运行状况。
可以通过 Portfolio Explorer 和项目站点进行访问。
可以添加或创建报告。
g:安全组
将组和权限与项目站点、工作项数据库和其他数据库同步。
h:签入策略
i:自定义软件流程
8〉通过 Rich Metrics Reporting 进行管理
报告服务。
9〉现成的报告
预定义的报告
a:代码质量报告
b:计划进度报告
c:计划稳定性报告
d:测试合理性报告
10〉与 Microsoft SQL Server 2005 Reporting Services 相集成
8:单元测试
Team Test 是 Visual Studio 集成的单元测试框架,它支持:
测试方法存根 (stub) 的代码生成。
运行测试。
从数据库加载测试数据。
代码覆盖分析。
包含了一套测试功能。
1)创建代码。
2)创建测试
3)运行测试:
测试结果 (Test Results) 窗口,
“ConstructorTest[Results]”窗口:查看测试的额外细节
4)异常检查
5)从数据库中加载测试数据
a:增加一个测试数据库
b:将数据与测试关联
属性窗口,
数据连接字符串(Data Connection String),数据表名 (Data Table Name) 属性
DataSourceAttribute属性,
TestContext.DataRow调用:它在运行时由测试执行引擎自动赋值
TestContext提供了 TestDirectory和 TestName数据,以及 BeginTimer()和EndTimer()方法。
c:实现和重构目标方法
为测试编写实现了
6)代码覆盖
7)初始化和清除测试
由属性 TestInitializeAttribute和 TestCleanupAttribute修饰。
9:逻辑数据中心设计器简介
用于创建相互连接的逻辑服务器的关系图,这些关系图表示数据中心的逻辑结构。
1)创建逻辑数据中心关系图
a:工具箱
数据中心元素:
DatabaseServer:数据库的服务器
GenericServer:未指定类型的服务器
IISWebServer: Web 服务器
WindowsClient:企业中的台式机,用于建模对最终用户的计算机约束
Zone:分隔的逻辑边界,如防火墙。
端点元素:
DatabaseClientEndpoint:数据库连接的用户。
GenericClientEndpoint:非特定连接的客户端。
GenericServerEndpoint:非特定连接的服务器端。
HTTPClientEndpoint:HTTP 连接的客户端。
WebSiteEndpoint:HTTP 连接的服务器端。
ZoneEndpoint:区域边缘的通信端点。
b:设置和约束编辑器 (SCE)
约束有三种类型:
隐式约束:隐式约束可以通过扩展性 SDK 进行创建
预先定义的约束
用户定义的约束
2)创建初始模型
1〉将元素添加到模型
2〉连接服务器
3〉用约束建模策略
5〉为模型定义约束和设置
6〉区域
7〉在模型中使用区域
8〉从 IIS 导入设置
10:应用程序设计器简介
帮助开发人员或架构师定义和配置组成供部署的系统的应用程序。
1)创建分布式系统解决方案
1〉应用程序与原型
工具箱包括两种基于 ASP.NET 的原型:
ASP.NETWebServiceASP.NETWebService
ASP.NETWebApplication 原型
Windows 应用程序: WindowsApplication 原型
Office 应用程序: OfficeApplication 原型
外部或第三方 Web 服务: ExternalWebService 原型
外部数据库: ExternalDatabase 原型
BizTalk Web 服务: BizTalkWebService 原型
通用应用程序(针对所有其他应用程序类型): GenericApplication 原型
2〉设计应用程序
3〉终结点和连接
4〉Web 服务详细信息
Define Operations/Web Service Details
5〉设置和约束
2)设计面向服务的应用程序
Implement All Applications
11:企业级源代码管理和工作项跟踪
1)集成工作项跟踪和源代码管理
VSTS中四种类型的构件:
work items
source files
changesets:当将文件的修订签入到源代码管理中时,
会在版本控制数据库中创建一个具有唯一标识符的新 changeset 构件,
以包含修订和相关的元数据。
前三项是进行签入操作的产品
builds
1〉将源文件链接到工作项
2〉将工作项链接到 Changesets
3〉将版本链接到工作项
2)Checkin 策略
策略警告
3)生成报告
生成单个工作项的进程报告,跟踪它直至完成,甚至可以查看与其解析相关的代码。
开发人员可以将代码 checkin 和需要它的工作项和构建关联起来。
4)工作项跟踪功能
常见工作项类型示例包括:错误、需求、任务、风险和进度。
1〉创建工作项查询
工作项查询生成器
2〉通过解析和测试处理检测到的错误
发现和错误
分配错误
解决错误
3〉根据团队需要调整工作项窗体
4〉为窗体设置规则和权限
5〉管理服务器操作
监视服务器并管理告警、备份和恢复项目数据库、计划服务器的容量、
管理服务器修补程序以控制来自 Microsoft 的安全警告、
设置并升级基于服务器的新产品推广、检查数据库的一致性并纠正问题、
诊断性能问题,以及分配服务器端和数据库的权限
3)通过 Web 接口跟踪工作项
利用工作项跟踪工具包的 Web 接口外壳来跟踪工作项
4)源代码管理
5)源代码管理提供程序说明
现成为一项 ASP.NET Web 服务。
源文件和项目元数据存储在SQL Server 数据库中。
源代码管理操作以原子和事务的方式执行。
1〉团队内的开发:隔离和联合
2〉Visual Studio 中源代码管理的集成
3〉其他的 Visual Studio Team Foundation 更改管理功能
4〉扩展性问题