Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OOAP.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
494.59 Кб
Скачать

Бизнес-информатика

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

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

Специфика проблемы состоит в ом, что создаваемый продукт, является результатом работы большого коллектива разработчиков. Возникающие при этом проблемы:

  • минимизация конфликтов, между разными группами разработчиков;

  • сопровождение продукта (устранение не выявленных ранее и возникающих ошибок);

  • возможность модификации.

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

Критерии качества декомпозиции проекта связаны со сложностью реализации проекта:

  1. На какие компоненты можно разбить программу? Простота компонент, а, следовательно, рост числа компонент ведет к росту сложности. При этом усложняется организация связи между компонентами, разделяются действия, связанные по сути.

  2. Организация взаимосвязи между компонентами упрощается, если компонент рассматривается как «черный ящик»:

известные функции

в

Черный ящик

ход выход

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

Для оценки качества программного продукта нужно учитывать:

  • сцепление внутри компоненты – показатель, характеризующий степень взаимосвязи частей компоненты;

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

1. Принципы ооп. Классы.

Любая программа – набор инструкций процессора.

Повышение уровня абстракции программы:

  • функции;

  • собственные типы данных (typedef тип New_name [размерность]); структуры;

  • объединение в модули описаний типов и функций для их обработки (интерфейс).

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

Основные свойства ООП:

  • Инкапсуляция – ограничение доступа к данным и включение методов, образующих эти данные. Доступ к частям класса регулируются через ключи доступа: public (открытые), private (закрытые), protected (защищенные). Интерфейсом являются открытые поля и методы. Доступ в закрытую часть осуществляется через собственные методы, в защищенную часть - через собственные методы и методы классов-потомков.

  • Наследование – механизм получения нового класса из существующего путем изменения и добавления полей и методов класса. При это возникает иерархия родственных типов с совместным интерфейсом

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

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