Лабораторная работа №8, 9
Component diagram (диаграммы компонентов)
Построение диаграммы компонентов для системы "Книжный магазин"
Диаграмма размещения (развертывания)
Задание
5.47M

Лаб8,9 (1)

1. Лабораторная работа №8, 9

Проектирование архитектуры ИС и ее
компонентов: диаграммы компонентов
Моделирование распределенной конфигурации
системы: диаграммы развертывания

2. Component diagram (диаграммы компонентов)

Диаграмма компонентов (Component Diagram) – это
диаграмма физического уровня, которая служит для
представления программных компонентов и зависимостей
между ними.
Диаграмма компонентов показывает, как система
разделена на большие "куски" (компоненты), которые
можно собирать, заменять или переиспользовать, как Lego.
Она отвечает на вопросы:
• Как система устроена из модулей?
• Какие модули зависят друг от друга?
• Как модули общаются (через интерфейсы)?

3.

Элемент
На примере аптеки
Большой модуль системы, как "Склад
лекарств" — это коробка с базой данных,
логика запасов.
"Договор" между компонентами, как
"Интерфейс оплаты" — обещание уметь
принимать деньги.
Компонент "предоставляет" услугу, как
аптека предоставляет "Интерфейс поиска
лекарств".
Зачем нужен и когда использовать
Основной блок. Используйте для модулей,
которые можно заменить (например,
"Платёж").
Компонент "требует" услугу от другого,
как касса требует "Интерфейс оплаты".
Показывает зависимость. Используйте для
"входов".
Порт
"Дверь" компонента для связи, как порт
USB.
Для уточнения, как именно соединяются.
Используйте в сложных системах.
Артефакт
Физический файл или база, как "База
данных лекарств".
Для реальных файлов. Используйте, если
система включает файлы/БД.
Подсистема
Группа компонентов, как "Складовая
подсистема".
Для больших систем. Используйте для
группировки.
Компонент
Интерфейс
Предоставленный
интерфейс
Требуемый интерфейс
Для общения между компонентами.
Показывает, что компонент даёт.
Используйте для "выходов".

4.

5.

6.

7.

8.

9.

10. Построение диаграммы компонентов для системы "Книжный магазин"

Построение диаграммы компонентов для системы
"Книжный магазин"
• Определите основные модули системы (компоненты) —
разбейте на логические части:
Компонент "Клиентский интерфейс": Объединяет веб-сайт и мобильное
приложение для клиентов (поиск книг, корзина).
Компонент "Сервис заказов": Логика оформления заказов, расчёта цены,
корзины.
Компонент "Сервис склада и каталога": Управление книгами, запасами,
поиском.
Компонент "Сервис оплаты": Обработка платежей.
Компонент "Сервис скидок": Расчёт скидок и промокодов.
Артефакт "База данных товаров": Файл или БД с книгами.

11.

• Добавьте интерфейсы
Интерфейс "API заказов": Предоставляется сервисом заказов, требуется
клиентским интерфейсом (для оформления заказа).
Интерфейс "API каталога": Предоставляется сервисом склада, требуется
клиентским интерфейсом (для поиска книг).
Интерфейс "Оплата": Предоставляется сервисом оплаты, требуется сервисом
заказов.
Интерфейс "Скидки": Предоставляется сервисом скидок, требуется сервисом
заказов.
• Нарисуйте связи (зависимости, ассоциации) (как альтернатива)
Зависимость: Клиентский интерфейс - - -> Сервис заказов (временно
использует для оформления).
Зависимость: Сервис заказов - - -> Сервис оплаты (использует только при
платеже).
Ассоциация: Сервис склада -- База данных товаров (постоянная связь, склад
всегда знает о БД).
Зависимость: Сервис заказов - - -> Сервис склада (использует для проверки
запасов).
• Добавьте порты и артефакты, если нужно
Артефакт "База данных товаров": Внутри сервиса склада.

12.

13. Диаграмма размещения (развертывания)

Применяется для представления общей конфигурации и топологии
распределенной информационной системы, содержит сведения о
распределении компонентов по отдельным узлам системы и канал
связи между аппаратными средствами (соединения).
Диаграмма развертывания показывает "физический" слой системы:
где именно работают компоненты (на сервере, телефоне, в облаке), как
они соединены (сети, кабели) и какие устройства нужны
(компьютеры, базы данных). Она отвечает на вопросы:
• Как разместить систему в реальности?
• Какие серверы/устройства нужны?
• Как компоненты общаются через сеть?
• Что если сервер упадёт?

14.

Элемент
на примере аптеки
Зачем нужен и когда использовать
Узел (Node)
Физическое устройство или сервер,
как "Сервер аптеки" — компьютер с
базой данных.
Основной блок. Используйте для
серверов, компьютеров, мобильных
устройств.
Компонент
Программный модуль внутри узла,
как "Кассовый модуль" на кассе.
Показывает софт внутри железа.
Используйте, если знаете из
диаграммы компонентов.
Артефакт
Для реальных файлов/БД.
Файл или база, как "База лекарств.db"
Используйте для конфигураций, JAR— файл с данными.
файлов.
Связь (Connection)
Соединение, как кабель или Wi-Fi
между кассой и сервером.
Для сетей. Используйте с метками
(Ethernet, HTTP).
Стереотип
Тип узла, как <<cloud>> для облака.
Для уточнения (<<mobile>> для
телефона). Используйте для ясности.
Размещение
Компонент (артефакт) "живёт"
Показывает, где что установлено.
внутри узла, как база внутри сервера.

15.

16.

17.

18.

19.

20. Задание

Построить диаграммы компонентов и
развертывания.
Можно совместить.
English     Русский Правила