ООА cpp 05 - ОО методология.ppt
- Количество слайдов: 18
Объектно-ориентированная методология разработки По материалам Romi Satria Wahono Программирование
Самая суть Объектно-ориентированная методология разработки приложений включает в себя ООА и ООП. В процессе анализа выделяются ключевые элементы создаваемой системы, после чего приступают к проектированию и реализации. Программирование
Процесс разработки • Постановка задачи • Структурирование системы – работа над архитектурой • Объектное моделирование: • • • Выделение классов Именование сущностей Определение связей (ассоциаций) Определение атрибутов Оптимизация и применение наследования Группирование классов в модули Динамическое моделирование Функциональное моделирование Реализация Profit Программирование
Постановка задачи • Определение требований: • Предметная область • Цели, функции, задачи • Контекст использования результата • Допущения и предположения • Требования по эффективности Программирование
Постановка задачи Пример: сеть банкоматов Программирование
Работа над архитектурой Программирование
Выделение классов Отбросьте ненужные и не используемые классы • • Избыточные классы Неясные классы Неуместные классы Атрибуты Операции Роли Синтаксические конструкции Программирование
Выделение классов, пример Программирование
Именование сущностей Отдельные слова имеют множество интерпретаций, поэтому следует давать однозначные наименования сущностям, и по возможности описать их текстом. • Счёт – виртуальное хранилище средств клиента в банке, с которым связаны кредитные карты, транзакции и, собственно, сам клиент • Консорциум – сообщество банков, предоставляющее услуги в едином формате (VISA, Master. Card, etc) • Банкомат – … • Клиент – … • … Программирование
Определение связей Отбросьте ненужные и не используемые связи • Связи между удаленными классами • Неуместные связи • Связи, необходимые синтаксически • Действия, операции • Тройные связки • Неправильно названные • Повторения Программирование
Определение связей, пример Программирование
Определение атрибутов Отбросьте ненужные и не используемые атрибуты • • Объекты, классы Имена собственные Идентификаторы Атрибуты связей Внутренние переменные Счетчики Избыточные детали Программирование
Определение атрибутов, пример Программирование
Оптимизация и добавление наследования На этом шаге следует выделить повторяющиеся части в сущностях, создать объединяющие классы либо расширить структуру специализированными наследниками. Наследование может быть добавлено двумя путями: 1. Снизу вверх – через вынесение общих свойств в новый супер-класс-родитель 2. Сверху вниз – через выделение специализированных классов-наследников (они расширяют и дополняют уже существующие родительские) Программирование
Группирование классов в модули Классы, особенно если их много, удобно объединять в модули. Например: • Живые люди: Клиент, Кассир • Компьютеры и серверы: Компьютер в банке, Центральный компьютер • Виртуальное: Счёт, Транзакция • etc… Программирование
Динамическое моделирование Программирование
Функциональное моделирование Программирование
Реализация • • • Определить классы Создать объекты Вызывать операции в правильном порядке Использовать наследование Реализовать взаимосвязи • Запускать, отлаживать many times • Профит рано или поздно Программирование
ООА cpp 05 - ОО методология.ppt