Объектная декомпозиция

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

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

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

Параметры состояния и элементы поведения объектов определяются условием задачи.

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

Различие процедурной и объектной декомпозиции предметной области задачи продемонстрируем на примере разработки программы исследования элементарных функций, рассмотренной в параграфе 5.2.

Пример 9.1. Разработать программу исследования элементарных функций, которая для функций у=зт х, у=соб х, у^ х, у=1п х, у=ех выполняет следующие действия:

• строит таблицу значений функции на заданном отрезке с заданным шагом;

• определяет корни функции на заданном отрезке;

• определяет максимум и минимум функции на заданном отрезке.

В основе объектной декомпозиции также лежит граф состояний интерфейса (см.

рис. 5.6 - 5.7). Будем считать, что каждое состояние интерфейса - это состояние некоторого функционального элемента системы, т. е. объекта. Состояний интерфейса пять, соответственно, получаем пять объектов. Назовем эти объекты следующим образом: Главное меню, Меню операций, Табулятор, Определитель корней, Определитель экстремумов. Эти объекты передают управление друг другу, генерируя сообщение Активизировать. Результат объектной декомпозиции изображают в виде диаграммы объектов (рис. 9.1).

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

Полная характеристика объекта включает идентифицирующее условное имя, а также перечень и описание параметров состояния и аспектов поведения.

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

Рис. 9.1. Диаграмма объектов предметной области


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

<< | >>
Источник: Иванова Г.С. Основы программирования. 2002

Еще по теме Объектная декомпозиция:

  1. II. 2. 1. Принцип декомпозиции.
  2. Г.С.Иванова, Т.Н.Ничушкина, Е.К.Пугачев. Объектно- ориентированное программирование, 2001
  3. Прием анализа «объектных» психологических факторов.
  4. Правило анализа «объектных», обстановочных и субъектных психологических факторов
  5. 1.3. Город как феномен, как единство (взаимопереход) объектных и субъектных структур жизнедеятельности человека
  6. 3.2.1. Структурно–функциональная парадигма
  7. Правило активной роли действий
  8. Психологические особенности задержания вооруженных правонарушителей.
  9. Иванова Г.С. Основы программирования, 2002
  10. I. 1. 2. Разновидности системного подхода.
  11. Калмыкова Е. А.. Информатика, 2012
  12. ЛИЧНОСТЬ: ИССЛЕДОВАНИЕ: МЕТОД
  13. IV. 2. 4. Символическая модель психики человека
  14. Сергей Александрович Орлов. Теория и практика языков программирования: Учебник для вузов. Стандарт 3-го поколения, 2013
  15. Социокультурные проблемы городов.
  16. 3. Использование программ для ЭВМ, баз данных и топологий ИМС третьими лицами
  17. "Почему все это началось? Почему мы оставили Бога, прежде всего?"
  18. 2. Юридическая природа договора банковского вклада