Объектно-ориентированная парадигма возникла из первоначальной концепции нового подхода к программированию, в то время как интерес к методам проектирования и анализа возник гораздо позже.
-
Первым объектно-ориентированным языком был Simula (Симуляция реальных систем), который был разработан в 1960 году исследователями из Норвежского вычислительного центра.
-
В 1970 году Алан Кей и его исследовательская группа в Xerox PARK создали персональный компьютер под названием Dynabook и первый чистый объектно-ориентированный язык программирования (OOPL) — Smalltalk, для программирования Dynabook.
-
В 1980-х Грэди Буч опубликовал статью под названием «Объектно-ориентированный дизайн», в которой в основном представлен дизайн для языка программирования Ada. В последующих изданиях он расширил свои идеи до полного метода объектно-ориентированного проектирования.
-
В 1990-х годах Коад включил идеи поведения в объектно-ориентированные методы.
Первым объектно-ориентированным языком был 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.
Грэди Буч определил объектно-ориентированное программирование как «метод реализации, в котором программы организованы в виде кооперативных коллекций объектов, каждый из которых представляет собой экземпляр некоторого класса, и все классы которого являются членами иерархии классов, объединенных через отношения наследования. »