ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 22.04.2024
Просмотров: 183
Скачиваний: 1
Отношения зависимости.
Зависимость является отношением между клиентом…
Заказ |
|
Книга |
|
|
|
|
|
|
|
ПроверкаДоступность() |
Зависимый |
|
|
|
класс |
|
|
||
Добавить() |
Независимый класс |
|||
|
||||
Удалить() |
|
|||
|
|
|
||
использует |
|
|
Просмотр заказа
Реализация
|
|
|
|
работник |
|
|||
|
|
|
|
работает() |
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
Стрелочки не |
|
|||
|
|
|
|
закрашены, штоб |
Певец |
|||
использует |
их… |
|||||||
|
||||||||
|
|
|
|
|
|
|
||
Официант |
|
|
|
|
|
|
Певец |
|
Работает() |
|
|
|
|
|
Работает() |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
Стрелки не |
|
|||
|
|
|
|
закрашены |
|
|||
|
|
|
|
|
|
|
||
|
|
|
|
Поющий_официант |
|
|
||
|
|
|
|
работает() |
|
|
||
|
|
|
|
|
|
|
|
Романова Т.Н. – Технология программирования [2011]by Melvin |
Страница 28 |
29.03.2011
Деревья наследования
Абстрактный класс.
{root} – тек, который обозначает абстрактный класс.
Млекопитающие
{root}
Вес: integer
Возраст: integer
отображатьВнешнийВид()
УзнатВес():Integer{leaf}
Собаки
Обученность: boolean
Лаять()
Кошки
Пушистость: Boolean
ВлезатьНаДерево():boolean
ОхотничньиСобаки
ОхотничьиНавыки: String
отображатьВнешнийВид()
ОхотничньиСобаки
{leaf}
НаличиеРодословной: String
отображатьВнешнийВид()
Романова Т.Н. – Технология программирования [2011]by Melvin |
Страница 29 |
Полиморфная операция. Есть некоторая операция, которую наследуют наследники.
Полиморфизм – возможность с помощью одного имени обозначать операции из различных классов (но относящихся к одному суперклассу).
Диаграмма классов системы управления полетов.
Справа вверху ставится цифра NN – это количество экземпляров «НЕ БОЛЕЕ, ЧЕМ NN». Раньше она говорила, что это «ровно NN», но это она погорячилась.
|
роль |
|
|
|
|
агрегация |
|
|
|
|
|||
|
|
|
|
|
|
1 |
|
|
|
|
|
||
|
клиент |
3 |
6 |
|
датчик |
|
|
||||||
|
|
|
Контроллер СУ |
1 |
|
|
|
|
|
|
|
||
Определяет |
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|||||
1 |
1 xor |
|
|
|
|
|
|
|
|||||
полет |
|
|
1 |
|
|
|
|
|
|||||
|
|
|
|
|
|
Регулятор узлов |
|
|
|||||
|
|
|
|
Регулятор скорости |
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ПрограммаПолета |
|
|
|
|
|
|
Регулятор |
|
|
|
|||
ТракеторияПолета |
|
,Перезапуск >=64мс- |
|
|
|
|
|
|
|
||||
ВыполнятьПрограмму () |
|
|
|
|
|
|
Включить() |
|
|
|
порт |
||
ПрогнозПолета() |
|
|
|
|
|
|
Выключить() |
|
|
|
Динамические модели отображают изменение состояния в процессе работы системы. Поэтому сюда входят автоматы и диаграммы взаимодействий.
Автомат (state-машины) – описывает поведение разрабатываемой системы в терминах последовательности состояний, через которые проходит объект в течение своей жизни.
Взаимодействие – описывает поведение в терминах обмена сообщениями между объектами.
Автомат
Автомат отображается с помощью:
1.Диаграмм схем состояний
2.Диаграмм деятельности
Взаимодействия (между объектами) отображаются с помощью:
1.Диаграмм сотрудничества (кооперации, collaboration)
2.Диаграммы последовательности действий.
Состояние обозначается прямоугольником со скругленными углами.
Имя состояния
Событие – происшествие, вызывающее изменение состояния.
Действие – набор операций, запускаемых этим событием.
событие/действие
Романова Т.Н. – Технология программирования [2011]by Melvin |
Страница 30 |
Примеры событий:
Баланс <0 |
– изменение состояния. |
Помехи |
– сигнал «объект с именем таким-то» (имя объекта). Что-то нужно |
|
изменить. |
Уменьшить |
– вызов действия, которое приводит к запуску какого-то другого блока. |
(давление) |
|
After (5сек) |
– по истечении временного периода что-то сделать. Т.е. каждые 5 секунд |
|
происходит какое-то событие. |
When (time = 17.00) |
– наступление абсолютного времени. |
Примеры действий, соответствующих этим событиям
Кассир.Прекратить выплаты() |
– операция, которая прекращает выплаты, если |
|
баланс меньше нуля. |
fit := new(фильтр); fit.убратьПомехи() |
– запускается сразу два события. |
Send Ник.Привет |
– send используется для посыла сигнала. |
Обозначения:
Переход в начальное состояние:
Переход в конечное состояние:
«очки» означают детализацию этого состояния
|
After(10c)/самопроверка() |
|
инициализация |
ожидание |
Тревога/ |
блокироватьПериметр()
Сброс/разблокироватьПериметр()
Имя состояния
Имя состояния
Активна
entry/установитьТревогу() do/подтверждатьТревогу() exit/СбросТревоги()
After(5c)/ПриемКоманды()
С одной стороны, система включена круглые сутки. Поэтому нет блока «переход в конечное состояние». Но есть exit. Где его нарисовать в этой схеме – она сомневается. Может быть, где-то внутри «активна».
Пример сохранения истории.
команды |
Активна |
|
|
|
Н |
|
запрос |
|
проверка |
|
звонок |
ждать
Романова Т.Н. – Технология программирования [2011]by Melvin |
Страница 31 |
Диаграмма деятельности. |
|
|
|
Диаграмма деятельности представляет собой особую форму конечного автомата, в котором |
|||
показывается процессы вычислений и потоки работ. |
|||
Пример диаграммы деятельности. |
|
|
|
Черная жирная линия называется линией синхронизации. |
|||
Покупатель |
|
Интернет-магазин |
|
|
Вход в каталог интернет- |
|
|
|
магазина |
|
|
|
*поиск по ключу+Ввод критерия |
Подготовка к |
|
|
|
поиска |
приему заказа |
|
*поиск по |
|
Поиск по каталогу |
|
разделу+ |
|
|
|
Переход по |
|
Формирование |
|
разделу каталога |
|
|
|
|
результата поиска |
|
|
|
|
|
|
Исследование |
|
|
|
товаров |
|
|
|
[товар выбран] |
Положить |
Выполнить заказ в |
|
товар в корзину |
||
|
[товар не |
корзине |
|
|
|
||
|
|
|
|
|
выбран] |
|
|
Диаграмма сотрудничества (кооперации). |
|
||
Синтаксис объекта: ИмяОбъекта:ИмяКласса |
|
||
Имя |
- Обозначение объекта. |
|
|
свойства |
|
|
|
|
Если не хочу называть объект, то просто пишу: «:ИмяКласса» |
||
Подчеркивание означает конкретный объект. Например: |
Адам:Человек :Пользователь Агент: МойКомпьютер:
Романова Т.Н. – Технология программирования [2011]by Melvin |
Страница 32 |