Интернет магазин китайских планшетных компьютеров



Компьютеры - Team Foundation Server

11 мая 2011


Оглавление:
1. Team Foundation Server
2. Team build



Team Foundation Server — продукт корпорации Microsoft, представляющий собой комплексное решение, объединяющее в себе систему управления версиями, сбор данных, построение отчетов, отслеживание статусов и изменений по проекту, и предназначенное для совместной работы над проектами по разработке программного обеспечения. Данный продукт доступен как в виде отдельного приложения, так и в виде серверной платформы для Visual Studio Team System.

Архитектура

3-уровневая архитектура Team Foundation Server

Team Foundation Server работает по трёхуровневой архитектуре: клиентский уровень, прикладной уровень и уровень данных. Клиентский уровень используется для создания и управления проектами, а также для доступа к хранимым и управляемым элементам проекта. На этом уровне TFS не содержит никаких пользовательских интерфейсов, как и веб-сервисов, которые могут быть использованы клиентскими приложениями для самостоятельной интеграции в функциональность TFS. Эти веб-сервисы используются такими приложениями, как Visual Studio Team System для применения TFS в качестве серверной инфраструктуры хранилища информации или выделенного TFS управления приложениями, наподобие включенного приложения Team Foundation Client. Сами веб-сервисы находятся на прикладном уровне. Прикладной уровень также включает в себя веб-портал и репозиторий документации, поддерживаемые Windows SharePoint Services. Веб-портал, называемый Team Project Portal, выступает в роли центра взаимодействия для проектов, управляемых TFS. Репозиторий документов используется как для элементов проекта, так и для отслеживания ревизий, а также для накопления и обработки данных и генерации отчетов. Уровень данных, основывающийся в первую очередь на установленном SQL Server 2005 Standard Edition, обеспечивает сервисы постоянного хранения данных для репозитория документов. Уровень данных и уровень приложений могут существовать на различных физических или виртуальных серверах при использовании Windows Server 2003 или более специализированных версий. Уровень данных не взаимодействует с клиентским уровнем напрямую, только через прикладной уровень.

Большая часть действий в Team Foundation Server происходит с «рабочими элементами». Рабочими элементами называются отдельные единицы работы, выполняемые поочередно. Во многих источниках они отождествляются с элементами типа «ошибка» в системах отслеживания ошибок наподобие Bugzilla, то есть в этом случае рабочий элемент имеет поля Area, Iteration, Assignee, Reported By для указания соответствующей информации, историю, приложенные файлы, а также множество прочих атрибутов. Рабочие элементы сами по себе могут быть нескольких типов, например Ошибка, Задача, Требование качества, Сценарий и т. д.. Выбранный фреймворк для любого взятого проекта в Team Foundation Server определяет какие типы рабочих элементов будут доступны и какими атрибутами каждый из типов будет обладать. Эти элементы внутри приложения хранятся в XML-формате, а их схема может быть легко модифицирована для добавления новых атрибутов к различным элементам или создания новых элементов на проектной основе. Каждый рабочий элемент имеет соответствующие методики контроля, которые определяют, кому какие именно элементы доступны и какие действия он с ними может производить. Также подразумевается использование уведомлений и возможности ведения логов, для отслеживания истории всего процесса создания, обращения к элементу или его изменения, а также предусматривается дополнительное уведомление определенных пользователей при наступлении определенных событий.

Любой Team Foundation Server содержит один или более Совместный проект, состоящий из решений на базе Visual Studio, конфигурационных файлов для Team Build и Team Load Test Agents, и единый репозиторий на базе SharePoint, содержащий связанную с проектом документацию. Совместный проект включает в себя пользовательские рабочие элементы, версии исходного кода, отчеты, управляемые TFS. TFS обеспечивает возможности для управления этими проектами. При создании нового проекта нужно выбирать фреймворк программной разработки, который впоследствии сменить нельзя. TFS включает в себя несколько наиболее распространенных шаблонов, среди которых присутствует как методики гибкой разработки, так и формальные. Выбор фреймворка наполняет проект заранее предопределенными элементами, как например, роли и полномочия, а также прочую документацию, например, стратегию развития проекта, шаблоны документов, заготовки отчетов. Эти элементы могут быть связаны с рабочими элементами. Статус определенных элементов проекта может автоматически обновляться при изменении рабочих элементов. TFS можно интегрировать с Microsoft Excel для создания и отслеживания элементов проекта. Статус элементов в этом случае можно указывать и редактировать непосредственно в Excel, а итоговые таблицы могут обрабатываться TFS, который будет импортировать данные с учетом особенностей управления данным проектом. Кроме того, его также можно интегрировать с Microsoft Project в качестве клиентской части управления проектом. Элементы проекта можно экспортировать как документы Excel для дальнейшего анализа данных.

TFS сам по себе не содержит пользовательского интерфейса для выполнения подобных заданий. Подобные возможности предоставляются за счет веб-сервисов, которые используются клиентскими приложениями наподобие среды разработки Visual Studio Team System. Тем не менее, TFS имеет в своем составе приложение Team Foundation Client, которое может использоваться для выполнения этих заданий без VSTS. TFC также оперирует вызовами соответствующих веб-сервисов. TFS предоставляет клиентский API, который может быть использован клиентским приложением для доступа к функционалу; сам API управляет промежуточными связями для установки взаимодействия с веб-сервисами, как, например, кэширование со стороны клиента для уменьшения задержек и накладных расходов. Также поддерживается язык описаний веб-сервисов WSDL на случай если приложению требуется непосредственный вызов веб-сервисов. В качестве дополнения доступно Visual Studio Team System Web Access, предназначенное для схожих целей.

Контроль исходного кода

Team Foundation Server реализует репозиторий управления исходным кодом, называемый Team Foundation Version Control. В отличие от предыдущего решения Microsoft по контролю кода, Visual SourceSafe, которое основывалось на механизме файлового хранения, Team Foundation хранит весь код, равно как и запись обо всех изменениях кода в базе данных под управлением SQL Server. Поддерживаются такие особенности, как например, одновременная множественная блокировка кода для изменения, разрешение конфликтов, откладывание внесения изменений, ветвление и слияние, а также возможность устанавливать уровни доступа на любом уровне дерева исходного кода, наряду с наиболее очевидными возможностями отслеживания версий документации, блокировок, откатов и операций подтверждения микроизменений. Механизм контроля исходного кода напрямую связан с рабочими элементами Team System; При подтверждении изменений) разработчик может определять взаимосвязь его кода с одним или более определенными рабочими элементами для указания какие именно проблемы решает данное подтверждение. Администраторы TFS могут принудительно указывать политики подтверждений, которые предусматривают удовлетворение требованиям Code Analysis, а кроме того можно поставить обязательное указывание рабочих элементов, связанных с данным подтверждением, или обновление статуса связанных рабочих элементов. Отдельные версии файлов могут отмечать специальными метками, а все файлы с одинаковыми метками образуют релиз-группу. В отличие от VSS, репозиторий контроля кода TFS не обладает ни поддержкой привязки к элементу из нескольких мест структуры каталогов исходного кода, ни поддерживает «закрепления» элемента.

TFVC поддерживает ветвление на всех уровнях исходного кода, а также для отдельных файлов и каталогов, причем каждая ветвь поддерживается отдельно. Несколько ветвей можно объединить в одну с указанием порядка разрешения конфликтов при слиянии изменений двух ветвей одного файла, тогда программа сама автоматически согласует различия или отметит их для ручной проверки, если сама с ними не справится. Слияние может быть выполнено и на уровне набора изменений, вместо уровня ветвления. Успешное слияние автоматически отмечается в репозитории контроля кода.

Возможности TFVC не ограничены лишь исходным кодом, с помощью встраивания инфраструктуры Windows SharePoint Services он обеспечивает поддержку библиотеки версий документов проекта, включая планы проекта, требования, анализ специфики проекта и другие. Все документы в репозитории контроля кода могут связываться с любым рабочим элементом, а доступ к ним может контролироваться за счет введения политики доступа.

Отчетность

Reporting — еще один основной компонент Team Foundation Server. При помощи него можно создавать множество отчетов на основе объединения информации о рабочих элементах, наборах изменений, информации, поставляемой Team Build, и результатов тестирования от Test Agents. Например, уровень изменений кода за определенный временной промежуток, списки ошибок, не имеющих тестовых наборов, повторения ранее пройденных тестов и т. д. Отчеты, созданные при помощи SQL Server Reporting Services, можно экспортировать в нескольких различных форматах, включая Excel, XML, PDF и TIFF. Отчеты можно просматривать как при помощи Visual Studio, так и через веб-портал.

TFS использует свой фреймворк логирования для автоматизации сбора данных. Инфраструктура логирования отслеживает и записывает информацию, касающуюся доступа и использования рабочих элементов и исходного кода, которая затем может использоваться сервисами анализа для выявления направлений. TFS на уровне данных содержит адаптер накопления, кэширующий данные из нижележащих нормализованных баз данных в удобной форме для анализа — таблицы или размерные таблицы. Затем для анализа этих данных используется SQL Server Analysis Services, и создаются отчеты. Отчеты могут охватывать несколько рабочих элементов, включая основные направления ошибок, изменения кода, направления сборок и другие. Другие аналитические приложения также могут использовать данные напрямую предоставляемые веб-сервисами.

Портал проекта

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

Shared services

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



Просмотров: 1840


<<< System Center Data Protection Manager
Zune Marketplace >>>