Язык UML. Руководство пользователя

       

Ограничения


Каждый элемент языка UML имеет свою семантику. В обобщениях используется принцип подстановки Лискова; множественные ассоциации, связанные с одним классом, обозначают разные отношения. С помощью ограничений можно создавать новую семантику или изменять существующие семантические правила. Ограничение определяет условия, которые должны выполняться, чтобы модель была хорошо оформлена. Например, на рис. 6.7 показано, как отразить тот факт, что информация, передаваемая вдоль данной ассоциации, зашифрована. Аналогично можно специфицировать, что из совокупности ассоциаций только одна про- -является в данный момент времени. При моделировании систем реального времени часто используются временные и пространственные ограничения (см. главу 23).


Рис. 6.7 Ограничение

Примечание: Ограничения могут записываться в свободном формате. Если надо определить семантику более точно, следует воспользоваться входящим в состав UML языком объектных ограничений (Object Constraint Language, OCL). Более подробно он описывается в книге "The Unified Modeling Language Reference Manual". Предопределенные в UML ограничения рассмотрены в "Приложении В".

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


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

В большинстве случаев ограничение размещается рядом с элементом и заключается в фигурные скобки, например {complete}. Можно изображать ограничение и по-другому - помещая в примечание, соединенное с элементом зависимостью.

Ограничение Символ, к которому оно применимо Назначение (о чем говорит данное ограничение)
complete Обобщение (generalization) В модели специфицированы все потомки в данном обобщении (хотя некоторые могут быть скрыты на диаграммах), и дополнительных потомков определять не разрешается
destroyed Экземпляр (instance), связь (link) Экземпляр или связь уничтожаются до завершения выполнения объемлющего взаимодействия
disjoint Обобщение (generalization) Объекты данного родителя могут иметь не более одного заданного потомка в качестве типа
implicit Ассоциация (association) Отношение является не явно выраженным, а концептуальным
incomplete Обобщение (generalization) Специфицированы не все потомки в обобщении (учитывая и скрытых). Разрешается определять дополнительных потомков
new Экземпляр (instance), связь (link) Экземпляр или связь создаются в процессе выполнения объемлющего взаимодействия
or Ассоциация (association) Из множества ассоциаций ровно одна является явно выраженной для каждого ассоциированного объекта
overlapping Обобщение (generalization) Объекты данного родителя могут иметь более одного заданного потомка в качестве типа
transient Экземпляр (instance), связь (link) Экземпляр или связь создаются в процессе выполнения объемлющего взаимодействия, но уничтожаются до его завершения

[Предыдущая глава]

[Содержание]

[Следующая глава]



Содержание раздела