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

Экземпляры-прототипы

Одним из наиболее важных применений экземпляров является моделирование Динамических взаимодействий (см. главу 18) между объектами. При этом вы, как правило, не моделируете конкретные экземпляры, существующие в реальном мире. Вместо этого моделируются концептуальные объекты-заместители настоя­щих объектов, которые будут действовать в реальном мире. Такие заместители на­зываются объектами-прототипами и фактически являются ролями, с которыми согласуются конкретные экземпляры. Например, для моделирования способов реагирования объектов оконного приложения на события, связанные с мышью, нужно нарисовать диаграмму взаимодействий, содержащую экземпляры-прототи­пы окон, событий и обработчиков.

Примечание Семантическое различие между конкретными объектами и объекта­ми-прототипами незначительно и имеет смысл только для очень опытных разработчиков. Скорее всего, вы никогда не почувствуете этой разницы. Однако, чтобы быть точными, отметим, что в UML используется термин «роль классификатора» для обозначения роли, с которой согласуется экземпляр. Здесь имеется тонкое контекст­но-зависимое различие. Конкретные объекты появляются в стати­ческих местах, например в диаграммах объектов, компонентов и применения. В отличие от них объекты-прототипы появляются в таких местах, как диаграммы взаимодействия и действий.

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

1. Идентифицируйте те экземпляры-прототипы, которые необходимы и доста­точны для визуализации, специфицирования, конструирования или доку­ментирования моделируемой задачи.

2. Изобразите их с помощью UML как экземпляры. По возможности дайте им имена. Если для объекта не существует осмысленного имени, изобразите его как анонимный объект.

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

4. Изобразите эти экземпляры и отношения между ними на диаграмме взаи­модействий (см. главу 15) или на диаграмме деятельности (см. главу 19).

На рис. 13.7 показана диаграмма взаимодействий, иллюстрирующая частич­ный сценарий инициирования телефонного звонка с точки зрения коммутатора. На ней показаны четыре объекта-прототипа: а (ВызывающийАбонент), с (Соеди­нение), tl и t2 (оба являются экземплярами класса Терминал). Все четыре объекта - прототипы, и каждый из них служит концептуальным заместителем для конкретных объектов, которые могут существовать в реальном мире.

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

Советы

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

  • явно ассоциирован с конкретной абстракцией;

  • имеет уникальное имя, взятое из словаря предметной области или области решения.

Изображая экземпляры в UML, руководствуйтесь следующими принципами:

  • всегда показывайте имя абстракции, которой принадлежит экземпляр, если это не очевидно из контекста;

  • показывайте стереотип, роль или состояние экземпляра, только если это не­обходимо для понимания объекта в данном контексте. В таких случаях орга­низуйте длинные списки атрибутов экземпляра, группируя их вместе с их значениями в соответствии с категориями.

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