Открытая коллекция знаний

OpenU.Ru

Справочник UML. Объектно-ориентированное проектирование.



derived element (производный элемент)

Элемент, который можно вычислить по другим элементам. Вводится в диаграмму для большей ясности или каких-либо других целей несмотря на то, что не несет собственной семантической нагрузки.
См. constraint, dependency.

Семантика

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

Нотация

Производный элемент можно узнать по наклонной черте ( / ), которая стоит перед его именем. Таким элементом может являться атрибут, имя роли или имя ассоциации (рис. 91).

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

Обсуждение

Самым популярным видом производных элементов являются производные ассоциации. Они представляют собой виртуальные ассоциации, которые можно вычислить по двум или нескольким основным ассоциациям. На рис. 91 вы видите, что ассоциацию РаботаетНаКомпанию можно вычислить путем компоновки ассоциации РаботаетНаОтдел и композиции работодатель. Производную ассоциацию РаботаетНаКомпанию можно включать в реализацию, чтобы избежать повторного ее вычисления, однако никакой дополнительной информации она при этом не несет.
Между производной ассоциацией и обобщением ассоциации, которое представляет собой два уровня детализации одной и той же ассоциации (см. рис. 30), есть существенная разница. Как правило, реализуется только одна из этих ассоциаций. Это может быть либо ассоциация-прямой потомок, либо ассоциация-прямой предок, при этом для случаев, подпадающих под "потомственный" вариант ассоциации, в предка сводятся ограничения на типы ассоциируемых объектов.

Алфавитный указатель