Слайд 1Введение в Visual Studio Team System 2008
Евгений Злобин
evgenyz@microsoft.com
Developer Solution Sales Manager
Слайд 2Краткое содержание
Сложности в разработке распределенных систем
Что такое Team System
Редакции Visual Studio
2008
Возможности каждой редакции
Team System для каждой роли
Менеджеры проектов
Архитекторы
Разработчики
Тестеры
Разработчики баз данных
Все остальные
Слайд 3Сложности в создании ПО
Недостаточное качество коммуникаций
eMail, IM, собрания
Команда не всегда в
одном месте
Низкое качество интегрированности средств
Вынуждены работать с множеством средств
VS, VSS, CVS, Visio, NUnit, NAnt, FxCop
Недостаточное качество рекомендаций по процессам
Множество различных методологий
Подаются в виде полуфабриката
Необходимо улучшить предсказуемость успеха
Слайд 4Что такое Team System?
Интегрированный набор средств для поддержки полного цикла разработки
ПО
Средства для всей команды
Visual Studio 2008 плагин
Microsoft Excel и Microsoft Project плагины
TFS Web Access
Самостоятельные утилиты и утилиты командной строки
Team Foundation Service (backend)
SQL Reporting Service и WSS (портал)
Рекомендации по процессу разработки
MSF 4.0 (Agile и CMMI Compliance)
Слайд 5Редакции Visual Studio
Team System
Team Edition for Software Architects
Team Edition for Software
Developers
Team Edition for Software Testers
Team Edition for Database Pro
Team Foundation Server
TFS Load Agent
Team Suite
Слайд 6Visual Studio Team System
Visual Studio Team Suite
MSF Процессы и Руководства
Visual Studio
Team Foundation Server
Visual
Studio
Индустр.
Партнеры
Дизайнер
Архитектуры
Разработчик
ПО
Тестировщик
ПО
Разработчик и
Админ БД
Visual
Studio
Team
Explorer
Дизайн
Приложения
Дизайн Системы
Динамический
Анализ кода
Статический
Анализ кода
Профайлер кода
Нагрузочное тестирование
Ручное
тестирование
Управление тест сценариями
Visual Studio Professional Edition
Управление Изменениями
Отслеживание Work Item
Построение Отчетов
Портал Проекта
Построение Выпусков ПО
Управление Проектом
Load Test Agent
Visio и UML моделирование
Моделирование классов
Компонент. тестирование
Покрытие кода
Логический дизайн дата центра
Дизайн развертывания
Развертывание БД
Управление изменениями
Тестирование
БД
Слайд 7Team Foundation Services
Совместная работа
Отслеживание рабочих элементов
Сценарии, Требования, Риски, Задачи, Ошибки,…
Отчеты
Конфигурационный менеджмент
(SCM)
Трехуровневый, SQL2005, WebServices API
Merging, Branching
Управление сборкой
Visual Studio
Team Foundation Server
Слайд 10Расширяемость TS
Team System это расширяемая и дополняемая платформа
Team Foundation Services
Событийная модель
и множество точек интеграции через API
Возможность добавления своих шаблонов методологий
Visual Studio 2008
VSIP партнеры приглашаются для расширения
Существует много решений: Borland, AmberPoint, Olenick & Associates, BrightWork, Osellus, TeamPrise
Тулкит для расширения
Частью SDK
Слайд 12TS для Менеджеров
Нет конкретной привязки к редакции TS
Можно использовать TFS CAL
Действия
Создание
и конфигурирование командных проектов
Назначение рабочих элементов
Мониторинг статусов через запросы к спискам рабочих элементов или просмотр отчетов на проектном узле
Слайд 13TS для Менеджеров
Создание задач
в
Microsoft Excel
Просмотр задач в
Visual Studio
Назначение
задач
ресурсам в
Microsoft Project
Просмотр статусов
проектов в
Microsoft Excel или
Microsoft Project
Слайд 14TS для Архитекторов
Сфера проблем
Сегодняшние системы очень сложны
Коммуникационные проблемы между:
Архитекторами и разработчиками
Разработчиками
и IT специалистами
Средства моделирования имеют плохую историю успеха
Два типа архитекторов (суб-роли)
Архитектор приложения (AA)
Сетевой/Инфраструктурный архитектор (IA)
Слайд 15TS для Архитекторов
Действия
Создание логических диаграмм централизации данных (Logical Datacenter Diagrams, LDD)
Создание
диаграмм приложения (Application Diagrams, AD)
Декомпозиция диаграмм приложений на «системы»
Создание диаграмм развертывания
Подтверждение соответствия LDD/AD
Создание отчетов о развертывании
Создание основных связующих компонент приложения (Web-сервисы)
Быстрый старт разработки
Слайд 16«Разработка для применения»
Исключение «разговора в последнюю минуту» с IT в момент
развертывания приложения на серверы
System Definition Model (SDM)
Предоставляет общий язык для описания всех аспектов IT систем (ограничений и установок)
Позволяет проверять SDM документы относительно друг друга.
UML против DSL (Domain Specific Language)
UML мертв? Нет!
UML лучшее средство для документирования
DSL лучшее средство для точной разработки приложений
Слайд 17System Definition Model
Приложения
Хостинг
Приложений
Логическая топология
Машин и сетей
Оборудование
Слайд 20TS для Разработчиков
Сфера проблем
Разработчики не пишут качественный код
Нет/неадекватный контроль версий
Нет путей
сопоставления изменений в коде
Действия
Юнит-тестирование с адекватным результатом
Статический анализ
Профайлинг
Check-in, Check-out
Ассоциирование комментариев с проделанными изменениями
Слайд 21Юнит-тестирование
Более удобное и простое чем NUnit
Щелкните правой кнопкой и выберите «Create
Tests»
Тесты всего лишь еще один тип кода
Code Coverage
Слайд 22Статический анализ
Протестируйте свой код на самые распространенные проблемы, лучшие практики, правила
именования
PreFast (C/C++), FxCop (.NET)
Слайд 23Интегрированный Check-In
Что можно ассоциировать?
Все измененные файлы в один пакет изменений («Changeset»)
Комментарий
Назначенную
задачу
Политики Check-In
Слайд 24TS для Тестеров
Сфера проблем
Средства тестирования не интегрированы
Нет средств контроля версий для
тестирования
Нет средств автоматической нотификации
Действия
Юнит-тестинг и code coverage (перекрывается с Разработчиками)
Веб-тестинг. Запись и воспроизведение последовательностей запросов.
Нагрузочное тестирование (симуляция работы множества пользователей)
Тест-менеджмент (ручные или дополнительные средства тестирования)
Слайд 25Веб-Тестирование
Тестирование Веб-приложений важно
Какое время ответа для обычной задачи?
Будет ли апгрейд ломать
основную функциональность?
Работает ли все еще поиск?
Веб-тестирование в Team System
Любой URL который базируется на протоколе http
Записываются (в виде кода) или могут быть созданы в коде; вместе с автоматической валидацией
Слайд 26Нагрузочное тестирование
Как ведет ваше приложение при нагрузке
Какие операции испытывают наибольшие трудности?
Каков
уровень нагрузки на процессор и диск?
Нагрузочное тестирование – это возможность использовать существующий веб-тест
Возможность использовать 1000 Виртуальных Пользователей
Много путей визуализировать результаты
Графики, таблицы и XML
Слайд 27Static Code Analysis
Static Code Analyzer
Слайд 29Unit Testing
Integrated Unit Testing
Слайд 30Load Testing Creation
Load Testing
Web recorder
Слайд 31Load Testing
Perf Counter integration
and monitoring
Load Testing
Слайд 32Test Case Management
Test Case Management
Слайд 34Разработка для БД – общие проблемы
Tuning
Monitoring
“One Version of the Truth” for
Data and Schema
Schema Changes
Трудно управлять изменениями в БД
Промышленная БД – истинна в последней “инстанции ” для данных и схемы
Изменения в промышленной БД плохо тестированы и приводят к катострофическим последствиям
Слайд 35
Разработка для БД
Tuning
Monitoring
“One Version of the Truth” for Data
“One Version of
the Truth” for Schema
Offline
Under Source Control
Schema Changes
Изменения схемы контролируется в VSTS и TFS
Промышленная БД – истина только для данных
Истина для схемы БД – в под версионном контроле
Изменения могут применяться управляемо и поэтапно
Создание скрипта с
изменениями - позволяет управлять обновлениями
Слайд 36Разработка для БД
Дает возможность использовать:
Работать offline
контроль версий
Управление изменениями (bug tracking)
Использовать компонентное
тестирование (unit test)
Рефакторинг
Генерацию тестовых данных
Сравнение схем и данных
Слайд 37TS для всех остальных
Могут получить доступ к отчетам формируемым в реальном
масштабе времени
Могут использовать Excel и Project для создания задач
Могут использовать Team Explorer или утилиты командной строки для просмотра/редактирования артефактов проекта.
Могут использовать TFS Web Access – для доступа через ВЕБ
Открытая платформа - возможно использовать решения других производителей
Нет надобности в Visual Studio
Слайд 38TS для всех остальных
Большое количество готовых отчетов дающих информацию о состоянии
проектов
Легко создавать новые и модифицировать существующие отчеты
Базируется на SQL Server 2005 Reporting Services
Использование Data Warehouse позволяет легко получать детальную информацию
Проектный портал обеспечивает вся команду актуальной информацией
Слайд 44Доступ через Web
Решение Team Plain – оригинально разработано DevBiz
Основные возможности:
Управление Work
Items
Поддержка любых типов Work Items
Доступ ко всем возможностям Work Items, включая: редактирование, выборка по запросу, работа с аттачментами, просмотр истории изменений состояний
Использование старых и создание новых запросов по выборке Work Items
Удобная работа с Документами, включая: check-in, check-out, просмотр истории
Версионный контроль, включая: просмотр, поиск, сравнение, работа с change set
Просмотр отчетов
Проектный dashboard – агрнгированная проектная информация
Работа с построением релизов (builds): стартовать/остановить/удалить, просмотр состояния и результатов
Слайд 45Работа через MS Outlook
Решение компании Personify Design TeamLook http://www.personifydesign.com/products/teamlook/features.aspx
Основные возможности:
Используется безшовная
интегрпция с MS Outlook
Создание Work Items из e-mails и наоборот
Создание e-mail из Work Items
Работа с несколькими TFS проектами одновременно
Возможность просмотра TFS отчетов
Возможность послать TFS отчет по e-mail
Доступ к основным возможностям Team Explorer
Слайд 46CodeGear Delphi & MS TFS integration
Прямая интеграция контроля версий в среду
Delphi
Требуется:
TFS CAL
Team Foundation Server MSSCCI Provider
SourceConneXion плагин для Delphi
Использования клиента Team Explorer
Приобретение TFS CAL
Использование TFS web access (бывшая Devbiz TeamPlain)
Слайд 47 CodeGear Delphi & MS TFS integration
Слайд 48Обзор TFS Proxy
Проблема:
Получение файлов в пользовательское рабочее пространство весьма частая и
затратная операция
Все более популярным является географически распределенная разработка, при этом качество доступа может быть не везде хорошее
Решение:
TFS Proxy – Уменьшает время загрузки при низкоскоростных соединениях
Слайд 49Главный офис
Пример развертывания TFS Proxy
TFS Data Tier
TFS Client
TFS Client
TFS Client
LAN
TFS App
Tier
Удаленный офис
TFS Client
TFS Client
TFS Client
Cached Files
TFS Proxy
Два клиента сконфигурированные для использования TFS proxy
WAN
Клиент не использует TFS Proxy
Слайд 50Пример использования TFS Proxy
The above results are based on the following
test environment
Client and Proxy deployed on the same LAN
Client and Proxy connect to AT over a 3Mbps connection
Слайд 52Заключение
Visual Studio 2005 Team System создана и работает для всей команды;
не только для разработчиков
Все средства и утилиты интегрированы в Visual Studio
Не все члены команды обязаны использовать Visual Studio
Excel, Project, Team Explorer, браузер, инструментарий сторонних производителей
Слайд 53© 2006 Microsoft Corporation. All rights reserved.
This presentation is for informational
purposes only. Microsoft makes no warranties, express or implied, in this summary.