Архитектура: что это?
Download
1 / 62

???????????: ??? ???? - PowerPoint PPT Presentation


  • 153 Views
  • Uploaded on

Архитектура: что это?. Михаил Заборов. Москва, 2013. занимается разработкой. больших ( 40–100 человеко - лет ) корпоративных информационных систем на заказ. Обо мне. >10 лет в компании Участвовал в существенной части проектов компании в качестве руководителя и архитектора

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about '???????????: ??? ????' - doli


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
3502190

Архитектура: что это?

Михаил Заборов

Москва, 2013


3502190

занимается разработкой

больших (40–100 человеко-лет)

корпоративных

информационных системна заказ


3502190
Обо мне

  • >10 лет в компании

  • Участвовалв существенной части проектов компаниив качестве руководителяи архитектора

  • Работаю в одной из групп развития бизнеса


3502190
Вопросы слушателям

  • В какой роли вы соприкасаетесьс архитектурой в своей работе?

    (1. архитектор / 2. аналитик / 3. разработчик / 4. руководитель / ...)

  • Понятно ли вам, что такое архитектура?

    • Конечно, понятно, это 100500 раз описано в стандартах

    • Мне все понятно, но я замечаю, что некоторые имеютв виду что-то другое

    • В теории понятно, а на практике есть проблемы

    • Это Buzzword (как ERP, SOA и т. д.).Все про него говорят, но никто точно не знает, что это

    • У меня есть свое истинное определение

    • Не думал об этом

    • Свой вариант


Buzzword
Архитектура как Buzzword

  • Разговоры с упоминанием архитектуры ведутся постоянно и повсеместно

  • Каждый понимает под этим словом что-то свое

  • Известно несколько сотен формальных определений архитектуры

    • Многие формулировки носят характер скорее эмоциональных высказываний, чем определений

    • Многие определения существенно неполны(описывают только один из аспектов)

  • Существующие стандарты описывают, что такое архитектура, слишком абстрактно и интуитивно


3502190

Когда у нас слишком абстрактное и интуитивное представлениеоб объекте, мы не можем с ним реально ничего сделать.

А если этот объект критически влияет на успех проекта, то мы становимся заложниками случаяи стечения обстоятельств.

Мы не можем существенно влиятьна результат.

!


3502190

Конфуций:

Первейшей задачей управления является выбор правильных названий...

Если названия неверны, то язык не будет соответствовать правде.

Если язык не будет соответствовать правде, тогда вещи не достигнут совершенства.

Если вещи не достигнут совершенства, то церемонии и музыкане будут процветать.

Если церемонии и музыка не будут процветать, то наказания не будут справедливыми.

Если наказания не будут справедливыми, люди не будут знать,что нужно делать.

Поэтому начальник должен давать только такие названия, которые могут быть выражены словами, а приказывать только то, что может быть выполнено на практике.


Archlabs 2009
ArchLabs 2009


Archlabs 20091
ArchLabs 2009


Archlabs 20092
ArchLabs 2009

http://www.slideshare.net/AndreyVerbitsky/ss-2738439


3502190
Наша попытка сформулироватьпонятие об архитектурекак об объекте более строго

  • В какой системе находится

  • С чем взаимодействует

  • Как устроена внутри

  • Какие функции выполняет

  • Каковы последствия от ее отсутствия


3502190
Система,в которой находится архитектура

i

Большая часть терминов заимствована из стандарта ISO/IEC/IEEE 42010


Enterprise architecture
Архитектура приложенияи архитектура предприятия (Enterprise Architecture)

  • ISO/IEC/IEEE 42010

  • IEEE 1471:2000

  • TOGAF

  • Захман

  • FEAF

  • Over 9000


3502190
Схема объектов

Concern

(Интерес)

Concern

Concern

Concern


3502190
Система производства приложения(простой вариант)

Анализ

Выпуск релизов

Анализ

и формализация

Concern

(Интерес)

Concern

Concern

Concern



3502190
Система производства приложения(более сложный вариант)

Дизайн

Выпуск релизов

Анализ

и формализация

Concern

(Интерес)

Concern

Concern

Concern


3502190
Система представленийо внутреннем устройстве приложения

  • Состоит из решений(мы используем термин утверждение)о внутреннем устройстве (конструкции) приложения

  • Решения находятся в отношении зависимости


3502190
Решение B зависит от решения A

  • Изменение A неизбежно влечет за собой пересмотр B

A

Базовое

B

Зависимое (детализирующее)


3502190
Граф решений

Сложнее (дороже) пересматривать

Болеебазовые

Болеедетальные

Проще (дешевле) пересматривать


3502190
Вопрос к аудитории

Какое решение более базовое?

  • Система должна быть кроссплатформенной

  • Система должна бытьнаписана на Java


3502190
Слои графа решений

Граф решений


3502190

Grady Booch, Martin Fowler:

Архитектура – это все решения, которые, сделав однажды, затем трудно изменить.


3502190

Вывод:

Слои архитектуры имеют собственную логику построенияи зависят не только от прихоти архитектора.

!


3502190

Вывод:

Одна из главных задач архитектора – чувствовать последствия решений. (что будет действительно важным,а что нет).

!


3502190
Решения удобно формировать группой (в виде моделей)


3502190
При этом модель может фиксировать решения разных уровней значимости


3502190
Одна из самых важных моделей – фиксировать решения разных уровней значимостисхема функциональных модулей


3502190

Software Engineering Institute: фиксировать решения разных уровней значимости

Архитектура – это структура вычислительной системы, которая включает программные компоненты, внешние свойства этих компонентов, а также отношения между ними.


3502190
Архитектура – сложный фиксировать решения разных уровней значимостиобъект

View

Аспекты

Viewpoint

Слои


3502190
Стандарты по архитектуре фиксировать решения разных уровней значимости (предприятия)

  • Таксономия и образцы моделей

    • Zachman Framework

    • FEAF

    • TEAF

  • Методы разработки архитектуры

    • TOGAF (ADM)

    • FEAF

    • EAP


3502190

Concern фиксировать решения разных уровней значимости

(Интерес)

Concern

Concern

Concern


3502190

Вывод: фиксировать решения разных уровней значимости

У приложения нет архитектуры;она есть у людей, которые его модифицируют.

!


3502190
Соответствие фиксировать решения разных уровней значимостиархитектурыи продукта


3502190
Связь технологии и архитектуры фиксировать решения разных уровней значимости

  • Деятельность архитектора направленана изготовление конкретного (одного) изделия. Архитектура описывает именно его

  • Деятельность технолога направленана повышение эффективности и качества процесса изготовления изделия (обычнодля массовых операций)

  • Технология предоставляет архитектору кирпичи (материал), из которого архитектор может делать все более сложную архитектуру


3502190
Возможность фиксировать решения разных уровней значимостине принимать решение повторно

Решения,определяемыетехнологией


3502190
Функции архитектуры фиксировать решения разных уровней значимостив процессе производства

Изменение системы производства

Δ изменения продукта

Запросна изменение


3502190
Функции архитектуры фиксировать решения разных уровней значимости

  • Используется как модель приложения

  • Нормирование и технологизация работпо проектированию

  • Минимизация рисков

  • Используется как контракт в части SCOPE


3502190
1. фиксировать решения разных уровней значимостиАрхитектура как модель приложения

Модель объекта – это что-то, что позволяет отвечатьна вопросы об объекте


3502190
Декомпозиция работ по изменению фиксировать решения разных уровней значимости

  • Разделение работы на независимые части

  • Запуск параллельных потоков работ

  • Интеграция результатов работ

Подзадача 1

Исходная

задача

Подзадача 2

Подзадача 3

Результат



3502190
Оценка масштаба (класса) предлагаемых изменений

  • Просто или сложно?

http://domvsegda.ru/


3502190
2. предлагаемых измененийНормирование и технологизация работ по проектированию


3502190
Л предлагаемых измененийокализация места модификации приложения


3502190
М предлагаемых измененийинимизация пересмотра принятых ранее решений

Приложения с хорошей архитектурой меньше подвержены постоянным переделкам


3502190

Определение с сайта SEI (какой-то предлагаемых измененийиндус ):

A good architecture is that which is totally secured, which can accommodate future changes without affecting the softwareas a whole, and which has no redundant functionalities.


3502190
М предлагаемых измененийинимизация пересмотра принятых ранее решений

  • Возможность посмотреть вперед и представить, как будет выглядеть изделие в целом

Continuous Refactoring


3502190
Согласование действий проектировщиков

  • Благодаря принятым более высокоуровневым решениям

  • Минимизация объемапроектирования для типовых задач


3502190

Питер проектировщиковХрущка:

Архитектура – способ координировать умы.


3502190
3. проектировщиковМинимизация рисков


3502190
Описание работоспособной конструкции в целом

Нарисованная архитектура – гарантия того, что это вообще будет построено


3502190

Андрей Вербицкий: конструкции в целом

Хорошая архитектура – это удачный компромисс между желаниямии ограничениями.


3502190
Определение ключевых элементов конструкции, обеспечивающих качество продукта

Несущие стены


3502190

Анатолий конструкции, обеспечивающих качество продуктаЛевенчук:

Архитектура – это то, каким образом конструкция поддерживает требуемую функцию/назначение системы.


4 scope
4. конструкции, обеспечивающих качество продуктаАрхитектура как контрактв части SCOPE


3502190
Фиксация назначения и границ продукта

А также задач, которые в принципе могут этим продуктом решаться


3502190
Определение реальных потребительских свойств приложения


3502190

Качество потребительских свойств приложенияархитектуры определяется ее способностью выполнять перечисленные функции.

!


3502190

В результате мы получили модель, которая позволяет вести более содержательные разговоры об архитектуре

Например, задавать вопросы по конкретным функциям и диагностировать проблемыболее точно

«С архитектурой все плохо»


3502190
Типичные проблемы с архитектурой

  • Не отражает актуальное внутреннее устройство приложения

    Не работает как модель приложения

  • Структура модулей – «поперек» возникающих задач

    Не помогает декомпозировать большие задачи

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

    Не помогает локализовать изменения

  • Необходимые изменения в системе требуют постоянного пересмотра базовых решений

    Не обеспечивает минимизацию пересмотра решений

  • «Разношерстные» решения типовых задач

    Не выполняет функцию координации


3502190
Типичные проблемы архитектуройс управлением архитектурой

  • Случайные решения становятся базовыми

    Решение приняли походя, а от него теперь многое зависит. Нет осознанного управления архитектурой

  • Проектировщики нижнего уровняне руководствуются базовыми решениями

    Не выполняется функция нормирования. Теряется целостное представление об устройстве приложения

  • Базовые решения не пересматриваются вовремя

    Воспринимаются как жесткие ограничения. Несмотряна очевидные проблемы при принятии решений на более детальном уровне


3502190

Спасибо! архитектурой

Вопросы?


ad