Методика ООП основана на описании и обработке классов и объектов.
Каждый объект в системе обладает определенными свойствами и поведением, моделирующим поведение реального объекта, и принадлежит к определенному классу.
При создание программы с использованием объектного подхода можно выделить три основных этапа:
-объектно-ориентированный анализ (ООА),
-объектно-ориентированное проектирование (OOD)
-объектно-ориентированное программирование (ООР).
Объектно-ориентированный анализ направлен на создание моделей близких к реальности.
Говоря о ООА нельзя не вспомнить о прикладном анализе. Его методы аналогичны методам ООА, но если ООА используется для решения какой-то конкретной задачи, то прикладной анализ направлен на поиск общих классов и объектов, свойственных всем переменным внутри определенной сферы применения.
Если при проектировании системы возникают сложности в определении ключевых абстракций, прикладной анализ может помочь, указав на абстракции, которые были определены в родственных системах. В прикладном анализе можно выделить следующие этапы:
-построение каркаса модели,
-изучение уже существующих систем данной предметной области,
-определение схожести и различий между разрабатываемой системой и уже существующей (после консультации с экспертами, в качестве которых могут выступать пользователи, т.е. специалисты, которые не являются программистами, но близко знакомы с исследуемой проблемой),
-пересмотр существующей системы на основе предъявляемых требований.
Объектно-ориентированное программирование основано на представлении программы в виде совокупности объектов, причем каждый объект является реализацией определенного класса, а классы образуют иерархию на принципах наследования, которое наряду с полиморфизмом и инкапсуляцией можно рассматривать, как основные концепции ООП.
Можно выделить три основных требования, предъявляемых к ООП:
-в качестве элемента конструкции должны использоваться не алгоритмы, а объекты,
-каждый объект является реализацией какого-нибудь класса,
-классы должны быть организованы иерархически.
Если методология программирования подразумевает правильное и эффективное использование механизмов ЯП, то методы проектирования основное внимание уделяют правильности и эффективности структурирования сложной системы.
Объектно-ориентированное проектирование – это методология проектирования, которая объединяет процесс объектной декомпозиции и приемы и представления логической, физической, статической и динамической моделей проектируемой системы. Т.е. используется многообразие приемов представления моделей отражающих логическую (структура классов и объектов) и физическую (архитектура модулей и процессов) структуры системы. Общий вид модели объектно-ориентированного проектирования можно представить следующим образом.