ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 22.04.2024

Просмотров: 324

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Скачано с сайта http://ivc.clan.su

Технология разработки программного обеспечения

25

1.1.3. Диаграммы

 

Любая диаграмма состоит из набора элементов и является частью UML-модели. Все диаграммы делятся на две группы: диаграммы структуры, диаграммы поведения.

1.1.3.1. Диаграммы структуры

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

Язык UML включает следующие базовые диаграммы структуры:

Диаграммы классов (Class diagram).

Диаграмма компонентов (Component diagram).

Диаграмма развѐртывания (Deployment diagram).

Диаграмма объектов (Object diagram).

Диаграмма пакетов (Package diagram).

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

Представляет собой граф, вершинами которого являются классы, между которыми установлены разные отношения.

Как правило, для каждого прецедента создаѐтся своя диаграмма классов, которая уточняется по мере работы над проектом.

Существует три различные точки зрения на диаграмму классов:

1.Концептуальная точка зрения. Диаграмма классов отображает понятия предметной области и не имеет никакого отношения к реализующему еѐ программному обеспечению. Классы показывают без атрибутов и операций. Эти диаграммы полезны на стадии анализа. Пример концептуальной диаграммы классов показан на рис. 1-25.

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

3.Точка зрения реализации. Моделирование спускается на уровень реализации, и в этом случае логические абстракции проектирования будут представлены на диаграмме классами выбранного объектно-ориентированного языка программирования. Такие диаграммы используются только в том случае, когда необходимо проиллюстрировать конкретный способ реализации.

Довбуш Г.Ф., ПГУПС, кафедра ИВС, 2010/2011


Скачано с сайта http://ivc.clan.su

Технология разработки программного обеспечения

26

 

Рис. 1-25. Пример кон-

цептуальной диаграммы классов

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

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

Эта диаграмма изображает состав типов системных компонентов (исходного кода, исполняемых) и зависимости между ними. Пример диаграммы компонентов показан на рис. 1-26.

Рис. 1-26. Пример диаграммы компонентов

Диаграмма развѐртывания

Эта диаграмма имеет дескрипторную и экземплярную форму.

Первая форма (рис. 1-27) изображает конфигурацию узлов, где производится обработка данных, и развѐрнутые на узлах исполняемые компоненты.

Рис. 1-27. Дескрипторная форма

диаграммы развѐртывания

Вторая форма (рис. 1-28) показывает конфигурацию для работающих узлов и экземпляры компонентов, а также существующие на узлах объекты.

Довбуш Г.Ф., ПГУПС, кафедра ИВС, 2010/2011

Скачано с сайта http://ivc.clan.su

Технология разработки программного обеспечения

27

 

Рис. 1-28. Экземплярная форма

граммы развѐртывания

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

Эта диаграмма изображает объекты и их связи в некоторый момент времени. Еѐ используют для иллюстрации сложности структуры данных или чтобы показать поведение в виде последовательности примеров. Диаграмму объектов можно считать особым случаем диаграммы классов. Пример диаграммы приведѐн на рис. 1-29.

Рис. 1-29. Пример диаграммы

объектов

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

Диаграмма изображает пакеты и зависимости между ними. Пакеты позволяют разбить UML-модель на части, что упрощает еѐ понимание и поддержку. Пакеты образуют дерево, уровень абстракции которого увеличивается в направлении корня – системы (пакет верхнего уровня). Пример диаграммы пакетов показан на рис. 1-30.

Рис. 1-30. Пример диаграммы пакетов

Довбуш Г.Ф., ПГУПС, кафедра ИВС, 2010/2011


Скачано с сайта http://ivc.clan.su

Технология разработки программного обеспечения

28

1.1.3.2. Диаграммы поведения

 

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

UML включает следующие базовые диаграммы поведения:

Диаграмма прецедентов (Use Case diagram).

Диаграмма видов деятельности (Activity diagram).

Диаграмма последовательности (Sequence diagram).

Диаграмма состояний (Statechart diagram).

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

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

Между актѐром и прецедентом существует отношение коммуникативной ассоциации, которое показывает, что между ними существует какое-то взаимодействие. Между двумя прецедентами устанавливается отношение зависимости, чтобы показать использование <<include>> включаемого прецедента базовым или расширение <<extend>> базового прецедента. Между актѐрами отношений не существует, поскольку они находятся вне границ системы. Пример диаграммы прецедентов показан на рис. 1-31.

Рис. 1-31. Пример диаграм-

мы прецедентов

В представлении Use Case View диаграмма отражает требования к системе с точки зрения пользователя.

Довбуш Г.Ф., ПГУПС, кафедра ИВС, 2010/2011

Технология разработки программного обеспечения

Скачано с сайта http://ivc.clan.su

В представлении Logical View – отражает требования к системе с точки зрения раз-29 разработчика и детализирует диаграмму из представления Use Case View.

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

для управления процессом разработки ПС;

для определения границ ПС;

для определения требований к ПС:

выявление основных функций (Use Case View), спецификация функций (Logical View),

спецификация дополнительных функций (Logical View); − для составления тестов.

Следует помнить, что use case (прецедент) – это документ, который описывает последовательность связанных с актѐром событий (а не отдельное событие). Эта последовательность используется системой для выполнения требуемого сервиса.

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

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

В представлении Logical View для каждой диаграммы прецедентов должна быть создана своя диаграмма классов.

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

Это диаграмма, на которой изображается граф деятельности с потоком работ или работа отдельной процедуры. Диаграмму деятельности можно дополнять потоками объектов (рис. 1-32). Диаграммы деятельности используется везде, где возникает необходимость моделирования поведения.

На диаграмме обязательно указывается одно начальное состояние (закрашенный круг) и одно или несколько конечных состояний (символ бычий глаз).

Действия (прямоугольники с закруглѐнными углами) моделируют поведение участ-

ников.

На диаграмме могут использоваться синхронизаторы (жирные линии) для моделирования параллельных действий.

Для участников на диаграмме создаются отдельные дорожки (swimlane), или участ-

ки (partition).

Показанная на рис. 1-32 диаграмма моделирует обслуживание клиентов для получения ими заказа.

Довбуш Г.Ф., ПГУПС, кафедра ИВС, 2010/2011


Скачано с сайта http://ivc.clan.su

Технология разработки программного обеспечения

30

 

Рис. 1-32. Пример диаграммы

видов деятельности с потоком объектов

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

Эта диаграмма изображает упорядоченное во времени взаимодействие объектов.

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

Диаграммы последовательности особенно полезны для моделирования операций классов. Пример диаграммы приведѐн на рис. 1-33.

Довбуш Г.Ф., ПГУПС, кафедра ИВС, 2010/2011


Скачано с сайта http://ivc.clan.su

Технология разработки программного обеспечения

31

 

Рис. 1-33. Пример

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

В верхней части диаграммы изображаются актѐр и объекты (классы). Стрелки соответствуют сообщениям (операциям).

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

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

Создание диаграммы последовательности проходит в два этапа:

1.Сначала на диаграмме отображаются:

объекты, которые участвуют в выполнении действия;

сообщения, которые посылают объекты друг другу, для выполнения действия.

2.Затем на полученной диаграмме:

объекты соотносятся с классами;

сообщения соотносятся с операциями.

Глядя на эту диаграмму, пользователи знакомятся со спецификой своей работы. Аналитики видят поток действий. Разработчики – классы, которые надо создать, и их операции. Специалисты по контролю качества поймут детали процесса и смогут разработать тесты для их проверки.

Диаграмма состояний

Это граф специального вида, который изображает некоторый конечный автомат (state machine). Вершинами графа являются состояния автомата, а дуги обозначают переходы из одного состояния в другое.

Довбуш Г.Ф., ПГУПС, кафедра ИВС, 2010/2011

Скачано с сайта http://ivc.clan.su

Технология разработки программного обеспечения 32

С помощью диаграммы состояний моделируют поведение для классов, прецедентов, подсистем, целевой системы. На рис. 1-34 показан пример диаграммы.

Рис. 1-34. Пример диаграммы состояний

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

Состояние (State) – это ситуация в жизни объекта, на протяжении которой он удовлетворяет некоторому условию, осуществляет определѐнную деятельность или ожидает какого-то события. Состояние изображается в виде прямоугольника с закруглѐнными углами.

Существуют два специальных состояния объекта: начальное и конечное.

Начальным (Start) называется состояние, в котором объект находится сразу же после своего создания.

Конечным (Stop) называется состояние, в котором объект находится непосредственно перед уничтожением.

Начальное состояние обязательно. На диаграмме состояний может быть только одно начальное состояние. Конечных состояний может быть сколько угодно.

Довбуш Г.Ф., ПГУПС, кафедра ИВС, 2010/2011