Объектно-информационные модели

Объектный подход к информационному моделированию берет свое начало в парадигме объектно-ориентированного программирования (ООП), возникшей в 1970-х. Главным понятием здесь является «объект» – часть окружающей нас действительности.

Понятие объекта является очень широким и объединяет в себе как реальные, осязаемые предметы (например: кресло, автомобиль, мост), так и образы, созданные мышлением человека (например: стихотворение, музыкальное произведение, математическая теорема).

При изучении ОИМ следует рассмотреть:

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

У каждого конкретного объекта свойства имеют определенные значения.

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

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

Поведение объекта – действия, которые могут выполняться над объектом или которые может выполнять сам объект.

Объекты, обладающие одинаковыми свойствами и поведением, образуют класс объектов.

Каждый объект является экземпляром какого-либо класса.

Экземпляр класса (объект) – это конкретный предмет или образ, а класс определяет множество объектов с одинаковыми свойствами и поведением. Класс может порождать произвольное число объектов, однако любой объект относится к строго фиксированному классу.

Объектно-информационные модели имеют иерархическую структуру (дерево).

Иерархичность проявляется в том, что некоторый класс сам может быть подмножеством другого, более широкого класса.

В такой иерархической структуре между классами определяется отношение наследования.

Наследование – это такое отношение между классами, когда один класс повторяет свойства и поведение другого класса.

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

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

Изучение объектного подхода к информационному моделированию имеет две дидактические задачи: во-первых, оно развивает системное мышление учащихся, во-вторых, имеет непосредственное отношение к современной методике программирования – объектно-ориентированному программированию.

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

Следующим важным моментом объектного моделирования является классификация объектов. Основное свойство определяемых классов – их иерархическая подчиненность. А связи между классами различных уровней иерархии реализуются через наследование свойств и поведения.

Освоение программирования на объектно-ориентированных языках (С++, Delphi и др.) в школе может происходить на уровне профильного обучения в старших классах. Его отличие от традиционного процедурного программирования заключается в способе мышления, сводящемся к умению выстраивать объектно-информационные модели (иерархии классов).