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

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

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

Объект содержит инструкции (программный код), определяющие действия, которые может выполнять объект, и обрабатываемые данные.

Свойство - характеристика объекта, его параметр. Все объекты наделены определенными свойствами, которые в совокупности выделяют объект из множества других объектов.

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

Например, объект можно представить перечислением присущих ему свойств:

ОБЪЕКТ_А (свойство_1, свойство_2,...., свойство_k).

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

ОБЪЕКТ_В (...свойство_n, свойство_m,...свойство_r,...)

ОБЪЕКТ_С (...свойство_n,.., свойство_r,...).

Одним из свойств объекта являются метод его обработки.

Метод - программа действий над объектом или его свойствами.

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

Объект может обладать набором заранее определенных встроенных методов обработки, либо созданных пользователем или заимствованных в стандартных библиотеках, которые выполняются при наступлении заранее определенных событий, например, однократное на-жатие левой кнопки мыши, вход в поле ввода, выход из поля ввода, нажатие определенной клавиши и т.п.

По мере развития систем обработки данных создаются стандартные библиотеки мето-дов, в состав которых включаются типизированные методы обработки объектов определен-ного класса (аналог - стандартные подпрограммы обработки данных при структурном под-

ходе), которые можно заимствовать для различных объектов. Событие -изменение состояния объекта.

Внешние события генерируются пользователем (например, клавиатурный ввод или на­жатие кнопки мыши, выбор пункта меню, запуск макроса); внутренние события генериру­ются системой.

Объектно-ориентированный подход является удобным средством моделирования предметной области.

Объектно-ориентированный подход базируется на объектной модели, включающей ос­новные элементы:

абстрагирование;

инкапсуляция;
- модульность;

иерархия.

Вспомогательными элементами модели, не являющиеся обязательными, выступают:

типизация;

параллелизм;

устойчивость.

Дадим краткую характеристику указанных выше элементов.

Абстрагирование - это выделение существенных характеристик анализируемого объекта или процесса.

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

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

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

Параллелизм - это свойство объектов находиться в активном или пассивном состоянии и различать активные и пассивные объекты между собой. Устойчивость – это свойство объекта существовать во времени и/или в пространст-ве.

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

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

Основной характеристикой объекта является состав его атрибутов (свойств).

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

Объекты могут объединяться в классы ( группы или наборы - в различных программ-ных системах возможна другая терминология).

Класс - это множество предметов реального мира, связанных общностью структуры и поведением.

Элемент класса - это конкретный элемент данного множества.

Например, выделяем класс лицевых счетов клиентов.

Обобщая эти определения, можно сказать, что объект - это типичный представитель класса, а термины «экземпляр объекта» и «элемент класса» равнозначны.

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

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

Для различных методик объектно-ориентированного проектирования характерны сле­дующие черты [10]:

■ объект описывается как модель некоторой сущности реального мира;

■ объекты, для которых определены места хранения, рассматриваются во взаимосвязи, и применительно к ним создаются программные модули системы.

Проводится объектно-ориентированный анализ:

■ осуществляется идентификация объектов и их свойств;

■ устанавливается перечень операций (методов обработки), выполняемых над каждым объектом, в зависимости от его состояния (событий);

■ определяются связи между объектами для образования классов;

■ устанавливаются требования к интерфейсу с объектами.

Основными этапами объектно-ориентированного проектирования выступают:

■ разработка диаграммы аппаратных средств системы обработки данных, показываю­щей процессоры, внешние устройства, вычислительные сети и их соединения;

■ разработка структуры классов, описывающей связь между классами и объектами;

■ разработка диаграмм объектов, показывающих взаимосвязи с другими объектами;

■ разработка внутренней структуры программного продукта.

В качестве современного средства моделирования можно указать на

унифицированный язык моделирования UML (Unified Modeling Language) [19, 28].