Недостатки объектно-ориентированного подхода
Усложнение методологии.Применение объектно-ориентированного подхода требует введения дополнительных способов представления информации о предметной области и методов ее анализа. Язык UML включает более 100 различных условных обозначений. Для успешного использования подобного механизма требуется наличие определенного уровня квалификации у специалистов. Для небольших проектов более эффективным может оказаться применение классических методов разработки. Разработка проектов, для которых важнейшей задачей является описание предметной области, и для которых невозможно найти человека, понимающего эту предметную область в целом также требует использования традиционных подходов, в виду их большей доступности для неспециалистов.
Сложность реализации.Объектно-ориентированные проекты и их программная реализации на объектно-ориентированном языке, требуют больших временных затрат и приводят к построению более сложной и требовательной к ресурсам программы, нежели классические методы, которые могут оказаться более эффективными для некоторых задач.
Объектно-ориентированный анализ
Методология объектно-ориентированного анализа (ООА) предложена Йорденом [12] для проектирования больших систем. Автор считает, что данная методология позволяет более адекватно отобразить предметную область в системе и обеспечить более надежный и перестраиваемый проект за счет основных свойств инкапсуляция, наследование, полиморфизм.
ООА состоит из пяти главных шагов:
1. определение предметной области,
2. определение объектов предметной области,
3. определение структуры объектов за счет создания отношений "состоит-из" и "является",
4. определение атрибутов объектов,
5. определение сервиса объектов (методов поведения) и взаимодействий за счет посылки сообщений между объектами.
Соответственно ООА - модель состоит из пяти основных компонент:
1. схемы предметной области,
2. схемы объектов,
3. схемы структуры,
4. схемы атрибутов,
5. схемы методов.
Схема предметной области
Схема предметной области содержит описание ее отдельных частей и взаимодействий между ними. Такая схема позволяет разделить предметную область на такие части, в которых должны содержаться однотипные объекты. Разделение предоставляет возможность разделение задачи на мелкие относительно независимые части. Это упрощает работу и позволяет проводить одновременное проектирование нескольким разработчикам. На рис.5.1. представлена схема предметной области контроля дорожного движения (примеры связанные с дорожным движением - из книги Йорден. О.О.А.)
Каждая часть предметной области пронумерована и далее на каждой схеме номерами обозначаются части предметной области, к которым принадлежат те или иные объекты.
Рис. 5.1. Схема предметной области управления дорожным движением.
Между частями предметной области устанавливаются связи, которые обозначают возможность взаимодействия объектов из этих частей друг с другом. В частности на рис. 5.1 объекты, относящиеся к Пользователям не могут общаться непосредственно с объектами Персонала.
Схема объектов
Каждому объекту на схемах соответствует графический элемент, показанный на рис. 5.2. В верхней части указывается имя, в средней - атрибуты, в нижней - методы.
Рис. 5.2. Графическое обозначение объекта.
Схема объектов содержит их простое перечисление, с обозначением того, к какой части предметной области объект относится. Перечисление объектов является вторым по порядку действием и является достаточно ответственным. На этой схеме не предполагается перечисление всех объектов относящихся к данной части предметной области. Но для каждой части должны быть обязательно перечислены все базовые объекты, от которых в дальнейшем будет проводиться наследование. Выбор набора бозовых объектов во многом определяет структуру и качество всего проекта. Неудачный выбор может перечеркнуть все достоинства объектно-ориентированного подхода. Ниже представлен пример выбора базовых объектов.
Рис. 5.3. Схема объектов управления дорожным движением.
Схема структуры
Описание структуры предполагает определение отношений наследования двух видов. Отношения вида "является" обозначаются простыми соединительными линиями. Отношения вида "состоит из" обозначаются линиями со стрелками. На рис. 5.4. изображена схема структуры, где пассажир, мотоцикл и автомобиль являются видами транспортного средства, в то время как организация состоит из служащих.
Рис. 5.4. Схема структуры управления дорожным движением.
Схема атрибутов
Графически схема атрибутов повторяет схему структуры, но для каждого объекта указываются его атрибуты.
Для данной задачи и данного набора объектов можно было бы определить такие атрибуты:
· организация: ( наименование, адрес, руководитель, телефон )
· владелец: ( имя, адрес, телефон )
· событие: ( дата, время )
· регистрация: ( дата, время, начало, конец )
Схема методов
Графически схема методов повторяет схему атрибутов, но для каждого объекта указываются его методы поведения.
Контроль корректности
Контроль проекта в О.О.А. осуществляется по следующим параметрам:
для каждого объекта в схеме объектов:
· объект имеет имя,
· объект имеет уникальное имя,
· объект имеет два или более атрибутов, все атрибуты объектов имеют уникальные имена,
все методы объекта имеют уникальные имена,
объект имеет хотя бы один экземпляр (предупреждение)
для структуры:
· все компоненты имеют имена,
· все компоненты имеют уникальные имена,
· все компоненты имеют один и более атрибутов,
· все атрибуты имеют уникальные имена по всей линии родитель-потомок,