Дж. Арлоу, А. Нейштадт - UML 2 и Унифицированный процесс - Практический объектно-ориентированный анализ и проектирование, страница 58
Описание файла
PDF-файл из архива "Дж. Арлоу, А. Нейштадт - UML 2 и Унифицированный процесс - Практический объектно-ориентированный анализ и проектирование", который расположен в категории "". Всё это находится в предмете "объектно-ориентированный анализ и проектирование" из 7 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Просмотр PDF-файла онлайн
Текст 58 страницы из PDF
Как видите, продолжения позволяют:• разъединить взаимодействия GetCourseOption и HandleCourseOption;• потенциально повторно использовать GetCourseOption и HandleCourseOption с другими взаимодействиями, имеющими аналогичные продолжения.При использовании продолжений необходимо помнить следующее:• Продолжения начинают и заканчивают взаимодействия, следовательно, они должны быть или первым, или последним элементомвзаимодействия.30713.3. Продолженияsd GetCourseOption:RegistrationUI:Registrarname = получить имя курсаoption = получить опциюalt[option == add]addCourse[option == remove]removeCourse[option == find]findCourseпродолжениеРис.
13.11. Диаграмма последовательностей с тремя продолжениями•••В контексте данного классификатора продолжения под одним именем должны охватывать один набор линий жизни.Продолжения имеют смысл, только если во взаимодействии присутствует хотя бы слабое упорядочение – очевидно, что если нетупорядочения, неизвестно, где будет находиться продолжение.Продолжения должны охватывать все линии жизни включающегоих фрагмента (т. е. они являются глобальными в рамках этого фрагмента).sd HandleCourseOption:Registrarrefalt:RegistrationUIGetCourseOptionaddCourseremoveCoursefindCourseпродолжение:RegistrationManageraddCourse( name )removeCourse( name )findCourse( name )Рис. 13.12.
Взаимодействие HandleCourseOption включает GetCourseOptionи затем выбирает одно из его продолжений308Глава 13. Дополнительные аспекты реализации прецедентовПродолжения часто используются с оператором alt, как показано нарис. 13.12, для создания точек ветвления во взаимодействии.13.4.
Что мы узналиВ этой главе были рассмотрены дополнительные возможности диаграмм взаимодействия.Мы изучили следующее:• Включения взаимодействий – это ссылки на другое взаимодействие.• Поток используемого взаимодействия включается в поток использующего его взаимодействия.• Параметры – включения взаимодействия могут иметь параметры; используется обычная нотация параметров.• Шлюзы – входы и выходы взаимодействий:• точка на рамке диаграммы последовательностей, соединяющая сообщение, находящееся вне рамки, с сообщением, находящимся внутри рамки; сигнатуры обоих сообщений должныбыть одинаковыми.• Параметры используются, когда известны источники и целивсех сообщений; в противном случае используются шлюзы.• Продолжения – завершают фрагмент взаимодействия таким образом, чтобы его мог продолжить другой фрагмент:• если продолжение – первый элемент фрагмента, то фрагментпродолжает другой фрагмент;• если продолжение – последний элемент фрагмента, то фрагментзавершается, но может быть продолжен другим фрагментом.14Диаграммы деятельности14.1.
План главыДиаграммы деятельности – это «ОО блоксхемы». Они позволяют моделировать процесс как деятельность, состоящую из коллекции соединенных ребрами узлов. UML 2 вводит новую семантику диаграмм деятельности, которая обеспечивает им намного большую мощь и гибкость, чем ранее. В этой главе рассматриваются основы диаграмм деятельности в объеме, достаточном для моделирования деятельности.Более глубокие вопросы рассматриваются в следующей главе.14.2. Что такое диаграммы деятельностиДиаграммы деятельности часто называют «ОО блоксхемами».
Онипозволяют моделировать процесс как деятельность, которая состоитиз коллекции соединенных ребрами узлов.В UML 1 диаграммы деятельности фактически были лишь особым случаем диаграмм состояний (глава 21), где у каждого состояния быловходное действие, которое определяло некоторый процесс или функцию, имеющие место при входе в состояние. В UML 2 диаграммы деятельности имеют совершенно новую семантику, базирующуюся натехнологии сетей Петри (Petri Nets).
В использовании этой технологии есть два преимущества:1. Формализм сети Петри обеспечивает большую гибкость при моделировании различных типов потока.2. В UML теперь есть четкое разделение между диаграммами деятельности и диаграммами состояний.Диаграммы деятельности – это ОО блоксхемы.14.9.3.
Параметры деятельности14.8.2. Узлы решения и слияния14.8.3. Узлы ветвления и объединения – параллелизм14.7.2. Узел действия, принимающий событие времениРис. 14.1. План главы14.9.2. Представление объектов в состоянии14.8.1. Начальный и конечные узлы14.7.1. Узел вызова действия14.11. Что мы узнали14.9.1. Семантика буфера объектного узла14.9. Объектные узлы14.8. Узлы управления14.7. Узлы действияизучаем объектные узлыизучаем узлы управленияизучаем узлы действия14.6. Разделы деятельности14.5.
Семантика деятельности14.4. Деятельности14.3. Диаграммы деятельности и UP14.2. Что такое диаграммы деятельности14.10. Контактыизучаем контакты310Глава 14. Диаграммы деятельности14.3. Диаграммы деятельности и UP311Деятельность может быть добавлена к любому элементу модели с цельюмоделирования его поведения. Элемент обеспечивает контекст для деятельности, и деятельность может использовать возможности своего контекста.
Деятельности обычно добавляются к:• прецедентам;• классам;• интерфейсам;• компонентам;• кооперациям;• операциям.Диаграммы деятельности также могут использоваться для моделирования бизнеспроцессов и рабочих потоков. Мы кратко покажем, какэто делать, но более сложные аспекты выходят за рамки этой книги.Хотя диаграммы деятельности обычно используются как блоксхемыопераций, следует отметить, что исходный код операции в виде кодаили псевдокода, возможно, является лучшим и более кратким их представлением! Так что о каждом случае необходимо судить отдельно.Хорошая диаграмма деятельности сосредоточена на отражении лишьодного определенного аспекта динамического поведения системы. Таким образом, она должна находиться на соответствующем уровне абстракции, чтобы донести эту идею до целевой аудитории, и содержатьминимум необходимой информации. Диаграммы деятельности можнодополнять состояниями и потоками объектов, но необходимо постоянно спрашивать себя, проясняют ли эти элементы диаграмму или делают ее еще более запутанной? Как обычно, лучше придерживаться максимальной простоты.14.3.
Диаграммы деятельности и UPДиаграммы деятельности могут использоваться во многих рабочих потоках UP.Благодаря своей гибкости диаграммы деятельности не имеют одногоопределенного назначения в UP. Они обеспечивают универсальныймеханизм моделирования поведения и могут использоваться везде, гдевозникает необходимость в их применении. Мы обсуждаем их в рабочем потоке анализа, потому что чаще всего эти диаграммы используются при анализе.Уникальная способность диаграмм деятельности в том, что они позволяют моделировать процесс без необходимости определения статической структуры классов и объектов, реализующих процесс. Несомненно, это очень полезно на ранних этапах анализа при попытках выяснить, что представляет собой конкретный процесс.312Глава 14.
Диаграммы деятельностиИз собственного опыта можем сказать, что диаграммы деятельностичаще всего используются в следующих случаях.• В процессе анализа:• для графического моделирования потока прецедента. Такое представление является более понятным для заинтересованных сторон;• для моделирования потока между прецедентами.
При этом используется особая форма диаграммы деятельности – диаграммаобзора взаимодействий (раздел 15.12).• При проектировании:• для моделирования деталей операции;• для моделирования деталей алгоритма.• При моделировании деловой активности:• для моделирования бизнеспроцесса.Обычно заказчикам проще понимать диаграммы деятельности, поскольку большинство из них имеет представление о блоксхемах в тойили иной форме.
Следовательно, диаграммы деятельности могут бытьзамечательным средством общения, если они просты.Как будет видно в этой и следующей главах, UML 2 представляет много мощных нововведений в синтаксисе и семантике диаграмм деятельности. Важно не слишком сильно увлекаться всем этим. При созданиилюбой UMLдиаграммы всегда нужно помнить о целевой аудиториии использовать возможности UML соответственно. Нет смысла применять все самые последние нововведения, если никто не поймет диаграмму.14.4.