Разделы презентаций


Основы объектно-ориентированного представления программных систем

Содержание

Декомпозиция программных системалгоритмическаяобъектно-ориентированная В основе алгоритмической декомпозиции лежит разбиение по действиям – алгоритмам. Эта схема представления применяется в обычных ПС. Объектно-ориентированная декомпозиция обеспечивает разбиение по автономным лицам – объектам

Слайды и текст этой презентации

Слайд 1Лекция 4. Основы объектно-ориентированного представления программных систем
Учебные вопросы:

1. Принципы объектно-ориентированного

представления
программных систем.
2. Объекты.
3. Классы.

Литература: [4],

[6], [10].
Лекция 4. Основы объектно-ориентированного представления программных системУчебные вопросы:1. Принципы объектно-ориентированного представления  программных систем.2. Объекты.3. Классы.

Слайд 2Декомпозиция программных систем
алгоритмическая


объектно-ориентированная
В основе алгоритмической декомпозиции лежит разбиение

по действиям – алгоритмам. Эта схема представления применяется в обычных

ПС.


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


Декомпозиция программных системалгоритмическаяобъектно-ориентированная  В основе алгоритмической декомпозиции лежит разбиение по действиям – алгоритмам. Эта схема представления

Слайд 3Абстрагирование
Создавая понятие в интересах какой-либо задачи, мы

отвлекаемся (абстрагируемся) от несущественных характеристик конкретных объектов, определяя только существенные

характеристики.

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

Абстракцию удобно строить путем выделения обязанностей объекта.

Абстрагирование   Создавая понятие в интересах какой-либо задачи, мы отвлекаемся (абстрагируемся) от несущественных характеристик конкретных объектов,

Слайд 4Инкапсуляция
Инкапсуляция и абстракция – взаимодополняющие понятия:

абстракция выделяет внешнее поведение объекта, а инкапсуляция содержит и скрывает

реализацию, которая обеспечивает это поведение.

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

Инкапсуляция служит для отделения интерфейса абстракции от ее реализации.

Инкапсуляция   Инкапсуляция и абстракция – взаимодополняющие понятия: абстракция выделяет внешнее поведение объекта, а инкапсуляция содержит

Слайд 5Модульность
Общая цель декомпозиции на модули – уменьшение сроков

разработки и стоимости ПС за счет выделения модулей, которые проектируются

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

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

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

Модульность Общая цель декомпозиции на модули – уменьшение сроков разработки и стоимости ПС за счет выделения модулей,

Слайд 6Свойства модулей
Информационная закрытость
Связность модуля
Сцепление модулей
Информационная закрытость утверждает (автор – Д.

Парнас, 1972): содержание модулей должно быть скрыто друг от друга.
Модуль

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


Свойства модулейИнформационная закрытостьСвязность модуляСцепление модулейИнформационная закрытость утверждает (автор – Д. Парнас, 1972): содержание модулей должно быть скрыто

Слайд 7Свойства модулей
Информационная закрытость
Связность модуля
Сцепление модулей
Связность модуля – это мера зависимости

его частей.
Связность – внутренняя характеристика модуля.
Чем выше связность модуля,

тем лучше результат проектирования.



Свойства модулейИнформационная закрытостьСвязность модуляСцепление модулейСвязность модуля – это мера зависимости его частей.Связность – внутренняя характеристика модуля. Чем

Слайд 8Измерение связности – сила связности (СС)

Измерение связности – сила связности (СС)

Слайд 9Измерение связности – сила связности (СС)

Измерение связности – сила связности (СС)

Слайд 10Свойства модулей
Информационная закрытость
Связность модуля
Сцепление модулей
Сцепление – это мера взаимозависимости модулей

по данным.
Сцепление – это внешняя характеристика модуля, которую желательно

уменьшать.


Свойства модулейИнформационная закрытостьСвязность модуляСцепление модулейСцепление – это мера взаимозависимости модулей по данным. Сцепление – это внешняя характеристика

Слайд 11Измерение сцепления – степень сцепления (СЦ)

Измерение сцепления – степень сцепления (СЦ)

Слайд 12Измерение сцепления – степень сцепления (СЦ)

Измерение сцепления – степень сцепления (СЦ)

Слайд 13Иерархическая организация
Иерархическая организация – это формирование из

абстракций иерархической структуры.

Иерархическая организация задает размещение

абстракций на различных уровнях описания системы.

Двумя важными инструментами иерархической организации в объектно-ориентированных системах являются:
  структура из классов («is а»-иерархия);
  структура из объектов («part of»-иерархия).

Иерархическая организация   Иерархическая организация – это формирование из абстракций иерархической структуры.   Иерархическая организация

Слайд 14Основные характеристики иерархической структуры
Иерархическая структура программной системы

– это основной результат предварительного проектирования. Она определяет состав модулей

ПС и управляющие отношения между модулями.
В этой структуре модуль более высокого уровня (начальник) управляет модулем нижнего уровня (подчиненным).

Первичные характеристики – количество вершин (модулей) и количество ребер (связей между модулями).
Глобальные характеристики – высота и ширина.
Локальными характеристиками модулей структуры являются коэффициент объединения по входу Fan_in(i) и коэффициент разветвления по выходу Fan_out(i).

Основные характеристики иерархической структуры  Иерархическая структура программной системы – это основной результат предварительного проектирования. Она определяет

Слайд 15Общая характеристика объектов
Объект – это конкретное представление

абстракции.
Объект обладает индивидуальностью, состоянием и поведением. Структура и поведение

подобных объектов определены в их общем классе. Термины «экземпляр класса» и «объект» взаимозаменяемы.

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

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

Слайд 16Виды операций клиента над объектом
1)      модификатор (изменяет состояние объекта);
2)     

селектор (дает доступ к состоянию, но не изменяет его);
3)      итератор

(доступ к содержанию объекта по частям, в строго определенном порядке);
4)      конструктор (создает объект и инициализирует его состояние);
5)      деструктор (разрушает объект и освобождает занимаемую им память).

Таблица 1.1 – Разновидности операций

Виды операций клиента над объектом 1)      модификатор (изменяет состояние объекта);2)      селектор (дает доступ к состоянию, но не

Слайд 17Протокол и логические группировки поведения
В общем случае все

методы и свободные подпрограммы, ассоциированные с конкретным объектом, образуют его

протокол.
Протокол определяет оболочку допустимого поведения объекта и поэтому заключает в себе цельное (статическое и динамическое) представление объекта.

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

Протокол и логические группировки поведения  В общем случае все методы и свободные подпрограммы, ассоциированные с конкретным

Слайд 18Виды отношений между объектами
Связь – это физическое

или понятийное соединение между объектами. Объект сотрудничает с другими объектами

через соединяющие их связи.
Связь обозначает соединение, с помощью которого:
объект-клиент вызывает операции объекта-поставщика;
один объект перемещает данные к другому объекту.

Как участник связи объект может играть одну из трех ролей:
актер – объект, который может воздействовать на другие объекты, но никогда не подвержен воздействию других объектов;
cервер – объект, который никогда не воздействует на другие объекты, он только используется другими объектами;
агент – объект, который может как воздействовать на другие объекты, так и использоваться ими. Агент создается для выполнения работы от имени актера или другого агента.

Различают четыре формы видимости между объектами:
Объект-поставщик (сервер) глобален для клиента.
Объект-поставщик (сервер) является параметром операции клиента.
Объект-поставщик (сервер) является частью объекта-клиента.
Объект-поставщик (сервер) является локально объявленным объектом в операции клиента.

Виды отношений между объектами  Связь – это физическое или понятийное соединение между объектами. Объект сотрудничает с

Слайд 19Агрегация
Агрегация обозначает отношения объектов в иерархии «целое/часть».
Агрегация

обеспечивает возможность перемещения от целого (агрегата) к его частям (свойствам).

Агрегация может обозначать, а может и не обозначать физическое включение части в целое.

Физическое включение частей в агрегат

Нефизическое включение частей в агрегат

Агрегация Агрегация обозначает отношения объектов в иерархии «целое/часть». Агрегация обеспечивает возможность перемещения от целого (агрегата) к его

Слайд 20Общая характеристика классов
Класс – это описание

множества объектов, которые разделяют одинаковые свойства, операции, отношения и семантику

(смысл). Любой объект – просто экземпляр класса.

Интерфейс может быть разделен на 3 части:
1) публичную (public), объявления которой доступны всем клиентам;
2) защищенную (protected), объявления которой доступны только самому классу, его подклассам и друзьям;
3)     приватную (private), объявления которой доступны только самому классу и его друзьям.

Интерфейс объявляет возможности (услуги) класса, но скрывает его структуру и поведение.

Реализация класса описывает секреты поведения класса. Она включает реализации всех операций, определенных в интерфейсе класса.

Общая характеристика классов   Класс – это описание множества объектов, которые разделяют одинаковые свойства, операции, отношения

Слайд 21Виды отношений между классами
Всего существует четыре

основных вида отношений между классами:
ассоциация (фиксирует структурные отношения –

связи между экземплярами классов);
зависимость (отображает влияние одного класса на другой класс);
обобщение-специализация («is а»-отношение);
целое-часть («part of»-отношение).

Для покрытия основных отношений большинство объектно-ориентированных языков программирования поддерживает следующие отношения:
1)      ассоциация;
2)      наследование;
3)      агрегация;
4)      зависимость;
5)      конкретизация;
6)      метакласс;
7)      реализация.

Виды отношений между классами   Всего существует четыре основных вида отношений между классами: ассоциация (фиксирует структурные

Слайд 22
Ассоциация
Примеры отношений между классами

Агрегация
Композиция
Наследование

АссоциацияПримеры отношений между классами АгрегацияКомпозицияНаследование

Слайд 23Примеры отношений между классами


Зависимость

Конкретизация родового класса
Реализация

Примеры отношений между классами ЗависимостьКонкретизация родового классаРеализация

Обратная связь

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

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика