Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Моделирование временного аспекта и структурной организации системы
Диаграммы взаимодействий используются для моделирования динамических аспектов системы. Сюда входит моделирование конкретных и прототипических экземпляров классов, интерфейсов, компонентов и узлов, а также сообщений, которыми они обмениваются, – и все это в контексте сценария, иллюстрирующего данное поведение. Диаграммы взаимодействий могут существовать автономно и служить для визуализации, специфицирования, конструирования и документирования динамики конкретного сообщества объектов, а могут использоваться для моделирования отдельного потока управления в составе прецедента. Диаграммы взаимодействий важны не только для моделирования динамических аспектов системы, но и для создания исполняемых систем посредством прямого и обратного проектирования. На диаграммах взаимодействий показывают связи, включающие множество объектов и отношений между ними, в том числе сообщения, которыми объекты обмениваются. При этом диаграмма последовательностей акцентирует внимание на временной упорядоченности сообщений, а диаграмма кооперации – на структурной организации посылающих и принимающих сообщения объектов. Такие диаграммы можно строить двумя способами – уделяя основное внимание временной упорядоченности сообщений или структурным отношениям между взаимодействующими объектами. Получаемые любым из этих способов диаграммы семантически эквивалентны и преобразуются друг в друга без потери информации. Диаграммой последовательностей (Sequence diagram) называется диаграмма взаимодействий, акцентирующая внимание на временной упорядоченности сообщений. Графически такая диаграмма представляет собой таблицу, объекты в которой располагаются вдоль оси X, а сообщения в порядке возрастания времени – вдоль оси Y. Диаграммой кооперации (Collaboration diagram) называется диаграмма взаимодействий, основное внимание в которой уделяется структурной организации объектов, принимающих и отправляющих сообщения. Графически такая диаграмма представляет собой граф из вершин и ребер. На диаграммах последовательностей внимание акцентируется прежде всего на временной упорядоченности сообщений. Для создания такой диаграммы надо прежде всего расположить объекты, участвующие во взаимодействии, в верхней ее части вдоль оси X. Обычно инициирующий взаимодействие объект размещают слева, а остальные – правее (тем дальше, чем более подчиненным является объект). Затем вдоль оси Y размещаются сообщения, которые объекты посылают и принимают, причем более поздние оказываются ниже. Это дает читателю наглядную картину, позволяющую понять развитие потока управления во времени. Диаграммы последовательностей характеризуются двумя особенностями, отличающими их от диаграмм кооперации. Во-первых, на них показана линия жизни объекта. Вторая особенность этих диаграмм – фокус управления. Диаграмма кооперации акцентирует внимание на организации объектов, принимающих участие во взаимодействии. Для создания диаграммы кооперации нужно расположить участвующие во взаимодействии объекта в виде вершин графа. Затем связи, соединяющие эти объекты, изображаются в вид дуг этого графа. Наконец, связи дополняются сообщениями, которые объекты принимают и посылают. Это дает пользователю ясное визуальное представление о потоке управления в контексте структурной организации кооперирующихся объектов. У диаграмм кооперации есть два свойства, которые отличают их от диаграмм последовательностей. Первое – это путь. Второе свойство – это порядковый номер сообщения. Поскольку диаграммы последовательностей и кооперации используют одну и ту же информацию из метамодели UML, они семантически эквивалентны. Это означает, что можно преобразовать диаграмму одного типа в другой без какой-либо потери информации. Это не означает, однако, что на обеих диаграммах представлена в точности одна и та же информация. С другой стороны, на диаграмме последовательностей могут быть показаны возвращаемые сообщения, а на соответствующей диаграмме кооперации они отсутствуют. Таким образом, можно сказать, что диаграммы обоих типов используют одну модель, но визуализируют разные ее особенности. При моделировании динамических аспектов системы диаграммы взаимодействий обычно используются двояко: - для моделирования временной упорядоченности потоков управления. С этой целью используют диаграммы последовательностей. При этом внимание акцентируется на передаче сообщений во времени, что бывает особенно полезно для визуализации динамического поведения в контексте прецедентов. Простые итерации и ветвления на диаграммах последовательностей отображать удобнее, чем на диаграммах кооперации; - для моделирования структурной организации потоков управления. В этом случае нужны диаграммы кооперации. Основное внимание при этом уделяется моделированию структурных отношений между взаимодействующими экземплярами, вдоль которых передаются сообщения. Для визуализации сложных итераций, ветвлений и параллельных потоков управления диаграммы кооперации подходят лучше, чем диаграммы последовательностей. На одной диаграмме последовательностей можно показать только один поток управления (хотя с помощью нотации UML для итераций и ветвлений можно проиллюстрировать простые вариации). Поэтому, как правило, создают несколько диаграмм взаимодействий, одни из которых считаются основными, а другие описывают альтернативные пути и исключительные условия. Такой набор диаграмм последовательностей можно организовать в пакет, дав каждой диаграмме подходящее имя, отличающее ее от остальных. На рисунке 6 показана диаграмма последовательности, показывающая последовательность действий при оформлении заказа и продажи товара клиенту.
Рисунок 6 – Диаграмма последовательности действий при оформлении заказа и продажи товара клиенту На рисунке 7 изображена последовательность действий при проведении сервисного обслуживания кассовых аппаратов. Рисунок 7 – Диаграмма последовательности действий при проведении сервисного обслуживания На рисунок 8 показана диаграмма кооперации, которая описывает поток управления, связанный с проведением сервисного обслуживания кассовых аппаратов, причем внимание акцентируется на структурных отношениях между объектами. На диаграмме представлено пять объектов: Клиент, Сервис Центр, Инженер по регламенту, ККТ и Инженер по ремонту. Поток управления пронумерован явно. Действие начинается с того, что Клиент подписывает договор на сервисное обслуживание с Сервис Центром, после чего Сервис Центр выдает акты с данными клиентов Инженеру по регламенту, который едет на место, проводит обслуживание кассовых аппаратов, после чего заполняет журнал учета. Далее, если аппарат неисправен, Инженер по регламенту отвозит его в Сервис Центр, где Инженер по ремонту его ремонтирует. В конце Инженер по регламенту отвозит отремонтированную ККТ обратно Клиенту и Клиент оплачивает услуги в Сервис Центр. Рисунок 8 – Диаграмма кооперации процесса сервисного обслуживания Популярное:
|
Последнее изменение этой страницы: 2016-07-14; Просмотров: 585; Нарушение авторского права страницы