探讨VSTS联合MS PROJECT协同开发之三:比较篇
一旦创建一个工作项,你就不能从TFS中删除它。因此,当一个用户从一个工程计划中删除一个工作项记录时,该工作项仅能从该工程计划的副本中被删除,但这个工作项仍存在于TFS中,并且可以通过点击"Get Work Items"按钮再把它导回到工程计划中。
(八)出版错误问题
工作项中一切定义在WIT中的域都有自己的数据类型和规则,例如,域“Rank”是integer类型的,因此仅可以有数字型值,而域“Assigned To”仅能以有效的工程成员之一作为命名。MS PROJECT插件通过提供一个仅包含有效值的下拉列表框来强制实施这其中的大部分规则。例如,“Assigned To”栏相应的下拉列表框将仅显示有效的用户,而相应于“Discipline”栏的下拉列表框则仅显示相应于该域的在WIT定义中定义的值。
但是也存在一些MS PROJECT插件无法强制实施的规则。例如,一个用户可以在“Rank”栏中输入一个字符串值,尽管它在WIT中被定义为一个integer类型。当一个用户要出版的一个工程计划中存在一些栏包含无效的工作项值时,具有无效值的工作项不会被出版;代之的是,该插件将在“Work Item Publishing Errors”对话框中报告它们,如图8所示。
从图8中的对话框中可以看出,用户可以选择一个工作项并点击“Edit Work Item”按钮来观察和修改错误。点击该按钮后将显示一个如图9所示的对话框。
|
图9:工作项编辑器-这个对话框让你编辑并修改由于错误而未被出版的工作项 |
(九)出版时的数据冲突问题
有时,被出版的工作项中的数据可以与TFS中对应那些工作项的相关数据不匹配。这种情况在多个人从不同的客户端更新工作项时经常发生。当发生这样的冲突时,MS PROJECT将显示一个如图10所示的对话框,该对话框中显示出本地的以及服务器版本的数据。
|
图10:Conflict Resolution-当从一个本地的副本出版数据时将会引发一个
与TFS中数据的冲突,你可以使用这个对话框来决定保留哪一个版本
|
(十) 保存工程计划
因为一个连接的工程计划中的大多数数据是存储于TFS中的,所以,你不必再保存一个本地副本。但是也存在一些情况,此时连接的工程计划可能包含仅存在于本地的数据,并且不被出版到TFS中,例如:
◆Summary任务或那些“Publish and Refresh”栏被标记为“No”的任务(如前面所述);
◆其它的MS PROJECT栏。
在这种情况下,你应该保存工程计划的一个本地的副本。当你打开一个本地保存的工程时,该计划自动地连接到相关联的团队工程中并且实现自身与TFS的同步。
(十一) 工程计划栏的映射问题
前面图4中的工程计划中展示了一个工程计划(此时,它被连接到通过“MSF for Agile Software Development Process”模板创建的一个团队工程中)中缺省栏的集合。注意,在此并非所有显示出来的栏在任何工作项中都有相应的域。一些栏仅能作为MS PROJECT栏单独存在,而不被出版到TFS中,例如“Duration”和“Row No”栏。同样,在连接的工程计划中的一些栏并没有被显示于缺省的视图中,但是在工作项中的确存在相应的域。例如,域“Priority”和 “Discipline”在缺省的视图中就没有显示,但是在出版或刷新时它们能够与工作项保持同步。表格1列出了所有的用于保持在MS PROJECT和工作项之间同步的栏。这些栏可以是下列三种类型任何一种:
◆适合于在“MSF Agile”过程模板中所有可用的WIT的栏。例如:Task,QoS,Risk,Scenario,Bug,Work Item ID,Area Path,等;这些栏的“Work Item Type”值在表格1中都为“All”。
◆仅适合于特定工作项类型的栏。例如,“Completed Work”栏仅应用于“Task WIT”。这些栏在表格1中的工作项类型值对应于每一栏适用的工作项的名字。
◆不适合于任何WIT的栏。这些栏存储了仅与MS PROJECT内部相关的信息,例如,“Publish”和“Refresh”,它们在表格1中对应的工作项类型值为“None”。
注意,还存在适合于多个WIT的栏,并且可以拥有在WIT定义中从一个预先定义的列表内指定的值。如果这些列表中具有与可用WIT定义不同的值,那么这些栏相应的下拉列表框将显示来自于所有的WIT中的组合值的列表。例如,针对一个任务WIT的“State”域可能是“Active”或“Closed”,但是对于其它三种WIT,则有可能是“Active”,“Closed”或“Resolved”。在工程计划中对应“State”栏的下拉列表框中将展示所有这三个值。
MS PROJECT栏
|
描述
|
工作项类型
|
Work Item ID
|
工作项对应的唯一ID。
|
All
|
Title
|
标题提供了对要完成的工作项的一个简明的概述。
|
All
|
Area Path
|
用于把工作项分组成一个适当的特征或团队区域。该区域必须是工程层次中的一个有效结点。
|
All
|
Iteration Path
|
工作项隶属的迭代。
|
All
|
Publish and Refresh
|
指定某个选项之一:Yes,No,Refresh Only。
|
None
|
Work Item Type
|
工作项的类型。
|
All
|
Discipline
|
显示该任务是一个开发任务,测试任务,或是一个普通任务。
|
Task
|
Assigned To
|
该工作项当前被分配到的人。
|
All
|
Completed Work
|
在当前任务上已经完成的工作量。
|
Task
|
Remaining Work
|
在当前任务上尚未完成的工作量。
|
Task
|
Baseline work
|
从最初的计划算起,已经工作的小时数。
|
Task
|
State
|
工作项的工作流状态。例如,相应于一个工作项应该是“Active”或“Closed”。
|
All
|
Reason
|
一个工作项处于当前状态的原因。例如,一项任务可以是“Closed”,因为它已经被完成,被推迟,被删除或过时。
|
All
|
Rank
|
这个等级域代表了一种主观上重要性评价。
|
QoS,Scenario and Task
|
Issue
|
对应一个Yes或No值,指示是否该工作项被以某种方式阻止。如果这个域被设置为Yes,该工作项将出现在工程经理的问题报告中。
|
All
|
ExitCriteria
|
这个域指示当前工作项对于启动或完成一个迭代是否是关键性的。如果这个域被设置为“Yes”,那么,此工作项将出现在工程经理的工程清单中。
|
QoS,Scenario and Task
|
QualityOfServiceType
|
服务质量的类型,它可以是:Performance, Security,Stress,Load,Platform或者Other。
|
QoS
|
Priority
|
业务优先权。
|
Bug
|
Rev
|
指示工作项的修订版本号。
|
All
|
Links and Attachments
|
指示是否工作项拥有任何链接或附件,其值为Yes或No。
|
None
|
图11:栏映射 |
(十二)通过Areas和Iterations进行组织
通过把工作项按层次分类,你可以把它们组织成一个团队工程。VSTS支持两种层次:
◆Iterations-描述生命周期迭代。此时,一个工程将被划分为Planning,Envisioning,Development等组成部分。
◆Areas-描述一个逻辑的工程划分(区域和组件)。例如,你可以把你的工程任务划分为每一种逻辑架构:用户接口层,业务层和数据存取层。
你可以分别通过“Iteration Path”和“Area Path”栏把工作项与这两个层次加以关联。这些栏都有一个下拉列表框,它们以一个树结构形式进行层次显示,如图12所示。
图12:该图展示了选择一个工作项的迭代路径的过程 |
图13:此对话框展示了树结构形式的Area和Iteration层次,
你可以从中添加、删除、移动或改变结点缩进
|
MS PROJECT SERVER 2003是一个企业工程管理产品,它实现了工程调度和管理,资源利用和项目清单,时间表等功能,而且还允许多个成员共享数据-提供一个基于Web的接口来观察和更新工程计划任务。
MS PROJECT SERVER能够与MS PROJECT(客户端)进行全面集成-你可以把任务从MS PROJECT出版到MS PROJECT SERVER中,然后在MS PROJECT中观察更新的任务。
由于VSTS在共享数据和MS PROJECT集成方面存在许多类似的特征,所以人们经常把它与MS PROJECT SERVER 2003进行比较。但是,这两个产品是针对不同领域的两个完全不同的产品。PROJECT SERVER主要针对企业工程管理领域,而VSTS则主要针对软件开发生命周期领域。VSTS并不仅提供了作业(或任务),而且还提供可扩展的工作项基础结构来创建每一项工程要求定制的工作项。而且,因为它与Visual Studio IDE紧密集成,所以,VSTS允许团队成员从IDE内部更新它们的任务及其它工作项。
总之,这两个产品各自提供互补的特征,而且也存在某些共同之处。正是我们所讨论的这些特点使得人们觉得很有必要把这两个产品集成到一起。尽管在VSTS 1.0版本中还不没有实现这两个产品之间的内置集成,但是微软已经计划在VSTS的2.0版本中提供这种紧密的集成。此外,已经出现一些社团组织,他们正在主动地开发PROJECT SERVER和VSTS之间的连接器。
八、小结
本文较全面地探讨了有关把Visual Studio 2005 Team System和MS PROJECT联合起来进行协同开发的实现过程及相关注意事项。其实,有关于Visual Studio 2005 Team System与其它产品的协同开发是一个极为复杂的话题-我们只是刚刚开了个头而已。
探讨VSTS联合MS PROJECT协同开发之三:比较篇相关推荐
- 【阶段小结】协同开发——这学期的Git使用小结
[阶段小结]协同开发--这学期的Git使用小结 一.Git简介 1. Git简单介绍 2. Git工作流程以及各个区域 3. Git文件状态变化 二.Git安装&Git基本配置 三.个人踩坑 ...
- 机智云5.0推出IoT套件GoKit4.0 可实现物联网应用协同开发
2017年9月19日,全国双创周期间,在由广州市青创中心.天英汇.五号空间.机智云等联合主办的众创五号空间首届IoT创新嘉年华重头戏机智云GODAY2017上,机智云正式发布了机智云5.0物联网开发及 ...
- git 入门教程之协同开发
前面我们已经介绍过远程仓库的相关概念,不过那时并没有深入探讨,只是讲解了如何创建远程仓库以及推送最新工作成果到远程仓库,实际上远程仓库对于团队协同开发很重要,不仅仅是团队协同开发的基础,也是代码备份的 ...
- 很久没更新博客了,再发协同开发中SVN使用规范
协同开发中SVN使用规范试用 目标,要求 本次svn提交规范主要针对当前项目中出现的svn管理难,开发流程控制难掌控,项目进度记录不准确等问题而提出.要求每个角色都要进行规范化svn作业. 目录结构与 ...
- git 怎么备份本地分支_git 入门教程之协同开发
前面我们已经介绍过远程仓库的相关概念,不过那时并没有深入探讨,只是讲解了如何创建远程仓库以及推送最新工作成果到远程仓库,实际上远程仓库对于团队协同开发很重要,不仅仅是团队协同开发的基础,也是代码备份的 ...
- ms project
Ms project,全称Microsoft Project,是 开发的项目管理工具.我们可以在下载Office组件时获得该软件.ms project 2016的主要目的是帮助上班族快速安排项目计划 ...
- 星空云协同开发入门(一)
** 协同开发初步入门 ** 协同开发平台入门指导 开发商代码 开发商代码是参与K/3 Cloud BOS平台二次开发的重要身份标识,每一个平台用户都拥有一个四位数的个人开发商代码(如PAAB),这是 ...
- 类似 MS Project 的项目管理工具有哪些
类似 MS Project 的项目管理工具有哪些?国内外类似 Microsoft Project 的项目管理软件有:1.Worktile:2.PingCode:3.Asana:4.Zoho Proje ...
- MS Project 2007的使用
下面以一个完整的例子,介绍MS Project 2007的使用.它基本覆盖了Project在项目管理中的典型使用(成本相关除外) 1. 项目信息设置 a.创建一个Project,命名为" ...
- 第十四讲:基于3DEXPERIENCE云平台的异构CAD产品的协同开发案例 | 达索系统百世慧
随着产品复杂程度的提升,市场竞争愈加激烈,基于模型的正向研发已经作为有效的应对手段被广泛接受.但研发流程中仍然存在复杂功能架构定义困难.多方案难以权衡.多系统难以联合仿真,仿真效率低,验证不充分等问题 ...
最新文章
- 艰难就业季,2020 AI算法岗春招汇总 面经大全来了!!!
- python自定义分页器()转自https://www.cnblogs.com/yuanchenqi/articles/7652353.html
- eclipse egit(分支管理 上)
- 原 Ubuntu使用VNC运行基于Docker的桌面系统
- mysql 星期_MYSQL经典SQL之星期问题
- javascript第一天
- C++ 百炼成钢20
- Silverlight开发历程—(输入事件和非输入事件)
- python openstack rabbitmq_OpenStack--Rabbitmq组件消息队列
- .NET Core:跨平台和开源,让我在框架中脱颖而出
- q超级会员都有什么鸿蒙,超级会员+豪华绿钻,超值四开!
- python协程第一课(实现爬取自己博客)
- 企业资源计划(ERP)原理与实践第一章
- android 4.x tablet,Android SmartPhone应用程序对Android Tablet的支持
- draft伦理——第七章
- 整形美容的消费者心理分析
- 如何做一个基于JAVA医院预约挂号系统毕业设计毕设作品(springboot框架)
- pycharm破解补丁激活
- Mac OS X 键盘字母键和数字键的切换
- javascript音乐播放器