Объектно-ориентированный анализ
1.12M
Category: programmingprogramming

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

1. Объектно-ориентированный анализ

ОБЪЕКТНО-ОРИЕНТИРОВАННЫЙ
АНАЛИЗ
Д И С Ц И П Л И Н А : Т Е Х Н О Л О Г И И РА З РА Б ОТ К И П Р О Г РА М М Н О Г О О Б Е С П Е Ч Е Н И Я
П Р Е П ОД А В АТ Е Л Ь : ГА Й Ш У Н А Л Е С Я А Л Е КС А Н Д Р О В Н А ©

2.

План лекции:
1. Принципы ООА
2. Понятие объекта. Отношения между объектами.
3. Сущность "класс". Отношения между классами.

3.

1.Принципы ООА
Декомпозиция
алгоритмическая
Разбиение по действиям
объектноориентированная
Разбиение по автономным
лицам (объекты реального
или виртуального мира)

4.

Объектно-ориентированное представление программного
средства основывается на принципах:
абстрагирования
контроль типов
инкапсуляции
параллелизм
модульности
персистентность
иерархической
организации

5.

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

6.

7.

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

8.

9.

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

10.

11.

Иерархия
Ранжирование или упорядочение абстракций.
Наиболее важными видами иерархии в сложных системах являются:
структура классов (иерархия "общее/частное")
структура объектов (иерархия "целое/ часть").
Примеры иерархии:
• одиночное наследование
• множественное наследование
• агрегация

12.

Контроль
типов
Контроль типов — это правила использования объектов, не допускающие
или ограничивающие взаимную замену объектов разных классов.

13.

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

14.

15.

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

16.

Объект
– некоторая сущность в
виртуальном пространстве, обладающая
определённым состоянием и поведением,
имеющая заданные значения свойств
(атрибутов) и операций над ними (методов).
Стул
Стоимость
Вес
Цвет
Размеры
Купить ( )
Продать ( )
Покрасить ( )
Переместить ( )
ОБЪЕКТ
2. Понятие объекта. Отношения между объектами.
индивидуальность
состояние
поведение

17.

Операция обозначает обслуживание, которое объект предлагает своим
клиентам.
Возможны пять видов операций клиента над объектом:
1) модификатор (изменяет состояние объекта);
2) селектор (дает доступ к состоянию, но не изменяет его);
3) итератор (доступ к содержанию объекта по частям, в строго
определенном порядке);
4) конструктор (создает объект и инициализирует его состояние);
5) деструктор (разрушает объект и освобождает занимаемую им память).

18.

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

19.

«Самолет — это набор элементов,
каждый из которых по своей природе
стремится упасть на землю, но ценой
совместных
непрерывных
усилий
преодолевает эту тенденцию».
Г. Буч
Виды отношений:
связь
семантическое соединение
между объектами
агрегация
физическое вхождение одного
объекта в другой, но не
обязательно

20.

3. Сущность "класс". Отношения между классами.
Класс (class) – описание совокупности
объектов
с
общими
атрибутами,
операциями, отношениями и семантикой.
!
Правильно сконструированный класс
должен представлять одну и только
одну абстракцию.
Класс
представляет
совокупность
объектов.

21.

Отношения между классами:
- Отношение ассоциации (Association relationship)
- Отношение обобщения (Generalization relationship)
- Отношение агрегации (Aggregation relationship)
- Отношение композиции (Composition relationship)

22.

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

23.

Обобщение (Generalization) – таксономическое отношение
между более общим понятием и менее общим понятием.
Данное
отношение
используется
для
представления
иерархических взаимосвязей между различными элементами.
На диаграммах отношение обобщения обозначается сплошной
линией с треугольной стрелкой на одном из концов. Стрелка
указывает на более общий класс, а ее начало – на более специальный
класс.

24.

Агрегация (Aggregation) – специальная форма ассоциации,
которая служит для представления отношения типа "часть–целое"
между агрегатом (целое) и его составной частью.
Отношение агрегации имеет место между несколькими классами в
том случае, если один из классов представляет собой сущность, которая
включает в себя в качестве составных частей другие сущности.
Графически отношение агрегации изображается сплошной линией,
один из концов которой представляет собой не закрашенный внутри
ромб. Этот ромб указывает на тот класс, который представляет собой
"целое" или класс–контейнер.

25.

Композиция (Composition) – разновидность отношения агрегации,
при которой составные части целого имеют такое же время жизни, что и
само целое. Эти части уничтожаются вместе с уничтожением целого.
Графически отношение композиции изображается сплошной линией,
один из концов которой представляет собой закрашенный внутри ромб.
Этот ромб указывает на тот класс, который представляет собой класс–
композит. Остальные классы являются его "частями".
English     Русский Rules