Объектно-ориентированная технология основана на выявлении и установлении взаимодействия множества объектов и используется чаще всего при создании компьютерных систем на стадии проектирования и программирования.
Объектно-ориентированный подход использует объектную декомпозицию, при которой статическая структура системы описывается в терминах объектов и связей между ними, а поведение системы описывается в терминах обмена сообщениями между объектами.
Объект - это предмет, событие, явление, которые выполняют определенные функции и являются источником или потребителем информации.
Объект системы обладает собственным поведением, моделирует поведение объекта реального мира. В качестве объектов могут выступать, например, пользователи, программы, клиенты, документы, файлы, таблицы, базы данных и т.д.
Объект содержит инструкции (программный код), определяющие действия, которые может выполнять объект, и обрабатываемые данные.
Свойство - характеристика объекта, его параметр.
|
|
Все объекты наделены определенными свойствами, которые в совокупности выделяют объект из множества других объектов.
Объект обладает качественной определенностью, что позволяет выделить его из множества других объектов и обусловливает независимость создания и обработки от других объектов.
Например, объект можно представить перечислением присущих ему свойств:
ОБЪЕКТ_А (свойство_1, свойство_2,...., свойство_k).
Свойства объектов различных классов могут пересекаться, т.е. возможны объекты, обладающие одинаковыми свойствами:
ОБЪЕКТ_В (...свойство_n, свойство_m,...свойство_r,...)
ОБЪЕКТ_С (...свойство_n,.., свойство_r,...).
Одним из свойств объекта являются метод его обработки.
Метод - программа действий над объектом или его свойствами.
Метод реализуется с помощью программного кода, связанного с определенным объектом; осуществляет преобразование свойств, изменяет поведение объекта.
Объект может обладать набором заранее определенных встроенных методов обработки, либо созданных пользователем или заимствованных в стандартных библиотеках, которые выполняются при наступлении заранее определенных событий, например, однократное нажатие левой кнопки мыши, вход в поле ввода, выход из поля ввода, нажатие определенной клавиши и т.п.
По мере развития систем обработки данных создаются стандартные библиотеки методов, в состав которых включаются типизированные методы обработки объектов определенного класса (аналог - стандартные подпрограммы обработки данных при структурном подходе), которые можно заимствовать для различных объектов.
Событие - изменение состояния объекта.
|
|
Внешние события генерируются пользователем (например, клавиатурный ввод или нажатие кнопки мыши, выбор пункта меню, запуск макроса); внутренние события генерируются системой.
Объектно-ориентированный подход является удобным средством моделирования
предметной области.
Объектно-ориентированный подход базируется на объектной модели, включающей основные элементы:
абстрагирование;
инкапсуляция;
модульность;
иерархия.
Вспомогательными элементами модели, не являющиеся обязательными, выступают:
типизация;
параллелизм;
устойчивость.
Дадим краткую характеристику указанных выше элементов.
Абстрагирование – это выделение существенных характеристик анализируемого
объекта или процесса.
Абстрагирование позволяет сконцентрировать внимание на внешних особенностях
объекта, позволяет отделить самые существенные особенности его поведения от несущественных деталей их реализации.
Инкапсуляция – это процесс отделения друг от друга отдельных элементов объекта, определяющих его устройство и поведение.
Инкапсуляция служит для того, чтобы изолировать интерфейс объекта, отражающий его внешнее поведение, от внутренней реализации объекта. Абстрагирование и инкапсуляция являются взаимно дополняющими операциями.
Модульность – это свойство системы, связанное с возможностью ее декомпозиции
на ряд внутренне связных, но слабо связанных между собой модулей.
Иерархия – это ранжированная или упорядоченная система абстракций, расположение их по уровням.
Основными видами иерархических структур применительно к сложным системам являются структура классов (иерархия по номенклатуре) и структура объектов (иерархия по составу).
Типизация – это ограничение, накладываемое на класс объектов и препятствующее
взаимозаменяемости различных классов.
Типизация позволяет защититься от использования объектов одного класса вместо другого.
Параллелизм – это свойство объектов находиться в активном или пассивном состоянии и различать активные и пассивные объекты между собой.
Устойчивость – это свойство объекта существовать во времени и/или в пространстве.
Декомпозиция сложных систем с целью построения их информационных моделей на основе объектно-ориентированного подхода оперирует понятиями: объект, класс, экземпляр.
Объект - это абстракция множества предметов реального мира, обладающих одинаковыми характеристиками и законами поведения.
Основной характеристикой объекта является состав его атрибутов (свойств).
Атрибуты - это специальные признаки, посредством которых можно задать правила
описания свойств объектов.
Экземпляр объекта - это конкретный элемент множества.
Например, объектом может являться лицевой счет клиента банка, а экземпляром этого объекта - конкретный номер счета.
Объекты могут объединяться в классы (группы или наборы - в различных программных системах возможна другая терминология).
Класс - это множество предметов реального мира, связанных общностью структуры и поведением.
Элемент класса - это конкретный элемент данного множества.
Например, выделяем класс лицевых счетов клиентов.
Обобщая эти определения, можно сказать, что объект - это типичный представитель класса, а термины «экземпляр объекта» и «элемент класса» равнозначны.
Понятия полиморфизма и наследования определяют эволюцию объектно-
ориентированной системы, что подразумевает определение новых классов объектов на основе базовых.
Полиморфизм интерпретируется как способность объекта принадлежать более чем
одному типу.
Наследование выражает возможность определения новых классов на основе существующих с возможностью добавления или переопределения данных и методов.
|
|
Использование объектно-ориентированных технологий позволяет иметь более эффективные решения в системах организационного управления.
Объектно-ориентированные технологии реализуются на основе специальных языков моделирования.
Язык моделирования – это нотация, которая используется методом для описания
информационных процессов.
Нотация представляет собой совокупность графических объектов, которые используются в моделях.
Примером нотации могут выступить диаграммы классов, определяющие, каким образом представляются такие элементы и понятия, как класс, ассоциация и множественность.
Для различных методик объектно-ориентированного проектирования характерны следующие черты:
объект описывается как модель некоторой сущности реального мира;
объекты, для которых определены места хранения, рассматриваются во взаимосвязи, и применительно к ним создаются программные модули системы.
Проводится объектно-ориентированный анализ:
осуществляется идентификация объектов и их свойств;
устанавливается перечень операций (методов обработки), выполняемых над каждым объектом, в зависимости от его состояния (событий);
определяются связи между объектами для образования классов;
устанавливаются требования к интерфейсу с объектами.
Основными этапами объектно-ориентированного проектирования выступают:
разработка диаграммы аппаратных средств системы обработки данных, показывающей процессоры, внешние устройства, вычислительные сети и их соединения;
разработка структуры классов, описывающей связь между классами и объектами;
разработка диаграмм объектов, показывающих взаимосвязи с другими объектами;
разработка внутренней структуры программного продукта.
В качестве современного средства моделирования можно указать на унифицированный язык моделирования UML (Unified Modeling Language) [19, 28].