- •Сложная система. Признаки сложной системы.
- •2. Состав и структура по. Специальное и общее по
- •Основные этапы жцпо - схема.
- •Классификация по по продолжительности жц
- •Каскадные модели жц по. Достоинства и недостатки.
- •Спиральная модель жц по. Ее отличие от каскадной
- •Принципы проектирования пользовательского интерфейса
- •Жц по в соответствии со стандартом iso-iec 12207.
- •Управление требованиями к системе
- •Принципы структурного подхода. Свойства иерархических систем.
- •Иерархия данных и компонентов при структурном подходе.
- •Восходящее и нисходящее проектирование
- •Типовая структура программного комплекса
- •Структурированная программа. Элементарные базовые конструкции, используемые для ее создания.
- •Модульность, модульное программирование.
- •Функциональное моделирование. Принципы построения модели idef0
- •Типы связей между функциями при построении функциональной модели системы
- •Принципы построения иерархии диаграмм потоков данных
- •Проектирование бд
- •Диаграмма “сущность-связь” в нотации р. Баркера
- •Принципы объектного подхода. Объектная декомпозиция ее отличие от алгоритмической.
- •Сложная система с точки зрения объектного подхода.
- •Этапы создания по при объектном подходе
- •Объект. Поведение объекта. Состояние объекта. Индивидуальность
- •Класс. Отношения между классами.
- •Составляющие объектного подхода (основные)
- •Составляющие объектного подхода дополнительные
- •Принципы проектирования пользовательского интерфейса
- •Саse-технология: общие характеристики. Критерии выбора. Состав полного комплекта саse-средств
- •Этапы внедрения саse-средств. Пилотный проект
- •Классификация case-средств
- •Технология и методология case-проектирования
- •Методология rad
- •Унифицированный язык моделирования uml. Основные компоненты
- •Диаграммы вариантов использования
Составляющие объектного подхода (основные)
При объектном подходе можно выделить четыре главных составляющих:
-абстрагирование,
-ограничение доступа,
-модульность,
-иерархия,
без которых подход не может считаться объектно-ориентированным.
Абстрагирование. Оно заключается в нахождении сходств, не обращая внимания на различия между рассматриваемыми объектами. Т.е. это упрощенное описание системы при котором существенные для рассмотрения и использования детали выделяются, а несущественные, на данный момент, опускаются. Абстракция должна охватывать только самую суть объекта. Это называется принципом наименьшей выразительности.
Существует множество абстракций рассмотрим некоторые из них:
1)абстракция сущности объекта – объект представляет собой модель существенных сторон предметной области,
2)абстракция поведения – объект состоит из множества операций, каждая из которых выполняет определенную функцию,
3)абстракция в виде виртуальной машины – объект включает группу операций виртуальной машины, которые используются либо для управления объектом, либо соответствует функциям нижнего уровня (т.е. либо управляют прерываниями, либо сами являются прерываниями),
4)произвольная абстракция – объект включает в себя набор независимых по отношению друг к другу операций и т. д.
Все абстракции обладают, как статическими, так и динамическими свойствами.
Ограничение доступа. Созданию абстракции какого-нибудь объекта предшествует решение о способе ее реализации, который должен быть скрыт и защищен от большинства объектов-пользователей, которые обращаются к данной абстракции. Иначе говоря, никакая часть сложной системы не должна зависеть от подробностей реализации и внутреннего устройства других частей той же системы. Ограничение доступа дает возможность вносить в программу изменения, сохраняя ее надежность, целостность и сводя к минимуму затраты.
Абстрагирование и ограничение доступа взаимодополняют друг друга. Абстрагирование концентрирует внимание на внешних особенностях объекта, а ограничение доступа не позволяет объектам-пользователям углубляться во внутреннее устройство объекта. Как в том, так и в другом случае объекты верхних уровней абстракции не связаны непосредственно с подробностями их реализации на более низких уровнях.
Модульность. В таких ЯП, как С++ модульность является элементом конструкции, а классы и объекты составляют логическую структуру системы. Эти абстракции организуются в модули, формируя физическую структуру системы.
Модульность - это свойство системы, связанное с возможностью ее декомпозиции на ряд тесно связанных и взаимодействующих модулей.
Иерархия. Если не считать самых простых случаев, число абстракций в системе намного превышает возможность их одновременного контроля. Ограничение доступа несколько упрощает задачу, убирая из рассмотрения внутреннее устройство абстракции. Модульность в свою очередь упрощает задачу, объединяя логически связанные абстракции в группы, на этого не достаточно. Создание иерархической структуры из абстракций значительно упрощает понимание сложной системы. Иерархию можно рассматривать, как упорядоченную систему абстракций.
При объектном подходе выделяются две иерархические структуры: структура классов или иерархия по типу и структура объектов или иерархия по составу.
Основным видом иерархии по типу является иерархия наследования. Наследование – это такое соотношение между классами, когда один класс использует структурную или функциональную часть другого класса или классов, соответственно простое или множественное наследование.