Шаг 92.
Унифицированный язык моделирования UML.
Синтаксис операции в UML

    На этом шаге рассмотрим полный синтаксис операции в UML.

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

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

    Полный синтаксис операции в UML выглядит так:

[видимость] имя [‘(‘ список параметров ‘)’]
[‘:’ тип возвращаемого значения]
[строка свойств {, строка свойств}] 

    Приведем в качестве примера несколько корректных объявлений операции:

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

[direction] name : type [=default-value]

    Направление (direction) может принимать одно из следующих значений:

    Параметры out и inout эквивалентны соответственно возвращаемому параметру и параметру in. Значения out и inout предусмотрены для совместимости с более старыми языками программирования. Используйте вместо них явные возвращаемые параметры.

    В дополнение к свойствам leaf и abstract, есть другой ряд свойств, характеризующих операции:

    Свойства параллелизма (sequential, guarded и concurrent) предназначены для поддержки семантики параллелизма операций. Эти свойства существенны только в присутствии активных объектов, процессов или потоков.

    На следующем шаге рассмотрим типичные приемы моделирования семантики класса в UML.




Предыдущий шаг Содержание Следующий шаг