- •Содержание
- •Предисловие
- •Краткая история uml
- •1. Зачем мы моделируем
- •Значение моделирования
- •Принципы моделирования
- •Объектное моделирование
- •2. Введение в язык uml
- •Обзор uml
- •Где используется uml
- •Концептуальная модель uml
- •Строительные блоки uml
- •Правила языка uml
- •Общие механизмы языка uml
- •Жизненный цикл разработки по
- •4. Классы
- •Термины и понятия
- •Атрибуты
- •Операции
- •Организация атрибутов и операций
- •Обязанности
- •Другие свойства
- •5. Отношения
- •Термины и понятия
- •Зависимости
- •Обобщения
- •Ассоциации
- •Другие свойства
- •Типичные приемы моделирования Простые зависимости
- •Одиночное наследование
- •6. Диаграммы классов
- •Термины и понятия
- •Общие свойства
- •Типичные примеры применения
- •Типичные приемы моделирования Простые кооперации
- •Прямое и обратное проектирование
- •7. Диаграммы объектов
- •Термины и понятия
- •Общие свойства
- •Типичные примеры применения
- •Типичные приемы моделирования Объектные структуры
- •Прямое и обратное проектирование
- •8. Диаграммы деятельности
- •Термины и понятия
- •Общие свойства
- •Наполнение
- •Состояния действия и состояния деятельности
- •Переходы
- •Ветвление
- •Разделение и слияние
- •Дорожки
- •Траектория объекта
- •Операция
- •9. Диаграммы состояний
- •Термины и понятия
- •Типичные примеры использования
- •Типичные приемы моделирования Реактивные объекты
- •29. Диаграммы компонентов
- •11. Диаграммы развертывания
- •Термины и понятия
- •Общие свойства
- •Типичное применение
- •Клиент-серверная система
- •12. Применение uml
- •Переход к uml
- •Литература
Термины и понятия
Диаграммой объектов (Object diagram) называется диаграмма, на которой показаны объекты и их отношения в некоторый момент времени. Графически диаграмму объектов представляют в виде графа, состоящего из вершин и ребер.
Общие свойства
Диаграмма объектов - это частный случай диаграммы, она имеет те же общие свойства, что и прочие диаграммы , а именно название и графическое содержание, являющееся проекцией модели. От остальных диаграмму объектов отличает ее конкретное содержание.
Примечание: Диаграмма объектов - это, по существу, экземпляр диаграммы классов или статическая часть диаграммы взаимодействия. В любом случае она содержит прежде всего объекты и связи и акцентирует внимание на конкретных экземплярах или экземплярах-прототипах. Диаграммы компонентов и развертывания также могут содержать экземпляры, причем если они не содержат ничего другого (в частности, сообщений), то могут рассматриваться как частные случаи диаграммы объектов.
Типичные примеры применения
С помощью диаграмм объектов, как и с помощью диаграмм классов, моделируют статический вид системы с точки зрения проектирования или процессов, но принимая во внимание реальные экземпляры или прототипы. Этот вид описывает главным образом функциональные требования к системе, то есть услуги, которые она должна предоставлять конечным пользователям. Диаграммы объектов позволяют моделировать статические структуры данных.
При моделировании статического вида системы с точки зрения проектирования или процессов объектные диаграммы применяют для того, чтобы моделировать структуру объектов.
Моделирование структуры объектов предполагает получение "снимка" объектов системы в некоторый момент времени. Диаграммы объектов предоставляют статическую основу динамического сценария, описываемого диаграммой взаимодействия . Они применяются для визуализации, специфицирования, конструирования и документирования определенных экземпляров в системе, а также отношений между этими экземплярами.
Типичные приемы моделирования Объектные структуры
Конструируя диаграмму классов, компонентов или развертывания, вы описываете группу интересующих вас абстракций и раскрываете в данном контексте их семантику и отношения с другими абстракциями в группе. Эти диаграммы отражают только потенциальные возможности. Например, если класс А связан с классом В ассоциацией типа "один-ко-многим", то с одним экземпляром класса А может быть связано пять экземпляров класса В, а с другим - только один. Кроме того, в любой конкретный момент времени экземпляр класса А и связанные с ним экземпляры класса В будут иметь вполне определенные значения своих атрибутов и состояния автоматов.
Заморозив работающую систему или просто представив себе некий миг в жизни моделируемой системы, вы обнаружите совокупность объектов, каждый из которых находится в определенном состоянии и связан конкретными отношениями с другими объектами. Диаграммы объектов позволяют визуализировать, специфицировать, конструировать и документировать структуру, образуемую этими объектами. Особенно полезны они бывают при моделировании сложных структур данных.
При моделировании вида системы с точки зрения проектирования с помощью набора диаграмм классов можно полностью определить семантику абстракций и их отношений. Однако диаграммы объектов не позволяют полностью описать объектную структуру системы. У класса может быть большое количество различных экземпляров, а при наличии нескольких классов, связанных друг с другом отношениями, число возможных конфигураций объектов многократно возрастает. Поэтому при использовании диаграмм объектов нужно сосредоточиться только на изображении интересующих вас наборов конкретных объектов или объектов-прототипов. Именно это и понимается под моделированием объектной структуры - отображение на диаграмме объектов множества объектов и отношений между ними в некоторый момент времени.
Моделирование объектной структуры осуществляется так:
Идентифицируйте механизм, который собираетесь моделировать. Механизм представляет собой некоторую функцию или поведение части моделируемой системы, являющееся результатом взаимодействия сообщества классов, интерфейсов и других сущностей (о том, как механизмы связаны с прецедентами
Для каждого обнаруженного механизма идентифицируйте классы, интерфейсы и другие элементы, участвующие в кооперации, а также отношения между ними.
Рассмотрите один из сценариев использования работы механизма. Заморозьте этот сценарий в некоторый момент времени и изобразите все объекты, участвующие в механизме.
Покажите состояние и значения атрибутов каждого такого объекта, если это необходимо для понимания сценария.
Покажите также связи между этими объектами, которые представляют экземпляры существующих ассоциаций.
В качестве примера на рис. 14.2 показана совокупность объектов, взятая из реализации автономного робота. Внимание здесь акцентировано на нескольких объектах, составляющих часть механизма робота, предназначенного для расчета модели мира, в котором тот перемещается. Разумеется, в работе системы принимает участие гораздо больше объектов, но в этой диаграмме рассматриваются только абстракции, непосредственно вовлеченные в процесс формирования взгляда на мир.
Рис.
14.2 Моделирование объектных структур
