SQL 2012 и гибкие методы командной разработки c TFS

Preview:

DESCRIPTION

SQL 2012 и гибкие методы командной разработки c TFS. Добро пожаловать в команду!. Alexander Yakovlev a-alyako@microsoft.com. Сложности разработки баз данных. Проблемы при изменении базы Сохранение данных, разные целевые версии Совместимость потребителей данных - PowerPoint PPT Presentation

Citation preview

SQL 2012 И ГИБКИЕ МЕТОДЫ КОМАНДНОЙ РАЗРАБОТКИ C TFSДобро пожаловать в команду!

Alexander Yakovleva-alyako@microsoft.com

2Track # – Session #

Сложности разработки баз данных

Проблемы при изменении базы

Сохранение данных, разные целевые версии

Совместимость потребителей данных

Синхронизация с версией приложений

Проблемы при командной разработке

Сложности при параллельных изменениях

Отсутствие или слабая история изменений

Оторванность от планирования и контроля работ

Недостаток инструментов контроля качества

3Track # – Session #

Без чего невозможен Agile?

Хорошая команда

Взаимодействие внутри команды

Непрерывная сборка проекта

Автоматические тесты

Доска работ

Хороший проект

4Track # – Session #

Добро пожаловать в команду!SQL Server Developer Tools

Единая инфраструктура всего проекта

Совместная работа над проектом БД

Управление работами

Автоматизация сборки

Тестирование баз данных

v

Единая инфраструктура проектаVisual Studio forever!

6Track # – Session #

Visual Studio для разработки БД

Проблема

Где «истинная» схема?

Как вести версии?

Как проводить тестирование?

Как управлять изменениями?

Решение

В едином проекте БД

Так же, как и в привычных программных проектах.

Сборка, генерация тестовых данных, тестирование баз данных

Рефакторинг, сравнение схем, ветки

Жизненный цикл: классика ALM

DatabaseProject

Edit

Refactor

Compare

Data Gen

Test

Compare

BuildDeploy

8Track # – Session #

Visual Studio: единая среда разработки баз данных и приложений

SQL Server Data Tools Visual Studio 10 shell

Visual Studio Premium 11 Beta

9Track # – Session #

SSDT vs Visual Studio Database PrjФункции SSDT VS DB10 VS 11 Beta

SQL 2012, SQL Azure

Database Project

Build & Deploy

Schema Compare

Code Analysis

Source Control

Database Unit Testing ComingSoon

Data Generation, Data Compare ComingSoon

Load Test

v

Управление работамиДемонстрация Scrum проекта

11Track # – Session #

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

12Track # – Session #

Команды проекта

13Track # – Session #

Бэклог продукта, планирование

14Track # – Session #

Планирование ресурсов

15Track # – Session #

Доска задач

16Track # – Session #

Система версионного контроля TFSСовместная работа нескольких разработчиков

Редактирование разных объектов БД

Объединение изменений в одном объекте

Управление версиями, метками и ветками

Разграничение прав доступа

История изменений, Аннотирование кода

Интеграция с задачами, сборками, политиками

Проверки перед помещением в хранилище

17Track # – Session #

Demo: Система версионного контроля

v

Непрерывная сборка

19Track # – Session #

Непрерывная сборка

Преимущества непрерывной интеграции

Совместная работа команды

Материализация знаний

Раннее обнаружение ошибок

Система собираема и готова к поставке

Автоматизация развёртывания

Автоматизация тестирования

Для автотестов необходима автосборка

Поставка итерации при автотестах

Генерация тестовых данных

Основные инструменты

Генерация данных для таблиц

Генерация по образцу

Генераторы для различных типов полей

String, RegExp, data bound

Можно написать свой собственный генератор

Тонкие настройки генераторов

v

Автоматическое тестирование

22Track # – Session #

Автоматическое тестирование

Тестирование SQL запросов

Тестирование процедур

Тестирование функций

Юнит-тесты

Web-тесты

UI-тесты

Нагрузочное тестирование

Раннее обнаружение

Упрощение рефакторинга

Тестирование данных

Тестирование вычислений

Регрессионное тестирование

Генерация нагрузки

23Track # – Session #

Статический анализ SQL кода

24Track # – Session #

Lab Management

Моделирование разных сред

Тестирование поставки на разные версии баз данных

Автоматизация развёртывания

Автоматизация тестирования

Автодокументирование дефектов

Сбор журналов IntelliTrace

25Track # – Session #

IntelliTrace и события ADO.NET

26Track # – Session #

Поддержка этапа эксплуатацииREQUIREMENTS

Исправление дефектов

CYCLE TIME

PRODUCT BACKLOG

OPS BACKLOG

Sprint Monitor

TFS, Preemtive

System Center

IntelliTrace

27Track # – Session #

Кто расскажет про неудачные итерации?

Неудачные итерации «откатываются»

Полностью

Частично

Экспериментальные итерации

Остаются «в стороне»

Продолжаются

Комбинируются

Только представьте эти сценарии без системы версионного контроля!

28Track # – Session #

РезюмеНаличие полной инфраструктуры обязательно для гибкой разработки:

Версионный контроль

Управление работами

Автосборки

Автотесты

Поддержка эксплуатации

SQL Server, Visual Studio/SSDT, TFSпредлагают полный набор инструментов

Visual Studio: Meet Any Challenge

WindowsAzure

WindowsServer

Recommended