Similar presentations:
Объектно-ориентированный анализ
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) – разновидность отношения агрегации,при которой составные части целого имеют такое же время жизни, что и
само целое. Эти части уничтожаются вместе с уничтожением целого.
Графически отношение композиции изображается сплошной линией,
один из концов которой представляет собой закрашенный внутри ромб.
Этот ромб указывает на тот класс, который представляет собой класс–
композит. Остальные классы являются его "частями".