Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
TRPO.docx
Скачиваний:
10
Добавлен:
28.09.2019
Размер:
1.55 Mб
Скачать

Объектно-ориентированный (оо) подход.

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

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

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

ИС

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

подготовка

учет

система

Свидетельство

Сотрудник

Допуск

Сертификат

ОО подход Структурный Подход декомпозиция

Составными частями ОО методологии является:

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

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

  3. ОО программирование – методология программирования которая основана на представлении программ в виде совокупности объектов каждый из которых является реализацией определенного класса. А классы образуют иерархию на принципах наследования.

Главными достоинствами ОО методологии по сравнению со структурными методами являются:

  1. Использование на стадии анализа моделей близких к реальности

  2. Обеспечение возможности повторного использования разработанного ПО позволяющего существенно сократить сроки и снизить затраты на разработку каждой последующей системы.

  3. Создание более открытых систем.

Основными понятиями ОО подхода являются объект и класс:

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

Класс - множество объектов связанных общностью структуры и поведения, атрибутами и отношения.

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

Большинство существующих методов ОО подхода включает язык моделирования и описание процесса моделирования

в качестве языка моделирования ОО подхода используется язык UML, который содержит стандартный набор диаграмм для моделирования.

Диаграмма – графическое представление множества элементов. Чаще всего она изображается в виде связного графа с вершинами (сущностями) и ребрами (отношениями).

Принципы ОО подхода:

  1. абстрагирование – выделение таких существенных характеристик объекта которые отличают его от всех других видов объектов и таких образом четко определяются особенности данного объекта с точки зрения дальнейшего его рассмотрения. Абстрагирование позволяет отделить самые существенные особенности поведения от несущественных.

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

  3. полиморфизм – способность класса принадлежать более чем к одному типу.

  4. наследование – означает построение новых классов на основе существующих с возможностью добавления или переопределения данных и методов. В классе потомке могут быть определены дополнительные атрибуты и методы.

  5. модульность – свойство системы связанное с возможностью декомпозиции на ряд внутренне связанных, но слабо связанных между собой модулей. Модульность разделение программы на раздельно компилируемые фрагменты, имеющие между собой средства сообщения.

  6. иерархия – ранжированная (упорядоченная) система абстракций.

  7. Типизация – ограничения предъявляемых к классу объектов, препятствующих взаимо замене различных классов. Тип – точное определение свойств строения или поведения, которое присуще некоторой совокупности объектов.

  8. Параллелизм – свойство реализующее обработку событий, абстрагирование процессов происходящих одновременно.

  9. Устойчивость – свойство объекта существовать во времени и\или пространстве вне зависимости от процессов породивших данный объект. Выделяют следующие виды объектов которые обладают различной степенью устойчивости. промежуточные результаты вычисления выражений.

Выделяют следующие виды объектов различной степени устойчивости

  1. промежуточные результаты вычисления выражений

  2. локальные переменные вызова процедур

  3. собственные переменные

  4. данные сохраняющиеся между вызовами основной программы

  5. данные остающиеся без изменений в различных версиях программы

  6. данные которые переживают создавшую их программы

Операцией называется определенное воздействие одного объекта на другой, с целью вызова соответствующей реакции. Выделяют 5 основных видов операций над объектами:

  • модификатор, изменяющий состояние объекта;

  • селектор, дает доступ для определения состояния объекта без его изменения;

  • итератор, доступ к содержанию объекта по частям в определенной последовательности

  • конструктор – создание и\или инициализация объектов

  • деструктор – удаление объекта и\или освобождение занимаемой им памяти.

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

При ОО подходе изменяется и принцип проектирования ИС. С начала выделяются классы объектов, а далее в зависимости от возможных состояний объектов (ЖЦ объектов) определяются методы обработки (функциональные процедуры), что обеспечивает наилучшую реализацию динамического поведения ИС.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]