ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 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