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