Задача: выполнить объектную декомпозицию программы, которая по запросу пользователя рисует точку, окружность или квадрат.
Решение: по правилам объектной декомпозиции разрабатывается имитационная модель программы. Для этого необходимо проанализировать все происходящие в системе процессы и выделить элементы, обладающие собственным поведением, воздействующие на другие элементы и/или являющиеся объектами такого воздействия.
Основная цель системы – нарисовать фигуру, выбранную пользователем. Действия пользователя – это либо выбор фигуры, либо изменение параметров фигуры (цвет, размер, координаты), либо команда нарисовать выбранную фигуру с заданными параметрами. Для выполнения этих команд можно воспользоваться следующими объектами: Менеджер (получает, анализирует и обрабатывает команды пользователя) и три объекта – фигуры (каждая со своими параметрами).
Фигуры получают следующие сообщения: нарисовать, изменить цвет контура, изменить размер, изменить координаты. Все эти сообщения инициируются Менеджером в соответствии с командой пользователя. Получив от пользователя команду «Завершить», Менеджер прекращает выполнение программы.