Similar presentations:
Основные понятия объектно-ориентированного подхода
1. Основные понятия объектно-ориентированного подхода
1.2.
3.
4.
5.
6.
Понятие предметной области
Суть объектно-ориентированного подхода
Понятие объекта
Метод идентификации объектов в предметной области
Понятие класса
Идентификация класса
Преподаватель:
Ботов Дмитрий Сергеевич
2. Где граница задачи?
• Любая задача рассматриваетограниченный круг проблем
• Невозможно поставить и решить
универсальную задачу
• Выход:
Предметная
область
2
3. Что такое предметная область?
Предметная область — область знаний илидеятельности, характеризуемая
концепциями и терминами, понятными тем,
кто работает в данной области (Г. Буч)
Предметная область — часть реального мира,
рассматриваемая в пределах заданного
контекста (задачи).
3
4. Примеры предметных областей
Бухгалтерский учет
Документооборот в организации
Компьютерные игры различных жанров
Распределенные вычисления
Шифрование и защита информации
Разработка программного обеспечения
Многое другое
4
5. Пример предметной области «Разработка программного обеспечения»
Требованияпользователя
Архитектор
Выполнение
проекта
Программист
Создание
программы
Архитектурные
решения
Программа
5
6. Объектно-ориентированный подход
• Рассматривает предметную область каксовокупность взаимодействующих
объектов
• Позволяет создавать программы,
моделирующую реальные объекты и
процессы предметной области
• Предлагает идентифицировать объекты
задачи, с помощью словаря предметной
области
6
7. Что такое объект?
Пример объекта:Студент группы БИ-220: Пупкин Василий
7
8. Описание объекта на UML
Наименованиеобъекта
Студент
Пупкин, Василий, Иванович, БИ-220
Посещение занятий
Сдача зачета/экзамена
Переход на следующий курс
Отчисление
Атрибуты объекта
Операции объекта
8
9. Таким образом объект это…
Объект — модель сущности, которая имеетопределенные характеристики , называемые
ее атрибутами, и обладает поведением,
которое реализуется по определенным
алгоритмам внутри системы
Объект — конкретная материализация абстракции;
объект обладает состоянием, поведением и
индивидуальностью; экземпляр класса (Г. Буч)
9
10. Объект
1011. Как идентифицировать объект в предметной области?
Метод Р. Аббота• Для идентификации объектов как таковых задайте вопрос:
«Модель чего или кого вы собираетесь создать?»
• Постройте словарь предметной области. Существительные в
нем нужно рассматривать как кандидаты в объекты
• Для выявление атрибутов объекта задайте вопрос:
«Что свойственно объекту или что характеризует объект,
выделяет его на фоне других?»
Прилагательные нужно рассматривать как кандидаты в
атрибуты объекта
• Для выявление операций объекта задайте вопрос:
«Что может делать объект, что с ним можно делать, как
объект взаимодействует с другими объектами?»
11
12. Пример: игра «Морской бой»
1213. Пример идентификации объекта в предметной области
• Модель чего мы собираемся создать? –модель морского сражения.
• В морском сражении участвуют корабли
• Что характеризует объект? – Корабль в
морском бое характеризует
местоположение, целостность, размер
• Что может делать объект или что с ним
можно сделать? – рисовать на игровом
поле в зависимости от целостности,
стрелять в него, размещать на игровом
поле
13
14. Что такое класс?
Объекты относятся к одному классу, если:• Они имеют одинаковый набор
атрибутов на рассматриваемом
участке предметной области
• Эти наборы характеристик имеют
одинаковое множество значений,
которые они принимают за время
существования объекта
• Объекты обладают одинаковым
поведением на некотором отрезке
предметной области (имеют
одинаковый набор операций)
класс
объекты
14
15. Таким образом класс…
Класс — группа объектов, имеющиходинаковые атрибуты, одинаковое
множество значений этих атрибутов и
одинаковое поведение на рассматриваемом
участке предметной области
Класс - множество объектов, категория вещей,
обладающих общими атрибутами, операциями,
отношениями и семантикой. Класс представляет
некоторую концепцию (физическую или иную) в
моделируемой системе (Г. Буч)
15
16. Примеры идентификации класса
1617. Пример идентификации класса
ГрузовикиЛегковые
машины
Автомобили
17
18. Пример идентификации класса
ПозвоночныеПарнокопытные
Животные
18
19. Составляющие класса
КлассКласс
Состояние
• Поля
• Атрибуты
• Свойства
Поведение
• Методы
• Операции
• Функции-члены
Данные
Алгоритмы
19
20. Документирование класса на UML
Название классаИмя_атрибута: тип
***
Атрибуты класса
Операции класса
Имя(параметры): тип
***
20
21. Документирование класса на UML
2122. Резюме: рассмотренные вопросы
• Как предметная область позволяет определить границызадачи?
• В чем суть объектно-ориентированного подхода?
• Что такое объект? Как идентифицировать объект в
предметной области?
• Что такое класс? По какому принципу объекты можно
объединить в один класс?
• Как документируются объекты и классы на UML?
22