Поделиться через


Работа с типами связей

Типы связей используются для определения меток связей, типов топологии и ограничений, применяемых при создании связей между рабочими элементами. Например, тип связи "родители-потомки" определяет две метки ("родитель" и "потомок"), поддерживает иерархическую или древовидную топологию и предотвращает создание циклических ссылок между рабочими элементами.

Чтобы настроить или создать тип связи, необходимо импортировать XML-файл в коллекцию командных проектов, содержащую определение типа связи. Типы связей добавляются в набор типов связей, определенных для коллекции. Существующие типы связей перезаписываются с использованием новых сведений, основанных на указанном имени ссылки.

Содержание раздела

  • Структура синтаксиса

  • Требования к типам связей

  • Системные типы связей

  • Типы связей, определенные шаблонами процессов MSF

  • Ограничения и топологии связей

  • Определение схемы типов связи

Структура синтаксиса

Чтобы определить дополнительные типы связей, нужно добавить их к типам связей, уже определенным для коллекции командных проектов. Кроме того, можно определить допустимые типы связи, которые будут использоваться в процессе, основываясь на структуре, предусмотренной в схеме определения типа связи. Тип связи определяется в XML-файле типов связей с помощью следующего синтаксиса XML:

<LinkTypes>
   <LinkType ReferenceName="LinkTypeName" ForwardName="ForwardName" ReverseName="ReverseName" Topology="TopologyType" />
</LinkTypes>

Представленные в следующей таблице описания относятся к упомянутому выше синтаксису.

Атрибут

Описание

ReferenceName

Имя типа связи. Это имя используется внутри кода при создании связи между двумя рабочими элементами.

ForwardName

Имя связи в исходном рабочем элементе. Отображается при добавлении ссылок к исходному рабочему элементу.

ReverseName

Имя связи в конечном рабочем элементе. Отображается при перечислении связей в конечном рабочем элементе.

TopologyType

Задает топологию DirectedNetwork, Network, Tree или Dependency. Первые три топологии являются направленными и используются для определения подчиненных или последовательных отношений. Топология Network используется для определения отношений между одноранговыми элементами или в случаях подразумеваемой подчиненности.

Направленность связей определяется путем присвоения значений атрибутам ForwardName и ReverseName. При создании пользовательской связи и присвоении одинакового имени прямой и обратной связи, необходимо задать тип связи Network, поскольку это единственная ненаправленная топология.

Требования к типам связей

LINKTYPES — это набор элементов LINKTYPE, хранящихся и используемых коллекцией командных проектов.

У каждого типа связи есть ссылочное имя и два дополнительных понятных имени или метки имен, которые должны быть уникальными в пределах коллекции проектов. Каждое имя типа связи должно отвечать следующим требованиям.

  • Имена могут содержать до 254 символов юникода.

  • Имена не могут быть пустыми.

  • Имена не могут начинаться или заканчиваться пробелом.

  • Имена не должны содержать символы обратной косой черты (\).

  • Имена не должны содержать два последовательных пробела.

Системные типы связей

В следующей таблице перечислены типы связей, определенные системой. Эти типы связей не следует перезаписывать или изменять.

Имя прямой связи

Имя обратной связи

Имя ссылки типа связи

Топология

Последователь

Предшественник

System.LinkTypes.Dependency

Зависимость

Дочерний

Родительский

System.LinkTypes.Hierarchy

Дерево

Связанный элемент

Связанный элемент

System.LinkTypes.Related

Сеть

Типы связей, определенные шаблонами процессов MSF

В следующей таблице представлены типы связей, создаваемые при создании командного проекта с помощью шаблона процесса Microsoft Solutions Framework (MSF). Эти типы связей предназначены специально для поддержки взаимодействия с отслеживающими рабочими элементами в Team Foundation и Microsoft Test Manager.

Имя прямой связи

Имя обратной связи

Имя ссылки типа связи

Топология

Тест выполнил

Тесты

Microsoft.VSTS.Common.TestedBy

Зависимость

Тестовый случай

Общие шаги

Microsoft.VSTS.TestCase.SharedStepReferencedBy

Зависимость

При использовании шаблона процесса MSF для создания командного проекта каждый из типов связей, перечисленных ранее в этом разделе, добавляется в коллекцию командных проектов. Файлы определений типов связей заданы в папке WorkItem Tracking\LinkTypes в файле Template.zip. В файле TestedBy.xml для типа связи Microsoft.VSTS.Common.TestedBy задано следующее определение:

<?xml version="1.0" encoding="utf-8"?>
<LinkTypes>
   <LinkType ReferenceName="Microsoft.VSTS.Common.TestedBy" ForwardName="Tested By" ReverseName="Tests" Topology="Dependency" />
</LinkTypes>

При создании командного проекта с помощью соответствующего шаблона процесса определение типа связи импортируется в коллекцию проектов.

Ограничения и топологии связей

Топология, присвоенная типу связи, определяет ограничения, накладываемые на его использование. В следующей таблице представлены различные типы топологий.

Тип топологии

Иллюстрация

Сеть — связи в сети можно использовать для создания между рабочими элементами базовых отношений, которые не являются ограничивающими. Связь имеет один и тот же вид в обеих конечных точках. Допускается циклическая связь.

Пример использования — сетевые связи, такие как "Связанный элемент", используются для регистрации отношений между двумя функциями, которые могут иметь общие зависимости.

Топология связей сетей

Направленная сеть — направленные сетевые связи могут использоваться для создания связей между рабочими элементами, указывающих на направленность. Имена связей в конечных точках различны. Допускается циклическая связь.

Пример использования — направленные сетевые связи могут использоваться для регистрации отношений между двумя функциями с общими зависимости, которые нужно каким-либо образом отличать друг то друга.

Топология связей направленных сетей

Зависимость — связи зависимости можно использовать для создания направленных отношений между рабочими элементами, а также с целью ограничения циклических связей. Имена связей в конечных точках различны.

На рисунке показано, что невозможно создать зависимую связь с рабочим элементом, содержащим отношение зависимости с тем же рабочим элементом.

Пример использования — связь зависимости используется для регистрации функций, которые должны выполняться для обеспечения соответствия требованиям пользователей.

Топология ссылок зависимостей

Дерево — древовидная связь может использоваться для создания многоуровневых иерархических отношений между рабочими элементами. Древовидные связи поддерживают многоуровневые иерархические представления, являются направленными и ограничивают циклические связи. Имена связей в конечных точках различны. Древовидные связи — это единственный тип связи, поддерживаемый запросом Дерево рабочих процессов.

На рисунке показано, что одному дочернему элементу нельзя присвоить два родительских.

Пример использования — древовидные связи используются для регистрации задач и подзадач команды, которые следует выполнить для реализации функции.

Топология связей деревьев

Определение схемы типов связей

В следующем коде перечисляются определения схемы для типов связи.

<?xml version="1.0" encoding="utf-8"?>
<xs:schema 
  id="WorkItemLinkTypeDefinition" 
  elementFormDefault="unqualified" 
  attributeFormDefault="unqualified" 
  xmlns:xs="http://www.w3.org/2001/XMLSchema" 
  targetNamespace="https://schemas.microsoft.com/VisualStudio/2005/workitemtracking/WorkItemLinkTypeDefinition.xsd" 
  xmlns="https://schemas.microsoft.com/VisualStudio/2005/workitemtracking/WorkItemLinkTypeDefinition.xsd" 
  xmlns:mstns="https://schemas.microsoft.com/VisualStudio/2005/workitemtracking/WorkItemLinkTypeDefinition.xsd" 
  xmlns:typelib="https://schemas.microsoft.com/VisualStudio/2005/workitemtracking/typelib"
  version="1.0">
   <xs:import namespace="https://schemas.microsoft.com/VisualStudio/2005/workitemtracking/typelib"/>
  <xs:simpleType name="TopologyTypes">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Network" />
      <xs:enumeration value="DirectedNetwork" />
      <xs:enumeration value="Dependency" />
      <xs:enumeration value="Tree" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="LinkTypeType">
    <xs:attribute name="ReferenceName" type="typelib:ReferenceName" use="required" />
    <xs:attribute name="Topology" type="TopologyTypes" use="optional" />
    <xs:attribute name="ForwardName" type="typelib:FriendlyName" use="optional" />
    <xs:attribute name="ReverseName" type="typelib:FriendlyName" use="optional" />
  </xs:complexType>
  <xs:complexType name="LinkTypesType">
    <xs:sequence>
       <xs:element name="LinkType" type="LinkTypeType" minOccurs="1" maxOccurs="unbounded" />
      </xs:sequence>
      </xs:complexType>
   <xs:element name="LinkTypes" type="LinkTypesType" />
</xs:schema>

См. также

Основные понятия

Новые возможности отслеживания рабочих элементов

Выбор типов связей для эффективного отслеживания проекта

Определение объема требований к настройке

Настройка данных отслеживания, форм, рабочего процесса и других объектов для проекта

Другие ресурсы

Создание отношений между рабочими элементами и другими ресурсами

Группирование типов рабочих элементов по категориям