Главная » Просмотр файлов » Джим Арлоу, Айла Нейштадт - UML 2 и Унифицированный процесс. Практический объектно-ориентированный анализ и проектирование

Джим Арлоу, Айла Нейштадт - UML 2 и Унифицированный процесс. Практический объектно-ориентированный анализ и проектирование (1037782), страница 87

Файл №1037782 Джим Арлоу, Айла Нейштадт - UML 2 и Унифицированный процесс. Практический объектно-ориентированный анализ и проектирование (Джим Арлоу, Айла Нейштадт - UML 2 и Унифицированный процесс. Практический объектно-ориентированный анализ и проектирование) 87 страницаДжим Арлоу, Айла Нейштадт - UML 2 и Унифицированный процесс. Практический объектно-ориентированный анализ и проектирование (1037782) страница 872017-12-25СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 87)

В сущности, автомат этого класса совсем неинтересен, поскольку все возможные состояния могут быть смоделированы однимединственным состоянием.То есть предпосылкой моделирования в виде автомата должно бытьналичие семантики «отличия, которое различает» состояния. Конечные автоматы должны повышать ценность модели. Примеры такихавтоматов будут даны в этой и следующей главах.21.5.1. Синтаксис состоянияUMLсинтаксис состояния представлен на рис. 21.4.Каждое состояние поведенческого автомата может содержать нульили более действий и деятельностей.

У состояний протокольных автоматов нет действий или деятельностей.Действия являются мгновенными и непрерывными.Действия считаются мгновенными и непрерываемыми, тогда как деятельности занимают конечное время и могут быть прерваны. Каждоедействие в состоянии ассоциируется с внутренним переходом, инициируемым событием. В состоянии может быть любое число действийи внутренних переходов.Внутренний переход позволяет зафиксировать тот факт, что произошло чтото, заслуживающее отражения в модели, но не обуславливаю47921.6. Переходыимя состояниявходное и выходноедействиявнутренниепереходывнутренняядеятельностьEnteringPasswordentry/ показать диалог для ввода пароляexit/ проверить парольkeypress/ отобразить “*”help/ вывести подсказкуdo/ принять парольсинтаксис действия: имяСобытия/некотороеДействиесинтаксис деятельности: do/некотораяДеятельностьРис. 21.4.

Синтаксис состояниящее (или не настолько важное, чтобы моделировать это как) переходв новое состояние. Например, на рис. 21.4 нажатие одной из клавишклавиатуры, конечно, является заслуживающим внимания событием,но оно не приводит к переходу из состояния EnteringPassword (ввод пароля). Мы моделируем это как внутреннее событие keypress (нажатие клавиши), которое обусловливает внутренний переход, инициирующийдействие отобразить “*“.Два специальных действия – вход и выход – ассоциированы со специальными событиями entry и exit.

У этих двух событий особая семантика. Событие entry происходит мгновенно и автоматически при входев состояние. Это первое, что происходит, когда осуществляется входв состояние. Это событие обусловливает выполнение ассоциированного с ним действия на входе. Событие exit – самое последнее, что происходит мгновенно и автоматически при выходе из состояния.

Обусловливает выполнение ассоциированного действия на выходе.Деятельности длятся конечный промежуток времени и могут быть прерваны.Деятельности, с другой стороны, длятся конечный промежуток времени и могут быть прерваны по получении события. Деятельность обозначается ключевым словом do (делать). В отличие от действий, которые всегда завершаются, потому что они атомарны, деятельность можно прервать до того, как завершилось ее выполнение.21.6. ПереходыUMLсинтаксис переходов для поведенческих автоматов представленна рис.

21.5.Переходы показывают движение между состояниями.480Глава 21. Конечные автоматыПоведенческий автоматсобытие1, событие2 [сторожевоеУсловие]/ действиеABРис. 21.5. Синтаксис переходов для поведенческих автоматовСинтаксис переходов в поведенческом автомате прост и может использоваться для внешних переходов (изображаются стрелками) или внутренних переходов (изображаются вложенными в состояние). Каждыйпереход имеет три необязательных элемента.1.

Нуль или более событий – определяют внешнее или внутреннеепроисшествие, которое может инициировать переход.2. Нуль или одно сторожевое условие – логическое выражение, которое должно быть выполнено (иметь значение true), прежде чем может произойти переход. Условие указывают после событий.3. Нуль или более действий – часть работы, ассоциированная с переходом и выполняемая при срабатывании перехода.Рисунок 21.5 можно прочитать так: «При возникновении (события1ИЛИ события2), если (сторожевоеУсловие является истинным), выполнитьдействие и немедленно перейти в состояние B».В действиях могут использоваться переменные, область действия которых – конечный автомат.

Например:actionPerformed( actionEvent )/ command = actionEvent.getActionCommand()В приведенном примере actionPerformed( actionEvent ) – событие, генерируемое нажатием кнопки в Java GUI. При получении этого событиявыполняется действие по сохранению имени кнопки в переменнойcommand.Синтаксис переходов протокольных автоматов немного другой, какпоказано на рис. 21.6.Протокольный автомат {protocol}[предусловие] событие1, событие2/ [постусловие]CDРис. 21.6. Синтаксис переходов для протокольных автоматов48121.6.

Переходы•Здесь нет действия, поскольку задается протокол, а не реализация.•Сторожевое условие заменено предусловиями и постусловиями. Обратите внимание, что предусловие указывается перед событиями,а постусловие – после слэша.Как в поведенческих, так и в протокольных автоматах переход, осуществляемый без события, называют автоматическим переходом (auto+matic transition). Автоматический переход не ожидает события и срабатывает при выполнении его сторожевого условия или предусловия.21.6.1.

Соединение переходов – переходноепсевдосостояниеПереходные псевдосостояния объединяют или разветвляют переходы.Переходы могут быть соединены переходными псевдосостояниями(junction pseudo+states). Это точки слияния или ветвления переходов.Они изображаются в виде закрашенных кружков с одним или болеевходными переходами и одним или более исходящими переходами.Пример на рис. 21.7 показывает конечный автомат для класса Loan,который был представлен в разделе 18.12.2. Loan моделирует получение книги в библиотеке. Конечный автомат Loan имеет простой узелслияния.

Это наиболее распространенное использование переходныхпсевдосостояний.У переходного псевдосостояния может быть несколько выходных переходов. В этом случае каждый исходящий переход должен быть защищен взаимоисключающим сторожевым условием, обеспечивающим возможность срабатывания только одного перехода. Примерпредставлен на рис. 21.8. Здесь конечный автомат для класса Loan былрасширен, чтобы обработать случай, когда выдача книги может бытьпродлена. Бизнесправило состоит в том, что для продления срока возврата выданная книга должна быть предъявлена библиотеке.

Такимобразом, события returnBook попрежнему действительны.Loanпростой узел слиянияOnLoanreturnBookpayFine[after maximumDuration]OverdueTerminatedreturnBookFineDueРис. 21.7. Конечный автомат класса Loan имеет простой узел слияния482Глава 21. Конечные автоматыLoan[extend]OnLoanreturnBookTerminated[!extend]узел слиянияи ветвления[after maximumDuration]OverduepayFinereturnBookFineDueРис. 21.8. Конечный автомат класса Loan имеет узел слияния и ветвления21.6.2.

Ветвление переходов – псевдосостояние выбораДля представления простого ветвления без слияния необходимо использовать псевдосостояние выбора (choice pseudo+state), как показанона рис. 21.9.Псевдосостояние выбора направляет поток конечного автомата согласно заданным условиям.Псевдосостояние выбора позволяет направлять поток конечного автомата согласно условиям, заданным для исходящих переходов.

НаприBankLoanUnpaidacceptPaymentпсевдосостояние выбора[payment > balance][payment < balance][payment = balance]OverPaidmakeRefundFullyPaidPartiallyPaidacceptPaymentРис. 21.9. Реализация ветвления без слияния с помощью псевдосостояниявыбора48321.7. Событиямер, на рис. 21.9 показан поведенческий автомат простого класса BankLoan (банковская ссуда). При получении события acceptPayment (принятплатеж) объект BankLoan переходит из состояния Unpaid (не оплачен)в одно из трех состояний – FullyPaid (полностью оплачен), OverPaid (переплачен) или PartiallyPaid (частично оплачен) – в зависимости от соотношения объема платежа (payment) и неоплаченного баланса BankLoan.Условия, налагаемые на исходящие переходы псевдосостояния выбора, должны быть взаимоисключающими, чтобы гарантировать в любой момент времени срабатывание только одного из них.21.7.

СобытияСобытия инициируют переходы.UML определяет событие как «описание заслуживающего вниманияпроисшествия, занимающего определенное положение во времении пространстве». События инициируют переходы в автоматах. Событиямогут быть указаны вне состояний на переходах, как на рис. 21.10, иливнутри состояний, как на рис. 21.11.OffturnOffturnOnсобытиеOnРис. 21.10. События указаны вне состояний на переходахСуществует четыре семантически различных типа событий:• событие вызова;• сигнал;• событие изменения;• событие времени.21.7.1.

Характеристики

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6458
Авторов
на СтудИзбе
305
Средний доход
с одного платного файла
Обучение Подробнее