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

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

Upload: chars

Post on 06-Jan-2016

74 views

Category:

Documents


1 download

DESCRIPTION

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

TRANSCRIPT

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

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

Alexander [email protected]

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

2Track # – Session #

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

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

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

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

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

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

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

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

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

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

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

3Track # – Session #

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

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

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

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

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

Доска работ

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

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

4Track # – Session #

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

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

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

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

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

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

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

v

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

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

6Track # – Session #

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

Проблема

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

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

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

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

Решение

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

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

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

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

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

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

DatabaseProject

Edit

Refactor

Compare

Data Gen

Test

Compare

BuildDeploy

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

8Track # – Session #

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

SQL Server Data Tools Visual Studio 10 shell

Visual Studio Premium 11 Beta

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

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

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

v

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

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

11Track # – Session #

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

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

12Track # – Session #

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

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

13Track # – Session #

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

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

14Track # – Session #

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

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

15Track # – Session #

Доска задач

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

16Track # – Session #

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

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

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

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

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

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

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

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

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

17Track # – Session #

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

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

v

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

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

19Track # – Session #

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

String, RegExp, data bound

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

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

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

v

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

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

22Track # – Session #

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

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

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

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

Юнит-тесты

Web-тесты

UI-тесты

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

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

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

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

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

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

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

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

23Track # – Session #

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

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

24Track # – Session #

Lab Management

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

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

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

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

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

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

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

25Track # – Session #

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

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

26Track # – Session #

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

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

CYCLE TIME

PRODUCT BACKLOG

OPS BACKLOG

Sprint Monitor

TFS, Preemtive

System Center

IntelliTrace

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

27Track # – Session #

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

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

Полностью

Частично

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

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

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

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

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

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

28Track # – Session #

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

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

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

Автосборки

Автотесты

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

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

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

Visual Studio: Meet Any Challenge

WindowsAzure

WindowsServer