Skip to content

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

Lora Shaen edited this page Apr 14, 2017 · 9 revisions

Component diagram - диаграмма компонентов.

Разработчики:

  • Гурко Настя
  • Печников Никита
  • Сычева Настя
  • Морозевич Владимир

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

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

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

  1. Визуализации обшей структуры исходного кода программной системы.
  2. Спецификации исполнимого варианта программной системы.
  3. Обеспечения многократного использования отдельных фрагментов
  4. программного кода.
  5. Представления концептуальной и физической схем баз данных.

Компонент — физически существующая часть системы, которая обеспечивает реализацию классов и отношений, а также функционального поведения моделируемой программной системы. Для графического представления компонента может использоваться специальный символ — прямоугольник со вставленными слева двумя более мелкими прямоугольниками Внутри объемлющего прямоугольника записывается имя компонента и, возможно, некоторая дополнительная информация. Изображение этого символа может незначительно варьироваться в зависимости от характера ассоциируемой с компонентом информации. Графическое изображение компонента


При разработке программных систем интерфейсы обеспечивают совместимость различных версий, а также возможность вносить существенные изменения в одни части программы, не изменяя другие ее части. Назначение интерфейсов существенно шире, чем спецификация взаимодействия с пользователями системы (актерами).
В общем случае интерфейс графически изображается окружностью, которая соединяется с компонентом отрезком линии без стрелок. При этом имя интерфейса, которое рекомендуется начинать с заглавной буквы "I", записывается рядом с окружностью. Семантически линия означает реализацию интерфейса, а наличие интерфейсов у компонента означает, что данный компонент реализует соответствующий набор интерфейсов.

Графическое изображение интерфейсов


Отношение зависимости служит для представления факта наличия специальной формы связи между двумя элементами модели, когда изменение одного элемента модели оказывает влияние или приводит к изменению другого элемента модели. Отношение зависимости на диаграмме компонентов изображается пунктирной линией со стрелкой, направленной от клиента или зависимого элемента к источнику или независимому элементу модели.
Пример: компонент с именем Control зависит от импортируемого интерфейса IDialog, который, в свою очередь, реализуется компонентом с именем DataBase . При этом для второго компонентa этот интерфейс является экспортируемым. Изобразить связь второго компонентa DataBase с этим интерфейсом в форме зависимости нельзя , поскольку этот компонент реализует указанный интерфейс.

Фрагмент диаграммы компонентов с отношениями зависимости и реализации


Пример использования диаграммы компонентов:


Дополнительная информация:
1.http://www.uml-diagrams.org/component-diagrams.html
2.НОУ ИНТУИТ. Лекция 12: Элементы графической нотации диаграммы компонентов.
3.Технология программирования.
4. А. Леоненков. Самоучитель UML. Глава 10.
5. Хабрхабр. Проектирование программного обеспечения.