33 ва. Все представители (экземпляры) одного и того же класса имеют один и тот же набор операций и могут реагировать на одни и те же сообщения [93]. Объекты и классы организуются с использованием следующих принципов [93]: 1) принцип инкапсуляции (скрытия информации) декларирует запрещение любого доступа к атрибутам объекта, кроме как через его операции. В соответствии с этим внутренняя структура объекта скрыта от пользователя, а любое его действие инициируется внешним сообщением, вызывающим выполнение соответствующей операции; 2) принцип наследования декларирует создание новых классов от общего к частному. Такие новые классы сохраняют все свойства классовродителей и при этом содержат дополнительные атрибуты и операции, характеризующие их специфику; 3) принцип полиморфизма декларирует возможность работы с объектом без информации о конкретном классе, экземпляром которого он является. Каждый объект может выбирать операцию на основании типов данных, принимаемых в сообщении, т.е. реагировать индивидуально на это (одно и то же для различных объектов) сообщение. Таким образом, объектно-ориентированный подход заключается в представлении моделируемого процесса в виде совокупности классов и объектов предметной области. При этом иерархический характер сложного процесса отражается с использованием иерархии классов, а его функционирование рассматривается как взаимодействие объектов [29]. Известные объектно-ориентированные методологии базируются на интегрированных моделях трех типов [29, 93]: • объектной модели, отражающей иерархию классов, связанных общностью структуры и поведения и отражающих специфику атрибутов и операций каждого из них (при этом одной из базовых нотаций объектной модели является диалект ERD); |
структурному подходу, более того, фрагменты методологий структурного анализа (а именно, его базовые модели: DFD, ERD и STD) используются при объектно-ориентированном анализе для моделирования структуры и поведения самих объектов. В качестве объектов предметной области могут рассматриваться конкретные предметы, а также абстрактные или реальные сущности (например, клиент, заказ, предприятие и т.п.). Каждый объект характеризуется своим состоянием (точнее, набором атрибутов, значения которых определяют состояние), а также набором операций для проверки и изменения этого состояния. Каждый объект является представителем некоторого класса однотипных объектов, определяющего их общие свойства. Все представители (экземпляры) одного и того же класса имеют один и тот же набор операций и могут реагировать на одни и те же сообщения. Объекты и классы организуются с использованием следующих принципов [173, 174, 175]: 1) Принцип инкапсуляции (упрятывания информации) декларирует запрещение любого доступа к атрибутам объекта, кроме как через его операции. В соответствии с этим внутренняя структура объекта скрыта от пользователя, а любое его действие инициируется внешним сообщением, вызывающим выполнение соответствующей операции. 2) Принцип наследования декларирует создание новых классов от общего к частному. Такие новые классы сохраняют все свойства классов-родителей и при этом содержат дополнительные атрибуты и операции, характеризующие их специфику. 3) Принцип полиморфизма декларирует возможность работы с объектом без информации о конкретном классе, экземпляром которого он является. Каждый объект может выбирать операцию на основании типов данных, принимаемых в сообщении, т.е. реагировать индивидуально на это (одно и то же для различных объектов) сообщение. Таким образом, объектно-ориентированный подход заключается в представлении моделируемой системы в виде совокупности классов и 38 объектов предметной области. При этом иерархический характер сложной системы отражается с использованием иерархии классов, а ее функционирование рассматривается как взаимодействие объектов. Жизненный цикл такого подхода содержит этапы анализа требований, проектирования, эволюции (объединяющей программирование, тестирование и отладку, а также комплексацию системы) и модификации. При этом в отличие от каскадной модели отсутствует строгая последовательность выполнения перечисленных этапов [175]. Известные объектно-ориентированные методологии базируются на интегрированных моделях трех типов [2, 174, 175]: • объектной модели, отражающей иерархию классов, связанных общностью структуры и поведения и отражающих специфику атрибутов и операций каждого из них (при этом одной из базовых нотаций объектной модели является диалект ERD); • динамической модели, отражающей временные аспекты и последовательность операций (при этом достаточно часто используется STD); • функциональной модели, описывающей потоки данных (с использованием DFD). В таблице 1.3 приведены оценки объемов использования объектноориентированных методологий по данным International Data Corp, на 1995 год. Таблица 1.3 Название методологии Объем продаж Rumbaugh (ОМТ) 40% Shlaer/Mellor 16% Booch 11 % Martin/Odell 11 % Другие 22% Главными недостатками перечисленных объектно-ориентированных методологий являются следующие [175]: • отсутствие стандартизации в рассматриваемой области (конкретно, для представления объектов и взаимосвязей между ними); 39 |