Диаграммы

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

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

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

Внесены значительные коррективы. Число канонических диаграмм увеличено до 13. Увеличен список доступных конструкций языка.
Список новых диаграмм:
1) Диаграмма автомата
2) Диаграмма коммуникации
3) Обзорная диаграмма взаимодействия
4) Диаграмма синхронизации
5) Диаграмма внутренней структуры
6) Диаграмма пакетов

1. Общие диаграммы

  • Практически не зависят от предмета моделирования
  • Могут применяться в любом программном проекте

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

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

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

На диаграмме использования применяются два типа основных сущностей: варианты использования (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).

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

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

Диаграмма объектов

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

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

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

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

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

Обзорная диаграмма взаимодействия

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

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

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

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

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

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

 

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

Реальные модели сложны, сложную модель невозможно обозреть с одной точки зрения.

Представление — проекция (фильтрация) единого графа модели.

Представление — средство логического структурирования модели.

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

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

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

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

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

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

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

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

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

 

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

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

Итеративный процесс моделирования

 

Бизнес-анализ и моделирование
  • Бизнес — систематическая деятельность
  • Организация — ведет бизнес
  • Бизнес-процесс — последовательность действий (операций), в результате которой происходит выполнение некоторой функции
  • Бизнес-модель — конструктивное (измеримое) описание бизнес-процессов
  • Бизнес-анализ — процесс построения бизнес-модели

Реинжиниринг бизнеса

  • Целенаправленное изменение бизнес-процессов требует бизнес-модели.

Меняется жизнь → надо менять бизнес-процессы → модификация бизнес-приложений

 

Моделирование использования

Значение моделирования использования

  • Диаграммы деятельности
    = блок схемы
  • Диаграммы состояний
    = конечные автоматы
  • Диаграммы классов
    = диаграммы «сущность — связь»
  • … и так далее
  • Диаграммы использования
    = . . ???

Подходы к моделированию

  • Структурный подход: система — подсистемы — модули
    • Структура соответствует команде, а не задаче
  • БД: схема = таблицы + связи
    • Табельный номер — атрибут сотрудника
  • ОО: словарь системы = классы
    • Полнота и адекватность словаря

Недостатки традиционных подходов

  • Первый шаг выполняется в терминах проектируемой системы
  • Только одна структура выбирается за
    основу:
    • Структурное проектирование — структура кода
    • Моделирование данных — структура хранения
    • Объектно-ориентированный подход — структура межмодульных интерфейсов

Преимущества моделирования использования

  • Простые утверждения
    • Субъекты, предикаты (и объекты)
  • Абстрагирование от реализации
    • ЧТО делает система (но не КАК или ЗАЧЕМ)
  • Декларативное описание
    • но не императивное
    • нет возможности указать, какая функция «раньше», а какая «позже»
  • Выявление границ
    • но не черный ящик

Юткина Дарья

Меня зовут Даша. Мне 18 лет. Я студентка первого курса ЮУрГУ. Учусь по специальности "Бизнес-информатика". Не особо в этом не разбираюсь, но думаю, что всё впереди.

2 комментария

Мазкова Юлия · 22.04.2021 в 21:54

Очень информативные конспекты, круто!

Свежинцев Владислав · 10.05.2021 в 23:08

Согласен с комментарием выше,все очень круто,спасибо!

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

Avatar placeholder

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