Шаг 119.
Унифицированный язык моделирования UML.
Моделирование структур объектов

    На этом шаге рассмотрим типичные приемы моделирования структур объектов в UML.

    Конструируя диаграмму классов, компонентов или размещения, вы на самом деле описываете группу интересующих вас абстракций и раскрываете в данном контексте их семантику и связи с другими абстракциями в группе. Эти диаграммы отражают только потенциальные возможности. Например, если класс А связан с классом B ассоциацией типа "один-ко-многим", то с одним экземпляром класса А может быть связано пять экземпляров класса B, а с другим – только один. Кроме того, в любой конкретный момент времени экземпляр класса А и связанные с ним экземпляры класса B будут иметь вполне определенные значения своих атрибутов и состояния автоматов.

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

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

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

    Для моделирования структуры объектов понадобится:

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


Рис.1. Моделирование структур объектов

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

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

    Указана ширина каждой из трех стен и отмечено, что каждая связана с соседними. Как видно из диаграммы, робот распознал, что замкнутое помещение, в котором он находится, имеет с трех сторон стены, а с четвертой – дверь.

    На следующем шаге рассмотрим обратное проектирование диаграммы объектов.




Предыдущий шаг Содержание Следующий шаг