290 likes | 497 Views
SQL 2012 и гибкие методы командной разработки c TFS. Добро пожаловать в команду!. Alexander Yakovlev a-alyako@microsoft.com. Сложности разработки баз данных. Проблемы при изменении базы Сохранение данных, разные целевые версии Совместимость потребителей данных
E N D
SQL 2012 и гибкие методы командной разработки c TFS Добро пожаловать в команду! Alexander Yakovlev a-alyako@microsoft.com
Сложности разработки баз данных • Проблемы при изменении базы • Сохранение данных, разные целевые версии • Совместимость потребителей данных • Синхронизация с версией приложений • Проблемы при командной разработке • Сложности при параллельных изменениях • Отсутствие или слабая история изменений • Оторванность от планирования и контроля работ • Недостаток инструментов контроля качества Track # – Session #
Без чего невозможен Agile? • Хорошая команда • Взаимодействие внутри команды • Непрерывная сборка проекта • Автоматические тесты • Доска работ • Хороший проект Track # – Session #
Добро пожаловать в команду!SQL Server Developer Tools • Единая инфраструктура всего проекта • Совместная работа над проектом БД • Управление работами • Автоматизация сборки • Тестирование баз данных Track # – Session #
Visual Studio forever! Единая инфраструктура проекта
Visual Studio для разработки БД Проблема Решение В едином проекте БД Так же,как и в привычных программных проектах. Сборка, генерация тестовых данных, тестирование баз данных Рефакторинг, сравнение схем, ветки • Где «истинная» схема? • Как вести версии? • Как проводить тестирование? • Как управлять изменениями? Track # – Session #
Жизненный цикл: классика ALM Edit Refactor Compare Deploy Build Database Project Data Gen Test Compare
Visual Studio: единая среда разработки баз данных и приложений • SQL Server Data Tools Visual Studio 10 shell • Visual Studio Premium 11 Beta Track # – Session #
SSDT vsVisual Studio Database Prj Track # – Session #
Демонстрация Scrum проекта Управление работами
Портал проекта Track # – Session #
Команды проекта Track # – Session #
Бэклог продукта, планирование Track # – Session #
Планирование ресурсов Track # – Session #
Доска задач Track # – Session #
Система версионного контроля TFS • Совместная работа нескольких разработчиков • Редактирование разных объектов БД • Объединение изменений в одном объекте • Управление версиями, метками и ветками • Разграничение прав доступа • История изменений, Аннотирование кода • Интеграция с задачами, сборками, политиками • Проверки перед помещением в хранилище Track # – Session #
Demo: Система версионного контроля Track # – Session #
Непрерывная сборка • Преимущества непрерывной интеграции • Совместная работа команды • Материализация знаний • Раннее обнаружение ошибок • Система собираема и готова к поставке • Автоматизация развёртывания • Автоматизация тестирования • Для автотестов необходима автосборка • Поставка итерации при автотестах Track # – Session #
Генерация тестовых данных • Основные инструменты • Генерация данных для таблиц • Генерация по образцу • Генераторы для различных типов полей • String, RegExp, data bound • Можно написать свой собственный генератор • Тонкие настройки генераторов
Автоматическое тестирование • Тестирование SQL запросов • Тестирование процедур • Тестирование функций • Юнит-тесты • Web-тесты • UI-тесты • Нагрузочное тестирование Раннее обнаружение Упрощение рефакторинга Тестирование данных Тестирование вычислений Регрессионное тестирование Генерация нагрузки Track # – Session #
Статический анализ SQL кода Track # – Session #
Lab Management • Моделирование разных сред • Тестирование поставки на разные версии баз данных • Автоматизация развёртывания • Автоматизация тестирования • Автодокументирование дефектов • Сбор журналов IntelliTrace Track # – Session #
IntelliTraceи события ADO.NET Track # – Session #
TFS, Preemtive System Center IntelliTrace Поддержка этапа эксплуатации PRODUCT BACKLOG REQUIREMENTS Sprint Monitor OPS BACKLOG CYCLE TIME Исправление дефектов Track # – Session #
Кто расскажет про неудачные итерации? • Неудачные итерации «откатываются» • Полностью • Частично • Экспериментальные итерации • Остаются «в стороне» • Продолжаются • Комбинируются Только представьте эти сценарии без системы версионного контроля! Track # – Session #
Резюме • Наличие полной инфраструктуры обязательно для гибкой разработки: • Версионный контроль • Управление работами • Автосборки • Автотесты • Поддержка эксплуатации • SQL Server, Visual Studio/SSDT, TFS предлагают полный набор инструментов Track # – Session #
Visual Studio: Meet Any Challenge WindowsAzure WindowsServer