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

Термины и понятия

Диаграммой объектов (Object diagram) называется диаграмма, на которой по­казаны объекты и их отношения в некоторый момент времени. Графически диа­грамму объектов представляют в виде графа, состоящего из вершин и ребер.

Общие свойства

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

Содержание

Диаграммы объектов, как правило, содержат:

  • объекты (см. главу 13);

  • связи (см. главу 15).

Диаграммы объектов, как и все прочие диаграммы, могут включать в себя примечания и ограничения,

Они могут содержать также пакеты (см. главу 12) и подсистемы (см. главу 31), используемые для группирования элементов модели в более крупные блоки. Иног­да в них помещают и классы, особенно если надо визуализировать классы, стоящие за каждым экземпляром.

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

Типичные примеры применения

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

При моделировании статического вида системы с точки зрения проектирования или процессов объектные диаграммы применяют для того, чтобы моделиро­вать структуру объектов.

Моделирование структуры объектов предполагает получение «снимка» объек­тов системы в некоторый момент времени. Диаграммы объектов предоставляют ста­тическую основу динамического сценария, описываемого диаграммой взаимодействия (см. главу 18). Они применяются для визуализации, специфицирования, конструирования и документирования определенных экземпляров в системе, а также отношений между этими экземплярами.

Типичные приемы моделирования Объектные структуры

Конструируя диаграмму классов, компонентов или развертывания, вы описыва­ете группу интересующих вас абстракций и раскрываете в данном контексте их се­мантику и отношения с другими абстракциями в группе. Эти диаграммы отражают

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

Заморозив работающую систему или просто представив себе некий миг в жиз­ни моделируемой системы, вы обнаружите совокупность объектов, каждый из которых находится в определенном состоянии и связан конкретными отношения­ми с другими объектами. Диаграммы объектов позволяют визуализировать, спе­цифицировать, конструировать и документировать структуру, образуемую этими объектами. Особенно полезны они бывают при моделировании сложных струк­тур данных.

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

Моделирование объектной структуры осуществляется так:

  1. Идентифицируйте механизм, который собираетесь моделировать. Механизм представляет собой некоторую функцию или поведение части моделируемой системы, являющееся результатом взаимодействия сообщества классов, интерфейсов и других сущностей (о том, как механизмы связаны с прецедентами, см. главы 26 и 28).

  2. Для каждого обнаруженного механизма идентифицируйте классы, интерфейсы и другие элементы, участвующие в кооперации, а также отношения между ними.

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

4. Покажите состояние и значения атрибутов каждого такого объекта, если это необходимо для понимания сценария.

5. Покажите также связи между этими объектами, которые представляют экземпляры существующих ассоциаций.

В качестве примера на рис. 14.2 показана совокупность объектов, взятая из реа­лизации автономного робота. Внимание здесь акцентировано на нескольких объек­тах, составляющих часть механизма робота, предназначенного для расчета моде­ли мира, в котором тот перемещается. Разумеется, в работе системы принимает участие гораздо больше объектов, но в этой диаграмме рассматриваются только аб­стракции, непосредственно вовлеченные в процесс формирования взгляда на мир.

Как видно из рисунка, один из объектов соответствует самому роботу (г, экзем­пляр класса Robot); в настоящий момент он находится в состоянии moving (дви­жется). Этот объект связан с экземпляром w класса World (Мир), являющегося аб­стракцией модели мира робота. В свою очередь объект w связан с мультиобъектом который состоит из экземпляров класса Element, описывающего сущности, опо­знанные роботом, но еще не включенные в его модель мира. Эти элементы помече­ны как части глобального состояния робота.

В текущий момент времени экземпляр w связан с двумя экземплярами класса Area. У одного из них (а2) показаны его собственные связи с тремя объектами класса Wall (Стена) и одним - класса Door (Дверь). Указана ширина каждой из трех стен и обозначено, что каждая связана с соседними. Как видно из диаграммы, робот распознал, что замкнутое помещение, в котором он находится, имеет с трех сторон стены, а с четвертой – дверь.

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