Объектно-ориентированная парадигма

Немного истории о возникновении парадигмы

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

Первым объектно-ориентированным языком был Simula (Симуляция реальных систем), который был разработан в 1960 году исследователями из Норвежского вычислительного центра.

В 1970 году Алан Кей и его исследовательская группа в Xerox PARK создали персональный компьютер под названием Dynabook и первый чистый объектно-ориентированный язык программирования (OOPL) – Smalltalk, для программирования Dynabook.

В 1980-х Грэди Буч опубликовал статью под названием «Объектно-ориентированный дизайн», в которой в основном представлен дизайн для языка программирования Ada. В последующих изданиях он расширил свои идеи до полного метода объектно-ориентированного проектирования.

В 1990-х годах Коад включил идеи поведения в объектно-ориентированные методы.

Другими значительными нововведениями были Методы объектного моделирования (OMT) Джеймса Румбо и Объектно-ориентированная программная инженерия (OOSE) Ивара Якобсона.

Объектно-ориентированный анализ

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

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

Грэди Буч определил OOA как «Объектно-ориентированный анализ – это метод анализа, который исследует требования с точки зрения классов и объектов, найденных в словаре проблемной области».

Основными задачами в объектно-ориентированном анализе (ООА) являются:

  • Идентификация объектов
  • Организация объектов путем создания диаграммы объектной модели
  • Определение внутренних объектов или атрибутов объекта
  • Определение поведения объектов, т. е. действий объекта
  • Описание того, как объекты взаимодействуют

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

Объектно-ориентированный дизайн

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

Детали реализации обычно включают в себя:

  • Реструктуризация данных класса (при необходимости)
  • Реализация методов, внутренних структур данных и алгоритмов
  • Осуществление контроля
  • Реализация ассоциаций

Грэди Буч определил объектно-ориентированное проектирование как «метод проектирования, охватывающий процесс объектно-ориентированной декомпозиции и обозначения для изображения как логических, так и физических, а также статических и динамических моделей проектируемой системы».

Объектно-ориентированное программирование

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

Важными особенностями объектно-ориентированного программирования являются:

  • Восходящий подход в разработке программ
  • Программы организованы вокруг объектов, сгруппированных по классам
  • Сосредоточенности на данных с помощью методов для работы с данными объекта
  • Взаимодействие между объектами через функции
  • Возможность многократного использования дизайна путем создания новых классов путем добавления функций в существующие классы

Некоторыми примерами объектно-ориентированных языков программирования являются C ++, Java, Smalltalk, Delphi, C #, Perl, Python, Ruby и PHP.

Грэди Буч определил объектно-ориентированное программирование как «метод реализации, в котором программы организованы в виде кооперативных коллекций объектов, каждый из которых представляет собой экземпляр некоторого класса, и все классы которого являются членами иерархии классов, объединенных через отношения наследования».

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.

%d такие блоггеры, как: