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

Новые строительные блоки

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

Моделирование новых строительных блоков производится в следующем порядке:

1. Убедитесь, что с помощью базового набора средств UML невозможно вопло­тить ваш замысел. Если вы столкнулись с типичной задачей моделирования, то, скорее всего, уже существует стандартный стереотип для ее решения.

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

3. Задайте общие свойства и семантику, выходящие за пределы базового эле­мента, определив множество помеченных значений и ограничений для сте­реотипа.

4. Если вы хотите связать со стереотипными элементами специальный визу­альный образ, определите для каждого из них новую пиктограмму.

Допустим, вы используете диаграммы деятельности для моделирования биз­нес-процесса, описывающего действия тренеров и команд во время какого-либо спортивного события. Следует визуально отличать тренеров и команды друг от друга и от иных сущностей предметной области, таких как состязания и занятые командами места. Как явствует из рис. 6.9, две сущности - Тренер (Coach) и Ко­манда (Team) - отличаются от остальных. Это не просто разновидности классов, а, новые примитивные строительные блоки, которые можно использовать в дан­ном контексте. Создать такие блоки можно, определив стереотипы coach и team и применив их к классам UML. На рисунке анонимные экземпляры :Тренер

: Команда (последний существует в трех различных состояниях - не зарегис­трирована, зарегистрирована и закончила выступление) сопровождаются пиктограммами, ассоциированным с их стереотипами. (Подробнее об экземплярах рассказано в главе 13, о ролях - в главе 11, о диаграммах деятельности - в главе 19.)

Новые свойства

Базовые свойства строительных блоков UML - атрибуты и операции для клас­сов, содержание пакетов и т.д. - являются достаточно общими, чтобы их можно было применять для моделирования любых сущностей. Все же, если вы хотите рас­ширить набор свойств базовых блоков (или новых блоков, созданных с помощью стереотипов), вам необходимо воспользоваться помеченными значениями.

Моделирование новых свойств осуществляется следующим образом:

1. Сначала убедитесь, что с помощью базовых средств UML невозможно во­плотить вашу задумку. Если вы столкнулись с типичной задачей моделиро­вания, то, вероятнее всего, уже существует стандартное помеченное значе­ние для ее решения.

2. Если вы уверены, что никакого другого способа выразить нужную семан­тику не существует, добавьте новое свойство к соответствующему элемен­ту или стереотипу. Здесь действуют правила обобщения: помеченные зна­чения, определенные для некоторого элемента, применяются и ко всем его потомкам.

Предположим, например, что вам нужно связать создаваемые модели с системой управления конфигурацией проекта. Помимо всего прочего, это предполагает отсле­живание номера версии, текущего статуса версии в хранилище (Check in/check out status) и, возможно, дат создания и модификации каждой подсистемы (см. главу 31). Поскольку вся эта информация специфична для процесса разработки, она не явля­ется частью базового UML, хотя ее можно включить в модель с помощью помечен­ных значений. В частности, эта информация не является просто атрибутом класса. Номер версии подсистемы - это часть метаданных, но не самой модели.

На рис. 6.10 представлены четыре подсистемы, каждая из которых была рас­ширена за счет включения номера версии и статуса. Для подсистемы Биллинг показано еще одно помеченное значение - имя человека, который извлек подсис­тему из хранилища.

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

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