Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ООП_Лекции 2010.doc
Скачиваний:
69
Добавлен:
17.03.2015
Размер:
954.37 Кб
Скачать
      1. Диаграмма объектов графического редактора

Фигуры получают следующие сообщения: «Нарисовать», «Изменить цвет контура», «Изменить размер», «Изменить координаты». Все эти сообщения инициируются Монитором в соответствии с командой пользователя. Получив от пользователя команду «Завершить», Монитор прекращает выполнение программы.

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

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

        1. Объектная декомпозиция (программа «Записная книжка», вариант 1). Как уже констатировалось ранее, работу с программами типа «Записной книжки» пользователю удобнее осуществлять через меню. Значит, при запуске программы на экране должно появиться меню, содержащее набор возможных операций. В зависимости от выбора пользователя далее будут активизироваться части программы, ответственные за открытие «книжки», добавление записей или поиск записей.

      1. Диаграмма состояний интерфейса пользователя программы «Записная книжка»

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

На этом этапе анализа мы уже можем выделить четыре части программы, которые обеспечивают функционирование программы в различных режимах: Меню, Открытие книжки, Ввод записей, Поиск записей. Эти части сравнительно независимы, обладают состоянием и поведением, а потому могут рассматриваться как объекты предметной области.

Дальнейший анализ показывает, что необходимо предусмотреть еще два состояния интерфейса - состояния вывода сообщений пользователю. Эти сообщения будут появляться на экране при обнаружении несоответствий в процессе работы. Сообщение «Некорректное имя файла» будет активизироваться в режиме открытия книжки при вводе имени файла, недопустимого в конкретной операционной системе, а сообщение «Нет информации об абоненте» - в режиме поиска записей при отсутствии записей с указанными именем и/или фамилией. Части программы, ответственные за вывод этих сообщений, также могут представляться в программе объектами.

Объекты Меню, Открытие книжки, Ввод записей, Поиск записей и объекты сообщений в процессе работы должны получать информацию от пользователя и выдавать ему результаты работы, и соответственно должны иметь некоторое экранное представление. Совокупность таких экранных представлений (форм) образует объектный интерфейс с пользователем.

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