ПиАПС, Лекция №1б - Представление архитектуры
TRANSCRIPT
![Page 1: ПиАПС, Лекция №1б - Представление архитектуры](https://reader033.vdocuments.net/reader033/viewer/2022060205/55a174321a28abdf668b4812/html5/thumbnails/1.jpg)
ВведениеИзображение архитектуры
![Page 2: ПиАПС, Лекция №1б - Представление архитектуры](https://reader033.vdocuments.net/reader033/viewer/2022060205/55a174321a28abdf668b4812/html5/thumbnails/2.jpg)
Гибкие команды требуют
качественной коммуникации
● Визуальная информация >80%
● TDD, ... не дает возможности быстро
оглядеть всю картину
● … и код тоже
● Не детальное моделирование мелочей, а
скетчи решения
![Page 3: ПиАПС, Лекция №1б - Представление архитектуры](https://reader033.vdocuments.net/reader033/viewer/2022060205/55a174321a28abdf668b4812/html5/thumbnails/3.jpg)
Польза от скетчей
● Вся команда и новые участники легко
понимают общую картину
● Легко поделиться с командой, что ты
собираешься делать
● “Навигационная карта” по коду
● Пространство для анализа рисков
● Пространство для совместной работы
![Page 4: ПиАПС, Лекция №1б - Представление архитектуры](https://reader033.vdocuments.net/reader033/viewer/2022060205/55a174321a28abdf668b4812/html5/thumbnails/4.jpg)
Неэффективные скетчи
![Page 5: ПиАПС, Лекция №1б - Представление архитектуры](https://reader033.vdocuments.net/reader033/viewer/2022060205/55a174321a28abdf668b4812/html5/thumbnails/5.jpg)
Список технологий
![Page 6: ПиАПС, Лекция №1б - Представление архитектуры](https://reader033.vdocuments.net/reader033/viewer/2022060205/55a174321a28abdf668b4812/html5/thumbnails/6.jpg)
Квадраты без линий
![Page 7: ПиАПС, Лекция №1б - Представление архитектуры](https://reader033.vdocuments.net/reader033/viewer/2022060205/55a174321a28abdf668b4812/html5/thumbnails/7.jpg)
Список фич
![Page 8: ПиАПС, Лекция №1б - Представление архитектуры](https://reader033.vdocuments.net/reader033/viewer/2022060205/55a174321a28abdf668b4812/html5/thumbnails/8.jpg)
Адское месиво
![Page 9: ПиАПС, Лекция №1б - Представление архитектуры](https://reader033.vdocuments.net/reader033/viewer/2022060205/55a174321a28abdf668b4812/html5/thumbnails/9.jpg)
В целом всё так
![Page 10: ПиАПС, Лекция №1б - Представление архитектуры](https://reader033.vdocuments.net/reader033/viewer/2022060205/55a174321a28abdf668b4812/html5/thumbnails/10.jpg)
Логический взгляд
![Page 11: ПиАПС, Лекция №1б - Представление архитектуры](https://reader033.vdocuments.net/reader033/viewer/2022060205/55a174321a28abdf668b4812/html5/thumbnails/11.jpg)
Подход C4:
● context
● containers
● components
● classes
Эффективные скетчи
![Page 12: ПиАПС, Лекция №1б - Представление архитектуры](https://reader033.vdocuments.net/reader033/viewer/2022060205/55a174321a28abdf668b4812/html5/thumbnails/12.jpg)
![Page 13: ПиАПС, Лекция №1б - Представление архитектуры](https://reader033.vdocuments.net/reader033/viewer/2022060205/55a174321a28abdf668b4812/html5/thumbnails/13.jpg)
Внимание
● Принятым обозначениям и нотации
● Не стоит мешать разные уровни
абстракции между собой
● Простота
● Основанность на реальности
![Page 14: ПиАПС, Лекция №1б - Представление архитектуры](https://reader033.vdocuments.net/reader033/viewer/2022060205/55a174321a28abdf668b4812/html5/thumbnails/14.jpg)
Context
● Что мы создаем?
● Кто это использует?
● Как это размещается в существующем
техническом окружении?
● Как это все взаимодействует друг с
другом?
![Page 15: ПиАПС, Лекция №1б - Представление архитектуры](https://reader033.vdocuments.net/reader033/viewer/2022060205/55a174321a28abdf668b4812/html5/thumbnails/15.jpg)
![Page 16: ПиАПС, Лекция №1б - Представление архитектуры](https://reader033.vdocuments.net/reader033/viewer/2022060205/55a174321a28abdf668b4812/html5/thumbnails/16.jpg)
Container
● Из каких служб состоит система?
● Каковы базовые технологические решения и
выбранные технологии?
● Какое распределение ответственности в системе?
● Как “контейнеры” взаимодействуют друг с другом?
● Где писать код, чтобы реализовать функционал?
![Page 17: ПиАПС, Лекция №1б - Представление архитектуры](https://reader033.vdocuments.net/reader033/viewer/2022060205/55a174321a28abdf668b4812/html5/thumbnails/17.jpg)
![Page 18: ПиАПС, Лекция №1б - Представление архитектуры](https://reader033.vdocuments.net/reader033/viewer/2022060205/55a174321a28abdf668b4812/html5/thumbnails/18.jpg)
для каждого контейнера
● Имя
● Технология
● Ответственность
![Page 19: ПиАПС, Лекция №1б - Представление архитектуры](https://reader033.vdocuments.net/reader033/viewer/2022060205/55a174321a28abdf668b4812/html5/thumbnails/19.jpg)
Component
● Из каких компонентов состоит система?
● Как сгруппирована бизнес-логика?
● Понятно ли прямо сейчас, как это будет
работать, когда написан код?
● Все ли компоненты принадлежат какой-
нибудь службе?
![Page 20: ПиАПС, Лекция №1б - Представление архитектуры](https://reader033.vdocuments.net/reader033/viewer/2022060205/55a174321a28abdf668b4812/html5/thumbnails/20.jpg)
![Page 21: ПиАПС, Лекция №1б - Представление архитектуры](https://reader033.vdocuments.net/reader033/viewer/2022060205/55a174321a28abdf668b4812/html5/thumbnails/21.jpg)
![Page 22: ПиАПС, Лекция №1б - Представление архитектуры](https://reader033.vdocuments.net/reader033/viewer/2022060205/55a174321a28abdf668b4812/html5/thumbnails/22.jpg)
Classes
UML :)
![Page 23: ПиАПС, Лекция №1б - Представление архитектуры](https://reader033.vdocuments.net/reader033/viewer/2022060205/55a174321a28abdf668b4812/html5/thumbnails/23.jpg)
Еще UML● Процессы и порядок выполнения:
Activity
● Поведение во время исполнения:
Sequence, Collaboration
● Модель предметной области:
Class, ER
● Граф состояний:
State
● Развертывание системы:
Deployment
![Page 24: ПиАПС, Лекция №1б - Представление архитектуры](https://reader033.vdocuments.net/reader033/viewer/2022060205/55a174321a28abdf668b4812/html5/thumbnails/24.jpg)
Литература
● Simon Brown “Software Architecture for
Developers”