Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Проектирование автоматизированных информационных систем на основе о..pdf
Скачиваний:
27
Добавлен:
15.11.2022
Размер:
10.45 Mб
Скачать

Каждому состоянию можно задать действие на входе-выходе и дея­ тельность с помощью закладки «Actions» окна «State Specification», ко­ торое вызывается с помощью двойного щелчка на изображении состоя­ ния или с контекстного меню этого состояния.

Теперь осталось связать все состояния переходами. Для того что­ бы создать переход, необходимо воспользоваться пиктограммой «State Transition» и указать сначала исходное состояние, а затем ко­ нечное. Если переход вызывается событием, то это событие можно определить, открыв окно «State Transition Specification» двойным щелчком на линии перехода. Это же окно служит для определения сторожевых условий и действий перехода.

Полученный результат представлен на рис. 9.13.

9.3. Подведение итогов

Диаграмма состояний представляет собой сильный инструмент, позволяющий описать изменение системы в течение времени. Слож­ ные системы содержат множество диаграмм, которые составляют ди­ намическую модель системы. Как правило, каждая диаграмма описы­ вает поведение определенного класса. Ключевыми элементами диа­ граммы являются состояние и событие. Состояние системы опреде­ ляется значениями атрибутов класса, а событие является сигналом для перехода из одного состояния в другое.

9.4.Контрольные вопросы

1.Какие характеристики проектируемой системы отображает диаграмма состояний?

2.Назовите основные элементы диаграммы состояний.

3.Поясните роль события в диаграмме состояний.

4.Что понимается под состоянием объекта? Как можно задать состояние?

5.Дайте определение условию, действию и деятельности.

6.Какие условия называются сторожевыми?

7.Чем отличается событие от действия?

8.Что служит причиной прекращения деятельности?

9.В чем отличие действия от деятельности?

9.5.Контрольные задачи

1.Доработайте рассмотренную ранее диаграмму работы лифта. Диаграмма должна учитывать возможность того, что двери лифта мо­ гут не закрыться (по истечении отсчитанных семи секунд), если пас­ сажир нажмет кнопку открытия дверей, расположенную в лифте, либо просто поместит любой предмет между закрывающимися дверьми.

2.Постройте диаграмму состояний для описания работы автомати­ ческой двери автомобильного гаража. Открытие-закрытие двери про­ исходит с помощью двигателя. Нажимая на кнопку пульта управления, человек вызывает либо открытие, либо закрытие двери (происходит реверс двигателя, и дверь начинает двигаться в другую сторону). Для безопасной работы двери введено дополнительное условие: дверь не начнет закрываться до тех пор, пока она полностью не откроется.

10.ДИАГРАММА ДЕЯТЕЛЬНОСТЕЙ

10.1.Теоретическая часть

Диаграмма деятельностей (activities diagrams) используется для моделирования динамических аспектов поведения системы и иллю­ стрирует логику и последовательность переходов от одной деятель­ ности к другой. Диаграмма деятельности - это своеобразная блоксхема, которая описывает последовательность выполнения операций во времени.

Элементами диаграммы деятельностей являются состояние действия/деятельности, переход (transition), точка принятия решений (decision point) и полоса синхронизации (synchronization bar).

Деятельность (activity) - это продолжающийся во времени не­ атомарный шаг вычислений. Деятельности, в конечном счете, приво­ дят к выполнению некоего действия (action), составленного из вы­ полняемых атомарных вычислений, каждое из которых либо изменя­ ет состояние системы, либо возвращает какое-то значение [1].

Состояние действия (action state) является специальным случаем состояния с некоторым входным действием и, по крайней мере, од­ ним выходящим из состояния переходом. Этот переход неявно пред­ полагает, что входное действие уже завершилось. Состояние дейст­ вия не может иметь внутренних переходов, так же, как не может быть подвергнуто декомпозиции, поскольку является атомарным [1]. Обычное использование состояния действия заключается в модели­ ровании одного шага выполнения алгоритма (процедуры) или потока управления. Выполняемая в состоянии действия работа не может быть прервана. Длительность одного состояния действия занимает неощутимо малое время.

Состояния действия изображаются в виде прямоугольников с за­ кругленными углами (рис. 10.1).

/-------------------

\

Имя

<____________ >

Рис. 10.1. Изображение состояния действия

Внутри прямоугольника указывается имя состояния. Рекоменду­ ется в качестве имени состояния действия использовать глагол с по­ яснительными словами.

Состояния деятельности (state), наоборот, могут быть подверг­ нуты дальнейшей декомпозиции, вследствие чего выполняемую дея­ тельность можно представить с помощью других диаграмм деятель­ ности. Состояния деятельности не являются атомарными, т.е. могут быть прерваны. Предполагается, что для их завершения требуется заметное время.

Состояние деятельности отображается на диаграмме так же, как и состояние действия.

Переход (transition) показывает путь из одного состояния дейст­ вия или деятельности в другое. Когда действие или деятельность в некотором состоянии завершается, поток управления сразу перехо­ дит в следующее состояние действия или деятельности. Переходы такого рода носят названия нетриггерных переходов.

Переход изображается в виде непрерывной линии со стрелкой (рис. 10.2).

------------------------------->

Рис. 10.2. Изображение перехода

Поток управления должен где-то начинаться и заканчиваться. На диаграмме можно задать как начальное (закрашенный кружок), так и конечное (закрашенный кружок внутри окружности) состоя­ ние (рис. 10.3).

Рис. 10.3. Пример состояний действий и переходов

Точка принятия решения (decision point), или ветвление, при­ меняется в диаграмме для описания различных путей выполнения в зависимости от значения некоторого булевого выражения. Точки

принятия решений совместно с соответствующими контролирую­ щими условиями позволяют наглядно продемонстрировать воз­ можные альтернативные пути протекания процесса функциониро­ вания системы. На диаграмме точка ветвления изображается ром­ бом (рис. 10.4).

О

Рис. 10.4. Изображение точки принятия решения

Вточку принятия решения может входить только один переход,

авыходить - два или более. Булево выражение вычисляется только один раз при входе в точку ветвления. Ни для каких двух исходящих переходов эти сторожевые условия не должны одновременно прини­ мать значение «истина», иначе поток управления окажется неодно­ значным.

На рис. 10.5. приведен пример диаграммы с ветвлениями.

Рис. 10.5. Пример ветвлений

Полоса синхронизации (synchronization bar) используется для обо­ значения разделения и слияния параллельных потоков (рис. 10.6). Процесс функционирования системы зачастую содержит стадии, ко­ торые могут выполняться параллельно. Полосы синхронизации

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]