Главная » Просмотр файлов » Дж. Рамбо, М. Блаха - UML 2.0 - Объектно-ориентированное моделирование и разработка

Дж. Рамбо, М. Блаха - UML 2.0 - Объектно-ориентированное моделирование и разработка (1158633), страница 31

Файл №1158633 Дж. Рамбо, М. Блаха - UML 2.0 - Объектно-ориентированное моделирование и разработка (Дж. Рамбо, М. Блаха - UML 2.0 - Объектно-ориентированное моделирование и разработка) 31 страницаДж. Рамбо, М. Блаха - UML 2.0 - Объектно-ориентированное моделирование и разработка (1158633) страница 312019-09-18СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Шкаф опять начал делать полный поворот, но вы не дали ему закончить оборот, уперевшись в него плечом. Друг передал вам свечу, и вместе вам удалось провернуть шкаф назад на пол-оборота. В результате друг остался за шкафом, а вы перед ним. Вы вставили свечу в подсвечник. Шкаф начал поворачиваться, вы вынули свечу и шкаф остановился на четверти оборота. Вы вместе вошли в коридор и отправились на поиски приключений. Подготовьте диаграмму состояний системы управления книжным шкафом, которая описывала бы приведенный выше пример. Что нужно было сделать с самого начала, чтобы войти в коридор без всяких проблем г Углубленное моделирование состояний Обычных диаграмм состояний достаточно для описания простых систем, но для сложных задач нужны средства помощнее.

Для моделирования сложных систем можно использовать вложенные диаграммы состояний, вложенные состояния, обобщение сигналов и параллелизм. Эта глава содержит сложный материал, который при первом чтении можно пропустить. 6.1. Вложенные диаграммы состояний 6.1.1.

Задачи с одноуровневыми диаграммами состояний Диаграммы состояний часто критикуются, потому что они якобы непрактичны для больших задач. Это верно для плоских, бесструктурных диаграмм состояний. Рассмотрим объект, имеющий и логических атрибутов, влияющих на управление. Представление такого объекта на одной плоской диаграмме потребовало бы 2" состояний. При разбиении состояния на и независимых диаграмм состояний потребовалось бы всего 2" состояний. Другой пример — диаграмма с рис.

6Д, на которой и' переходов соединяют все состояния попарно. Если переформулировать эту модель с использованием структуры, количество переходов можно снизить вплоть до и. Сложные системы обычно содержат много избыточной информации, которую можно исключить при помоши структурирования. 6.1.2. Разложение состояний Одним из способов организации модели является применение диаграммы вьы сокого уровня, отдельные состояния которой раскрываются на поддиаграммах.

Принцип аналогичен подстановке макросов в языках программирования. 6.2. Вложенные состояния 139 На рис. 6.2 показана такая диаграмма для торгового автомата. Изначально автомат находится в бездействии. Когда человек кидает монету в автомат, тот добавляет ее цену к обшему балансу. Положив несколько монет, человек может выбрать товар. Если данный товар кончился или денег для него недостаточно, автомат ждет, пока человек выберет что-иибудь другое. В противном случае автомат выдает товар и возврашает остаток с баланса. Рис.

6.1. Комбинаторный взрыв переходов на плоских диаграммах состояний Рис. 6.2. Диаграмма состояний торгового автомата На рис. 6.3 раскрывается состояние Жпмггм (Выдача). Вложенная диаграмма состояний называется зибгласлгюе (вложеииый конечный автомат). Вложенный автомат может вызываться как часть другого конечного автомата.

Для вызова вложенного автомата иа диаграмме указывается название состояния, после которого ставится двоеточие и название вложенного автомата. С концептуальной точки зрения вложенная диаграмма заменяет состояние внешней диаграммы. Фактически, вложенный конечный автомат — это нечто вроде подпрограммы для диаграммы состояний. 6.2. Вложенные состояния Состояние можно структурировать, а ие только заменять его вложенной диаграммой состояний. Вложение состояний может использоваться для выделения их обших черт и совместного использования поведения.

(В соответствии с ()МЕ2 140 Глава б ° Углубленное моделирование состояний мы не применяем к состояниям термин обобщение. Подробнее см. раздел Библиографические замечания в этой главе.) Рис. 6.3. Вложенный конечный автомат торгового автомата На рис. 6А представлена упрощенная модель телефонной линии нз главы 5. Один переход из Асйов (Активна) в И1е (Отключена) заменяет переходы из всех состояний в состояние И!в. Все состояния из главы 5, за исключением И1е, теперь становятся вложенными состояниями состояния Асг(ое. Осуществление события опНоо!г (наРычаг) в любом из вложенных состояний вызывает переход в И!е.

Название составного или комлозитного соолояния (сошрозйе агате) относится ко внешнему контуру, который охватывает все вложенные состояния. Таким образом, Асг(гм оказывается композитным состоянием со вложенными состояниями Риг1Топв (Гудок), Т1теоиг (Тайм-аут), Рга1(нд (НаборНомера) и т.

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

Рукоятка коробки может находиться в трех положениях: назад, нейтраль и вперед. Если рукоятка находится в положении вперед, сама коробка передач может включать первую, вторую нли третью скорость. Состояния Г(гз! (Первая), БесоЫ (Вторая) и ТлЫ (Третья) являются вложенными по отношению к состоянию Гопвагг( (Вперед).

Каждое из вложенных состояний имеет общие с композитным состоянием исходящие переходы. На какой бы передаче вы ни переключились на нейтраль, переход будет выполнен. Переход из состояния Гопвагг! (Вперед) в состояние №игга! (Нейтраль) подразумевает целых три перехода, по одному с каждой из передач на нейтраль. При переключении с №игга! на Гопвап! происходит переход в состояние Гопвап1. Однако само состояние Гопвап1 является абстрактным, тогда как управление должно обязательно находиться в конкретном состоянии, поэтому реальный переход происходит в одно из вложенных состояний, а именно в состояние Ятг, потому что оно является начальным состоянием по умолчанию. Это показывает переход без названия из закрашенного кружка внутри контура состояния Гопвагг(.

По событию угор все три вложенных состояния переходят в состояние Г(гзг, что показывает переход с контура Гопвап1 в состояние Г(гзг. Это означает, что остановка машины приводит к переключению на первую передачу, на какой бы передаче мы перед этим ни ехали. Система обозначений позволяет описать более сложные ситуации, например явный переход из вложенного состояния в состояние, внешнее по отношению 6.2. Вложенные состояния 141 Рнопеыпв опНооз!61зсоппесН.'пе Ш1в Асзмв Т)твои! бо ! зоипбсоибВеер 01аПопе бо / зоипб01а1Топе 1)твои) Ууагп1пд бо / р1аумеззаде 619)11п) гзпеоиГ 6!ддГп) 0!а!!од Несом!во Мазза )пиз1ЫНитоег бо ) Р1ауМеззад питевгвизу уедбйипаег де е ВизуТопе бо l з1оаВизутопе Соппвсбпд бо Iдпбсоппесаоп Разгнизутопв бо l 1аМВизуТопе теззадепопе ггипяВизу й1пд)пд бо l пп9Ве11 сздебРЛопеЯпевегз / соппесд.!пе Соп пес!во сз))ебРЛопвНзпдзУр I бпсоп пес!Ыпе 01зсоппесзеб Рис.

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

6.2). В простых задачах вложенные состояния можно реализовать, сделав диаграммы состояния плоскими. Можно также сделать каждое состояние классом, однако при этом важно следить за тем, чтобы не потерять индивидуальность объектов. Операция Ьесотез в языке Вша!!га)к позволяет объекту изменять класс, не теряя при этом индивидуальность, что облегчает преврашение состояния в класс.

Однако затраты на выполнение операции Ьесотез могут стать серьезной проблемой при частой смене состояний. Преврашение операции в класс оказывается невыгодным в С++, если не использовать сложные методы, подобные описанным в 1Сор11еп-92]. 1ауа в этом отношении так же неудобна, как и С++. 142 Глава б ° Углубленное моделирование состояний Деятельность при входе и при выходе особенно полезна на диаграммах с вложенными состояниями, потому что с ее помощью можно выражать состояние (в некоторых случаях — целую вложенную диаграмму) в терминах соответствуюшей деятельности при входе и при выходе, не заботясь о том, что происходило и будет происходить, когда состояние не активно.

Переход во вложенное состояние или из него может приводить к выполнению последовательности деятельности при входе и при выходе, если переход пересекает несколько уровней вложенности. Деятельность при входе осуществляется от внешних состояний к внутренним, а деятельность при выходе — наоборот. Это позволяет реализовать поведение, подобное поведению вызовов вложенных подпрограмм. Рмс. 6.5. Диаграмма состояний автоматической коробки передач 6.3.

Обобщение сигналов Сигналы могут образовывать иерархию обобшений, наследуя от предков свои атрибутьь На рис. 6.6 изображена часть дерева входных сигналов рабочей станции. Сигналы МоизеВиггоп (КнопкаМыши) и Кеубоагг(СБагасгег (КлавишаКлавиатуры) являются разновидностями пользовательского ввода. Оба сигнала наследуют атрибут Ивисе (устройство) от сигнала Пет!прис (ПользовательскийВвод) — корня дерева.

Сигналы МоизеВиггопОоит (КнопкаМышиВниз) и МоизеВиггопУр (КнопкаМышиВверх) наследуют атрибут 1осайоп (координаты) от сигнала МоизеВиггоп (КнопкаМыши). Класс КеуЬоап1СЬагасгег (КлавишаКлавиатуры) может быть разделен на Сопле! (Управляюгцая) и Сгарй(с (Графическая). В конечном итоге любой сигнал можно считать листом дерева обобщений сигналов. На диаграмме состояний сигнал может переключать переходы, в определении которых указаны сигналы, являюшиеся его предками.

Например, нажатие клавиши а вызовет переход, переключаемый сигналом А1рйаУитепс (АлфавитноЦифровая), а также переход, переключаемый сигналом КеуЬоагс(СЬагасгег (КлавишаКлавиатуры). Мы рекомендуем делать все сигналы-предки абстрактными, как и при обобшении классов. Иерархия сигналов позволяет использовать в модели разные уровни абстракции.

Например, некоторые состояния могут одинаково обрабатывать все входяшие символы, тогда как другие могут обрабатывать управляюшие символы иначе, чем печатные, а третьи могут интерпретировать каждый нажатый символ по-своему. 6А. Параллелизм 143 Рис. 6.6.

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

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

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