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

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

PDF-файл Дж. Арлоу, А. Нейштадт - UML 2 и Унифицированный процесс - Практический объектно-ориентированный анализ и проектирование, страница 60 Объектно-ориентированный анализ и проектирование (53090): Книга - 7 семестрДж. Арлоу, А. Нейштадт - UML 2 и Унифицированный процесс - Практический объектно-ориентированный анализ и проектирование: Объектно-ориентированный ан2019-09-18СтудИзба

Описание файла

PDF-файл из архива "Дж. Арлоу, А. Нейштадт - UML 2 и Унифицированный процесс - Практический объектно-ориентированный анализ и проектирование", который расположен в категории "". Всё это находится в предмете "объектно-ориентированный анализ и проектирование" из 7 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .

Просмотр PDF-файла онлайн

Текст 60 страницы из PDF

14.6. Деятельность с иерархично вложенным множеством разделовДиаграммы деятельности с разделами деятельности превосходно подходят для моделирования подобного процесса.Иногда абсолютно нереально сгруппировать узлы в вертикальные илигоризонтальные разделы, не ухудшив при этом читаемость диаграммы. В этом случае можно создавать разделы неправильной формы с помощью кривых или обозначать разделы с помощью текста. В UML существует текстовая нотация для разделов деятельности. Пример текстовой нотации приведен на рис. 14.8.

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

14.8).измерениеПодразделениеЦюрихЛондонразделыдеятельностиМаркетингПланированиеРазработкаРис. 14.7. Иерархия разделов в рамках измерения31914.7. Узлы действияиерархия разделанесколько разделов(Location::London::Development)Develop course(A, B)Some actionРис. 14.8. Примеры текстовой нотации для разделов деятельностиРазделы, обозначенные стереотипом «external», не являются частьюсистемы.Порой необходимо показать на диаграмме деятельности поведение,находящееся, строго говоря, вне области действия системы, напримервзаимодействие системы с некоторой внешней системой. Это можнопредставить, указав на диаграмме деятельности стереотип «external»прямо над именем раздела.

Обратите внимание, что внешний разделне является частью системы и, следовательно, не может входить в какуюлибо иерархию разделов модели.Тщательно выбирая измерения и разделы деятельности, можно, безусловно, добавить на диаграмму деятельности массу полезной информации. Однако эти возможности могут и усложнить диаграмму, особеннопри наличии нескольких измерений и сложной иерархии разделов! Напрактике необходимо стремиться к использованию на одной диаграмме не более трех уровней иерархии (включая измерение) и не болеедвух измерений.Всегда опирайтесь на собственное мнение и применяйте разделы деятельности только в случае, если они действительно повышают ценность модели.14.7.

Узлы действияУзлы действия (action node) исполняются в следующих случаях:•маркеры одновременно поступили на все входящие ребра•и входящие маркеры удовлетворяют всем локальным предусловиям узла действия.Это проиллюстрировано на рис. 14.9.Узлы действия осуществляют операцию логическое И над своими входящими маркерами – узел не готов к исполнению до тех пор, пока маркеры не будут присутствовать на всех входящих ребрах. Даже если всенеобходимые маркеры присутствуют, узел будет исполняться толькопосле удовлетворения его локального предусловия.320Глава 14. Диаграммы деятельностивходящий маркерУзел действияузел действия не исполняетсяУзел действияузел действия не исполняетсяУзел действияузел действия исполняетсяисходящий маркерРис. 14.9.

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

Спецификация UML не дает никаких рекомендаций по присваиванию именузлам действия. Мы пользуемся соглашением, по которому имя узланачинается с большой буквы, все остальные слова, входящие в имя,пишутся с маленькой буквы через пробелы. Единственное исключениеиз этого правила: узел действия содержит ссылку на другой элементмодели. В этом случае имя элемента модели всегда используется какесть, без изменения регистра или добавления пробелов.

На рис. 14.10показано два примера. В верхнем примере происходит ссылка на чтотоСоздать заказ«заказ» ссылается на какой!то заказСоздать Order«Order» ссылается на элементмодели под именем OrderРис. 14.10. Примеры имен узлов действия32114.7. Узлы действияпод названием «заказ», тогда как нижний пример явно ссылается накласс Order, который можно найти гдето в модели.Детали действия фиксируются в описании узла действия. Часто этообычное текстовое описание, такое как «Написать письмо», но на этапепроектирования оно превращается в структурированный текст, псевдокод или реальный код. При моделировании прецедента диаграммадеятельности могла бы опережать поток прецедента на дватри шага.Но это может вызвать трудности, поскольку придется постоянно синхронизировать прецедент и соответствующую диаграмму деятельности.Существует четыре типа узлов действия; они перечислены в табл.

14.1.Подробное обсуждение типов узлов действия можно найти в разделах,указанных в таблице.Таблица 14.1СинтаксисНекотороедействиеИмяСемантикаУзелвызовадействияИнициирует деятельность,или операцию.ПосылкасигналаДействие посылки сигнала – посылает 15.6сигнал асинхронно (отправитель не ожидает подтверждения получения сигнала).Для создания сигнала может приниматьвходные параметры.Узел действия, принимающийсобытиеПринимает событие – ожидает события, 15.6установленного объектомвладельцем,и выдает событие на выходе.Активируется при получении маркерапо входящему ребру.Если нет входящего ребра, запускаетсяпри запуске включающей его деятельности и всегда является активированным.ИмяСигналаПринятьСобытиеУзел действия, приниВыражениемающийдля описания времени событиевремениРазделповедение 14.7.1Принимает событие времени – отвечает 14.7.2на определенное значение времени.Генерирует события времени соответственно своему временному выражению.14.7.1.

Узел вызова действияСамыми распространенными узлами действий являются узлы вызовадействия (call action node). Этот тип узлов может инициировать:• деятельность;• поведение;• операцию.322Глава 14. Диаграммы деятельностиУзел вызова действия может инициировать деятельность, поведениеили операцию.Некоторые примеры синтаксиса узла вызова действия приведенына рис. 14.11.

Как видно из рисунка, синтаксис очень гибок!•Посредством специального символа «грабли» в нижнем правом углу пиктограммы узла можно указать, что действие вызывает другоедействие. Имя узла соответствует имени вызываемой им деятельности.•Можно вызвать поведение – это прямой вызов поведения контекстадеятельности без указания какойлибо конкретной операции.•Можно вызвать операцию, используя стандартный синтаксис операции, описанный в разделе 7.5.3.•Можно вызвать операцию, описывая ее детали на конкретном языке программирования.

Это может быть особенно полезным при использовании инструментального средства UML, позволяющего генерировать код из диаграмм деятельности (например, iUML от компании Kennedy Carter, www.kc.com).•С помощью ключевого слова self можно использовать возможностиконтекста деятельности.Узлы вызова действия, используемые в диаграммах деятельности науровне анализа, обычно вызывают поведение. Узлы вызова действия,инициирующие конкретные операции, как правило, используются дляболее детального моделирования деятельности при проектировании.Создать Orderвызов деятельностиЗакрыть Orderвызов поведенияgetBalance():double(Account::)имя операцииимя класса (необязательное)Получить баланс(Account::getBalance():double)if self.balance <= 0:self.status = 'INCREDIT'elseself.status = 'OVERDRAWN'имя узлаимя операции(необязательное)вызовоперацииязык программирования(например, Python)Рис.

14.11. Примеры синтаксиса узла вызова действия32314.8. Узлы управления14.7.2. Узел действия, принимающий событие времениУзел действия, принимающий события времени, реагирует на время.Узел действия, принимающий события времени, реагирует на время.Этот тип узла имеет временное выражение и генерирует событие времени, когда это выражение становится истинным. Поведение такогоузла зависит от наличия входящего ребра.Например, на рис. 14.12 показан узел действия, принимающий события времени, без входящего ребра.

Этот узел станет активным и будетгенерировать событие времени после запуска его деятельностивладельца, когда его временное выражение становится истинным. В приведенном примере событие времени генерируется в конце каждого финансового года и инициирует деятельность Отправить налоговую декларацию компании.Отправить налоговую декларацию компаниинаступил конецфинансового годавременное выражениеРис. 14.12. Узел действия, принимающий событие времени,без входящего ребраОднако в примере на рис.

14.13 действие, принимающее событие времени, имеет входящее ребро и станет активным только после получения маркера по этому ребру. Этот пример является фрагментом системы управления лифтом. Первое действие открывает дверь лифта и запускает действие, принимающее событие времени. Это действие ожидает десять секунд и затем передает маркер действию Закрыть дверь.Открыть дверьЗакрыть дверьожидаем 10 секундвременное выражениеРис. 14.13.

Узел действия, принимающий событие времени,с входящим ребромОбратите внимание, что временное выражение может указывать на:• некоторое событие (например, конец финансового года);• конкретный момент времени (например, 11/03/1960);• временной интервал (например, ожидать 10 секунд).14.8. Узлы управленияУзлы управления контролируют поток управления деятельности.В табл. 14.2 представлены все узлы управления UML 2; их подробноеобсуждение см. в следующих разделах.324Глава 14. Диаграммы деятельностиТаблица 14.2СинтаксисИмяСемантикаНачальный узелУказывает, где начинается поток при 14.8.1вызове деятельности.Конечный Завершает определенный потокузел пото деятельности – другие потокикане затрагиваются.«decisionInput» условиепринятия решенияКонечные узлыКонечный Завершает деятельность.узел деятельностиРаздел14.8.114.8.1УзелрешенияПоток проходит по исходящему ребру, 14.8.2сторожевое условие которого истинно.Может иметь входные данные (необязательно).УзелслиянияКопирует входные маркеры в единст 14.8.2венное выходное ребро.УзелРазделяет поток на несколько парал 14.8.3ветвления лельных потоков.{описаниеобъединения}Узел объ Синхронизирует несколько парал 14.8.3единения лельных потоков.Может иметь описание объединения(не обязательно) для изменения его семантики.14.8.1.

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