Основные понятия объектно-ориентированного подхода
Где граница задачи?
Что такое предметная область?
Примеры предметных областей
Пример предметной области «Разработка программного обеспечения»
Объектно-ориентированный подход
Что такое объект?
Описание объекта на UML
Таким образом объект это…
Объект
Как идентифицировать объект в предметной области?
Пример: игра «Морской бой»
Пример идентификации объекта в предметной области
Что такое класс?
Таким образом класс…
Примеры идентификации класса
Пример идентификации класса
Пример идентификации класса
Составляющие класса
Документирование класса на UML
Документирование класса на UML
Резюме: рассмотренные вопросы

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

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. Объект

10

11. Как идентифицировать объект в предметной области?

Метод Р. Аббота
• Для идентификации объектов как таковых задайте вопрос:
«Модель чего или кого вы собираетесь создать?»
• Постройте словарь предметной области. Существительные в
нем нужно рассматривать как кандидаты в объекты
• Для выявление атрибутов объекта задайте вопрос:
«Что свойственно объекту или что характеризует объект,
выделяет его на фоне других?»
Прилагательные нужно рассматривать как кандидаты в
атрибуты объекта
• Для выявление операций объекта задайте вопрос:
«Что может делать объект, что с ним можно делать, как
объект взаимодействует с другими объектами?»
11

12. Пример: игра «Морской бой»

12

13. Пример идентификации объекта в предметной области

• Модель чего мы собираемся создать? –
модель морского сражения.
• В морском сражении участвуют корабли
• Что характеризует объект? – Корабль в
морском бое характеризует
местоположение, целостность, размер
• Что может делать объект или что с ним
можно сделать? – рисовать на игровом
поле в зависимости от целостности,
стрелять в него, размещать на игровом
поле
13

14. Что такое класс?

Объекты относятся к одному классу, если:
• Они имеют одинаковый набор
атрибутов на рассматриваемом
участке предметной области
• Эти наборы характеристик имеют
одинаковое множество значений,
которые они принимают за время
существования объекта
• Объекты обладают одинаковым
поведением на некотором отрезке
предметной области (имеют
одинаковый набор операций)
класс
объекты
14

15. Таким образом класс…

Класс — группа объектов, имеющих
одинаковые атрибуты, одинаковое
множество значений этих атрибутов и
одинаковое поведение на рассматриваемом
участке предметной области
Класс - множество объектов, категория вещей,
обладающих общими атрибутами, операциями,
отношениями и семантикой. Класс представляет
некоторую концепцию (физическую или иную) в
моделируемой системе (Г. Буч)
15

16. Примеры идентификации класса

16

17. Пример идентификации класса

Грузовики
Легковые
машины
Автомобили
17

18. Пример идентификации класса

Позвоночные
Парнокопытные
Животные
18

19. Составляющие класса

Класс
Класс
Состояние
• Поля
• Атрибуты
• Свойства
Поведение
• Методы
• Операции
• Функции-члены
Данные
Алгоритмы
19

20. Документирование класса на UML

Название класса
Имя_атрибута: тип
***
Атрибуты класса
Операции класса
Имя(параметры): тип
***
20

21. Документирование класса на UML

21

22. Резюме: рассмотренные вопросы

• Как предметная область позволяет определить границы
задачи?
• В чем суть объектно-ориентированного подхода?
• Что такое объект? Как идентифицировать объект в
предметной области?
• Что такое класс? По какому принципу объекты можно
объединить в один класс?
• Как документируются объекты и классы на UML?
22
English     Русский Правила