- •Алгоритмизация и программирование Проектирование программного обеспечения
- •1. Базовые принципы и понятия технологии разработки сложного по
- •Разработка модели
- •1.2. Методология объектно-ориентированного анализа и проектирования
- •1.3. Концепция разработки архитектур, управляемых моделями
- •2. Основы языка uml
- •Uml модель и ее элементы
- •Отношения
- •Диаграммы
- •1.5. Общие диаграммы
- •1. Диаграммы использования
- •Invoice
- •2. Диаграмма классов
- •4. Диаграмма деятельности
- •Сущность – Вариант использования (use case)
- •Варианты отношения зависимости: расширение и включение Отношение расширения
- •Диаграмма классов
- •1. Диаграмма классов – основная логическая модель проектируемой системы
- •Диаграмма классов
- •2. Класс
- •2.1. Имя класса
- •2.2. Атрибуты класса
- •Кратность
- •2.3.Операции класса
- •1.. * 1
- •I j
- •3.2. N-арная ассоциация
- •3.3. Ассоциация-класс
- •3.4. Квалификатор
- •3.5. Обобщение
- •3.6. Множество обобщений
- •3.7. Агрегация
- •3.8. Композиция
- •1 1 1 1
- •1 2 1 1
- •3.9. Зависимость
- •3.10. Реализация
- •4. Интерфейс
- •IДатчик
- •5. Шаблон
- •5. Диаграмма композитной структуры (composite structure diagram)
- •6. Дополнительные диаграммы структуры
- •7. Диаграмма последовательности (sequence diagram)
1.2. Методология объектно-ориентированного анализа и проектирования
Объектно-ориентированный анализ и проектирование (ООАП) это следующий шаг после ООП он включает в себя и программирование, и разработку модели.
До того как начать программирование классов, их свойств и методов, необходимо дать ответы на такте вопросы:
сколько и какие классы нужны;
какие свойства и методы необходимы;
какая должна быть связь между классами.
Эта вопросы связаны больше не с программированием, сколько с общим анализом требований к будущей ПС и с анализом предметной области.
Объектно-ориентированный анализ и проектирование (Object-Oriented Analysis / Design) – методология разработки ПС, в основу которой положена ОО концепция представления моделей предметной области в форме классов, обладающих структурными свойствами и поведением.
Фундаментальные понятия методологии ООАП является:
класса;
объекта.
Основные принципы ООАП :
абстракция;
наследование;
инкапсуляция;
полиморфизм.
Класс (class) – абстракция совокупности реальных объектов, которые имеют общий набор свойств, и обладает одинаковым поведением.
Важной особенностью классов является возможность их организации в виде иерархической структуры.
(Выше по иерархии означает больший объем и меньшее содержание.)
Объект – экземпляр соответствующего класса.
Абстракция (abstraction) – характеристика сущности, которая отличает ее от других сущностей.
Абстракция определяет границу представления соответствующего элемента модели и используется для определения класса и объекта.
Принцип наследования
Наследование (inheritance) – принцип, в соответствии с которым знание о более общей категории разрешается применять для более частной категории.
Класс потомка наследует свойства и поведение класса предка.
Автомобиль
Легковой Грузовой
автомобиль автомобиль
Легковой Легковой
автомобиль ВАЗ автомобиль Ford
Модель Модель Модель
ВАЗ-2107 ВАЗ-2170 Ford Modeo
Рис. 4. Фрагмент схемы классификации автомобилей в нотации UML 2.0
Инкапсуляция (encapsulation) характеризует сокрытие отдельных деталей внутреннего устройства классов или компонентов от внешних по отношению к нему объектов или пользователей.
Деление программного модуля на интерфейс и реализацию один из примеров использование инкапсуляции.
ИНТЕРФЕЙС
Программный
модуль
РЕАЛИЗАЦИЯ (реализация скрыта от пользователя)
Пользователь
Рис. 5. Принцип инкапсуляции для скрытия внутренних деталей класса
Полиморфизм (от греч. poly – много, morfos – форма) – свойства некоторых объектов принимать различные внешние формы в зависимости от обстоятельств.
Применительно к ООАП полиморфизм означает – свойство одноименных методов выполнять различные действия в зависимости от того к какому из классов они относятся.
Одно названия метода в разных классах будет выполнять разные задачи.
Пример: Команда включить для автомобиля, настольной лампы и ПК приводят к разным результатам.