Управление жизненным циклом архитектуры

Содержание

Слайд 2

Автор

SharePoint Engineer
Belarus SharePoint User Group Lead.

Автор SharePoint Engineer Belarus SharePoint User Group Lead.

Слайд 3

?

архитектура

? архитектура

Слайд 4

Сдвиг фокуса

«Лучше день потерять, а потом за пять минут долететь» © Гриф

Сдвиг фокуса «Лучше день потерять, а потом за пять минут долететь» © Гриф

Слайд 5

План

Разработка архитектуры
Коммуникация
Внедрение
Контроль
Повторное использование

План Разработка архитектуры Коммуникация Внедрение Контроль Повторное использование

Слайд 6

Да будет свет!

Разработка архитектуры

Да будет свет! Разработка архитектуры

Слайд 7

Разработка архитектуры

Общие принципы
Separation of concerns
Single Responsibility principle
Principle of Least Knowledge
Don’t repeat yourself

Разработка архитектуры Общие принципы Separation of concerns Single Responsibility principle Principle of
(DRY)
Minimize upfront design

Слайд 8

Разработка архитектуры

Положительные особенности SharePoint
Authentication
Authorization
Communication
Deployment
Performance
Data Access API

Разработка архитектуры Положительные особенности SharePoint Authentication Authorization Communication Deployment Performance Data Access API

Слайд 9

Разработка архитектуры

Разработка архитектуры

Слайд 10

Разработка архитектуры

Разделение на слои
Минимум 1 слой (SharePoint Layer)
Максимум N слоев
В среднем –

Разработка архитектуры Разделение на слои Минимум 1 слой (SharePoint Layer) Максимум N
5

Слайд 12

1 SharePoint Layer

Web Parts
Features
Receivers
Timer Jobs
Elements Definitions
Workflows*

1 SharePoint Layer Web Parts Features Receivers Timer Jobs Elements Definitions Workflows*

Слайд 13

1 SharePoint Layer

“Presentation Layer”
User Controls
Application Pages
Альтернатива – самостоятельный слой

1 SharePoint Layer “Presentation Layer” User Controls Application Pages Альтернатива – самостоятельный слой

Слайд 14

1 SharePoint Layer

Он есть всегда
Может состоять из нескольких независимых проектов
Создается c помощью

1 SharePoint Layer Он есть всегда Может состоять из нескольких независимых проектов
VS templates
Содержит единицы развертывания WSP

Слайд 15

2 Domain Logic Layer

Бизнес-требования, переведенные в код

2 Domain Logic Layer Бизнес-требования, переведенные в код

Слайд 16

2 Domain Logic Layer

Создается по мере необходимости
Обычная .NET сборка
Главный субъект модульного тестирования

2 Domain Logic Layer Создается по мере необходимости Обычная .NET сборка Главный субъект модульного тестирования

Слайд 17

3 Data Access Layer

Repository
Row Data Gateway
Table Data Gateway
Active Record
Service Locator

3 Data Access Layer Repository Row Data Gateway Table Data Gateway Active Record Service Locator

Слайд 18

3 Data Access Layer

Создается по мере необходимости
Обычная .NET сборка
Особенно полезна при работе

3 Data Access Layer Создается по мере необходимости Обычная .NET сборка Особенно
с разнородными источниками данных
Может включать логику List Throttling

Слайд 19

4 Domain Entities

SPMetal как основа
Создается сразу
Определения и свойства
Нет методов
Расширена за счет Partial

4 Domain Entities SPMetal как основа Создается сразу Определения и свойства Нет
Class

Слайд 20

4 Domain Entities

Вынесена отдельно
Автогенерация
Нет логики
Но
Может стать ядром Domain Logic Layer
Расширить Partial Class

4 Domain Entities Вынесена отдельно Автогенерация Нет логики Но Может стать ядром
методами

Слайд 21

5 Common Services Layer

2 типа общих сервисов
Хелперы
Shared Services Applications

5 Common Services Layer 2 типа общих сервисов Хелперы Shared Services Applications

Слайд 22

5 Common Services Layer

2 типа общих сервисов
Хелперы
Shared Services Applications (DAL)

5 Common Services Layer 2 типа общих сервисов Хелперы Shared Services Applications (DAL)

Слайд 23

5 Common Services Layer

Constants
GUIDs
Custom Exceptions
Extension Methods

5 Common Services Layer Constants GUIDs Custom Exceptions Extension Methods

Слайд 24

Архитектуру – в массы

Коммуникация

Архитектуру – в массы Коммуникация

Слайд 25

Коммуникация

Заказчик (business people)
Руководитель проекта (ПМ)
Аналитик
Команда разработчиков

Коммуникация Заказчик (business people) Руководитель проекта (ПМ) Аналитик Команда разработчиков

Слайд 26

Коммуникация

Заказчик (business people)
«продажа» архитектурных решений
Совместно с Business Analyst
Обычно с высоты >10 км

Коммуникация Заказчик (business people) «продажа» архитектурных решений Совместно с Business Analyst Обычно
над уровнем моря
Диаграммы компонентов + слоев достаточно
Слайды

Слайд 27

Коммуникация

Аналитик (business analyst)
Объяснение узких мест (риски)
Четкая постановка альтернатив (или/или)
Диаграмма компонентов
Диаграмма вариантов использования
Диаграмма

Коммуникация Аналитик (business analyst) Объяснение узких мест (риски) Четкая постановка альтернатив (или/или)
активностей

Слайд 28

Коммуникация

Команда разработчиков (+ ПМ)
Объяснение основных принципов
Reference Implementation
Architecture Guidance

Коммуникация Команда разработчиков (+ ПМ) Объяснение основных принципов Reference Implementation Architecture Guidance

Слайд 29

Коммуникация

Команда разработчиков (+ ПМ)
Убедиться, что идеи поняты правильно
Убедиться, что идеи приняты и

Коммуникация Команда разработчиков (+ ПМ) Убедиться, что идеи поняты правильно Убедиться, что
будут исполняться
Учесть обратную связь в Architecture Guidance

Слайд 30

Коммуникация

Команда разработчиков (+ ПМ)
Убедиться, что идеи поняты правильно
Убедиться, что идеи приняты и

Коммуникация Команда разработчиков (+ ПМ) Убедиться, что идеи поняты правильно Убедиться, что
будут исполняться
Учесть обратную связь в Architecture Guidance

Слайд 31

Оживление франкенштейна.

Внедрение

Оживление франкенштейна. Внедрение

Слайд 32

Внедрение

Architecture Guidance Document
Допущения
Ограничения
Особенности платформы
Основные паттерны

Внедрение Architecture Guidance Document Допущения Ограничения Особенности платформы Основные паттерны

Слайд 33

Внедрение

Deployment Guidance Document
Обычно – глава в Architecture Guidance
Развертывание
Резервное копирование
Восстановление
Upgrade

Внедрение Deployment Guidance Document Обычно – глава в Architecture Guidance Развертывание Резервное копирование Восстановление Upgrade

Слайд 34

Внедрение

Общие рекомендации
Review + update
Reference Implementations

+

Внедрение Общие рекомендации Review + update Reference Implementations +

Слайд 35

Кто не все – того накажем.

Контроль

Кто не все – того накажем. Контроль

Слайд 36

Контроль

Peer Code Review
Architecture Review

Контроль Peer Code Review Architecture Review

Слайд 37

Контроль

Сделать Reviews частью процесса
Проводить их XP-style
Используйте инструменты (MSVS2010U)
Обновляйте проектную документацию
Заводите «технические истории»
Проводите

Контроль Сделать Reviews частью процесса Проводить их XP-style Используйте инструменты (MSVS2010U) Обновляйте
разбор с командой

Слайд 38

Берегите природу.

Повторное использование

Берегите природу. Повторное использование

Слайд 39

Повторное использование

Общий код
Общий компонент
Managed Metadata Service Application
Workflow Activities

Повторное использование Общий код Общий компонент Managed Metadata Service Application Workflow Activities

Слайд 40

Повторное использование

Reference Implementation
Guidance Documents
Patterns

Повторное использование Reference Implementation Guidance Documents Patterns

Слайд 41

А что у вас есть против оборотней?

Заключение

А что у вас есть против оборотней? Заключение

Слайд 42

Заключение

Не бывает одинаковых проектов, но бывают очень похожие

Заключение Не бывает одинаковых проектов, но бывают очень похожие

Слайд 43

Заключение

Архитектура – это здорово. Но лучше успешный проект с плохой архитектурой, чем

Заключение Архитектура – это здорово. Но лучше успешный проект с плохой архитектурой,
проваленный проект с хорошей.
Имя файла: Управление-жизненным-циклом-архитектуры.pptx
Количество просмотров: 122
Количество скачиваний: 0