- •Система обозначений для описания объектно-ориентированного проекта
- •Для описания динамики: -диаграммы переходных состояний; -временные диаграммы.
- •Обозначение отношений между классами:
- •Шаблоны диаграммы классов
- •-общедоступный интерфейс; -защищённый интерфейс; -обособленный интерфейс.
- •-группа «модификаторов» объединяет операции, изменяющие состояние программы ;
- •Шаблон операции
- •Пример заполнения шаблона для класса Холодильник
- •Шаблон операции turnOn
Система обозначений для описания объектно-ориентированного проекта
Графическая нотация универсальна и применима для любого языка ООП.
Рассмотрим основные продукты ООП:
-диаграмма классов; -диаграмма объектов;
-диаграмма модулей; -диаграмма процессов;
Логическая
структура
Физическая
структура
Для описания динамики: -диаграммы переходных состояний; -временные диаграммы.
Диаграмма классов
Обозначение класса
|
«ОБЛАКО» |
|
Имя |
Аморфный объект, |
|
Абстракция. |
||
|
Обозначение отношений между классами:
По типу использования (для интерфейсной части) По типу использования (для реализации класса)
Наследование
Неопределённый тип связи
Обозначение количественных отношений:
0 |
ноль |
1 |
один |
n |
несколько |
|
|
Система |
|
|
|
|
управления |
1 |
|
|
|
средой |
|
|
|
1 |
|
|
|
|
1 |
|
n |
|
1 |
|
|
||
|
|
|
|
|
Нагреватель |
|
|
|
Осветитель |
|
|
|
|
|
|
|
1 |
|
|
|
|
Холодильник |
|
Силовая
установка
Диаграмма классов теплицы
Шаблоны диаграммы классов
Одних диаграмм классов недостаточно. Шаблоны документируют больше информации о классах, наиболее важные аспекты класса.
Назначение полей:
Множественность описывает сколько экземпляров этого класса можно создать.
Три подпункта интерфейса повторяются в шаблоне 3 раза:
Имя: |
Идентификатор |
Документация: |
Текст |
Множественность: |
0 l 1 l n |
Иерархия: |
|
Суперкласс: |
Имена классов |
Метакласс: |
Имя класса |
Интерфейс l Реализация: |
|
Использование: |
Имена классов |
Поля: |
Список полей класса |
Операции: |
Операции класса |
Конечный автомат: |
Динамика переходов |
Устойчивость: |
Статическая l Динамич. |
Объём памяти: |
Текст |
|
|
-общедоступный интерфейс; -защищённый интерфейс; -обособленный интерфейс.
Для каждого поля можно указать:
-имя ;
-тип ;
-диапазон и др. информацию.
Шаблон операции Назначение полей:
Категория – для группировки схожих операций:
-группа «модификаторов» объединяет операции, изменяющие состояние программы ;
-группа «селекторы» - чтение данных.
Пункты: вход, действия, выход определяют неформально на языке PDL семантику функции.
Исключения - Описываются исключительные
ситуации при
выполнении операции.
Шаблон операции
Имя: |
|
Идентификатор |
Документация: |
|
Текст |
Категория: |
|
Текст |
|
Список параметров и |
|
Формат параметров: |
форматов |
|
Результат: |
|
|
|
(Для функции) |
|
Вход: |
|
PDL l текст |
Действия: |
|
PDL l текст |
Выход: |
|
PDL l текст |
Исключения: |
|
Список ситуаций |
Временной ресурс: |
|
Текст |
Объём памяти: |
|
Текст |
Пример заполнения шаблона для класса Холодильник
Имя: |
Холодильник |
Документация: |
Класс определяет Холодильник |
Множественность: |
1 |
Иерархия: |
|
Суперкласс: |
Силовая установка |
Общедоступный |
|
интерфейс: |
|
Операции: |
turnOff |
|
turnOn (Temperat) |
Обособленный |
|
Интерфейс: |
|
Поля: |
desiredTemperature |