Анализ существующ ей архитектуры с помощью Visual Studio...

Post on 19-Jan-2016

62 views 0 download

Tags:

description

Анализ существующ ей архитектуры с помощью Visual Studio 2010. Евгений Чигиринский Microsoft. Visualization and Architecture tools in VS 2010. Зачем они нужны ? Для кого они предназначены ? Что они могут делать ?. Зачем?. Сложность существующих систем остается серьезной проблемой - PowerPoint PPT Presentation

transcript

Анализ существующей архитектуры с помощью Visual Studio 2010

Евгений ЧигиринскийMicrosoft

Visualization and Architecture tools in VS 2010

• Зачем они нужны?• Для кого они предназначены?• Что они могут делать?

Зачем?

• Сложность существующих систем остается серьезной проблемой– В коде, архитектуре, ТЗ, структуре

организаций– (этот список можно продолжать до

бесконечности)

Для кого?

• Для разработчиков...– ... которым нужно разобраться в

существующем коде– ... которым нужно быстро и надежно

исправить существующие проблемы и баги.• Для архитекторов...– ... которым нужно делать дизайн

архитектуры или документировать существующие решения

– ... анализировать фактические зависимости между компонентами (модулями) решения

Что они могут делать?

• Visual Studio 2010 предлагает средства разработки для ...– ... улучшения взаимодействия и

коммуникаций между участниками процесса разработки

– ... понимания существующих систем (архитектура и код)

– ... возможности контролировать архитектуру и код в процессе разработки.

Анализ кода и архитектуры

VS 2010 Architecture Tools – подход к решению проблемы

• Необходимы инструменты для понимания:– Архитектуры имеющегося

приложения– Уже имеющегося кода– Внешних компонент и систем, от

которых зависит код (по необходимости)• Чаще всего в виде DLL или EXE

Architecture Explorer

– Визуальное представление артефактов кода:

– UI для составления запросов к отдельным компонентам кода• Запросы могут быть сохранены виде DGQL (digital

graph query language) файлов– Генерация графов зависимости по результатам

запросов

Demo: Architecture Explorer

Диаграммы последовательностей

– Генерация диаграмм последовательностей из кода• Помогает разобраться что делает

незнакомый код• Визуализация зависимостей и вызовов• Визуализация отложенных вызовов (LINQ,

lambdas, и так далее)

– Возможность предлагать и сохранять изменения в дизайне на диаграмме

Demo: Sequence Diagrams

Графы зависимостей

– Используется для анализа кода и визуализации связей между различными артефактами кода приложения (классы, интерфейсы, методы, сборки, и так далее)

– Поддерживается анализ исходного и бинарного кода• Удобно для исследования сборок при

отсутствии исходного кода

– Наглядная документация кода

Язык DGML и графы зависимостей

• DGML – Direct Graph Modeling Language• Текстовый (XML) формат

• Визуализация в Visual Studio 2010

• Может быть использован для визуализации любых зависимостей:

• Визуализация артефактов TFS: http://visualization.codeplex.com

• Визуализация .NET объектов из дампа памяти: Visual GC Root

Demo: Графы зависимостей и DGML

Visual Studio 2010 Ultimate…

• …позволяет провести анализ существующего кода и архитектуры с помощью:– Architecture Explorer– Диаграмм последовательностей– Графов зависимостей

• …помогает улучшить архитектуру в уже существующем решении.

Контроль за процессом разработки

Контроль за процессом разработки

• Обеспечение целостности архитектуры

• Управление кодом

Диаграммы Уровней

• Визуализация архитектуры

• Проверка кода на соответствие архитектуре

Диаграммы Уровней - Шаблоны

• Выбор готовых шаблонов от Microsoft и сообщества архитекторов и разработчиков для диаграмм уровней

• Созданные шаблоны можно использовать всей командой

Проверка кода на соответствие архитектуре

Автоматизация проверки путем интеграции с процессом сборки (через TFS Build)

Demo: Диаграммы уровней и контроль процесса разработки

Visual Studio 2010 Ultimate…

• Предоставляет средства разработки для борьбы с проблемой «разрастания» кода и обеспечения целостности архитектуры:

– Диграммы Уровней (Layer Diagrams)

– Автоматизация процессов ALM путем тесной интеграции с TFS

References• http://msdn.microsoft.com/en-us/library/dd409365.aspx - MSDN:

Visualizing Existing Code. Практическое руководство по визуализации существующего кода из MSDN.

• http://blogs.msdn.com/b/camerons/ - Блог Камеруна Скиннера – руководителя команды Visual Studio 2010 Ultimate

• http://www.lovettsoftware.com/blogengine.net/ - Блог Криса Ловетта – архитектора команды Visual Studio 2010 Ultimate

• http://visualstudiogallery.msdn.microsoft.com/en-us/237f823c-45b4-4f1f-b9e2-607fe66eaae7 – подборка шаблонов диаграмм уровней от команды Patterns & Practices

Q & A