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

В отличие от большинства других средств UML диаграмма деятельности заимствует идеи из нескольких различных методов, в частности из мнения моделирования состояния и сети Петри. Эти диаграммы получены в описании поведения, включающего большое количество параллельных процессов.

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

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

Диаграммы деятельности предоставляют ту же информацию, что и текстовое описание потока событий, но и в наглядной графической форме.

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

Деятельность изображается в виде заключенного в прямоугольнике текстовым описанием. Любая диаграмма деятельности должна иметь начальную точку, определяющую начало потока событий. Конечная точка необязательна. На диаграмме может быть несколько конечных точек, но только одна начальная. На диаграмме могут присутствовать объекты и потоки объектов. Объект может использоваться или изменяться в одной из деятельности.

Показ объектов и их состояний помогает понять, когда и как происходит смена состояний объекта.

Диаграмма деятельности - student2.ru

Рисунок 24. Диаграмма действий САИ Пальма

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

На нашем примере после поступления информации о номере КБД, блок ПСЧ переходит в состояние формирования сообщения 266. Когда завершится процесс формирования данных для работы приложения transporter и будет произведен вызов сервера transporter, возникают деятельности «Работа сервера АСУТ» и «Работа сервера КСАИД» переводящие сообщения 266 в состояния "Мониторинг САИ", «Работа системы ГИД» и затем он используется в деятельности "Работа АСОУП".

Переход ( Диаграмма деятельности - student2.ru ) показывает, как поток управления переходит от одной деятельности к другой.

Если для перехода определено событие, то переход выполняется только после наступления другого события. Ограничивающее условие определяет, когда переход может, а когда не может осуществляться. Если необходимо показать, что 2 или более ветвей потока выполняются параллельно, то используются линейки синхронизации.

Любая деятельность может быть подвергнута дальнейшим декомпозициям. Описание декомпозированной деятельности может быть представлено в виде другой диаграммы деятельности.

Диаграмма деятельности предпочтительней использовать в следующих ситуациях:

1. Анализ потока событий в конкретном варианте использования. Здесь нас не интересует связь между действиями и объектами, а нужно просто посмотреть какие действия должны иметь место и каковы зависимости в поведении системы.

2. Анализ потока событий в различных вариантах использования. Когда варианты использования взаимодействуют друг с другом, на диаграмме деятельности удобно представить и проанализировать их потоки событий.

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

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

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

На таких диаграммах обычно выделяют 2 типа компонентов:

  • исполняемые компоненты
  • библиотеки кода

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


Диаграмма компонент для клиентской части системы:

Диаграмма деятельности - student2.ru

Рисунок 25. Диаграмма компонент подсистемы ПСЧ – КСАИЛ

В данном случае система разрабатывается на языке C++. У каждого класса имеет свой собственный заголовочный файл (расширение *.h) и файл тела класса (расширение *.cpp).

Например, класс "КСАИЛ" преобразуется в компоненты SAI_Palma и Transporter (тело и заголовок класса).

Компонент "SAI_Palma.exe" называется спецификацией задачи и моделирует исполняемую программу. Например, класс "SAI_Palma" зависит от класса "КСАИЛ". Это означает, что для того, чтобы класс "SAI_Palma" мог быть скомпилирован, класс "КСАИЛ" должен уже существовать.

После компиляции всех классов может быть создан исполняемый файл SAI_Palma.exe.

КСАИЛ содержит два потока управления и таким образом получается два исполняемых файла. Один из них - клиентская часть системы, которая содержит компоненты: "SAI_Palma", "Transporter" – клиентская часть и второй файл - это сервер КСАИД, включающий в себя компонент "Transporter" -- сервер.

Диаграмма компонент для сервера:

Диаграмма деятельности - student2.ru

Рисунок 26. Диаграмма компонент серверов КСАИД и АСУТ

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

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

Диаграмма размещения отражает физические взаимосвязи между программными и аппаратными компонентами системы. Она является хорошим средством для того, чтобы показать размещение объектов и компонентов в распределенной системе.

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

Диаграмма размещения показывает физическое расположение сети и местонахождения в ней различных компонентов.

Его основные элементы:

· Узел - это вычислительный ресурс - процессор или другое устройства (дисковая память контроллера, различные устройства). Для узла можно задать выполняющиеся на нем процессы.

  • Соединение - это канал взаимодействия узлов (сеть).

Диаграмма деятельности - student2.ru

Рисунок 27. Диаграмма размещения систем САИД, АСОУП и ГИД

Из данной диаграммы можно узнать о физическом размещении системы. Поток данных САИ, поступающих от КСАИ-Д в виде 266 сообщений, направляется в телекоммуникационный концентратор информации (ТКИ), обеспечивающий гибкую маршрутизацию информационных потоков между субъектами информационного взаимодействия системы ГИД, откуда и поступает на головную машину ПК ГИД.

Информация, полученная от САИ, позволяет автоматически произвести идентификацию («склеивание») большей части ниток СЦБ (расписаний поездов). Идентификация выполняется ведущей (головной) машиной ГИД (ГМ ГИД), которая на основании данных СЦБ формирует нитки СЦБ.

Наши рекомендации