Предметы UML

В UML имеется четыре типа предметов:

· Структурные предметы.

· Предметы поведения.

· Группирующие предметы.

· Поясняющие предметы.

Рассмотрим каждый из типов предметов.

Предметы (сущности) являются основными объектно-ориентированными блоками языка, с их помощью создаются корректные модели.

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

Существует следующие разновидности структурных предметов.

Класс (Class) - это описание совокупности объектов с одинаковыми атрибутами, общими операциями (методами), отношениями и семантикой. Графически класс изображается в виде прямоугольника, в котором записаны его имя, атрибуты и операции, как показано на рис. 2.1.

Рис. 2.1Класс

Интерфейс (Interface) - это совокупность операций, которые определяют сервис (набор услуг), предоставляемый классом или компонентом. Таким образом, интерфейс описывает видимое извне поведение элемента. Интерфейс может представлять поведение класса или компонента полностью или частично; он определяет только спецификации операций (сигнатуры), но никогда - их реализации. Графически интерфейс изображается в виде круга, под которым пишется его имя. Интерфейс редко существует сам по себе, он присоединяется к реализующему его классу или компоненту.

Кооперация (Collaboration) определяет взаимодействие; она представляет собой совокупность ролей и других элементов, которые, работая совместно, производят некоторый кооперативный эффект, не сводящийся к простой сумме слагаемых. Кооперация, следовательно, имеет как структурный, так и поведенческий аспект. Один и тот же класс может принимать участие в нескольких кооперациях, и они, таким образом, являются реализацией образцов (паттернов) поведения, формирующих систему. Графически кооперация изображается в виде эллипса, ограниченного пунктирной линией, в который обычно заключено только имя.

Прецедент (Use case) - это описание последовательности выполняемых системой действий, которая производит наблюдаемый результат, значимый для какого-то определенного актера (Actor). Часто применяют и другое название – вариант использования. Прецедент (вариант использоания) применяется для структурирования поведенческих сущностей модели. Прецеденты реализуются посредством кооперации. Графически прецедент изображается в виде ограниченного непрерывной линией эллипса, обычно содержащего только его имя, как показано на рис. 2.2.

Рис. 2.2 Прецедент

Три другие оставшиеся сущности: активные классы, компоненты и узлы подобны классам, т.е. описывают совокупности объектов с общими атрибутами, операциями, отношениями и семантикой. Тем не менее, они в достаточной степени отличаются друг от друга и от классов и, учитывая их важность при моделировании определенных аспектов объектно-ориентированных систем, заслуживают специального рассмотрения.

Активным классом (Active class) называется класс, объекты которого являются владельцами одного или несколько процессов, или потоков, и поэтому могут инициировать управляющее воздействие. Активный класс во всем подобен обычному классу, за исключением того, что его объекты представляют собой элементы, деятельность которых осуществляется одновременно с деятельностью других элементов. Графически активный класс изображается так же, как простой класс, но с двойными боковыми линиями, и обычно включает имя, атрибуты и операции.

Компонент (Component) – это логическая модульная часть системы, которая скрывает свою реализацию за набором внешних интерфейсов и обеспечивает их реализацию. Реализация компонентов может быть выражена объединением частей, при этом части могут включать в себя более мелкие элементы. Графически компонент изображается в виде прямоугольника со специальной пиктограммой в правом верхнем углу (см. рис. 2.3).

Рис. 2.3 Компонент

Артефакт (Artifact) - это физическая заменяемая часть системы, которая соответствует некоторой физической информации и обеспечивает реализацию. В системе можно встретить различные виды артефактов, например, файлы исходного кода, а также исполняемые программы и скрипты. Артефакт, как правило, представляет собой физическую упаковку логических элементов, таких как классы, интерфейсы и кооперации. Графически артефакт изображается в виде прямоугольника, содержащего обычно имя и ключевое слово «artifact».

Узел (Node) - это элемент реальной (физической) системы, который существует во время функционирования программного комплекса и представляет собой вычислительный ресурс, обычно обладающий как минимум некоторым объемом памяти, а часто еще и способностью обработки. Набор компонентов может размещаться в узле, а также мигрировать с одного узла на другой. Графически узел изображается в виде куба, обычно содержащего только имя.

Артефакты и узлы имеют свои особенности, они соответствуют физическим сущностям системы, в то время как остальные предметы - концептуальным и логическим сущностям.

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

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

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

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

Автомат (State machine) - это модель поведения, определяющая последовательность состояний, через которые объект проходит на протяжении своего жизненного цикла в ответ на различные события, а также реакции на эти события. Объект остается в некотором состоянии в течение конечного отрезка времени. С помощью автомата можно описать поведение отдельного класса или кооперации классов. С автоматом связан ряд других элементов: состояния, переходы (из одного состояния в другое), события (сущности, инициирующие переходы) и виды действий (реакция на переход). и, возможно, внутренние атомарные (неделимые) действия (см. рис. 2.4).

Рис. 2.4Состояния

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

Семантически поведенческие предметы часто связаны с различными структурными элементами, в первую очередь – классами и объектами.

Группирующие предметы являются организующими частями модели UML. Это блоки, на которые можно разложить модель.

Есть только одна первичная группирующая сущность – пакет.

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

Изображается пакет в виде папки с закладкой, содержащей, как правило, только имя и иногда - содержимое (см. рис. 2.5).

Рис. 2.5 Пакеты

Пакеты являются основной группирующей сущностью, с помощью которой можно организовать модель UML. Существуют также вариации пакетов, например каркасы (Frameworks), модели и подсистемы.

Поясняющие предметы представляют собой аннотационные сущности или пояснительные части модели UML. Это комментарии для дополнительного описания, разъяснения или замечания к любому элементу модели. Имеется только один базовый тип аннотационных элементов - примечание (Note).

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

Рис. 2.6Примечания

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: