План лекции:
1. Объектно-ориентированный подход. Преимущества.
2. Объектно-ориентированное программирование и проектирвоание
3. Объектно-ориентированный анализ.
4. Принципы объектного подхода. Обязательные элементы
5. Дополнительные элементы объектной модели
Объектно-ориентированный подход помогает справиться с такими сложными проблемами, как
· уменьшение сложности программного обеспечения;
· повышение надежности программного обеспечения;
· обеспечение возможности модификации отдельных компонентов программного обеспечения без изменения остальных его компонентов;
· обеспечение возможности повторного использования отдельных компонентов программного обеспечения.
Систематическое применение объектно-ориентированного подхода позволяет разрабатывать хорошо структурированные, надежные в эксплуатации, достаточно просто модифицируемые программные системы. Этим объясняется интерес программистов к объектно-ориентированному подходу и объектно-ориентированным языкам программирования. Объектно-ориентированный подход является одним из наиболее интенсивно развивающихся направлений теоретического и прикладного программирования.
Составными частями объектно-ориентированной методологии (ООМ) являются:
- объектно-ориентированный анализ;
- объектно-ориентированное проектирование;
- объектно-ориентированное программирование.
. Обьектно- ориентированное программирование -- это методология программирования, которая основана на представлении программы в виде совокупности объектов, каждый из которых является реализацией определенного класса, а классы образуют иерархию на принципах наследования. В данном определении можно выделить три части:
1) объектно-ориентированное программирование использует в качестве элементов конструкции объекты, а не алгоритмы;
2) каждый объект является реализацией определенного класса;
3) классы организованы иерархически.
Объектно-ориентированноепроектирование. Методы
программирования, прежде всего, подразумевают правильное и эффективное использование механизмов языков программирования. Методы проектирования напротив, основное внимание направляют на правильное и эффективное структурирование сложных систем.
Объектно-ориентированное проектирование -- это методология проектирования, соединяющая в себе процесс объектной декомпозиции и приемы представления как логической и физической, так статической и динамической моделей проектируемой системы.
В данном определении содержатся две важные части:
1) объектно-ориентированное проектирование ведет к объектно-ориентированной декомпозиции;
2) используется многообразие приемов представления моделей, отражающих логическую (структуры классов и объектов) и физическую (архитектура модулей и процессов) структуру системы.
Именно поддержка объектно-ориентированной декомпозиции отличает объектно-ориентированное проектирование от структурного проектирования.
Объектно-ориентированный анализ. На объектный подход оказали влияние предыдущие этапы развития программных средств. Традиционные приемы структурного анализа основаны на потоках данных в системе.
Объектно-ориентированный анализ (ООА) направлен на создание моделей, более близких к реальности, с использованием объектно-ориентированного подхода; это методология, при которой требования формируются на основе понятий классов и объектов, составляющих словарь предметной области.
На результатах ООА формируются модели, на которых основывается объектно-ориентированное проектирование; объектно-ориентированное проектирование в свою очередь создает основу для окончательной реализации системы с использованием методологии объектно-ориентированного программирования
Главными достоинствами ООП по сравнению со структурными методами являются:
· возможность преодолеть ограничения, связанные со сложностью разрабатываемых систем;
· использование на стадии анализа моделей близких к реальности;
· применение как при анализе и проектировании информационных систем, так и систем реального времени и аппаратно-программных комплексов;
· обеспечение возможности повторного использования разработанного программного обеспечения, позволяющего существенно сократить сроки и снизить затраты на разработку каждой последующей системы;
· поддержка итеративного, а не лавинообразного, как в структурном подходе, процесса проектирования;
· естественная работа с разнородной информацией, используемой в мультимедиа системах;
· создание более открытых систем;
· полное использование описательных возможностей объектно-ориентированных языков программирования.