UML Диаграммы реализации
Уровни представления модели
628.50K
Category: programmingprogramming

UML Диаграммы реализации (implementation diagrams)

1. UML Диаграммы реализации

(implementation diagrams)

2. Уровни представления модели

• Существует два уровня представления
модели:
- Логический уровень
- Физический уровень
• Элементы логического представления, такие
как классы, ассоциации, состояния,
сообщения, не существуют материально или
физически. Они лишь отражают наше
понимание структуры физической системы и
ее поведения.
• Все рассмотренные ранее диаграммы
отражали концептуальные аспекты
построения модели системы и относились к
логическому уровню представления.

3.

• Для
создания
конкретной
физической
системы необходимо некоторым образом
реализовать все элементы логического
представления в конкретные материальные
сущности. Для описания таких реальных
сущностей предназначен другой аспект
модельного
представления,
а
именно
физическое представление модели.
• Например, алгоритм программы – это ее
логическое
представление,
а
запись
программы на языке программирования и
исполняемый файл (exe-файл) программы –
это физическое представление программы

4.

Физический уровень
• В языке UML для физического
представления моделей систем
используются диаграммы реализации
(implementation diagrams)
• Существует два вида диаграмм
реализации:
– диаграмма компонентов (component
diagram)
– диаграмма развертывания (deployment
diagram)

5.

Диаграмма компонентов
• Диаграмма компонентов (component diagram)
описывает особенности физического представления
системы.
• Диаграмма компонентов позволяет определить
архитектуру разрабатываемой системы, установив
зависимости между программными компонентами, в
роли которых может выступать исходный, бинарный
и исполняемый код.
• Диаграмма компонентов разрабатывается для
следующих целей:
– Визуализации общей структуры исходного кода
программной системы.
– Спецификации исполнимого варианта
программной системы.
– Обеспечения многократного использования
отдельных фрагментов программного кода.
– Представления концептуальной и физической
схем баз данных.

6.

Диаграмма компонентов
• В разработке диаграмм компонентов
участвуют как системные аналитики и
архитекторы, так и программисты.
• Диаграмма компонентов обеспечивает
согласованный переход от логического
представления к конкретной реализации
проекта в форме программного кода.
• Одни компоненты могут существовать только
на этапе компиляции программного кода,
другие - на этапе его исполнения.

7.

Компонент
• Компонент(component) служит для общего
обозначения элементов физического
представления модели.
• Компонент реализует некоторый набор
интерфейсов.
• Во многих средах разработки модуль или компонент
соответствует файлу.
• Графическое изображение
Component1

8.

Стереотипы компонентов
• В CASE-системах определены следующие
стереотипы компонентов:
• Document – текстовый документ
• Executable - исполняемый модуль (например,
файл с расширением .ехе)
• File - файл с исходным текстом программы
или с данными
• Library - подключаемая библиотека
(например, динамическая библиотека – файл
с расширением .dll)
• Table – таблица базы данных

9.

Интерфейсы
• На диаграмме компонентов могут изображаться
интерфейсы (interface).
• Наличие интерфейсов у компонента означает,
что данный компонент реализует
соответствующий набор интерфейсов
«executable»
main.exe
IDialog
IConnection

10.

Зависимости
• Между компонентами могут существовать отношения
зависимости (dependency)
• Зависимость указывает, что изменение одного
компонента оказывает влияние или приводит к
изменению другого компонента.
• Зависимости могут отражать:
– связи модулей программы на этапе компиляции и
генерации объектного кода
– наличие в независимом компоненте описаний
классов, которые используются в зависимом
компоненте для создания соответствующих
объектов.
– зависимости могут связывать компоненты и
импортируемые этим компонентом интерфейсы
– использование одних компонентов другими
компонентами

11.

Интерфейсы и компоненты
• Различают два способа связи интерфейса и
компонента.
• Если компонент реализует некоторый интерфейс, то
такой интерфейс называют экспортируемым, поскольку
этот компонент предоставляет его в качестве сервиса
другим компонентам.
• Если компонент использует некоторый интерфейс,
который реализуется другим компонентом, то такой
интерфейс для первого компонента называется
импортируемым.
• Отношение между компонентом и импортируемым
интерфейсом на диаграмме компонентов изображается
с помощью зависимости
«executable»
main
IDialog
«library»
image
Отношение зависимости Отношение реализации

12.

Пакеты
• Компоненты могут быть объединены в
пакеты
• Главная диаграмма компонентов, как
правило, является диаграммой пакетов
• Между пакетами существуют отношения
зависимости
• Пакет A зависит от пакета B, если
некоторый компонент пакета A зависит от
некоторого компонента пакета B
A
B

13.

Пример диаграммы компонентов
Удаленный
терминал
Сервер
банка
Сеть
Принтер
банкомата
Устройство
чтения
Устройство
получения наличных
Экран
банкомата

14.

Система регистрации учебных курсов
Интерфейсы
Университет
Обработка
ошибок
База
данных
Базовые
средства

15.

Пакет Университет
Предмет
Учебный курс
Преподаватель
Пользователь
Студент

16.

Исполняемые модули
«executable»
Регистратор
«executable»
Студент
«executable»
Преподаватель

17.

Диаграмма развертывания
• Диаграмма развертывания показывает
физические связи между всеми узлами
реализации системы на этапе ее
исполнения.
• Диаграмма развертывания показывает
распределение компонентов системы
по ее физическим узлам.

18.

Диаграмма развертывания
• Диаграмма развертывания (deployment
diagram) применяется для
представления размещения
программных компонентов по узлам
распределенной вычислительной
системы.
• Диаграмма развертывания содержит
графические изображения физических
узлов (процессоров, устройств,
процессов)

19.

Узел
• Узел (node) представляет собой некоторый
физический элемент системы,
обладающий некоторым вычислительным
ресурсом.
• Узел - это отдельный компьютер,
процессор или устройство, на котором
могут быть развернуты компоненты.
• В последней версии языка UML понятие
узла расширено и может включать в себя
не только вычислительные устройства
(процессоры), но и другие механические
или электронные устройства, такие как
датчики, принтеры, модемы, цифровые
камеры, сканеры и манипуляторы

20.

Узел
• При описании бизнес-процессов
предприятия можно в качестве узлов
системы рассматривать организационные
подразделения, состоящие из персонала,
или отдельных служащих предприятия.
• Графическое изображение узла
Сервер
Принтер

21.

Атрибуты узла
• Атрибуты (attributes) используются для
описания характеристик узла

22.

Компоненты узла
• Это компоненты, которые выполняются
на данном узле.

23.

Связи между узлами и
компонентами
• Связь между узлом и компонентами, которые
выполняются на узле, может быть показана с помощью
зависимости
Сервер
«library»
Предметы
«executable»
Преподаватель
«library»
Доступ к базе данных

24.

Изображение компонентов узла
• Узлы можно изображать с вложенными в
них компонентами
Сервер
«executable»
Преподаватель
«library»
Предметы
«library»
Доступ к базе данных

25.

Связи между узлами
• Связи между узлами показываются с помощью
отношения ассоциации (communicates)
• Связь означает передачу информации между
узлами по некоторому физическому каналу
Клиент
Сервер
*
*

26.

Соединители
• Соединитель представляет собой
некоторую связь, которая обеспечивает
коммуникацию между двумя и более
компонентами.
Различают два вида соединителей:
собирающие соединители и делегирующие
соединители.
• Собирающий соединитель (assembly
connector) — соединитель, который
связывает два компонента в контексте
предоставляемых и требуемых сервисов.

27.

Собирающий соединитель:
а – в библиотеке компонентов; б – в конкретной сборке

28.

Соединители
Делегирующий соединитель (delegation connector) —
соединитель, который связывает внешний контракт
компонента с реализацией этого поведения внутренними
частями этого компонента.
В общем случае делегирующий соединитель выполняет одну
из следующих задач:
• передача сообщений или сигналов, поступающих в порт
компонента из вне, для
• обработки в некоторую внутреннюю часть компонента или
другой порт;
• передача сообщений или сигналов, поступающих из
некоторой внутренней
• части компонента, для обработки во внешний порт
компонента.

29.

Изображение делегирующего соединителя

30.

Ограничения при использовании делегирующих
соединителей в модели :
- Делегирующий соединитель может быть определен
только между интерфейсами или портами одного и того же
вида. А именно, или между предоставляемым
интерфейсом и портом, или между требуемым
интерфейсом и портом.
- Если делегирующий соединитель определяется между
требуемым интерфейсом (портом) и некоторой внутренней
частью, то эта внутренняя часть должна иметь отношение
реализации с интерфейсом (портом) этого типа.
- Если делегирующий соединитель определяется между
интерфейсом (портом) в качестве источника и
интерфейсом (портом) в качестве цели, то интерфейс в
качестве цели должен поддерживать сигнатуру,
совместимую с подмножеством операций интерфейса
(порта) источника.
English     Русский Rules