Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Добавление деталей к описанию состоянияСодержание книги
Поиск на нашем сайте
Находясь в конкретном состоянии, объект может выполнять определенные действия. Например, он может генерировать отчет, осуществлять некоторые вычисления или посылать событие другому объекту. В Rose информация такого типа добавляется к модели посредством окна спецификации состояния. С состоянием можно связывать данные пяти типов: деятельность, входное действие, выходное действие, событие и история состояния. Рассмотрим каждый из них в контексте примера. На рис. показана диаграмма Состояний для класса Account системы ATM Деятельность Деятельностью (activity) называется поведение, реализуемое объектом, когда он находится в данном состоянии. Например, когда счет находится в состоянии "Закрыт”, происходит возврат кредитной карточки пользователю. Деятельность — это прерываемое поведение. Оно может выполняться до своего завершения, если объект находится в данном состоянии, или может быть прервано переходом объекта в другое состояние. Деятельность изображают внутри самого состояния, ей должны предшествовать слово do (делать) и двоеточие: Входное действие Входным действием (entry action) называется поведение, которое выполняется, когда объект переходит в данное состояние. Выходное действие Выходное действие (exit action) подобно входному. Однако оно осуществляется как составная часть процесса выхода из данного состояния. Так, при выходе объекта Account из состояния "Превышен счет", независимо от того, куда он переходит, выполняется действие "Разморозить счет". Оно является частью процесса перехода. Как и входное, выходное действие является непрерываемым. Выходное действие изображают внутри состояния, ему предшествуют слово exit (выход) и двоеточие. Добавление переходов Переходом (transition) называется перемещение из одного состояния в другое. Совокупность переходов диаграммы показывает, как объект может переходить из одного состояния в другое. На диаграмме все переходы изображают в виде стрелки, начинающейся в первоначальном и заканчивающейся в последующем состоянии. Переходы могут быть рефлексивными: объект переходит в то же состояние, в котором он в настоящий момент находится. Рефлексивные переходы изображают в виде стрелки, начинающейся и завершающейся на одном и том же состоянии. Детальное описание перехода У перехода существует несколько спецификаций: события, аргументы, ограждающие условия, действия и посылаемые события. Рассмотрим эти параметры в контексте примера ATM. На рис. 8.2 показана диаграмма Состояний для класса Account. Событие Событие (event) — это то, что вызывает переход из одного состояния в другое. В нашем примере событие "Клиент требует закрыть" вызывает переход счета из открытого состояния в закрытое. Событие размещают на диаграмме вдоль линии перехода. Для отображения события на диаграмме можно использовать как имя операции, так и обычную фразу. В нашем примере события описаны обычными фразами. Если вы хотите использовать операции, то событие "Клиент требует закрыть" можно было бы назвать RequestClosureQ. У событий могут быть аргументы. Так; событие "Сделать вклад", вызывающее переход счета из состояния ^'Превышен счет" в состояние "Открыт", может иметь аргумент Amount (Количество), описывающий сумму депозита. Rose позволяет добавлять аргументы к событиям. Большинство переходов должно иметь события, так как именно они инициируют переход. Тем не менее бывают и автоматические переходы, не имеющие событий. При этом объект сам перемещается из одного состояния в другое со скоростью, предусматривающей выполнение входных действий, деятельности и выходных действий. Ограждающее условие Ограждающие условия (guard conditions) определяют, когда переход может быть выполнен, а когда нет. В нашем примере событие "Сделать вклад" переведет счет из состояния "Превышение счета" в состояние "Открыт", но только если баланс больше нуля. В противном случае переход не осуществится. На диаграмме ограждающие условия заключают в квадратные скобки и размещают вдоль линии перехода после имени события. Ограждающие условия задавать необязательно. Однако если существует несколько автоматических переходов из состояния, необходимо определить для них взаимно исключающие ограждающие условия. Это поможет читателю диаграммы понять, какой путь перехода будет выбран автоматически. Действие Действием (action) является непрерываемое поведение, выполняющееся как часть перехода. Входные и выходные действия показывают внутри состояния, поскольку они определяют, что происходит, когда объект входит или выходит из состояния. Другие действия изображают вдоль линии перехода, так как они не должны осуществляться при входе или выходе из состояния. Например, при переходе счета из открытого в закрытое состояние выполняется действие "Сохранить дату закрытия счета”. Это непрерываемое поведение осуществляется только во время перехода из состояния "Открыт" в состояние "Закрыт". Действие размещают вдоль линии перехода после имени события, ему предшествует косая черта (/). Событие или действие может быть поведением внутри объекта, а может представлять собой сообщение, посылаемое другому объекту. Если событие или действие посылается другому объекту, перед ним на диаграмме помещают знак "^". Для добавления события на диаграмму: · Дважды щелкнув мышью на переходе, откройте окно его спецификации. · Перейдите на вкладку General (Общие). · Введите событие в поле Event (Событие). Для добавления аргументов к событию: · Дважды щелкнув мышью на переходе, откройте окно его спецификации. · Перейдите на вкладку General (Общие). · Введите аргументы в поле Arguments (Аргументы). Если нужно задать ограждающее условие: · Дважды щелкнув мышью на переходе, откройте окно его спецификации. · Перейдите на вкладку Detail (Подробно). · Введите ограждающее условие в поле Condition (Условие). Для добавления действия: · Дважды щелкнув мышью на переходе, откройте окно его спецификации. · Перейдите на вкладку Detail (Подробно). · Введите действие в поле Action (Действие). Отправить событие можно следующим образом: · Дважды щелкнув мышью на переходе, откройте окно его спецификации. · Перейдите на вкладку Detail (Подробно). · Введите событие в поле Send Event (Отправляемое событие). · Введите аргументы в поле Send Arguments (Отправляемые аргументы). · Укажите цель в поле Send Target (Цель события). Задание специальных состояний На диаграмму можно добавить два специальных состояния объекта — начальное и конечное. Начальное состояние Начальным (start) называется состояние, в котором объект находится сразу после своего создания. В нашем примере при создании счет имеет состояние "Открыт". На диаграмме его изображают в виде закрашенного кружка. От него к первоначальному состоянию проводится переход. Начальное состояние обязательно — читатель должен знать, с чего начинается объект. На диаграмме может быть только одно начальное состояние. Конечное состояние Конечным (stop) называется состояние, в котором объект находится непосредственно перед уничтожением. Его изображают в виде закрашенного кружка с незакрашенным ободком ("бычий глаз"). Конечные состояния не являются обязательными, их может быть сколько угодно. Для указания начального состояния: · Нажмите кнопку Start State (Начальное состояние) панели инструментов. · Щелкните мышью на диаграмме Состояний в том месте, куда нужно поместить начальное состояние. Для указания конечного состояния: · Нажмите кнопку End State (Конечное состояние) панели инструментов. · Щелкните мышью на диаграмме Состояний в том месте, куда нужно поместить конечное состояние.
|
||||
Последнее изменение этой страницы: 2016-04-18; просмотров: 378; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.217.208.220 (0.008 с.) |