Объектно-ориентированный подход. Объектно-ориентированные методологии, основанные на объектной декомпозиции предметной области, которая подается в виде совокупности объектов
Объектно-ориентированные методологии, основанные на объектной декомпозиции предметной области, которая подается в виде совокупности объектов, которые взаимодействуют между собой с помощью передачи сообщений. Данный подход не является противопоставлением структурному подходу, больше того, фрагменты методологий структурного анализа (а именно его базовые модели: DFD, ERD и STD) используются при объектно-ориентированном анализе для моделирования структуры и поведения самих объектов. Как объекты предметной области могут рассматриваться конкретные предметы, а также абстрактные или реальные сущности (например, клиент, заказ, предприятие и т.п.). Каждый объект характеризуется своим состоянием (точнее, набором атрибутов, значения которых определяют состояние), а также набором операций для проверки и изменения этого состояния. Каждый объект является представителем определенного класса однотипных объектов, что определяет их общие свойства. Все представители (экземпляры) одного и того же класса имеют один и тот же набор операций и могут реагировать на одни и те же сообщения. Объекты и классы организуются с соблюдением таких принципов: 1. Принцип инкапсуляции (утаивание информации) декларирует запрет любого доступа к атрибутам объекта, кроме как через его операции. Соответственно этому внутренняя структура объекта скрытая от пользователя, а любое его действие инициируется внешним сообщением, которое предопределяет выполнение соответствующей операции. 2. Принцип наследования декларирует создание новых классов — от общего к конкретному. Такие новые классы сохраняют все свойства классов-родителей и при этом содержат дополнительные атрибуты и операции, которые характеризуют их специфику. 3. Принцип полиморфизма декларирует возможность работы с объектом без информации о конкретном классе, представителе которого он является. Каждый объект может выбирать операцию на основе типов данных, которые принимаются в сообщении, то есть реагировать индивидуально на это (одно и то же для разных объектов) сообщение. Таким образом, объектно-ориентированный подход состоит в представлении системы, которая моделируется, в виде совокупности классов и объектов предметной области. При этом иерархический характер сложной системы проявляется с использованием иерархии классов, а ее функционирование рассматривается как взаимодействие объектов. Жизненный цикл такого подхода содержит этапы анализа требований, проектирования, эволюции (объединяет программирование, тестирование и отладку, а также комплектацию системы) и модификации. При этом в отличие от каскадной модели отсутствует строгая последовательность выполнения перечисленных этапов. Известные объектно-ориентированные методологии базируются на интегрированных моделях трех типов: - объектной модели, которая отображает иерархию классов, которые связаны общностью структуры и поведения и отображают специфику атрибутов и операций каждого из них (при этом одной из базовых нотаций объектной модели является диалект ERD); - динамической модели, которая отображает временные аспекты и последовательность операций (при этом довольно часто используют STD); - функциональной модели, которая описывает потоки данных (с использованием DFD). Главными недостатками объектно-ориентированных методологий являются такие: - отсутствие стандартизации в области программотехники (например, для представления объектов и взаимосвязей между ними); - отсутствие метода, который одинаково хорошо реализует этапы анализа требований и проектирования (большинство методов предназначено для объектно-ориентированного анализа, некоторые предусматривают слабо развитые средства проектирования). Если целью методов структурного проектирования было упрощение системной разработки на основе алгоритмического подхода, то объектно-ориентированные методы решают аналогичную задачу, используя описания классов и объектов, то есть четкие средства объектно-ориентированного программирования. Основой для объектно-ориентированного проектирования совершенно обоснованно служат результаты объектно-ориентированного анализа. Тем не менее результат любого из методов структурного анализа также может быть использован как входящие данные для объектно-ориентированного проектирования: в этом случае проводится интеграция диаграмм потоков данных с классами и объектами. На этапе проектирования используются следующие диаграммные - унаследованные от этапа анализа требований и развивающиеся на этапе проектирования диаграммы классов и диаграммы объектов служащая основой статической логической модели; - диаграммы модулей и диаграммы процессов, которые моделируют конкретные программные и аппаратные компоненты и являются частью статической физической модели; - динамические модели: диаграммы переходов состояний, моделирующие временную последовательность внешних событий, которые влияют на объекты конкретного класса, и временные системные диаграммы, которые моделируют временной порядок сообщений и событий, касающихся межобъектных взаимодействий.
|