Основные элементы UML

Язык UML состоит из трех видов элементов:

1) сущности;

2) отношения;

3) диаграммы.

Сущности — это некоторые абстрактные объекты. Сущности являются основными элементами UML.

Связи между сущностями выражаются отношениями.

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

Если проводить параллели с естественным языком, то сущности — это существительные, пассивная составляющая, а отношения — глаголы, активные элементы.

Типы сущностей:

1) структурные;

2) поведенческие;

3) группирующие;

4) аннотационные.

Структурные сущности соответствуют концептуальным или физическим элементам системы.

Существует семь разновидностей структурных сущностей:

1. Класс (class) — описание совокупности объектов с общими атрибутами, методами, отношениями и семантикой. Данная абстракция соответствует понятию «класс» в языках программирования. Обозначение:

В верхней части прямоугольника записывается наименование класса, в средней перечисляются атрибуты, в нижней — методы (операции). Для атрибутов могут указываться тип и видимость. Для методов могут указываться видимость и тип возвращаемого значения. Видимость и типы соответствуют общепринятым в языках C++, Java, Ada. В зависимости от назначения модели, класс может отображаться с той или иной степени детальности, например, может указываться только наименование.

2. Интерфейс (interface) — описание совокупности методов, которые определяют набор услуг, предоставляемых классом или компонентом (см. ниже). Обозначение:

Интерфейс описывает «видимое» извне поведение элемента через спецификацию операций. Интерфейс содержит только декларативную часть, реализация методов заключена в классе или компоненте, на которые он ссылается.

3. Кооперация, или сотрудничество (collaboration), — совокупность классов, интерфейсов и других элементов, эффект от работы которых не сводится к сумме простых слагаемых. Обозначение:

Кооперация специфицирует, как некий элемент реализуется с помощью совокупности других элементов. Чаще всего кооперация используется для описания реализации прецедента. Следует также отметить, что элементы могут участвовать в нескольких кооперациях.

4. Прецедент (use case) — описание последовательности выполняемых системой действий (в том числе вариантных), которые приводят к наблюдаемому результату, значимому для какого-либо пользователя системы (актера). Обозначение:

Прецедентыреализуются посредством кооперации.

5. Компонент (component) — физическая заменяемая часть системы, которой соответствует некоторому набору интерфейсов и обеспечивает их реализацию. Компонент — это «обертка» для классов, компонентов, коопераций. Обозначение:

6. Узел (node) —это элемент реальной системы. Это вычислительный элемент, который обладает машинной памятью некоторого объема и, обычно, способностью обработки.

Поведенческие сущности:

1. Взаимодействие (interaction) — поведение, состоящее в обмене сообщениями между объектами в рамках конкретного контекста для достижения определенной цели. Отдельное сообщение обозначается как

Здесь «2» — порядковый номер, «СозданиеСтроки()» — сообщение, стрелка определяет направление передачи сообщения и линия обозначает связь.

2. Автомат (state machine) — алгоритм поведения, определяющий последовательность состояний, через которые проходят объект или взаимодействие. Автомат определяется через диаграмму состояний. Отдельное состояние обозначается прямоугольником со скругленными углами:

Или:

Группирующие сущности:

Включают только одну разновидность — пакет.

Пакет (package) — механизм организации элементов в группы. Пакеты существуют только во время разработки модели, в отличие от компонентов, которые тоже выполняют функции агрегации элементов.

В пакет могут входить классы, интерфейсы, компоненты, узлы, кооперации, другие пакеты и даже диаграммы. Элемент может принадлежать только одному пакету.

Аннотационные сущности:

Также только одна разновидность — примечание(note). Используется для словесного описания чего-либо на диаграмме. Обозначается прямоугольником с загнутым правым верхним углом:

Пример использования:

Среди сущностей языка UML выделяют так называемые классификаторы. Классификаторы — это элементы, которые могут иметь экземпляры, т.е. реализации с конкретными характеристиками. Классификаторы характеризуются как структурными (состав атрибутов), так и поведенческими (состав операций) свойствами. Все экземпляры одного классификатора обладают рядом общих свойств.

Основные классификаторы:

- класс;

- интерфейс;

- компонент;

- узел;

- прецедент;

- актер.

Отношения:

1. Зависимость (dependency) — семантическое отношение; показывает, что изменение спецификации независимой (или целевой) сущности влияет на зависимую, при этом обратное в общем случае неверно. Зависимость часто применяется для обозначения использования методами класса методов другого класса. Например, если в реализации класса Б используется операция А1 класса А, то зависимость Б от А обозначается следующим образом:

Зависимость показывается пунктирной стрелкой, направленной к независимой сущности (поэтому также называемой целевой).

2. Ассоциация (association) — структурное отношение, рассматривается ниже при описании диаграммы классов; в общем случае обозначается линией.

3. Обобщение (generalization) — структурное отношение типа «наследование», т.е. показывает, что объект-потомок наследует структуру и поведение родителя. Примеры:

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

4. Реализация (realization) — семантическое отношение, показывающее такую зависимость, когда один из элементов определяет запрос, а другой обеспечивает его выполнение, например: интерфейс и класс, прецедент и кооперация. Если класс «Строка» реализует интерфейс «Сравнение строк», то это обозначается так:

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








Дата добавления: 2018-11-25; просмотров: 3426;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.009 сек.