Главная » Просмотр файлов » А.М. Вендров - Объектно-ориентированный анализ и проектирование

А.М. Вендров - Объектно-ориентированный анализ и проектирование (1158627), страница 10

Файл №1158627 А.М. Вендров - Объектно-ориентированный анализ и проектирование (А.М. Вендров - Объектно-ориентированный анализ и проектирование) 10 страницаА.М. Вендров - Объектно-ориентированный анализ и проектирование (1158627) страница 102019-09-18СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Требование клиента называетсясобытием (event), именно такие события и вызывают переход из одногосостояния в другое.Рис. 1.19. Диаграмма состояний для класса AccountЕсли клиент снимает деньги с открытого счета, он может перейти всостояние "Превышение кредита". Это происходит, только если баланс поэтому счету меньше ноля, что отражено условием [отрицательный баланс]на диаграмме. Заключенное в квадратных скобках ограничивающееусловие (guard condition) определяет, когда может или не может произойтипереход из одного состояния в другое.49На диаграмме имеются два специальных состояния - начальное (start)и конечное (stop).

Начальное состояние выделено черной точкой, оносоответствует состоянию объекта, когда он только что был создан.Конечное состояние обозначается черной точкой в белом кружке, оносоответствует состоянию объекта непосредственно перед егоуничтожением. На диаграмме состояний может быть только одноначальное состояние, а конечных состояний может быть столько, скольконужно, или их может не быть вообще. Когда объект находится в каком-токонкретном состоянии, могут выполняться различные процессы. Впримере на рис.

1.19 при превышении кредита клиенту посылаетсясоответствующее сообщение. Процессы, происходящие, когда объектнаходится в определенном состоянии, называются действиями (actions).С состоянием можно связывать данные пяти типов: деятельность,входное действие, выходное действие, событие и история состояния.Рассмотрим каждый из них в контексте диаграммы состояний для классаAccount банковской системы.Деятельность (activity) - это поведение, реализуемое объектом, пока оннаходится в данном состоянии. Например, когда счет находится всостоянии "Закрыт", происходит возврат кредитной карточкипользователю.

Деятельность - это прерываемое поведение. Оно можетвыполняться до своего завершения, пока объект находится в данномсостоянии, или может быть прервано переходом объекта в другоесостояние. Деятельность изображают внутри самого состояния, ей должнопредшествовать слово do (выполнять) и двоеточие.Входное действие (entry action) - это поведение, которое выполняется,когда объект переходит в данное состояние. Когда счет в банке переходитв состояние "Превышение кредита", выполняется действие "Временнозаморозить счет", независимо от того, откуда объект перешел в этосостояние.

Таким образом, данное действие осуществляется не после того,как объект перешел в это состояние, а, скорее, как часть этого перехода. Вотличие от деятельности, входное действие рассматривается какнепрерываемое.Входное действие также показывают внутри состояния, емупредшествует слово entry (вход) и двоеточие.Выходное действие (exit action) подобно входному, однако оноосуществляется как составная часть процесса выхода из данногосостояния. Так, при выходе объекта Account из состояния "Превышениекредита", независимо от того, куда он переходит, выполняется действие"Разморозить счет".

Оно является частью процесса такого перехода. Как ивходное, выходное действие является непрерываемым.Выходное действие изображают внутри состояния, ему предшествуетслово exit (выход) и двоеточие.Переходом (transition) называется перемещение объекта из одногосостояния в другое. На диаграмме все переходы изображают в виде50стрелки, начинающейся на первоначальном состоянии и заканчивающейсяна последующем.Переходы могут быть рефлексивными. Объект может перейти в то жесостояние, в котором он в настоящий момент находится.

Рефлексивныепереходы изображают в виде стрелки, начинающейся и завершающейся наодном и том же состоянии.У перехода существует несколько спецификаций, основными изкоторых являются события, ограждающие условия и действия.Событие (event) вызывает переход из одного состояния в другое.Событие "Клиент требует закрыть" вызывает переход счета из открытого взакрытое состояние.

Событие размещают на диаграмме вдоль линииперехода.На диаграмме для отображения события можно использовать как имяоперации, так и обычную фразу, как в примере. Если нужно использоватьоперации, то событие "Клиент требует закрыть" можно было бы назватьRequestClosure().Большинство переходов должны иметь события, так как именно они,прежде всего, заставляют переход осуществиться. Тем не менее, бывают иавтоматические переходы, не имеющие событий.

При этом объект самперемещается из одного состояния в другое со скоростью, позволяющейосуществиться входным действиям, деятельности и выходным действиям.Ограничивающие условия (guard conditions) определяют, когдапереход может, а когда не может осуществиться. В примере событие"Вклад денег" переведет счет из состояния "Превышение кредита" всостояние "Открыт", но только если баланс будет больше нуля. Впротивном случае переход не осуществится.Ограничивающие условия изображают на диаграмме вдоль линииперехода после имени события, заключая их в квадратные скобки.Ограничивающие условия задавать необязательно.

Однако, еслисуществует несколько автоматических переходов из состояния,необходимо определить для них взаимно исключающие ограждающиеусловия, чтобы понять, какой путь перехода будет автоматически выбран.Действие может быть не только входным или выходным, но и частьюперехода. Например, при переходе счета из открытого в закрытоесостояние выполняется действие "Сохранить дату закрытия счета".Действие изображают вдоль линии перехода после имени события,ему предшествует косая черта.Диаграммы состояний не надо создавать для каждого класса, ониприменяются только в сложных случаях. Если объект класса можетсуществовать в нескольких состояниях и в каждом из них ведет себя поразному, для него может потребоваться такая диаграмма.511.4.5. Диаграммы деятельностиВ отличие от большинства других средств UML, диаграммыдеятельности заимствуют идеи из нескольких различных методов, вчастности, метода моделирования состояний SDL и сетей Петри.

Этидиаграммы особенно полезны в описании поведения, включающегобольшое количество параллельных процессов. Диаграммы деятельностиявляются также полезными при параллельном программировании,поскольку можно графически изобразить все ветви и определить, когда ихнеобходимо синхронизировать.Диаграммы деятельности можно применять для описания потоковсобытий в вариантах использования. С помощью текстового описанияможно достаточно подробно рассказать о потоке событий, но в сложных изапутанных потоках с множеством альтернативных ветвей будет труднопонять логику событий. Диаграммы деятельности предоставляют ту жеинформацию, что и текстовое описание потока событий, но в нагляднойграфической форме.На рис. 1.20 приведена диаграмма деятельности для потока событий,связанного с системой бронирования авиабилетов.

Рассмотрим еенотацию.Основным элементом диаграммы является деятельность (activity).Интерпретация этого термина зависит от той точки зрения, с которойстроится диаграмма (это может быть некоторая задача, которуюнеобходимо выполнить вручную или автоматизированным способом, илиоперация класса). Деятельность изображается в виде закругленногопрямоугольника с текстовым описанием.Любая диаграмма деятельности должна иметь начальную точку,определяющую начало потока событий. Конечная точка необязательна. Надиаграмме может быть несколько конечных точек, но только однаначальная.На диаграмме могут присутствовать объекты и потоки объектов(object flow). Объект может использоваться или изменяться в одной издеятельностей. Показ объектов и их состояний (в дополнение кдиаграммам состояний) помогает понять, когда и как происходит сменасостояний объекта.Объекты связаны с деятельностями через потоки объектов.

Потокобъектов отмечается пунктирной стрелкой от деятельности к изменяемомуобъекту или от объекта к деятельности, использующей объект.В примере на рис. 1.20 после ввода пользователем информации окредитной карточке билет переходит в состояние "не подтвержден". Когдазавершится процесс обработки кредитной карточки и будет подтвержденперевод денег, возникает деятельность "зарезервировать место",переводящая билет в состояние "приобретен", и затем он используется вдеятельности "формирование номера подтверждения".52HПоказатьценуВвестиинформацию окредитнойкарточкеБилет[Неподтвержден][Неправильный счет,недостаточно денегна счету, недоступнакредитная система][Подтверждение]ЗарезервироватьместоСформироватьномерподтвержденияОтправитьподтверждениепо e-mailБилет[Приобретен]Показать номерподтвержденияHРис.

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

Описание декомпозированной деятельности может бытьпредставлено в виде другой диаграммы деятельности.Подобно большинству других средств, моделирующих поведение,диаграммы деятельности отражают только вполне определенные егоаспекты, поэтому их лучше всего использовать в сочетании с другимисредствами.Диаграммы деятельности предпочтительнее использовать вследующих ситуациях:• анализ потоков событий в конкретном варианте использования.Здесь нас не интересует связь между действиями и объектами, анужно только понять, какие действия должны иметь место икаковы зависимости в поведении системы. Связывание действий иобъектоввыполняетсяпозднееспомощьюдиаграммвзаимодействия;• анализ потоков событий в различных вариантах использования.Когда варианты использования взаимодействуют друг с другом, надиаграмме деятельности удобно представить и проанализироватьвсе их потоки событий (в этом случае диаграмма с помощьювертикальных пунктирных линий разделяется на зоны - такназываемые "плавательные дорожки" (swimlanes).

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

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

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