Шаг 120.
Унифицированный язык моделирования UML.
Обратное проектирование диаграмм объектов
На этом шаге рассмотрим обратное проектирование диаграммы объектов.
Вам может пригодиться обратное проектирование диаграммы объектов, то есть создание модели на основе кода. Фактически, отлаживая вашу систему, вы непосредственно или с помощью
каких-либо инструментов непрерывно осуществляете этот процесс.
Например, чтобы отыскать "висячую" связь, необходимо реально
или мысленно нарисовать диаграмму взаимодействующих объектов, которая и позволит определить, в каком месте оказалось некорректным состояние одного из них или нарушились его связи
с другими.
Обратное проектирование диаграммы объектов необходимо вести по такой схеме:
- выбрать, что именно вы хотите реконструировать. Обычно
контекстом является какая-либо операция или экземпляр
конкретного класса;
- с помощью инструментальных средств или просто пройдясь
по сценарию, зафиксировать работу системы в некоторый
момент времени;
- идентифицировать множество интересующих вас объектов,
взаимодействующих в данном контексте, и изобразить их
на диаграмме объектов;
- если это необходимо для понимания семантики, показать
состояния объектов;
- чтобы обеспечить понимание семантики, идентифицировать ссылки, существующие между объектами;
- если диаграмма оказалась слишком сложной, упростить ее,
убрав объекты, несущественные для прояснения данного
сценария. Если диаграмма слишком проста, включить в нее
окружение некоторых представляющих интерес объектов
и подробней показать состояние каждого объекта.
Создавая диаграммы объектов на языке UML, помните, что
каждая такая диаграмма – это всего лишь графическое изображение
статического представления системы с точки зрения проектирования или процессов. Ни одна отдельно взятая диаграмма объектов
не в состоянии передать всю заключенную в этих представлениях
информацию. На самом деле во всех системах, кроме самых тривиальных, существуют сотни, а то и тысячи объектов, большая часть
которых анонимна. Полностью специфицировать все объекты системы и все способы, которыми они могут быть ассоциированы, невозможно. Следовательно, диаграммы объектов должны отражать
только некоторые конкретные объекты или прототипы, входящие
в состав работающей системы.
Хорошо структурированная диаграмма объектов характеризуется следующими свойствами:
- акцентирует внимание на одном аспекте статического представления системы с точки зрения проектирования или процессов;
- представляет лишь один из кадров динамического сценария,
показанного на диаграмме взаимодействия;
- содержит только существенные для понимания данного аспекта элементы;
- уровень ее детализации соответствует уровню абстракции
системы (показывайте только те значения атрибутов и дополнения, которые существенны для понимания);
- не настолько лаконична, чтобы пользователь упустил из виду
нечто важное.
Создавая диаграмму объектов, придерживайтесь следующих
правил:
- присваивайте ей имя, соответствующее назначению;
- располагайте ее элементы так, чтобы минимизировать пересечение линий;
- организуйте ее элементы так, чтобы семантически близкие
сущности оказывались рядом;
- используйте примечания и цвет для привлечения внимания
к важным особенностям диаграммы;
- включайте в описания каждого объекта значения и состояния, если это необходимо для понимания ваших намерений.
На следующем шаге рассмотрим общие сведения о компонентах.
Предыдущий шаг
Содержание
Следующий шаг