Спонсор: Microsoft
Санкт-Петербургский государственный университет
Опубликован: 25.07.2014 | Доступ: свободный | Студентов: 938 / 58 | Длительность: 17:26:00
Лекция 8:

Командная разработка проектов в Visual Studio 2013

< Лекция 7 || Лекция 8: 1234 || Лекция 9 >
Аннотация: В данной лекции рассмотрены следующие вопросы: Team Foundation Server - инструмент командной разработки приложений в Visual Studio.

Цель лекции

Ознакомление с Team Foundation Server - инструментом командной разработки приложений в Visual Studio.

9.1. Введение. Методы коллективной командной разработки программ

Коллективная (командная) разработка программ до сих пор остается одной из самых сложных проблем современной программной инженерии.

Широко известен целый ряд особенностей, которые подчас препятствуют успешной командной разработке программ:

  • излишний оптимизм программистов в предварительной оценке сроков разработки;
  • психологические особенности некоторых программистов (в том числе очень сильных профессионально), их излишняя самоуверенность и ранимость и неспособность работать в команде;
  • неудачная организация информации при разработке проекта; в частности, неразбериха с рабочими версиями файлов исходных кодов и проекта в целом. Мне приходилось наблюдать за работой другой команды, причем достаточно квалифицированных программистов, в которой они использовали порядка 10-12 (!) дисков с разными версиями проекта, постоянно забывая о том, кто из них какие изменения в какую рабочую версию внес, и тратя часы на "разборы полетов";
  • неудачный менеджмент проекта (руководство проектом): неадекватное распределение заданий, плохой контроль сроков и качества разработки и многое другое.

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

Известны и используются следующие методы организации коллективной разработки [24]:

  • метод бригады главного программиста (Ф.П. Брукс)
  • гибкие методы разработки программ (agile methodologies), в том числе - Extreme Programming, Scrum и др.
  • Capability Maturity Model (CMM / CMMI) разработки Carnegie-Mellon University, Software Engineering Institute
  • Security Development Lifecycle (SDLC) - жизненный цикл разработки безопасных программ (Microsoft), важная часть Microsoft Trustworthy Computing Initiative.

Перечисленные методы подробно описаны в моем курсе [24].

9.2. Поддержка коллективной разработки программ в Visual Studio 2013. Team Foundation Server (TFS) и его инсталляция

В интегрированной среде VS 2013, как и в некоторых более ранних версиях этой среды, имеется удобная и разнообразная поддержка командной разработки программ.

Основной инструмент для этой цели - Team Foundation Server (TFS), который объединяет в себе систему управления исходным кодом проекта и систему управления командой программистов (выбор метода разработки, выдача заданий членам команды и проверка результатов их выполнения, поддержка различных этапов жизненного цикла и т.д.).

Team Foundation Server не инсталлируется по умолчанию с версией Visual Studio. Он является отдельным продуктом, хотя и интегрируется с Visual Studio, и поэтому требует отдельной инсталляции с сайта [25]. Инсталляция, вместе со скачиванием с сайта, требует на компьютере среднего класса порядка 2-3 часов, объем скачиваемой информации - порядка 300 мегабайт. При этом специальным образом конфигурируется Internet Information Server и инсталлируется СУБД SQL Server Express, используемые при работе TFS.

Инструмент TFS рассматривается в данной лекции.

Другим недавно выпущенным продуктом Microsoft для поддержки командной разработки проектов является облачный продукт - Visual Studio Online [26]. Он предоставляет функциональность, аналогичную TFS, но его преимущество в том, что, как и всякое облачное ПО, он не требует дополнительных инсталляций и используется через Web-браузер. Продукт Visual Studio Online рассматривается в следующих лекциях данного курса.

9.3. Администрирование Team Foundation Server с помощью административной консоли

Основное окно Team Foundation Server Administration Console изображено на рис. 9.1.

Основное окно Team Foundation Server Administration Console

увеличить изображение
Рис. 9.1. Основное окно Team Foundation Server Administration Console

Административная консоль TFS позволяет выполнить конфигурирование командных проектов. Возможно администрирование следующих компонент и сервисов:

  • Application Tier (уровень приложений) - конфигурирование Team Project Collections (коллекций командных проектов) и Lab Management (управления лабораторией по разработке и тестированию проектов)

    GUI для конфигурирование уровня приложений изображено на рис. 9.2.

    GUI для конфигурирования уровня приложений TFS

    увеличить изображение
    Рис. 9.2. GUI для конфигурирования уровня приложений TFS
  • Build Configuration (конфигурирование сервиса для сборки проектов) - указывается URL-адрес сконфигурированного сервиса для сборки. Сборка проектов управляется build-контроллером, который, в свою очередь, управляет несколькими build-агентами. При этом build-агенты могут запускаться либо на одном, либо на разных компьютерах. GUI для конфигурирования сборок изображено на рис. 9.3. Для целей данного курса я инсталлировал и сконфигурировал TFS и все его компоненты на одном компьютере - Saraswati, работающем под управлением Windows 8.
    GUI для конфигурирования сервиса для сборки проектов

    увеличить изображение
    Рис. 9.3. GUI для конфигурирования сервиса для сборки проектов
  • Scheduled Backups (области сохранения состояний баз данных TFS, Sharepoint и Reporting Services). GUI для конфигурирования областей сохранения баз данных, используемых для хранения информации о проекте, изображено на рис. 9.4. Области (точки) сохранения могут понадобиться при необходимости восстановления баз данных после сбоев. В рассматриваемом примере эти области не сконфигурированы.
    GUI для конфигурирования областей сохранения баз данных, используемых в проекте

    увеличить изображение
    Рис. 9.4. GUI для конфигурирования областей сохранения баз данных, используемых в проекте
  • Configuration Logs (протоколы конфигурирования). При действиях по конфигурированию TFS создаются файлы протоколов выполнения этих действий, которые хранятся в специальной папке. Их содержание помогает системным администраторам разобраться в тех или иных ошибках. GUI для управления протоколами конфигурирования изображено на рис. 9.5.
    GUI для управления протоколами конфигурирования

    увеличить изображение
    Рис. 9.5. GUI для управления протоколами конфигурирования
  • Additional Tools and Components (конфигурирование дополнительных инструментов и компонент). К этим дополнительным инструментам относится, например, система управления версиями исходных кодов Visual SourceSafe. GUI для конфигурирования дополнительных инструментов и компонент изображено на рис. 9.6.
    GUI для конфигурирования дополнительных инструментов и компонент

    увеличить изображение
    Рис. 9.6. GUI для конфигурирования дополнительных инструментов и компонент

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

< Лекция 7 || Лекция 8: 1234 || Лекция 9 >
Александр Калинин
Александр Калинин

Осенью прошёл курс и получил ключ. Но т.к. уже имел действующую подписку, то ключом не воспользовался. Сейчас захожу сюда, а про DreamSpark вообще ни слова. Где же мой ключ?

Михаил Петрин
Михаил Петрин
Россия, Каменка, Школа №9 имени Кирилла и Мефодия
Сергей Максимов
Сергей Максимов
Россия