рас-. ширения. Механизмами расширения в UML являются:
ограничения;
теговые величины;
стереотипы.
Ограничение
(constraint) расширяет семантику строительного UML-блока, позволяя добавить новые правила или
модифицировать существующие. Ограничение показывают как текстовую строку, заключенную в
фигурные скобки {}.
Например, на рис. 10.17 введено простое ограничение на свойство
сумма
класса
Сессия Банкомата —
его значение должно
быть кратно 20. Кроме
того, здесь показано ограничение на два элемента (две ассоциации), оно располагается возле
пунктирной линии, соединяющей элементы, и имеет следующий смысл — владельцем конкретного счета не может быть и
организация, и персона.
Рис. 10.17.
Ограничения
Теговая величина
(tagged value) расширяет характеристики строительного UML-блока, позволяя создать новую
информацию в спецификации конкретного элемента. Теговую величину показывают как строку в фигурных скобках {}.
Строка имеет вид
имя теговой величины = значение.
Иногда (в случае предопределенных тегов) указывается только имя теговой величины.
Отметим, что при работе с продуктом, имеющим много реализаций, полезно отслеживать версию и автора определенных
блоков. Версия и автор не принадлежат к основным понятиям UML. Они могут быть добавлены к любому строительному
блоку (например, к классу) введением в блок новых теговых величин. Например, на рис. 10.18 класс ТекстовыйПроцессор
расширен путем явного указания его версии и автора.
Рис. 10.18.
Расширение класса
Стереотип
(stereotype) расширяет словарь языка, позволяет создавать новые виды строительных блоков, производные от
существующих и учитывающие специфику новой проблемы. Элемент со стереотипом является вариацией существующего
элемента, имеющей такую же форму, но отличающуюся по сути. У него могут быть дополнительные ограничения и теговые
величины, а также другое визуальное представление. Он иначе обрабатывается при генерации программного кода.
Отображают стереотип как имя, указываемое в двойных угловых скобках (или в угловых кавычках).
Примеры элементов со стереотипами приведены на рис. 10.19. Стереотип «exception» говорит о том,
что класс
ПотеряЗначимости теперь рассматривается как специальный класс, которому, положим, разрешается только генерация и
обработка сигналов исключений. Особые возможности метакласса получил класс ЭлементМодели. Кроме того,
здесь
показано применение стереотипа «call» к отношению зависимости (у него появился новый смысл).
Рис. 10.19.
Стереотипы
Таким образом, механизмы расширения позволяют адаптировать UML под нужды конкретных проектов и под новые
программные технологии. Возможно добавление новых строительных блоков, модификация спецификаций существующих
блоков и даже изменение их семантики. Конечно, очень важно обеспечить контролируемое введение расширений.
Достарыңызбен бөлісу: