SlideShare a Scribd company logo
1 of 88
Download to read offline
23 октября 2014 года 
Понятие архитектуры ПОи управление архитектурным проектированием 
Игорь Беспальчук 
Руководитель проектовдирекции развития технологий 
1/63
Дисциплина “Software Architecture” 
(2010) Состояние дисциплиныархитектурного проектирования(АП): «готово к внедрению» 
Слияние с движениемсистемной инженерии 
ISO/IEC/IEEE 42010:2011, Systemsand softwareengineering – Architecture description 
2/63
The Standish Group Inc., «CHAOS manifesto-2013» 
Практика: печальная статистика 
3/63
4/63
5/63
6/63
7/63
B. Boehm, 2008“The ROI of System Engineering” 
Не отказываться, а научиться? 
Размер проекта(KSLOC) 
Оптимальные затраты на АП*, % 
Снижение затрат за счет АП*,% 
10 
5 
18 
100 
20 
38 
1000 
26 
63 
10000 
33 
92 
*АП –архитектурное проектирование 
8/63
В чем затруднения практиков? 
Сложность предмета 
Неосведомленность о продвижениях дисциплины 
Неготовность учиться 
Мистификации на почве непонимания 
Хорошие программисты →плохие системы 
9/63
«Архитектурная алхимия» 
10/63
Ключевое затруднение 
Без понимания предмета управление невозможно 
Об архитектуре говорят повсеместно, но объяснить не могут 
Картинки зданий – «вот, это архитектура» 
11/63
«Архитектура… 
…это все, что важно» 
…это способ координировать умы» 
…уравновешивает интересы сторон» 
…играет роль договора с заказчиком» 
…оказывает влияние на структуру коллектива» 
12/63
Эволюция представлений о программной архитектуре 
13/63
Связи 
Модули 
Представления данных 
Архитектура 
До 1990-х 
14/63
Дизайн 
Связи 
Модули 
Представления данных 
До 1990-х 
15/63
Дизайн 
Связи 
Модули 
Представления данных 
16/63
Технологии 
Дизайн 
Связи 
Модули 
Представления данных 
Процессы 
Взаимодействия 
Объяснения 
Элементы 
Ограничения 
17/63
Связи 
Объяснения 
Элементы 
Ограничения 
Взаимодействия 
Процессы 
Технологии 
18/63
Low Level (LL) дизайн 
Связи 
каркас 
Объяснения 
Элементы 
Ограничения 
Взаимодействия 
Процессы 
Технологии 
уровень 
Дизайн 
Потребности интересантов 
Потребности интересантов 
Целевая система 
Размещение 
Альтернативы 
Окружение разработки 
Представления 
19/63
Low Level (LL) дизайн 
Связи 
каркас 
Объяснения 
Элементы 
Ограничения 
Взаимодействия 
Процессы 
Технологии 
уровень 
Дизайн 
Потребности интересантов 
Потребности интересантов 
Целевая система 
Размещение 
Альтернативы 
Окружение разработки 
Представления 
Проектные решения 
20/63
ISO 42010 
«Архитектура – фундаментальные концепции или свойства системы в ее окружении, выраженные в ее элементах, отношениях и принципах их проектирования и развития» 
21/63
LL- дизайн 
Связи 
каркас 
Элементы 
Ограничения 
Взаимодействия 
Процессы 
Технологии 
уровень 
Дизайн 
Потребности интересантов 
Потребности интересантов 
Целевая система 
Разные общие структуры 
Размещение 
Окружение разработки 
Описание 
Представления 
Альтернативы 
Объяснения 
Фундаментальныепроектные решения 
22/63
Окружение 
LL- дизайн 
Связи 
каркас 
Элементы 
Ограничения 
Взаимодействия 
Процессы 
Технологии 
уровень 
Дизайн 
Потребности интересантов 
Потребности интересантов 
Целевая система 
Разные общие структуры 
Размещение 
Окружение разработки 
Описание 
Представления 
Альтернативы 
Объяснения 
Фундаментальныепроектные решения 
Концепции 
Свойства 
Принципы проектирования 
фиксация 
трансляция 
23/63
Окружение 
LL- дизайн 
Связи 
каркас 
Элементы 
Ограничения 
Взаимодействия 
Процессы 
Технологии 
уровень 
Дизайн 
Потребности интересантов 
Потребности интересантов 
Целевая система 
Разные общие структуры 
Размещение 
Окружение разработки 
Описание 
Представления 
Альтернативы 
Объяснения 
Фундаментальныепроектные решения 
Концепции 
Свойства 
Принципы проектирования 
фиксация 
трансляция 
24/63
Блеск и нищета ISO42010 
Дает приемлемое определениеи вводит ряд связанных понятий(stakeholder, concern, view, viewpoint…) 
Содержит развернутые рекомендации по описанию архитектуры (и дизайна вообще) 
Очень ценен для задач документирования 
Для задач управления – недостаточно 
25/63
Наводим резкость 
26/63
Содержание архитектуры 
Элементы, модули, связи, структуры, виды, формы, каркасы, разделения, ограничения, интересанты, потребности, окружение, размещение, управление, интерфейсы, слои, артефакты, технологии, статика и динамика, поведение, свойства, отношения, принципы, стили… 
То есть самые разнообразные проектные решения 
Каковы их общие свойства? 
27/63
Содержание архитектуры 
Элементы, модули, связи, структуры, виды, формы, каркасы, разделения, ограничения, интересанты, потребности, окружение, размещение, управление, интерфейсы, слои, артефакты, технологии, статика и динамика, поведение, свойства, отношения, принципы, стили… 
То есть самые разнообразные проектные решения 
Каковы их общие свойства? 
28/63
Зависимость проектных решений 
Решение А зависит от решения B, если A имеет смысл или целесообразно только в том случае, когда принято и актуально решение B 
B 
A 
29/63
Главное про зависимость решений 
Зависимости не бывают цикличны, решения образуют направленный граф(для простоты –«дерево решений») 
Если изменяется некоторое решение, то придется пересмотреть все решения, которые прямо или косвенно зависят от него 
Фундаментальные решения(содержание архитектуры) –решения, от которых зависит слишком многои изменение которыхобойдется слишком дорого 
30/63
Пример 
Система транспортной логистики 
Склады в 100 городах 
Гарантируется интернет-доступ 
Распределенный «клиент-сервер» 
Кросс-платформенный «клиент» 
Нужна работа с оборудованием 
«Клиент» пишем на Java 
Для UI используем JavaFX 
31/63
Пример 
Система транспортной логистики 
Склады в 100 городах 
Гарантируется интернет-доступ 
Распределенный «клиент-сервер» 
Кросс-платформенный «клиент» 
Нужна работа с оборудованием 
«Клиент» пишем на Java 
Для UI используем JavaFX 
«Клиент» делаем под Web 
32/63
Пример 
Система транспортной логистики 
Склады в 100 городах 
Распределенный «клиент-сервер» 
Нужна работа с оборудованием 
«Клиент» пишем на Java 
Гарантируется интернет-доступ 
Файловый и почтовый обмен 
Кросс-платформенный «клиент» 
«Клиент» делаем под Web 
Для UI используем JavaFX 
33/63
Дизайн 
Архитектура 
LL-дизайн 
34/63
Фундаментальные проектные решения 
Детальные проектные решения 
Дизайн 
Архитектура 
LL-дизайн 
35/63
Фундаментальные проектные решения 
Детальные проектные решения 
Дизайн 
Архитектура 
LL-дизайн 
Связи 
Элементы 
Ограничения 
Взаимодействия 
Размещение 
… 
36/63
О чем недоговаривают эксперты 
Мартин Фаулер, 2003: 
Ральф Джонсон, 2003: 
«Архитектура –это все важные решения... Важные решения –это те, по которым эксперт сказал, что они важные» 
«Нет теоретических причин к тому, чтобы какие-то решения в софте было тяжело менять, как в строительстве» 
37/63
Примеры архитектурных решений 
38/63
Арочный свод 
39/63
Арочный свод 
40/63
41/63
Интернет 
Из чего состоит архитектура Интернета? 
Элементы, соединения и топология практически произвольны 
Ключевые решения собраны в стеке протоколовTCP/IP 
Структура гибкая, архитектура –нет! 
42/63
Процессор 
Фредерик Брукс: 
«Архитектура процессора – это его система команд» 
43/63
Hadoop 
В основе –модель вычислений MapReduce 
44/63
Военная кампания 
45/63
Военная кампания 
Стратегия –архитектура действия 
Архитектура –стратегия проектирования 
46/63
Результат прояснения 
Про архитектуру можно разговаривать предметно! 
Выделять конкретные решения 
Показывать, что они фундаментальны для устройства 
И этим обосновывать, что решение входит в архитектуру(и что из этого следует) 
Находить подходящие модели и тексты для наилучшего выражения решений 
Конец архитектурной алхимии 
47/63
Принципы управления архитектурным проектированием 
48/63
Функция архитектуры 
Естественные свойства 
негибкость 
подчинение детальных решений 
Отсюда –функция: направлятьдетальное проектирование 
Стратегия проектирования 
49/63
Как ставить цель архитектору? 
Назначениесистемы 
Атрибуты качества 
Ограничения(включая $ и t) 
Свойства окружения(designtimeи runtime) 
Не любые требования и ограничения! 
Только фундаментальные(нужен анализ) 
50/63
Принцип отражения 
Успешные системы отражают в своем устройстве стабильные свойства среды 
51/63
Принцип отражения 
Успешные системы отражают в своем устройстве стабильные свойства среды 
52/63
Жизненный цикл 
Назначение и качество тоже меняются на жизненном цикле, но медленно и закономерно 
Нужно пониматьдинамику развитиянадсистемы(окружение и производство) 
53/63
Ответственность за архитектуру 
Архитектор или команда? 
НЕ ИМЕЕТ ЗНАЧЕНИЯ! 
До тех пор, пока ответственность не лежит ни на коми архитектуры неткак механизма управления 
54/63
Окружениеэксплуатации 
Производство 
Место и источники архитектуры 
? 
Эксплуата- ционныесвойства 
(runtime) 
Производ- ственныесвойства 
(designtime) 
55/63
Паттерны управленияПозитивныеНегативныеНегативныеНегативныеНегативные 
56/63
Паттерны и антипаттерны 
1.Лима 
2.Скрыта за кодом 
3.Memento 
4.Big Design Up Front 
5.Технический долг 
6.Тайное качество 
7.Башня из слоновой кости 
8.Анархический Agile 
9.Главенство авторитета 
10.Лучший программист 
11.После нас 
12.Отлито из бронзы 
13.Швейцарский нож 
14.Обзор архитектуры 
15.Архитектура для клиента 
57/63
Принципы организации АП 
Современное проектирование должно быть архитектурным! 
Необходимо проявить предмет! 
Ответственность –не важно, на ком, но должна быть! 
Ориентация на назначение и качество на ПЖЦ (а значит –требуется аналитика качества и стратегии развития надсистем)! 
Вплетено в интерактивный цикл детального проектирования 
Своевременный пересмотр архитектуры 
58/63
Резюме 
Управляйте, или «оно» будет управлять вашим проектом. Архитектура в любом случае будет влиять. И никогда не будет гибкой. Сделайте ее инструментом управления 
Для этого –проявите предмет,возложите ответственность, обеспечьте полномочиями и ресурсами.Направляйте на цель (нужен анализ) 
Утвердите и держите в голове понятие: 20% фундаментальных решений, которые потом не пересмотришь, но на которых стоит все остальное.Из понятия все остальное следует 
59/63
Резюме 
Управляйте, или «оно» будет управлять вашим проектом. Архитектура в любом случае будет влиять. И никогда не будет гибкой. Сделайте ее инструментом управления 
Для этого –проявите предмет,возложите ответственность, обеспечьте полномочиями и ресурсами.Направляйте на цель (нужен анализ) 
Утвердите и держите в голове понятие: 20% фундаментальных решений, которые потом не пересмотришь, но на которых стоит все остальное.Из понятия все остальное следует 
60/63
Литература 
P. Kruchten«Ретроспектива программных архитектур» 
Сайт стандарта ISO42010 
L.Bass, et al. «Software Architecture in Practice» 
P.Clements, et al. «Documenting Software Architectures: Views and Beyond» 
Блог А. Левенчука 
M. Fowler «Who Needs an Architect?» 
P. Kruchten«Common Misconceptions about Software Architecture» 
CHAOS manifesto 2013 
D. Garlan«Software Architecture: a Roadmap» 
D.Dikel«Software Architecture: Organizational Principles and Patterns» 
P. Eeles«Что такое архитектура программного обеспечения?» 
Определения архитектуры на сайте SEI 
B. Boehm «The ROI of System Engineering» 
Ф. Брукс «Проектирование процесса проектирования» 
Geek & Poke 
61/63
Расширенный список 
Развитие успешных системне из области инженерии 
Р.Докинз«Эгоистичный ген» 
Т.Кун «Структура научных революций» 
62/63
Спасибо! 
Вопросы? 
Игорь Беспальчук 
ibespalchuk@custis.ru 
http://iamhere.moikrug.ru 
63/63
Каталог паттернов 
64/63
65/63
Лима 
Архитектуры нет(нет целого) 
Про целое ничего нельзя сказать, кроме объема 
66/63
Скрыта за кодом 
Архитектура есть, но «скрыта за кодом»– не проявлена 
Кто-то придумал, остальные постоянно «реверсируют» (с переменным успехом), ответственность потеряна 
Обсуждение предмета невозможно 
67/63
Memento 
68/63
Memento 
Решения не фиксируются, забываются 
Принимаются заново 
Или искажаются из-за потери оснований 
69/63
70/63
Попытка спроектировать все до мелочейи сразу 
Все проектирование произвести до кодирования 
Весь дизайн запихивается в архитектуру 
Big Design Up Front 
71/63
Архитектурное голодание(технический долг) 
Осознание долга есть 
Но с ним ничего не делается 
72/63
73/63
Тайное качество 
Ненаправленностьна требуемое качество или работа на «внутреннее» качество 
Не бывает «внутреннего качества»! то есть такого, которое не обеспечивает внешнее, может быть, на долгом периоде 
Само требуемое качество (как краткосрочное, так и долгосрочное) тоже нуждается в анализе и фиксации 
Здесь же: мода, авангардизм 
74/63
75/63
Башня из слоновой кости 
Архитектор творит нечто, что ему кажется прекрасным 
Всем остальным это непонятно и неудобно 
Сам архитектор при этом «код не пишет» – он выше этого 
76/63
Анархический Agile 
Отрицается любое главенство 
Страшилки Ivory Towerи BDUFкак оружие 
«Мы все равны» 
И поэтому никто не отвечает 
Принцип «равенства» важнее результата 
77/63
Главенство авторитета 
Главенство авторитета над целями 
Переход на личности– сравниваются не решения, а регалии архитекторов 
Статус важнее результата 
78/63
Лучший программист 
Архитектор = самый сильный программист? 
Специфический предмет.Специфический материал и свойства 
Специфические компетенции 
79/63
80/63
После нас –хоть потоп 
Успех оценивается по короткому результату (сдача системы) 
81/63
82/63
Отлито в бронзе 
«Архитектура от старой системы проверена, возьмем для новой системы ее» 
Фрэнк Ллойд Райт: 
«Забудьте обо всех архитектурахмира,если не понимаете того, что они были хороши в своём роде и в своё время» 
83/63
84/63
Швейцарский нож 
Универсальная архитектура – одна на сильно непохожие (но кажущиеся похожими) проекты 
«Там же везде БД, документы, трехзвенка и гриды» 
Неверно выбран масштаб повторного использования, получается сложно и дорого 
Software Product Lines 
85/63
Пара позитивных паттернов 
86/63
Review 
Экспертная оценка архитектуры 
87/63
Архитектура для клиента 
Обсуждение архитектуры с представителями заказчика и другимиинтересантами 
В адекватныхдля них представлениях, отражающих их (различные!) интересы 
88/63

More Related Content

What's hot

Тренды в инженерии требований и управлении требованиями
Тренды в инженерии требований и управлении требованиямиТренды в инженерии требований и управлении требованиями
Тренды в инженерии требований и управлении требованиямиAnatoly Levenchuk
 
С.Ковалёв -- теория категорий как математическое основание MBSE
С.Ковалёв -- теория категорий как математическое основание MBSEС.Ковалёв -- теория категорий как математическое основание MBSE
С.Ковалёв -- теория категорий как математическое основание MBSEAnatoly Levenchuk
 
Тьюториал "Введение в системную инженерию" (14 января 2013)
Тьюториал "Введение в системную инженерию" (14 января 2013)Тьюториал "Введение в системную инженерию" (14 января 2013)
Тьюториал "Введение в системную инженерию" (14 января 2013)Anatoly Levenchuk
 
Леонид Воронцов -- инженерия больших радиоэлектронных систем
Леонид Воронцов -- инженерия больших радиоэлектронных системЛеонид Воронцов -- инженерия больших радиоэлектронных систем
Леонид Воронцов -- инженерия больших радиоэлектронных системAnatoly Levenchuk
 
А.Левенчук -- декомпозиция системы
А.Левенчук -- декомпозиция системыА.Левенчук -- декомпозиция системы
А.Левенчук -- декомпозиция системыAnatoly Levenchuk
 
ITGM #5. System Duality and Its Practical Effect on Business Analysis [1.0, RUS]
ITGM #5. System Duality and Its Practical Effect on Business Analysis [1.0, RUS]ITGM #5. System Duality and Its Practical Effect on Business Analysis [1.0, RUS]
ITGM #5. System Duality and Its Practical Effect on Business Analysis [1.0, RUS]Alex V. Petrov
 
А.Левенчук -- системноинженерное мышление
А.Левенчук -- системноинженерное мышлениеА.Левенчук -- системноинженерное мышление
А.Левенчук -- системноинженерное мышлениеAnatoly Levenchuk
 
STRATOPLAN. Efficient Object-Oriented Design and Structured Quality of Softwa...
STRATOPLAN. Efficient Object-Oriented Design and Structured Quality of Softwa...STRATOPLAN. Efficient Object-Oriented Design and Structured Quality of Softwa...
STRATOPLAN. Efficient Object-Oriented Design and Structured Quality of Softwa...Alex V. Petrov
 
А.Левенчук -- Essence в варианте для системной инженерии
А.Левенчук -- Essence в варианте для системной инженерииА.Левенчук -- Essence в варианте для системной инженерии
А.Левенчук -- Essence в варианте для системной инженерииAnatoly Levenchuk
 
CEE-SECR 2015. Systems Engineering for Software Engineers in Top-Ranking Tech...
CEE-SECR 2015. Systems Engineering for Software Engineers in Top-Ranking Tech...CEE-SECR 2015. Systems Engineering for Software Engineers in Top-Ranking Tech...
CEE-SECR 2015. Systems Engineering for Software Engineers in Top-Ranking Tech...Alex V. Petrov
 
INFOSYSTEMS. How to Measure Software Architecture [1.01, RUS]
INFOSYSTEMS. How to Measure Software Architecture [1.01, RUS]INFOSYSTEMS. How to Measure Software Architecture [1.01, RUS]
INFOSYSTEMS. How to Measure Software Architecture [1.01, RUS]Alex V. Petrov
 
Бизнес и системный анализ весна 2013 лекция 7
Бизнес и системный анализ весна 2013 лекция 7Бизнес и системный анализ весна 2013 лекция 7
Бизнес и системный анализ весна 2013 лекция 7Technopark
 
О.Савин -- Modelica в архитектурном моделировании
О.Савин -- Modelica в архитектурном моделированииО.Савин -- Modelica в архитектурном моделировании
О.Савин -- Modelica в архитектурном моделированииAnatoly Levenchuk
 
Стандартизация предмета системной инженерии
Стандартизация предмета системной инженерииСтандартизация предмета системной инженерии
Стандартизация предмета системной инженерииAnatoly Levenchuk
 
HTP. Business Requirements Elicitation & Documentation [1.01, RUS]
HTP. Business Requirements Elicitation & Documentation [1.01, RUS]HTP. Business Requirements Elicitation & Documentation [1.01, RUS]
HTP. Business Requirements Elicitation & Documentation [1.01, RUS]Alex V. Petrov
 
Что такое системная инженерия
Что такое системная инженерияЧто такое системная инженерия
Что такое системная инженерияAnatoly Levenchuk
 
DEV Labs 2013. Can C++ Code Effeciency Be Comparable to That of Middle-Level ...
DEV Labs 2013. Can C++ Code Effeciency Be Comparable to That of Middle-Level ...DEV Labs 2013. Can C++ Code Effeciency Be Comparable to That of Middle-Level ...
DEV Labs 2013. Can C++ Code Effeciency Be Comparable to That of Middle-Level ...Alex V. Petrov
 
А.Левенчук -- управление жизненным циклом актива
А.Левенчук -- управление жизненным циклом активаА.Левенчук -- управление жизненным циклом актива
А.Левенчук -- управление жизненным циклом активаAnatoly Levenchuk
 
Понятия технологии разработки объектно-ориентированных информационных систем ...
Понятия технологии разработки объектно-ориентированных информационных систем ...Понятия технологии разработки объектно-ориентированных информационных систем ...
Понятия технологии разработки объектно-ориентированных информационных систем ...Aimurat Adilbekov
 

What's hot (20)

Тренды в инженерии требований и управлении требованиями
Тренды в инженерии требований и управлении требованиямиТренды в инженерии требований и управлении требованиями
Тренды в инженерии требований и управлении требованиями
 
С.Ковалёв -- теория категорий как математическое основание MBSE
С.Ковалёв -- теория категорий как математическое основание MBSEС.Ковалёв -- теория категорий как математическое основание MBSE
С.Ковалёв -- теория категорий как математическое основание MBSE
 
Тьюториал "Введение в системную инженерию" (14 января 2013)
Тьюториал "Введение в системную инженерию" (14 января 2013)Тьюториал "Введение в системную инженерию" (14 января 2013)
Тьюториал "Введение в системную инженерию" (14 января 2013)
 
Леонид Воронцов -- инженерия больших радиоэлектронных систем
Леонид Воронцов -- инженерия больших радиоэлектронных системЛеонид Воронцов -- инженерия больших радиоэлектронных систем
Леонид Воронцов -- инженерия больших радиоэлектронных систем
 
Системы систем
Системы системСистемы систем
Системы систем
 
А.Левенчук -- декомпозиция системы
А.Левенчук -- декомпозиция системыА.Левенчук -- декомпозиция системы
А.Левенчук -- декомпозиция системы
 
ITGM #5. System Duality and Its Practical Effect on Business Analysis [1.0, RUS]
ITGM #5. System Duality and Its Practical Effect on Business Analysis [1.0, RUS]ITGM #5. System Duality and Its Practical Effect on Business Analysis [1.0, RUS]
ITGM #5. System Duality and Its Practical Effect on Business Analysis [1.0, RUS]
 
А.Левенчук -- системноинженерное мышление
А.Левенчук -- системноинженерное мышлениеА.Левенчук -- системноинженерное мышление
А.Левенчук -- системноинженерное мышление
 
STRATOPLAN. Efficient Object-Oriented Design and Structured Quality of Softwa...
STRATOPLAN. Efficient Object-Oriented Design and Structured Quality of Softwa...STRATOPLAN. Efficient Object-Oriented Design and Structured Quality of Softwa...
STRATOPLAN. Efficient Object-Oriented Design and Structured Quality of Softwa...
 
А.Левенчук -- Essence в варианте для системной инженерии
А.Левенчук -- Essence в варианте для системной инженерииА.Левенчук -- Essence в варианте для системной инженерии
А.Левенчук -- Essence в варианте для системной инженерии
 
CEE-SECR 2015. Systems Engineering for Software Engineers in Top-Ranking Tech...
CEE-SECR 2015. Systems Engineering for Software Engineers in Top-Ranking Tech...CEE-SECR 2015. Systems Engineering for Software Engineers in Top-Ranking Tech...
CEE-SECR 2015. Systems Engineering for Software Engineers in Top-Ranking Tech...
 
INFOSYSTEMS. How to Measure Software Architecture [1.01, RUS]
INFOSYSTEMS. How to Measure Software Architecture [1.01, RUS]INFOSYSTEMS. How to Measure Software Architecture [1.01, RUS]
INFOSYSTEMS. How to Measure Software Architecture [1.01, RUS]
 
Бизнес и системный анализ весна 2013 лекция 7
Бизнес и системный анализ весна 2013 лекция 7Бизнес и системный анализ весна 2013 лекция 7
Бизнес и системный анализ весна 2013 лекция 7
 
О.Савин -- Modelica в архитектурном моделировании
О.Савин -- Modelica в архитектурном моделированииО.Савин -- Modelica в архитектурном моделировании
О.Савин -- Modelica в архитектурном моделировании
 
Стандартизация предмета системной инженерии
Стандартизация предмета системной инженерииСтандартизация предмета системной инженерии
Стандартизация предмета системной инженерии
 
HTP. Business Requirements Elicitation & Documentation [1.01, RUS]
HTP. Business Requirements Elicitation & Documentation [1.01, RUS]HTP. Business Requirements Elicitation & Documentation [1.01, RUS]
HTP. Business Requirements Elicitation & Documentation [1.01, RUS]
 
Что такое системная инженерия
Что такое системная инженерияЧто такое системная инженерия
Что такое системная инженерия
 
DEV Labs 2013. Can C++ Code Effeciency Be Comparable to That of Middle-Level ...
DEV Labs 2013. Can C++ Code Effeciency Be Comparable to That of Middle-Level ...DEV Labs 2013. Can C++ Code Effeciency Be Comparable to That of Middle-Level ...
DEV Labs 2013. Can C++ Code Effeciency Be Comparable to That of Middle-Level ...
 
А.Левенчук -- управление жизненным циклом актива
А.Левенчук -- управление жизненным циклом активаА.Левенчук -- управление жизненным циклом актива
А.Левенчук -- управление жизненным циклом актива
 
Понятия технологии разработки объектно-ориентированных информационных систем ...
Понятия технологии разработки объектно-ориентированных информационных систем ...Понятия технологии разработки объектно-ориентированных информационных систем ...
Понятия технологии разработки объектно-ориентированных информационных систем ...
 

Similar to Понятие архитектуры ПО и управление архитектурным проектированием

Архитектура ПО: управляя самым важным
Архитектура ПО: управляя самым важнымАрхитектура ПО: управляя самым важным
Архитектура ПО: управляя самым важнымCUSTIS
 
Бизнес весна 2014 лекция 3
Бизнес весна 2014 лекция 3Бизнес весна 2014 лекция 3
Бизнес весна 2014 лекция 3Technopark
 
2013-04-06 01 Максим Юнусов. Архитектура в agile-проекте
2013-04-06 01 Максим Юнусов. Архитектура в agile-проекте2013-04-06 01 Максим Юнусов. Архитектура в agile-проекте
2013-04-06 01 Максим Юнусов. Архитектура в agile-проектеОмские ИТ-субботники
 
Архитектура в Agile проекте
Архитектура в Agile проектеАрхитектура в Agile проекте
Архитектура в Agile проектеLuxoftTraining
 
Доклад и реферат по теме системной инженерии "Управление архитектурой при про...
Доклад и реферат по теме системной инженерии "Управление архитектурой при про...Доклад и реферат по теме системной инженерии "Управление архитектурой при про...
Доклад и реферат по теме системной инженерии "Управление архитектурой при про...Anatoly Simkin
 
Системная инженерия: вызовы времени По результатам конференции RuSEC2010
Системная инженерия: вызовы времени По результатам конференции RuSEC2010Системная инженерия: вызовы времени По результатам конференции RuSEC2010
Системная инженерия: вызовы времени По результатам конференции RuSEC2010Marcus Akoev
 
Системный архитектор и поиск нирваны
Системный архитектор и поиск нирваныСистемный архитектор и поиск нирваны
Системный архитектор и поиск нирваныYehor Churilov
 
«Шустрый» дизайн: подходы к декомпозиции проектирования взаимодействия в Agil...
«Шустрый» дизайн: подходы к декомпозиции проектирования взаимодействия в Agil...«Шустрый» дизайн: подходы к декомпозиции проектирования взаимодействия в Agil...
«Шустрый» дизайн: подходы к декомпозиции проектирования взаимодействия в Agil...Andrew Shapiro
 
Архитектура в IT: философия и практика
Архитектура в IT: философия и практикаАрхитектура в IT: философия и практика
Архитектура в IT: философия и практикаCUSTIS
 
Roles happy dev-2013-tsepkov
Roles happy dev-2013-tsepkovRoles happy dev-2013-tsepkov
Roles happy dev-2013-tsepkovMaxim Tsepkov
 
В.Мизгулин -- программа магистратуры по системной инженерии
В.Мизгулин -- программа магистратуры по системной инженерииВ.Мизгулин -- программа магистратуры по системной инженерии
В.Мизгулин -- программа магистратуры по системной инженерииAnatoly Levenchuk
 
Как выбрать для проекта практики проектирования и работы с требованиями
Как выбрать для проекта практики проектирования и работы с требованиямиКак выбрать для проекта практики проектирования и работы с требованиями
Как выбрать для проекта практики проектирования и работы с требованиямиSQALab
 
Как выбрать для проекта практики проектирования и работы с требованиями
Как выбрать для проекта практики проектирования и работы с требованиямиКак выбрать для проекта практики проектирования и работы с требованиями
Как выбрать для проекта практики проектирования и работы с требованиямиCUSTIS
 
Choose method for requirements Tsepkov Analyst Days-2017
Choose method for requirements Tsepkov Analyst Days-2017Choose method for requirements Tsepkov Analyst Days-2017
Choose method for requirements Tsepkov Analyst Days-2017Maxim Tsepkov
 
Cистемная инженерия безопасности объектов недвижимости и бизнес-процессов.
Cистемная инженерия безопасности объектов недвижимости и бизнес-процессов.Cистемная инженерия безопасности объектов недвижимости и бизнес-процессов.
Cистемная инженерия безопасности объектов недвижимости и бизнес-процессов.Yuri Bubnov
 
«Шустрый дизайн: подходы к декомпозиции задач проектирования UI в Agile-коман...
«Шустрый дизайн: подходы к декомпозиции задач проектирования UI в Agile-коман...«Шустрый дизайн: подходы к декомпозиции задач проектирования UI в Agile-коман...
«Шустрый дизайн: подходы к декомпозиции задач проектирования UI в Agile-коман...Nikita Filippov
 
Cradle. Знакомство с Demo проектом
Cradle. Знакомство с Demo проектомCradle. Знакомство с Demo проектом
Cradle. Знакомство с Demo проектомYulia Madorskaya
 
А.Левенчук -- Будущее проектирования
А.Левенчук -- Будущее проектированияА.Левенчук -- Будущее проектирования
А.Левенчук -- Будущее проектированияAnatoly Levenchuk
 

Similar to Понятие архитектуры ПО и управление архитектурным проектированием (20)

Архитектура ПО: управляя самым важным
Архитектура ПО: управляя самым важнымАрхитектура ПО: управляя самым важным
Архитектура ПО: управляя самым важным
 
Архитектура - что это?
Архитектура - что это?Архитектура - что это?
Архитектура - что это?
 
Бизнес весна 2014 лекция 3
Бизнес весна 2014 лекция 3Бизнес весна 2014 лекция 3
Бизнес весна 2014 лекция 3
 
2013-04-06 01 Максим Юнусов. Архитектура в agile-проекте
2013-04-06 01 Максим Юнусов. Архитектура в agile-проекте2013-04-06 01 Максим Юнусов. Архитектура в agile-проекте
2013-04-06 01 Максим Юнусов. Архитектура в agile-проекте
 
Архитектура в Agile проекте
Архитектура в Agile проектеАрхитектура в Agile проекте
Архитектура в Agile проекте
 
Доклад и реферат по теме системной инженерии "Управление архитектурой при про...
Доклад и реферат по теме системной инженерии "Управление архитектурой при про...Доклад и реферат по теме системной инженерии "Управление архитектурой при про...
Доклад и реферат по теме системной инженерии "Управление архитектурой при про...
 
Системная инженерия: вызовы времени По результатам конференции RuSEC2010
Системная инженерия: вызовы времени По результатам конференции RuSEC2010Системная инженерия: вызовы времени По результатам конференции RuSEC2010
Системная инженерия: вызовы времени По результатам конференции RuSEC2010
 
ПВПС
ПВПСПВПС
ПВПС
 
Системный архитектор и поиск нирваны
Системный архитектор и поиск нирваныСистемный архитектор и поиск нирваны
Системный архитектор и поиск нирваны
 
«Шустрый» дизайн: подходы к декомпозиции проектирования взаимодействия в Agil...
«Шустрый» дизайн: подходы к декомпозиции проектирования взаимодействия в Agil...«Шустрый» дизайн: подходы к декомпозиции проектирования взаимодействия в Agil...
«Шустрый» дизайн: подходы к декомпозиции проектирования взаимодействия в Agil...
 
Архитектура в IT: философия и практика
Архитектура в IT: философия и практикаАрхитектура в IT: философия и практика
Архитектура в IT: философия и практика
 
Roles happy dev-2013-tsepkov
Roles happy dev-2013-tsepkovRoles happy dev-2013-tsepkov
Roles happy dev-2013-tsepkov
 
В.Мизгулин -- программа магистратуры по системной инженерии
В.Мизгулин -- программа магистратуры по системной инженерииВ.Мизгулин -- программа магистратуры по системной инженерии
В.Мизгулин -- программа магистратуры по системной инженерии
 
Как выбрать для проекта практики проектирования и работы с требованиями
Как выбрать для проекта практики проектирования и работы с требованиямиКак выбрать для проекта практики проектирования и работы с требованиями
Как выбрать для проекта практики проектирования и работы с требованиями
 
Как выбрать для проекта практики проектирования и работы с требованиями
Как выбрать для проекта практики проектирования и работы с требованиямиКак выбрать для проекта практики проектирования и работы с требованиями
Как выбрать для проекта практики проектирования и работы с требованиями
 
Choose method for requirements Tsepkov Analyst Days-2017
Choose method for requirements Tsepkov Analyst Days-2017Choose method for requirements Tsepkov Analyst Days-2017
Choose method for requirements Tsepkov Analyst Days-2017
 
Cистемная инженерия безопасности объектов недвижимости и бизнес-процессов.
Cистемная инженерия безопасности объектов недвижимости и бизнес-процессов.Cистемная инженерия безопасности объектов недвижимости и бизнес-процессов.
Cистемная инженерия безопасности объектов недвижимости и бизнес-процессов.
 
«Шустрый дизайн: подходы к декомпозиции задач проектирования UI в Agile-коман...
«Шустрый дизайн: подходы к декомпозиции задач проектирования UI в Agile-коман...«Шустрый дизайн: подходы к декомпозиции задач проектирования UI в Agile-коман...
«Шустрый дизайн: подходы к декомпозиции задач проектирования UI в Agile-коман...
 
Cradle. Знакомство с Demo проектом
Cradle. Знакомство с Demo проектомCradle. Знакомство с Demo проектом
Cradle. Знакомство с Demo проектом
 
А.Левенчук -- Будущее проектирования
А.Левенчук -- Будущее проектированияА.Левенчук -- Будущее проектирования
А.Левенчук -- Будущее проектирования
 

More from CUSTIS

Три истории микросервисов, или MSA для Enterprise
Три истории микросервисов, или MSA для EnterpriseТри истории микросервисов, или MSA для Enterprise
Три истории микросервисов, или MSA для EnterpriseCUSTIS
 
Долгоживущие ИТ в динамичном ритейле
Долгоживущие ИТ в динамичном ритейлеДолгоживущие ИТ в динамичном ритейле
Долгоживущие ИТ в динамичном ритейлеCUSTIS
 
Будущее уже наступило: от Agile к бирюзовым организациям
Будущее уже наступило: от Agile к бирюзовым организациямБудущее уже наступило: от Agile к бирюзовым организациям
Будущее уже наступило: от Agile к бирюзовым организациямCUSTIS
 
Диаграммы учета как средство для наглядного и целостного отображения правил у...
Диаграммы учета как средство для наглядного и целостного отображения правил у...Диаграммы учета как средство для наглядного и целостного отображения правил у...
Диаграммы учета как средство для наглядного и целостного отображения правил у...CUSTIS
 
Сотрудничество с корпорациями: рецепты из практики
Сотрудничество с корпорациями: рецепты из практикиСотрудничество с корпорациями: рецепты из практики
Сотрудничество с корпорациями: рецепты из практикиCUSTIS
 
Agile — ответ на вызовы третьей промышленной революции
Agile — ответ на вызовы третьей промышленной революцииAgile — ответ на вызовы третьей промышленной революции
Agile — ответ на вызовы третьей промышленной революцииCUSTIS
 
Опыт построения микросервисной архитектуры в цифровом банке
Опыт построения микросервисной архитектуры в цифровом банкеОпыт построения микросервисной архитектуры в цифровом банке
Опыт построения микросервисной архитектуры в цифровом банкеCUSTIS
 
Золотая лихорадка MSA: почему нам не подошли микросервисы?
Золотая лихорадка MSA: почему нам не подошли микросервисы?Золотая лихорадка MSA: почему нам не подошли микросервисы?
Золотая лихорадка MSA: почему нам не подошли микросервисы?CUSTIS
 
Барьеры микросервисной архитектуры
Барьеры микросервисной архитектурыБарьеры микросервисной архитектуры
Барьеры микросервисной архитектурыCUSTIS
 
Три истории микросервисов
Три истории микросервисовТри истории микросервисов
Три истории микросервисовCUSTIS
 
От монолитных моделей предметной области — к модульным
От монолитных моделей предметной области — к модульнымОт монолитных моделей предметной области — к модульным
От монолитных моделей предметной области — к модульнымCUSTIS
 
Проблемы управления правами доступа к информационным системам крупной торгово...
Проблемы управления правами доступа к информационным системам крупной торгово...Проблемы управления правами доступа к информационным системам крупной торгово...
Проблемы управления правами доступа к информационным системам крупной торгово...CUSTIS
 
Будущее omni-channel маркетинга: инструменты, кейсы и цифры
Будущее omni-channel маркетинга: инструменты, кейсы и цифрыБудущее omni-channel маркетинга: инструменты, кейсы и цифры
Будущее omni-channel маркетинга: инструменты, кейсы и цифрыCUSTIS
 
Agile и управление знаниями в ИТ-проектах
Agile и управление знаниями в ИТ-проектахAgile и управление знаниями в ИТ-проектах
Agile и управление знаниями в ИТ-проектахCUSTIS
 
State of the .Net Performance
State of the .Net PerformanceState of the .Net Performance
State of the .Net PerformanceCUSTIS
 
Ответственность за качество в разных ИТ-проектах: в чем она и как ее разделять
Ответственность за качество в разных ИТ-проектах: в чем она и как ее разделятьОтветственность за качество в разных ИТ-проектах: в чем она и как ее разделять
Ответственность за качество в разных ИТ-проектах: в чем она и как ее разделятьCUSTIS
 
Опыт применения метода ATAM для оценки архитектуры
Опыт применения метода ATAM для оценки архитектурыОпыт применения метода ATAM для оценки архитектуры
Опыт применения метода ATAM для оценки архитектурыCUSTIS
 
Гибридный подход к управлению правами доступа: когда стандартного IDM не хватает
Гибридный подход к управлению правами доступа: когда стандартного IDM не хватаетГибридный подход к управлению правами доступа: когда стандартного IDM не хватает
Гибридный подход к управлению правами доступа: когда стандартного IDM не хватаетCUSTIS
 
Собираем кубик Рубика: восстановление архитектурного описания корпоративной р...
Собираем кубик Рубика: восстановление архитектурного описания корпоративной р...Собираем кубик Рубика: восстановление архитектурного описания корпоративной р...
Собираем кубик Рубика: восстановление архитектурного описания корпоративной р...CUSTIS
 
Process и Case Management в информационной системе: от автоматизации As Is к ...
Process и Case Management в информационной системе: от автоматизации As Is к ...Process и Case Management в информационной системе: от автоматизации As Is к ...
Process и Case Management в информационной системе: от автоматизации As Is к ...CUSTIS
 

More from CUSTIS (20)

Три истории микросервисов, или MSA для Enterprise
Три истории микросервисов, или MSA для EnterpriseТри истории микросервисов, или MSA для Enterprise
Три истории микросервисов, или MSA для Enterprise
 
Долгоживущие ИТ в динамичном ритейле
Долгоживущие ИТ в динамичном ритейлеДолгоживущие ИТ в динамичном ритейле
Долгоживущие ИТ в динамичном ритейле
 
Будущее уже наступило: от Agile к бирюзовым организациям
Будущее уже наступило: от Agile к бирюзовым организациямБудущее уже наступило: от Agile к бирюзовым организациям
Будущее уже наступило: от Agile к бирюзовым организациям
 
Диаграммы учета как средство для наглядного и целостного отображения правил у...
Диаграммы учета как средство для наглядного и целостного отображения правил у...Диаграммы учета как средство для наглядного и целостного отображения правил у...
Диаграммы учета как средство для наглядного и целостного отображения правил у...
 
Сотрудничество с корпорациями: рецепты из практики
Сотрудничество с корпорациями: рецепты из практикиСотрудничество с корпорациями: рецепты из практики
Сотрудничество с корпорациями: рецепты из практики
 
Agile — ответ на вызовы третьей промышленной революции
Agile — ответ на вызовы третьей промышленной революцииAgile — ответ на вызовы третьей промышленной революции
Agile — ответ на вызовы третьей промышленной революции
 
Опыт построения микросервисной архитектуры в цифровом банке
Опыт построения микросервисной архитектуры в цифровом банкеОпыт построения микросервисной архитектуры в цифровом банке
Опыт построения микросервисной архитектуры в цифровом банке
 
Золотая лихорадка MSA: почему нам не подошли микросервисы?
Золотая лихорадка MSA: почему нам не подошли микросервисы?Золотая лихорадка MSA: почему нам не подошли микросервисы?
Золотая лихорадка MSA: почему нам не подошли микросервисы?
 
Барьеры микросервисной архитектуры
Барьеры микросервисной архитектурыБарьеры микросервисной архитектуры
Барьеры микросервисной архитектуры
 
Три истории микросервисов
Три истории микросервисовТри истории микросервисов
Три истории микросервисов
 
От монолитных моделей предметной области — к модульным
От монолитных моделей предметной области — к модульнымОт монолитных моделей предметной области — к модульным
От монолитных моделей предметной области — к модульным
 
Проблемы управления правами доступа к информационным системам крупной торгово...
Проблемы управления правами доступа к информационным системам крупной торгово...Проблемы управления правами доступа к информационным системам крупной торгово...
Проблемы управления правами доступа к информационным системам крупной торгово...
 
Будущее omni-channel маркетинга: инструменты, кейсы и цифры
Будущее omni-channel маркетинга: инструменты, кейсы и цифрыБудущее omni-channel маркетинга: инструменты, кейсы и цифры
Будущее omni-channel маркетинга: инструменты, кейсы и цифры
 
Agile и управление знаниями в ИТ-проектах
Agile и управление знаниями в ИТ-проектахAgile и управление знаниями в ИТ-проектах
Agile и управление знаниями в ИТ-проектах
 
State of the .Net Performance
State of the .Net PerformanceState of the .Net Performance
State of the .Net Performance
 
Ответственность за качество в разных ИТ-проектах: в чем она и как ее разделять
Ответственность за качество в разных ИТ-проектах: в чем она и как ее разделятьОтветственность за качество в разных ИТ-проектах: в чем она и как ее разделять
Ответственность за качество в разных ИТ-проектах: в чем она и как ее разделять
 
Опыт применения метода ATAM для оценки архитектуры
Опыт применения метода ATAM для оценки архитектурыОпыт применения метода ATAM для оценки архитектуры
Опыт применения метода ATAM для оценки архитектуры
 
Гибридный подход к управлению правами доступа: когда стандартного IDM не хватает
Гибридный подход к управлению правами доступа: когда стандартного IDM не хватаетГибридный подход к управлению правами доступа: когда стандартного IDM не хватает
Гибридный подход к управлению правами доступа: когда стандартного IDM не хватает
 
Собираем кубик Рубика: восстановление архитектурного описания корпоративной р...
Собираем кубик Рубика: восстановление архитектурного описания корпоративной р...Собираем кубик Рубика: восстановление архитектурного описания корпоративной р...
Собираем кубик Рубика: восстановление архитектурного описания корпоративной р...
 
Process и Case Management в информационной системе: от автоматизации As Is к ...
Process и Case Management в информационной системе: от автоматизации As Is к ...Process и Case Management в информационной системе: от автоматизации As Is к ...
Process и Case Management в информационной системе: от автоматизации As Is к ...
 

Понятие архитектуры ПО и управление архитектурным проектированием

  • 1. 23 октября 2014 года Понятие архитектуры ПОи управление архитектурным проектированием Игорь Беспальчук Руководитель проектовдирекции развития технологий 1/63
  • 2. Дисциплина “Software Architecture” (2010) Состояние дисциплиныархитектурного проектирования(АП): «готово к внедрению» Слияние с движениемсистемной инженерии ISO/IEC/IEEE 42010:2011, Systemsand softwareengineering – Architecture description 2/63
  • 3. The Standish Group Inc., «CHAOS manifesto-2013» Практика: печальная статистика 3/63
  • 8. B. Boehm, 2008“The ROI of System Engineering” Не отказываться, а научиться? Размер проекта(KSLOC) Оптимальные затраты на АП*, % Снижение затрат за счет АП*,% 10 5 18 100 20 38 1000 26 63 10000 33 92 *АП –архитектурное проектирование 8/63
  • 9. В чем затруднения практиков? Сложность предмета Неосведомленность о продвижениях дисциплины Неготовность учиться Мистификации на почве непонимания Хорошие программисты →плохие системы 9/63
  • 11. Ключевое затруднение Без понимания предмета управление невозможно Об архитектуре говорят повсеместно, но объяснить не могут Картинки зданий – «вот, это архитектура» 11/63
  • 12. «Архитектура… …это все, что важно» …это способ координировать умы» …уравновешивает интересы сторон» …играет роль договора с заказчиком» …оказывает влияние на структуру коллектива» 12/63
  • 13. Эволюция представлений о программной архитектуре 13/63
  • 14. Связи Модули Представления данных Архитектура До 1990-х 14/63
  • 15. Дизайн Связи Модули Представления данных До 1990-х 15/63
  • 16. Дизайн Связи Модули Представления данных 16/63
  • 17. Технологии Дизайн Связи Модули Представления данных Процессы Взаимодействия Объяснения Элементы Ограничения 17/63
  • 18. Связи Объяснения Элементы Ограничения Взаимодействия Процессы Технологии 18/63
  • 19. Low Level (LL) дизайн Связи каркас Объяснения Элементы Ограничения Взаимодействия Процессы Технологии уровень Дизайн Потребности интересантов Потребности интересантов Целевая система Размещение Альтернативы Окружение разработки Представления 19/63
  • 20. Low Level (LL) дизайн Связи каркас Объяснения Элементы Ограничения Взаимодействия Процессы Технологии уровень Дизайн Потребности интересантов Потребности интересантов Целевая система Размещение Альтернативы Окружение разработки Представления Проектные решения 20/63
  • 21. ISO 42010 «Архитектура – фундаментальные концепции или свойства системы в ее окружении, выраженные в ее элементах, отношениях и принципах их проектирования и развития» 21/63
  • 22. LL- дизайн Связи каркас Элементы Ограничения Взаимодействия Процессы Технологии уровень Дизайн Потребности интересантов Потребности интересантов Целевая система Разные общие структуры Размещение Окружение разработки Описание Представления Альтернативы Объяснения Фундаментальныепроектные решения 22/63
  • 23. Окружение LL- дизайн Связи каркас Элементы Ограничения Взаимодействия Процессы Технологии уровень Дизайн Потребности интересантов Потребности интересантов Целевая система Разные общие структуры Размещение Окружение разработки Описание Представления Альтернативы Объяснения Фундаментальныепроектные решения Концепции Свойства Принципы проектирования фиксация трансляция 23/63
  • 24. Окружение LL- дизайн Связи каркас Элементы Ограничения Взаимодействия Процессы Технологии уровень Дизайн Потребности интересантов Потребности интересантов Целевая система Разные общие структуры Размещение Окружение разработки Описание Представления Альтернативы Объяснения Фундаментальныепроектные решения Концепции Свойства Принципы проектирования фиксация трансляция 24/63
  • 25. Блеск и нищета ISO42010 Дает приемлемое определениеи вводит ряд связанных понятий(stakeholder, concern, view, viewpoint…) Содержит развернутые рекомендации по описанию архитектуры (и дизайна вообще) Очень ценен для задач документирования Для задач управления – недостаточно 25/63
  • 27. Содержание архитектуры Элементы, модули, связи, структуры, виды, формы, каркасы, разделения, ограничения, интересанты, потребности, окружение, размещение, управление, интерфейсы, слои, артефакты, технологии, статика и динамика, поведение, свойства, отношения, принципы, стили… То есть самые разнообразные проектные решения Каковы их общие свойства? 27/63
  • 28. Содержание архитектуры Элементы, модули, связи, структуры, виды, формы, каркасы, разделения, ограничения, интересанты, потребности, окружение, размещение, управление, интерфейсы, слои, артефакты, технологии, статика и динамика, поведение, свойства, отношения, принципы, стили… То есть самые разнообразные проектные решения Каковы их общие свойства? 28/63
  • 29. Зависимость проектных решений Решение А зависит от решения B, если A имеет смысл или целесообразно только в том случае, когда принято и актуально решение B B A 29/63
  • 30. Главное про зависимость решений Зависимости не бывают цикличны, решения образуют направленный граф(для простоты –«дерево решений») Если изменяется некоторое решение, то придется пересмотреть все решения, которые прямо или косвенно зависят от него Фундаментальные решения(содержание архитектуры) –решения, от которых зависит слишком многои изменение которыхобойдется слишком дорого 30/63
  • 31. Пример Система транспортной логистики Склады в 100 городах Гарантируется интернет-доступ Распределенный «клиент-сервер» Кросс-платформенный «клиент» Нужна работа с оборудованием «Клиент» пишем на Java Для UI используем JavaFX 31/63
  • 32. Пример Система транспортной логистики Склады в 100 городах Гарантируется интернет-доступ Распределенный «клиент-сервер» Кросс-платформенный «клиент» Нужна работа с оборудованием «Клиент» пишем на Java Для UI используем JavaFX «Клиент» делаем под Web 32/63
  • 33. Пример Система транспортной логистики Склады в 100 городах Распределенный «клиент-сервер» Нужна работа с оборудованием «Клиент» пишем на Java Гарантируется интернет-доступ Файловый и почтовый обмен Кросс-платформенный «клиент» «Клиент» делаем под Web Для UI используем JavaFX 33/63
  • 35. Фундаментальные проектные решения Детальные проектные решения Дизайн Архитектура LL-дизайн 35/63
  • 36. Фундаментальные проектные решения Детальные проектные решения Дизайн Архитектура LL-дизайн Связи Элементы Ограничения Взаимодействия Размещение … 36/63
  • 37. О чем недоговаривают эксперты Мартин Фаулер, 2003: Ральф Джонсон, 2003: «Архитектура –это все важные решения... Важные решения –это те, по которым эксперт сказал, что они важные» «Нет теоретических причин к тому, чтобы какие-то решения в софте было тяжело менять, как в строительстве» 37/63
  • 41. 41/63
  • 42. Интернет Из чего состоит архитектура Интернета? Элементы, соединения и топология практически произвольны Ключевые решения собраны в стеке протоколовTCP/IP Структура гибкая, архитектура –нет! 42/63
  • 43. Процессор Фредерик Брукс: «Архитектура процессора – это его система команд» 43/63
  • 44. Hadoop В основе –модель вычислений MapReduce 44/63
  • 46. Военная кампания Стратегия –архитектура действия Архитектура –стратегия проектирования 46/63
  • 47. Результат прояснения Про архитектуру можно разговаривать предметно! Выделять конкретные решения Показывать, что они фундаментальны для устройства И этим обосновывать, что решение входит в архитектуру(и что из этого следует) Находить подходящие модели и тексты для наилучшего выражения решений Конец архитектурной алхимии 47/63
  • 49. Функция архитектуры Естественные свойства негибкость подчинение детальных решений Отсюда –функция: направлятьдетальное проектирование Стратегия проектирования 49/63
  • 50. Как ставить цель архитектору? Назначениесистемы Атрибуты качества Ограничения(включая $ и t) Свойства окружения(designtimeи runtime) Не любые требования и ограничения! Только фундаментальные(нужен анализ) 50/63
  • 51. Принцип отражения Успешные системы отражают в своем устройстве стабильные свойства среды 51/63
  • 52. Принцип отражения Успешные системы отражают в своем устройстве стабильные свойства среды 52/63
  • 53. Жизненный цикл Назначение и качество тоже меняются на жизненном цикле, но медленно и закономерно Нужно пониматьдинамику развитиянадсистемы(окружение и производство) 53/63
  • 54. Ответственность за архитектуру Архитектор или команда? НЕ ИМЕЕТ ЗНАЧЕНИЯ! До тех пор, пока ответственность не лежит ни на коми архитектуры неткак механизма управления 54/63
  • 55. Окружениеэксплуатации Производство Место и источники архитектуры ? Эксплуата- ционныесвойства (runtime) Производ- ственныесвойства (designtime) 55/63
  • 57. Паттерны и антипаттерны 1.Лима 2.Скрыта за кодом 3.Memento 4.Big Design Up Front 5.Технический долг 6.Тайное качество 7.Башня из слоновой кости 8.Анархический Agile 9.Главенство авторитета 10.Лучший программист 11.После нас 12.Отлито из бронзы 13.Швейцарский нож 14.Обзор архитектуры 15.Архитектура для клиента 57/63
  • 58. Принципы организации АП Современное проектирование должно быть архитектурным! Необходимо проявить предмет! Ответственность –не важно, на ком, но должна быть! Ориентация на назначение и качество на ПЖЦ (а значит –требуется аналитика качества и стратегии развития надсистем)! Вплетено в интерактивный цикл детального проектирования Своевременный пересмотр архитектуры 58/63
  • 59. Резюме Управляйте, или «оно» будет управлять вашим проектом. Архитектура в любом случае будет влиять. И никогда не будет гибкой. Сделайте ее инструментом управления Для этого –проявите предмет,возложите ответственность, обеспечьте полномочиями и ресурсами.Направляйте на цель (нужен анализ) Утвердите и держите в голове понятие: 20% фундаментальных решений, которые потом не пересмотришь, но на которых стоит все остальное.Из понятия все остальное следует 59/63
  • 60. Резюме Управляйте, или «оно» будет управлять вашим проектом. Архитектура в любом случае будет влиять. И никогда не будет гибкой. Сделайте ее инструментом управления Для этого –проявите предмет,возложите ответственность, обеспечьте полномочиями и ресурсами.Направляйте на цель (нужен анализ) Утвердите и держите в голове понятие: 20% фундаментальных решений, которые потом не пересмотришь, но на которых стоит все остальное.Из понятия все остальное следует 60/63
  • 61. Литература P. Kruchten«Ретроспектива программных архитектур» Сайт стандарта ISO42010 L.Bass, et al. «Software Architecture in Practice» P.Clements, et al. «Documenting Software Architectures: Views and Beyond» Блог А. Левенчука M. Fowler «Who Needs an Architect?» P. Kruchten«Common Misconceptions about Software Architecture» CHAOS manifesto 2013 D. Garlan«Software Architecture: a Roadmap» D.Dikel«Software Architecture: Organizational Principles and Patterns» P. Eeles«Что такое архитектура программного обеспечения?» Определения архитектуры на сайте SEI B. Boehm «The ROI of System Engineering» Ф. Брукс «Проектирование процесса проектирования» Geek & Poke 61/63
  • 62. Расширенный список Развитие успешных системне из области инженерии Р.Докинз«Эгоистичный ген» Т.Кун «Структура научных революций» 62/63
  • 63. Спасибо! Вопросы? Игорь Беспальчук ibespalchuk@custis.ru http://iamhere.moikrug.ru 63/63
  • 65. 65/63
  • 66. Лима Архитектуры нет(нет целого) Про целое ничего нельзя сказать, кроме объема 66/63
  • 67. Скрыта за кодом Архитектура есть, но «скрыта за кодом»– не проявлена Кто-то придумал, остальные постоянно «реверсируют» (с переменным успехом), ответственность потеряна Обсуждение предмета невозможно 67/63
  • 69. Memento Решения не фиксируются, забываются Принимаются заново Или искажаются из-за потери оснований 69/63
  • 70. 70/63
  • 71. Попытка спроектировать все до мелочейи сразу Все проектирование произвести до кодирования Весь дизайн запихивается в архитектуру Big Design Up Front 71/63
  • 72. Архитектурное голодание(технический долг) Осознание долга есть Но с ним ничего не делается 72/63
  • 73. 73/63
  • 74. Тайное качество Ненаправленностьна требуемое качество или работа на «внутреннее» качество Не бывает «внутреннего качества»! то есть такого, которое не обеспечивает внешнее, может быть, на долгом периоде Само требуемое качество (как краткосрочное, так и долгосрочное) тоже нуждается в анализе и фиксации Здесь же: мода, авангардизм 74/63
  • 75. 75/63
  • 76. Башня из слоновой кости Архитектор творит нечто, что ему кажется прекрасным Всем остальным это непонятно и неудобно Сам архитектор при этом «код не пишет» – он выше этого 76/63
  • 77. Анархический Agile Отрицается любое главенство Страшилки Ivory Towerи BDUFкак оружие «Мы все равны» И поэтому никто не отвечает Принцип «равенства» важнее результата 77/63
  • 78. Главенство авторитета Главенство авторитета над целями Переход на личности– сравниваются не решения, а регалии архитекторов Статус важнее результата 78/63
  • 79. Лучший программист Архитектор = самый сильный программист? Специфический предмет.Специфический материал и свойства Специфические компетенции 79/63
  • 80. 80/63
  • 81. После нас –хоть потоп Успех оценивается по короткому результату (сдача системы) 81/63
  • 82. 82/63
  • 83. Отлито в бронзе «Архитектура от старой системы проверена, возьмем для новой системы ее» Фрэнк Ллойд Райт: «Забудьте обо всех архитектурахмира,если не понимаете того, что они были хороши в своём роде и в своё время» 83/63
  • 84. 84/63
  • 85. Швейцарский нож Универсальная архитектура – одна на сильно непохожие (но кажущиеся похожими) проекты «Там же везде БД, документы, трехзвенка и гриды» Неверно выбран масштаб повторного использования, получается сложно и дорого Software Product Lines 85/63
  • 87. Review Экспертная оценка архитектуры 87/63
  • 88. Архитектура для клиента Обсуждение архитектуры с представителями заказчика и другимиинтересантами В адекватныхдля них представлениях, отражающих их (различные!) интересы 88/63