Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Тельнов / ВП. UML-диаграммы. Диаграмма компонентов.ppt
Скачиваний:
104
Добавлен:
11.06.2015
Размер:
430.08 Кб
Скачать

Диаграмма компонентов

UML-диаграммы

Диаграмма компонентов

Диаграмма компонентов (Component Diagram) – это диаграмма физического уровня, которая служит для представления программных компонентов и зависимостей между ними.

Диаграмма компонентов разрабатывается для следующих целей:

Визуализация общей структуры ПО.

Спецификация исполняемого кода (единиц развертывания) ПО.

Обеспечение многократного использования отдельных фрагментов кода ПО.

Представление концептуальной и физической схем баз данных.

Имя компонента записывается аналогично имени линии жизни на диаграмме последовательности в следующем формате (БНФ):

<имя-компонента>::=[<собственное-имя-компонента>] [‘:’<имя-типа>],

при этом собственное имя компонента записывается со строчной буквы и в имени компонента должен присутствовать хотя бы один терм.

Пример изображения простого компонента и компонента с интерфейсами:

 

IDialog

ISensor

«component»

 

 

«component»

Заказ

IApplication

Контроллер

 

2

Диаграмма компонентов

Примеры изображения компонента в нотации черного и белого ящика:

 

 

 

 

«component»

 

 

 

 

 

 

 

 

 

 

 

 

Заказ

«component»

 

 

 

 

 

 

 

 

 

«provided interfaces»

Заказ

 

 

 

 

 

МестонахождениеТовара

 

 

 

 

«provided interfaces»

 

СопровождениеТовара

 

«required interfaces»

МестонахождениеТовара

 

 

ЗаказываемыйТовар

СопровождениеТовара

 

 

ПолучательТовара

«required interfaces»

 

 

 

 

 

ЗаказываемыйТовар

 

«realizations»

ПолучательТовара

 

 

ЗаголовокЗаказа

 

 

 

 

 

 

 

 

СтрокаТовара

 

 

 

 

 

 

 

 

 

 

 

 

 

«artifacts»

 

 

 

 

Заказ.jar

 

 

 

 

 

 

 

Предоставляемый интерфейс (provided interface) – интерфейс, который компонент предлагает для своего окружения (компонентной среды).

Требуемый интерфейс (required interface) – интерфейс, который необходим компоненту от своего окружения (компонентной среды) для выполнения заявленной функциональности (контракта, поведения).

3

Диаграмма компонентов

Пример представления компонентов и интерфейсов:

 

Заказываемый

 

 

 

Товар

«component»

 

 

«component»

Заказываемый

Заказ

ЗаголовокЗаказа

Товар

Товар

заказ

1

 

 

 

Сопровождение

элемент

*

 

Товара

 

СтрокаТовара

Счет-фактура

 

 

 

 

ПолучательТовара

Местонахождение

Товара

Представление интерфейсов в форме классификаторов с отношениями зависимости и реализации:

«interface»

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Заказываемый

 

 

 

 

 

 

 

«interface»

Товар

«use»

«component»

 

 

 

 

 

МестонахождениеТовара

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

задать()

найтиПоИмени()

 

Заказ

 

 

 

 

 

 

 

 

изменить()

задатьКоличество()

 

 

 

 

 

 

 

 

 

 

 

 

 

 

получитьДетали()

получитьДетали()

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

Диаграмма компонентов

Порт определяет различимую точку взаимодействия между компонентом и окружающей средой или между компонентом и его внутренними частями.

Наличие имени у порта не является обязательным. При отсутствии имени порта его тип ассоциируется с типом интерфейса, с которым связан порт.

Заказываемый

 

 

ПолучательТовара

Товар

«component»

 

 

Заказ

 

 

ЗаголовокЗаказа

 

Сопровождение

заказ

1

Местонахождение

 

 

Товара

Товара

элемент

*

 

 

СтрокаТовара

 

5

Диаграмма компонентов

Собирающий соединитель связывает два компонента в контексте требуемых и предоставляемых интерфейсов:

Сопровождение

Сопровождение

Товара

Товара

 

 

«component»

«component»

:Заказ

Заказ

 

ЗаказываемыйТовар

ЗаказываемыйТовар

 

ЗаказываемыйТовар

ЗаказываемыйТовар

 

«component»

«component»

Товар

:Товар

6

Диаграмма компонентов

Пример диаграммы компонентов с собирающими соединителями для одинаковых интерфейсов:

 

:ОтмененныйЗаказ

Клиент

 

 

 

 

Местоположение

Местонахождение

 

Клиент

 

 

Товара

 

Человек

 

 

 

:Заказ

:Физическое

:Склад

 

 

 

 

Лицо

 

 

 

 

Местоположение

 

 

Организация

 

 

Сопровождение

 

 

:Поставщик

 

Заказываемый

:Компания

 

 

Товар

 

Сопровождение

 

Заказываемый

 

 

 

Товар

 

 

 

 

 

 

:Сервис

 

:Товар

 

7

Диаграмма компонентов

Делегирующий соединитель связывает контракт компонента (интерфейсы) с внутренними частями этого компонента.

Делегирующий соединитель выполняет одну из следующих задач:

Передача сообщений или сигналов, поступающих в порт компонента извне, для обработки в некоторую внутреннюю часть компонента или другой порт.

Передача сообщений или сигналов, поступающих из некоторой внутренней части компонента, для обработки во внешний порт компонента.

 

«component»

 

Местонахождение

Заказ

 

Товара

:ЗаголовокЗаказа

ПолучательТовара

 

 

:СтрокаТовара

 

8

Диаграмма компонентов

 

Пример представления внутренней структуры компонента:

Местонахождение

 

«component»

 

Товара

 

 

 

:Магазин

 

 

«delegate»

 

 

 

 

 

«component»

Клиент

«component»

 

 

:Физическое

 

:Заказ

 

Местонахождение

Клиент

Лицо

 

Товара

 

 

 

 

Заказываемый

 

Счет

 

Товар

 

 

 

 

Заказываемый

«delegate»

 

 

Товар

Счет

 

«component»

 

 

 

:Товар

 

 

9

Диаграмма компонентов

Пример отношений зависимости между компонентами с интерфейсами:

Местонахождение

Человек

Товара

Получатель

Физическое

 

 

Товара

Лицо

 

Заказ

 

 

Местоположение

Сопровождение

 

Организация

Товара

Заказываемый

Поставщик

 

Товар

Компания

 

 

Сопровождение

Заказываемый

 

Товар

 

 

 

Сервис

 

Товар

 

Обратите внимание: стрелка «отношения зависимости» направлена от «требуемого интерфейса» к «предоставляемому интерфейсу»

10