Разработка кода. Лабораторная работа 4 дкип302 Батыршин К. А. Тема лабораторной работы 4 Диаграмма Кооперации Диаграмма Развертывания Задание 1
Скачать 99.38 Kb.
|
Лабораторная работа №4 ДКИП-302 Батыршин К.А. Тема лабораторной работы №4: «Диаграмма Кооперации» «Диаграмма Развертывания» Задание 1 Описать возможности и средства диаграммы Кооперации и диаграммы Развертывания. Диаграмма Кооперации. Кооперации служит для обозначения множества взаимодействующих с определенной целью объектов в общем контексте моделируемой системы. Кооперация определяет структуру поведения системы в терминах взаимодействия участников этой кооперации. На диаграмме кооперации графически представляются последовательность взаимодействия и все структурные отношения между объектами, участвующими в этом взаимодействии. Прежде всего, на диаграмме кооперации в виде прямоугольников изображаются участвующие во взаимодействии объекты, содержащие имя объекта, его класс и, возможно, значения атрибутов. Далее, указываются ассоциации между объектами в виде различных соединительных линий. При этом можно явно указать имена ассоциации и ролей, которые играют объекты в данной ассоциации. Дополнительно могут быть изображены динамические связи - потоки сообщений. Они представляются также в виде соединительных линий между объектами, над которыми располагается стрелка с указанием направления, имени сообщения и порядкового номера в общей последовательности инициализации сообщений. В отличие от диаграммы последовательности, на диаграмме кооперации изображаются только отношения между объектами, играющими определенные роли во взаимодействии. На этой диаграмме не указывается время в виде отдельного измерения. Поэтому последовательность взаимодействий и параллельных потоков может быть определена с помощью порядковых номеров. Следовательно, если необходимо явно специфицировать взаимосвязи между объектами в реальном времени, лучше это делать на диаграмме последовательности. Кооперация может быть представлена на уровне спецификации: · уровень спецификации - показывает роли классификаторов и роли ассоциаций в рассматриваемом взаимодействии; Диаграмма кооперации уровня спецификации показывает роли, которые играют участвующие во взаимодействии элементы. Элементами кооперации на этом уровне являются классы и ассоциации, которые обозначают отдельные роли классификаторов и ассоциации между участниками кооперации. Кооперация на уровне спецификации изображается на диаграмме пунктирным эллипсом, внутри которого записывается имя этой кооперации. Такое представление кооперации относится к отдельному варианту использования и детализирует особенности его последующей реализации. Символ эллипса кооперации соединяется отрезками пунктирной линии с каждым из участников этой кооперации, в качестве которых могут выступать объекты или классы. Каждая из этих пунктирных линий помечается ролью (role) участника. Роли соответствуют именам элементов в контексте всей кооперации. Эти имена трактуются как параметры, которые ограничивают спецификацию элементов при любом их появлении в отдельных представлениях модели. Объект (object) является отдельным экземпляром класса, который создается на этапе выполнения программы. Он может иметь свое собственное имя и конкретные значения атрибутов. Мультиобъект (multiobject) представляет собой множество объектов на одном из концов ассоциации. На диаграмме кооперации мультиобъект используется для того, чтобы показать операции и сигналы, которые адресованы всему множеству объектов, а не только одному. Мультиобъект изображается двумя прямоугольниками, один из которых выступает из-за правой верхней вершины другого. Стрелка сообщения относится ко всему множеству объектов, которые обозначают данный мультиобъект. На диаграмме кооперации может быть явно указано отношение композиции между мультиобъектом и отдельным объектом из его множества. Активный объект (activeobject) имеет свою собственную нить (thread) управления и может инициировать деятельность по управлению другими объектами. Под нитью здесь понимается некоторый облегченный поток управления, который может выполняться параллельно с другими вычислительными нитями или нитями управления в пределах одного вычислительного процесса или процесса управления. Активные объекты на канонических диаграммах обозначаются прямоугольником с более широкими границами. Составной объект (compositeobject) или объект-контейнер предназначен для представления объекта, имеющего собственную структуру и внутренние потоки (нити) управления. Составной объект является экземпляром составного класса (класса-контейнера), который связан отношением агрегации или композиции со своими частями. На диаграммах коммуникации составной объект изображается как обычный объект, состоящий из двух секций. Связь (link) является экземпляром или примером произвольной ассоциации. Связь как элемент языка UML может иметь место между двумя и более объектами. Бинарная связь на диаграмме коммуникации изображается отрезком прямой линии, соединяющей два прямоугольника объектов. На каждом из концов этой линии могут быть явно указаны имена ролей данной ассоциации. Рядом с линией в ее средней части может записываться имя соответствующей ассоциации. Связь может иметь некоторые стереотипы, которые записываются рядом с одним из ее концов и указывают на особенность реализации данной связи. В языке UML для этой цели могут использоваться стереотипы. Стереотипы связей: · «association» - ассоциация (предполагается по умолчанию, поэтому этот стереотип можно не указывать); · «parameter» - параметр метода. Соответствующий объект может быть только параметром некоторого метода; · «local» - локальная переменная метода. Ее область видимости ограничена только соседним объектом; · «global» - глобальная переменная. Ее область видимости распространяется на всю диаграмму коммуникации; · «self» - рефлексивная связь объекта с самим собой, которая допускает передачу объектом сообщения самому себе. На диаграмме коммуникации рефлексивная связь изображается петлей в верхней части прямоугольника объекта. Сообщение на диаграмме кооперации специфицирует коммуникацию между двумя объектами, один из которых передает другому некоторую информацию. При этом, первый объект ожидает, что после получения сообщения вторым объектом последует выполнение некоторого действия. Таким образом, именно сообщение является причиной или стимулом для начала выполнения операций, отправки сигналов, создания и уничтожения отдельных объектов. Связь обеспечивает канал для направленной передачи сообщений между объектами от объекта-источника к объекту-получателю. Сообщения на диаграмме коммуникации изображаются помеченными стрелками рядом (выше или ниже) с соответствующей связью или ролью ассоциации. Направление стрелки указывает на получателя сообщения На диаграммах кооперации может использоваться один из трех типов стрелок для обозначения сообщений: Диаграмма кооперации для снятия денег «Диаграмма Развертывания» Диаграммы развертывания, или применения, - это один из двух видов диаграмм, используемых при моделировании физических аспектов объектно-ориентированной системы. Такая диаграмма показывает конфигурацию узлов, где производится обработка информации, и то, какие компоненты размещены на каждом узле. Диаграммы развертывания используются для моделирования статического вида системы с точки зрения развертывания. В основном под этим понимается моделирование топологии аппаратных средств, на которых выполняется система. По существу, диаграммы развертывания - это просто диаграммы классов, сосредоточенные на системных узлах. Диаграмму UML можно легко создать в Lucidchart. Важно знать с чем имеем дело с одним приложением или целой компьютерной сети. Изучить ПО и протоколы, с которыми вам предстоит работать, и подберите необходимые методы мониторинга. Важно знать, сколько уровней будет в вашем приложении и где будет осуществляться развертывание. Элементы диаграммы развёртывания: Артефакт — продукт, созданный программным обеспечением. На диаграмме изображается в виде прямоугольника с названием и словом «artifact» в кавычках. Ассоциация — сообщение или иной тип коммуникации между узлами. Изображается в виде линии. Компонент — программный элемент, изображаемый в виде прямоугольника с двумя вкладками. Зависимость — пунктирная линия со стрелкой на конце. Указывает, что один узел или компонент зависит от другого. Интерфейс — договорные отношения. Обозначаются при помощи круга и указывают на то, что объект, реализующий интерфейс, должен выполнить определенные обязательства. Узел — аппаратный или программный объект, изображаемый в виде трехмерного блока. Узел-контейнер — один узел, внутри которого расположен другой, где внутри узлов находятся компоненты. Стереотип — устройство, находящееся внутри узла. Указывается в верхней части узла, название заключено в кавычки. Символы и нотация диаграмм развертывания: Узлы - В диаграммах развертывания выделяется два вида узлов — устройство и среда выполнения. Узел-устройство представляет собой вычислительный ресурс, способный обрабатывать информацию и выполнять программы. В качестве примеров устройств можно назвать компьютеры, ноутбуки и смартфоны. База данных - База данных представляет собой любые данные, которые хранятся в развертываемой системе. Иногда база данных обозначается на диаграмме в виде еще одного узла, а иногда — в виде привычного значка базы данных Путь связи — прямая линия, символизирующая коммуникацию между двумя узлами. Артефакты: контейнеры с заголовком "<>" и затем именем файла. Пакет — контейнер в виде файла, где для полного охвата развертывания собраны все узлы-устройства. Компонент — сущность, необходимая для выполнения функции стереотипа. Подробнее о нотации компонентов рассказано в этом руководстве по UML. Пример диаграммы развёртывания: |