5. … ПОЛУЧИЛОСЬ КАК ВСЕГДА - 1
это слои? как связаны элементы? что такое внутренний компонент?
Yury Chernushenko
5
6. … ПОЛУЧИЛОСЬ КАК ВСЕГДА -2
где легенда? что означают стрелочки? это взаимодействие в runtime?
Yury Chernushenko
6
7. … ПОЛУЧИЛОСЬ КАК ВСЕГДА - 3
все на одной диаграмме. что означает форма? что означает цвет?
Yury Chernushenko
7
8. «КТО ВИНОВАТ?»
ПЛОХО, НЕТ СТРАТЕГИИ РАЗРАБОТКИ
Требования Спецификация (ТЗ) Приложение
Yury Chernushenko
ЕЩЕ ХУЖЕ
8
9. «ЧТО ДЕЛАТЬ?»
На основе
требований
На основе
архитектуры
Требования АРХИТЕКТУРАСпецификация (ТЗ) Приложение
Yury Chernushenko 9
На основе
дизайна
АРХИТЕКТУРНЫЕ
ДРАЙВЕРЫ
ПРЕДСТАВЛЕНИЯ
(ДИАГРАММЫ)
ОПИСАНИЕ ПРИНЯТЫХ РЕШЕНИЙ
(В ЧЕМ КОМПРОМИСС)
10. Архитектурный
«астронавт»
ЗНАКОМЬТЕСЬ
ТЕМНАЯ СТОРОНА АРХИТЕКТУРЫ:
!
✴ СЛИШКОМ АБСТРАКТНАЯ АРХИТЕКТУРА
✴ НЕ АДАПТИРОВАННА ПОД СИТУАЦИЮ ПРОЕКТА
✴ ДЕЛАЕТСЯ НЕТЕХНИЧЕСКИМИ СПЕЦИАЛИСТАМИ
✴ «ИСТОРИЧЕСКИ СЛОЖИЛОСЬ»
✴ «ИСПОЛЬЗУЮ MVC ДЛЯ ВСЕГО!»
Yury Chernushenko
10
11. ДРАЙВЕРЫ АРХИТЕКТУРЫ
Yury Chernushenko
11
ФУНКЦИОНАЛЬНЫЕ
ТРЕБОВАНИЯ
ТЕХНИЧЕСКИЕ И БИЗНЕС
АТТРИБУТЫ
КАЧЕСТВА
ОГРАНИЧЕНИЯ
12. ТИПЫ ПРЕДСТАВЛЕНИЙ
ДИНАМИЧЕСКОЕ - показывает структуру системы как
набора блоков кода!
СТАТИЧЕСКОЕ - показывает поведение и
взаимодействие элементов системы при выполнении
(runtime)!
ФИЗИЧЕСКОЕ - показывает конфигурацию
непрограммных элементов системы
Yury Chernushenko
12
16. АРХИТЕКТУРНЫЕ ШАБЛОНЫ
• Их много (Client-Server, Broker, Middleware, Publisher-
Subscriber, Pipe and Filter, Tiers/Layers, и др.)!
• Они определяют типовую декомпозицию на
основные элементы и их взаимодействие!
• Их всегда нужно адаптировать под вашу ситуацию!
• Нужо понимать и фиксировать все за и против
использования того или иного решения, это всегда
компромисс)
Yury Chernushenko
16
Не знаете что выбрать?
Попробуйте использовать процесс ACDM
(Architecture-centric design method)
для определения архитектуры
20. Yury Chernushenko
Robert C. Martin
(Uncle Bob)
!
Выступления про Clean Architecture
на youtube
!
«Architecture create structures that
allow decisions to be defined later»
!
«Good Architects code»
!
КОГО ПОСЛУШАТЬ
20
21. ИНСТРУМЕНТЫ
Yury Chernushenko
Microsoft Visio - основной
инструмент для построения
диаграмм
Keynote или Power Point - хорошее
качество работы с этими
инструментами требует высокой
самодисциплины!
21
22. ДИЗАЙН
Описание конкретных технических решений)
• Функциональный или ООП подход)
• Алгоритмы)
• Описание функций)
• Описание структур данных)
• …
Yury Chernushenko
про это и многое другое
COMPUTER SCIENCE
22
24. КОГО ПОСЛУШАТЬ
Yury Chernushenko
Олег Бунин
архитектор высоконагруженных систем
!
Выступление на iForum 2013
!
Вебинар по проектированию
высоконагруженных систем
!
Материалы конференции HighLoad++
24
26. ЧТО ДАЛЬШЕ
Сбор и определение требований
Планирование и контроль
Архитектура и дизайн
Управление качеством
Управление рисками
Yury Chernushenko
26
Процессы