Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Общепринятые операторы для фреймов взаимодействия
Стандарт UML не представляет графических средств для обозначения передаваемых данных; вместо этого они показываются с помощью параметров в имени сообщения и на стрелках возврата.
Синхронные и асинхронные вызовы В UML 2.0 закрашенные стрелки показывают синхронное сообщение, а простые – обозначают асинхронное сообщение (см. рис. 6.12). Если вызывающий объект посылает синхронное сообщение (synchronous message), то он должен ждать, пока обработка сообщения не будет закончена, например, при вызове подпрограммы. В случае асинхронного сообщения вызывающий объект может продолжать работу, не дожидаясь ответа. Асинхронные вызовы можно встретить в многопоточных приложениях и в промежуточном программном обеспечении, ориентированном на сообщения. Асинхронность улучшает способность к реагированию и уменьшает количество временных соединений, но сложнее в отладке. Диаграммы последовательности следует применять тогда, когда требуется посмотреть на поведение нескольких объектов в рамках одного варианта использования. Они хороши для представления взаимодействия объектов, но не очень подходят для точного определения поведения. Для анализа поведения одного объекта в нескольких вариантах использования следует применять диаграмму состояния. Если же надо изучить поведение нескольких объектов в нескольких вариантах использования или потоках управления, следует использовать диаграмму деятельности. Если требуется быстро исследовать несколько вариантов взаимодействия, лучше использовать CRC-карточки, поскольку это позволяет избежать непрерывного рисования и стирания, с дальнейшей фиксацией полученных взаимодействий на диаграммах взаимодействия. Другим полезным видом диаграмм взаимодействия являются коммуникационные диаграммы, которые показывают соединения, и временные диаграммы, показывающие временные интервалы.
Коммуникационные диаграммы Коммуникационные диаграммы (communication diagrams) – это особый вид диаграмм взаимодействия, акцентированных на обмене данными между различными участками (объектами) взаимодействия. Вместо того, чтобы рисовать каждого участника в виде линии жизни и показывать последовательность сообщений, располагая их по вертикали, как это делается в диаграммах последовательности, коммуникационные диаграммы допускают произвольное размещение участников, позволяя рисовать связи между ними, и использовать вложенную десятичную нумерацию для представления последовательности сообщений. Основными символами в диаграммах являются прямоугольник, называемый классификатором роли, и линия, обозначающая сообщение и называемая связь. Классификатор роли представляет объект. Связи представляют взаимодействие объектов, а стрелки с клиентами обозначают сообщения, а также указывают отправителя и получателя. На рис. 6.14 представлена диаграмма последовательности, показанная на рис. 6.11, но преобразованная в коммуникационную диаграмму. Как видно из рисунка 6.14, коммуникационная диаграмма имеет те же элементы, но меньше деталей. Компактный вид и меньшее количество элементов делают такие диаграммы удобными для черновых набросков. Для чтения диаграммы надо начать с сообщения под номером 1 и двигаться далее по номерам сообщений. Коммуникационные диаграммы не предусмотрены для использования фреймов взаимодействия, в результате чего они не передают такого количества информации, как диаграммы последовательности. Коммуникационные диаграммы имеют другие общие элементы, такие как примечания, ограничения и стереотипы. Эти элементы используются таким же образом, как и в диаграммах последовательности. Коммуникационные диаграммы не имеют точно определенных нотаций для управляющей логики. Они допускают применение маркеров итерации (UML 1.0) и защиты, но не позволяют полностью определить алгоритм управления. Не существует также специальных обозначений для создания и удаления объектов, но ключевые слова “ сreate” и “delete ” соответствуют общепринятым соглашениям.
Рис. 6.14. Коммуникационная диаграмма для функции поиска вакансий работ на сайте jobs.com
Временные диаграммы Язык UML определяет временные диаграммы в качестве своих стандартных диаграмм. Временные диаграммы – это еще одна форма диаграмм взаимодействия, которая акцентирована на временных ограничениях: либо для одиночного объекта, либо, что более полезно, для группы объектов. Рассмотрим простой сценарий, основанный на использовании насоса (Pump) и нагревательного элемента (Hotplate) в кофеварке (Coffee pot). Представим себе правило, которое гласит, что между включением насоса и включением нагревательного элемента должно пройти, по крайней мере, 10 секунд. Когда емкость с водой становится пустой (WaterEmpty), насос выключается, а нагревательный элемент не может оставаться включенным более 15 минут. На рис. 6.15 и 6.16 показаны альтернативные способы представления таких временных ограничений. Главное различие состоит в том, что на рис 6.15 изменения состояния обозначаются переходом от одной горизонтальной линии к другой, а на рис. 6.16 горизонтальное расположение остается таким же, а изменения состояния обозначаются перекрещиванием горизонтальных линий. Стиль, представленный на рис. 6.15, следует предпочесть, когда состояний не много, а стиль, показанный на рис 6.16, лучше подходит, когда имеешь дело с большим количеством состояний. Пунктирные линии, при помощи которых обозначаются временные границы, не обязательны, но если они помогают точно определить, какие события вызывают временные ограничения, то используйте их.
Рис 6.15. Временная диаграмма, на которой состояния представлены в виде линий
Рис. 6.16. Временная диаграмма, на которой состояния представлены в виде областей
Таким образом, временные диаграммы полезны для обозначения временных интервалов между изменениями состояний различных объектов. |
Последнее изменение этой страницы: 2017-05-11; Просмотров: 612; Нарушение авторского права страницы