Конспект лекции №4

Диаграмма — это графическое представление некоторой части графа.
Диаграмма — это накладываемая на модель структура, которая облегчает создание и
использование модели.
Модель — объединение диаграмм.

Иерархия Диаграмм UML 1


    Иерархия диаграмм UML 2

— Число канонических диаграмм увеличено до 13. Увеличен список доступных конструкций языка.


Список новых диаграмм: Диаграмма автомата; Диаграмма коммуникации; Обзорная диаграмма взаимодействия; Диаграмма синхронизации ; Диаграмма внутренней структуры; Диаграмма пакетов

    Диаграмма использования

Это наиболее общее представление функционального назначения системы.

Диаграмма использования призвана ответить на главный вопрос моделирования: что делает система во внешнем мире?

На диаграмме использования применяются два типа основных сущностей: варианты использования (1) и действующие лица (2), между которыми устанавливаются следующие основные типы отношений:

ассоциация между действующим лицом и вариантом использования (3);
обобщение между действующими лицами (4);
обобщение между вариантами использования (5);
зависимости (различных типов) между вариантами использования (6).
На диаграмме использования, как и на любой другой, могут присутствовать комментарии (7)

    Диаграмма классов

Это основной способ описания структуры системы. UML в первую очередь объектно-ориентированный язык, и классы являются основным «строительным материалом».

На диаграмме классов применяется один основной тип сущностей: классы (1) (включая многочисленные частные случаи классов: интерфейсы, примитивные типы, классы-ассоциации и многие другие), между которыми устанавливаются следующие основные типы отношений:

ассоциация между классами (2) (с множеством дополнительных подробностей);
обобщение между классами (3);
зависимости (различных типов) между классами (4) и между классами и интерфейсами.

    Диаграмма автомата

Это один из способов детального описания поведения в UML на основе явного выделения состояний и описания переходов между состояниями.

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

На диаграмме автомата применяют один основной тип сущностей ‒ состояния (1), и один тип отношений ‒ переходы (2), но и для тех и для других определено множество разновидностей, специальных случаев и дополнительных обозначений.

    Диаграмма деятельности

Это способ описания поведения на основе указания потоков управления и потоков данных. Он визуально напоминает блок-схему алгоритма. Однако за счет модернизированных обозначений, согласованных с объектно-ориентированным подходом, а главное, за счет новой семантической составляющей (свободная интерпретация сетей Петри), диаграмма деятельности UML является мощным средством для описания поведения системы.

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

    Диаграмма последовательности

Это способ описания поведения системы на примерах. Это запись протокола конкретного сеанса работы системы (или фрагмента такого протокола). В объектно-ориентированном программировании самым существенным во время выполнения является пересылка сообщений между взаимодействующими объектами. Именно последовательность посылок сообщений отображается на данной диаграмме.

Важным аспектом диаграммы последовательности является явное отображение течения времени. На диаграмме последовательности имеет значение не только наличие графических связей между элементами, но и взаимное расположение элементов на диаграмме. А именно, считается, что имеется невидимая ось времени, по умолчанию направленная сверху вниз, и то сообщение, которое отправлено позже, нарисовано ниже.

На диаграмме последовательности применяют один основной тип сущностей ‒ экземпляры взаимодействующих классификаторов (1) (в основном классов, компонентов и действующих лиц), и один тип отношений ‒ связи (2), по которым происходит обмен сообщениями (3). Для обозначения самих взаимодействующих объектов применяется стандартная нотация ‒ прямоугольник с именем экземпляра классификатора. Пунктирная линия, выходящая из него, называется линией жизни (4). Это графический комментарий. Фигуры в виде узких полосок, наложенных на линию жизни, также не являются изображениями моделируемых сущностей. Это графический комментарий, показывающий отрезки времени, в течении которых объект владеет потоком управления (5) или другими словами имеет место активация объекта. Составные шаги взаимодействия (6) позволяют на диаграмме последовательности, отражать и алгоритмические аспекты протокола взаимодействия.

    Диаграмма коммуникации

Это способ описания поведения, семантически эквивалентный диаграмме последовательности. Фактически, это такое же описание последовательности обмена сообщениями взаимодействующих экземпляров классификаторов, только выраженное другими графическими средствами. К тому же, большинство инструментов умеет автоматически преобразовывать диаграммы последовательности в диаграммы коммуникации и обратно.

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

    Диаграмма компонентов

Показывает взаимосвязи между модулями, из которых состоит моделируемая система.

Основной тип сущностей на диаграмме компонентов ‒ это сами компоненты (1), а также интерфейсы (2), посредством которых указывается взаимосвязь между компонентами. На диаграмме компонентов применяются следующие отношения:

реализации между компонентами и интерфейсами (компонент реализует интерфейс);
зависимости между компонентами и интерфейсами (компонент использует интерфейс) (3)

    Диаграмма размещения

Показывает, как они физически размещены на вычислительных ресурсах во время выполнения.

На диаграмме размещения, по сравнению с диаграммой компонентов, добавляется два типа сущностей: артефакт (1), который является реализацией компонента (2) и узел (3) (может быть как классификатор, описывающий тип узла, так и конкретный экземпляр), а также отношение ассоциации между узлами (4), показывающее, что узлы физически связаны во время выполнения. Для того чтобы показать, что одна сущность является частью другой, применяется либо отношение зависимости (5), либо фигура одной сущности помещается внутрь фигуры другой сущности (6).

Специальные диаграммы

— Служат для дополнения какой-либо общей диаграммы; Являются частным случаем; Уточняют детали

    Диаграмма внутренней структуры

Используется для более подробного представления структурных классификаторов, прежде всего классов и компонентов.

Структурный классификатор изображается в виде прямоугольника (1), в верхней части которого находится имя классификатора (2). Внутри находятся части (3). Частей может быть несколько. Каждая часть является экземпляром некоторого другого классификатора. Части могут взаимодействовать друг с другом. Это обозначается с помощью соединителей (4) различных видов. Место на внешней границе части, к которому присоединяется соединитель, называется портом (5). Порты располагаются также на внешней границе структурного классификатора (6), обеспечивая ему связь с внешним миром.


    Диаграмма синхронизации

Представляет собой особую форму диаграммы последовательности, на которой особое внимание уделяется изменению состояний (1) различных экземпляров классификаторов и их временной синхронизации (2).

    Диаграмма пакетов

Единственное средство, позволяющее управлять сложностью самой модели.

Основные элементы нотации ‒ пакеты (1) и зависимости с различными стереотипами (2).

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

Идея состоит в том, что абстрактный граф модели, состоящий из множества разнотипных сущностей и отношений, не подлежит конструированию или изучению в целом. Каждый раз для визуализации, изменения или иных манипуляций из этого общего графа вычленяются только сущности и отношения, релевантные для определенного аспекта моделируемой системы, а все остальные игнорируются. Такой вид с определенной точки зрения, можно сказать, проекцию модели, мы называем представлением. Можно сказать, что представление ‒ это средство логического структурирования модели.

Набор используемых представлений модели является еще менее формальным и догматическим, чем набор канонических диаграмм и классификация назначения и уровня моделей. Одним из самых популярных является набор представлений, описанных авторами языка в UML 1.

Представление использования (Use Case View) ‒ описание поведения системы в терминах вариантов использования с точки зрения внешних по отношению к системе действующих лиц. Данное представление описывает не то, как организована система, а те функциональные требования, которым она должна удовлетворять. При этом структурные аспекты передаются диаграммами использования, а поведенческие аспекты ‒ диаграммами взаимодействия, состояний и деятельности.

Представление проектирования (Design View) предназначено для описания словаря предметной области, то есть, в парадигме объектно-ориентированного программирования, классов, а также таких вспомогательных сущностей как, например, интерфейсы или кооперации. Структурные аспекты передаются диаграммами классов и объектов, а поведенческие аспекты ‒ диаграммами взаимодействия, состояний и деятельности.

Представление процессов (Process view) ‒ это описание взаимодействия элементов управления (процессов, потоков) во время работы системы. Оно отражает такие нефункциональные требования, как, например, обеспечение параллелизма. Структурные аспекты передаются с помощью концепции активных классов, представляющих процессы и потоки, а поведенческие аспекты ‒ диаграммами взаимодействия, состояний и деятельности.

Представление компонентов (Component view) ‒ это описание системы на уровне артефактов (компонентов, файлов и т.д.), используемых для сборки, выпуска, конфигурации программного продукта. Структурные аспекты передаются диаграммами компонентов, а поведенческие аспекты ‒ диаграммами взаимодействия, состояний и деятельности.

Представление размещения (Deployment view) отражает топологию связей аппаратных средств и размещения на них компонентов. Структурные аспекты передаются диаграммами размещения, а поведенческие аспекты ‒ диаграммами взаимодействия, состояний и деятельности.

Представления UML 2

    Три представления:

Представление использования
• ЧТО делает система
• Диаграммы использования
Представление структуры
• ИЗ ЧЕГО состоит система
• Диаграммы классов, компонентов и размещения
Представление поведения
• КАК работает система
• Диаграммы автомата, деятельности и взаимодействия

One Reply to “Конспект лекции №4”

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *