Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Uml Book (Rus).doc
Скачиваний:
15
Добавлен:
11.08.2019
Размер:
58.74 Mб
Скачать

Стереотипы

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

Стереотип - это не то же самое, что родительский класс в отношении обобще­ния «родитель/потомок». Точнее было бы охарактеризовать его как некоторый метатип, поскольку каждый стереотип создает эквивалент нового класса в мета-модели UML. Например, при моделировании бизнес-процесса вам потребуется ввести в модель элементы, представляющие работников, документы и стратегии. 'Пользуясь такой методикой разработки, как Рациональный Унифицированный Процесс (Rational Unified Process, см. «Приложение С»), вы должны будете опе­рировать классами границ, управления и сущностей. Здесь и возникает необходи­мость в стереотипах. Приписывая стереотип таким элементам, как узел или класс, вы по сути дела расширяете UML, создавая новый строительный блок, который напоминает существующий, но обладает новыми специальными свойствами (каж­дый стереотип может содержать свой набор помеченных значений), новой семан­тикой (у каждого стереотипа могут быть собственные ограничения) и нотацией (каждому стереотипу может быть присвоена пиктограмма).

В самом простом случае стереотип изображается в виде имени в кавычках (на­пример, " name"), расположенного над именем другого элемента. Для наглядно­сти стереотипу можно назначить пиктограмму, разместив ее справа от имени (если вы пользуетесь базовой нотацией для элемента) или применяя как базовый сим­вол для стереотипной сущности. Все три подхода показаны на рис. 6.5. Опреде­ленные в UML стереотипы обсуждаются в «Приложении В».

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

Помеченные значения

У каждой сущности в UML есть фиксированный набор свойств: классы имеют имена, атрибуты и операции; ассоциации - имена и концевые точки (каждая со сво­ими свойствами) и т.д. Стереотипы позволяют добавлять новые сущности в UML, а помеченные значения - новые свойства.

Метки можно определять для существующих элементов UML; можно также определить метки, применимые к отдельным стереотипам. В последнем случае все-элементы, описанные этим стереотипом, будут иметь заданную метку. Помеченное значение - не то же самое, что атрибут класса (см. главы 4 и 9). Скорее, оно может быть представлено как метаданные, поскольку его значение применяется к самому элементу, а не к его экземплярам. Например, как показано на рис. 6.6, в диаграмме развертывания можно указать число процессоров, установленных на узле каждого вида, или потребовать, чтобы каждому компоненту был приписан стереотип биб­лиотеки, если его предполагается развернуть на клиенте или сервере.

В простейшем варианте помеченное значение изображается в виде строки в скоб­ках, расположенной под именем другого элемента. Строка содержит имя (метку), разделитель (знак равенства) и значение этой метки. Можно указать только значе­ние, если оно не допускает неоднозначной интерпретации, например в случае, если значение - это имя перечисления. Предопределенные в языке UML помеченные значения описаны в «Приложении В».

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]