Обзор диаграммных техник UML
Проект, создаваемый с помощью языка UML, может включать в себя следующие диаграммы (сгруппированы в соответствии с их предназначением). Таких диаграмм насчитывается восемь:
Диаграмма Прецедентов Использования.
Диаграмма Классов.
Далее следует целый набор диаграмм, позволяющих описывать поведенческие аспекты разрабатываемой системы:
Диаграмма Состояний.
Диаграмма Активности.
Кроме того, в разделе диаграмм поведения предусмотрено два типа диаграмм, отвечающих за описание взаимодействия объектов системы:
Диаграмма Следования.
Диаграмма Кооперации.
Отдельно используются диаграммы, призванные осветить вопросы, связанные с физической реализацией системы:
Диаграмма Компонент.
Диаграмма Размещения.
Хотя UML - обширный и сложный язык и рассказ обо всех особенностях графических нотаций занял бы не один час, все же попробуем в следующих разделах кратко описать диаграммы каждого из перечисленных типов.
Диаграммы Прецедентов Использования.
Техника Прецедентов Использования (UseCase) - была впервые предложена Айваром Якобсоном в 1992 году и быстро завоевала всеобщее признание за счет простоты и легкости восприятия и применения. Суть ее состоит в следующем: проектируемая система представляется в виде наборов Акторов, взаимодействующих с системой с помощью так называемых Прецедентов Использования. Актором является любая сущность, взаимодействующая с системой извне. Им может быть человек, оборудование, другая система, т. е. мы определяем, что взаимодействует с системой. В свою очередь Прецедент Использования описывает, что система предоставляет актору, т. е. определяет некоторый набор транзакций, совершаемый актором при диалоге с системой, при этом ничего не говорится о том, каким образом будет реализовано взаимодействие. Детальное описание - удел других техник моделирования UML, диаграмма же Прецедентов Использования несет в себе высокий уровень абстракции, что позволяет еще на ранних этапах проекта определить и зафиксировать функциональные требования к системе и обеспечить гибкий и эффективный механизм взаимодействия между разработчиком и заказчиком проекта.
Диаграммы классов.
Диаграмма классов показывает статическую структуру части системы. Таким образом, составляющими данного типа диаграмм являются классы, объекты и отношения между ними. Нотация классов и объектов проста и интуитивно понятна всем, кто когда-либо имел опыт работы с разного рода CASE-инструментариями. Класс представлен прямоугольником с тремя разделами, в которых соответственно помещаются имя класса, атрибуты и операции. Схожая нотация применяется и для объектов - экземпляров класса, с тем различием, что к имени класса добавляется имя объекта и вся надпись подчеркивается. Нотация UML предоставляет широкие возможности для отображения дополнительной (и зачастую очень важной) информации (абстрактные операции и классы, стереотипы, общие и частные методы, интерфейсы, параметризованные классы и т.д.), но в рамках данного доклада невозможно охватить абсолютно все, поэтому скажем несколько слов о представлении отношений между классами объектов. Ассоциации, т. е. статические связи между классами, изображаются в виде связующей линии, на которой может указываться мощность ассоциации, ее направление, название и возможное ограничение, реализующее механизм расширения UML. Существует возможность отразить специфические свойства ассоциации, например: отношение агрегации, когда составными частями класса могут выступать другие классы. Такое отношение изображается в виде ромба, расположенного рядом с агрегирующим классом. Отношение обобщения также имеет собственную графическую нотацию в виде треугольника и связующей линии, позволяя представить иерархию наследования: от суперкласса к подклассам.
Диаграммы взаимодействия.
Диаграммы взаимодействия описывают взаимодействие объектов системы, выполняемое ими для получение некоторого результата. Под получением результата подразумевается выполнение законченного действия, например, описание в терминах взаимодействующих объектов смоделированного ранее Прецедента Использования системы или некоторого сервиса системы, объявленного как операция класса на соответствующей диаграмме. Диаграммы взаимодействия представляются в двух формах: Диаграмма Следования и Диаграмма Кооперации. И та, и другая описывают потоки сообщений (вызов методов или сигналы) между объектами, участвующими во взаимодействии. Служа, в целом, одной цели, диаграммы по сути своей имеют существенные различия.
Диаграмма Следования.
Диаграмма Следования делает упор на временную последовательность передаваемых сообщений, важен порядок, вид и имя сообщения, на диаграмме изображаются исключительно те объекты, которые непосредственно участвуют во взаимодействии, и не показываются возможные статические ассоциации с другими объектами. Таким образом, для Диаграмм Следования ключевым моментом является динамика взаимодействия.
Диаграмма Следования имеет два измерения. Одно - слева направо в виде вертикальных линий, изображающих объекты, участвующие во взаимодействии. Верхняя часть линий дополняется прямоугольником, содержащим имя класса объекта или имя экземпляра объекта. Второе измерение - вертикальная временная ось. Сообщения, посылаемые одним объектом другому, изображаются в виде стрелок с именем сообщения и упорядочены по времени возникновения.
Диаграмма Кооперации.
Для Диаграммы Кооперации главным является возможность отобразить не столько последовательность взаимодействия, сколько все окружение объектов, участвующих в нем. То есть показаны не только посылаемые и принимаемые сообщения, но и косвенные связи между ассоциированными объектами. Говорят, что Диаграммы Кооперации описывают полный контекст взаимодействия и представляют собой своеобразный временной "срез" конфигурации сети объектов, взаимодействующих для выполнения определенной бизнес-цели программной системы.
Диаграмма кооперации изображает объекты, участвующие во взаимодействии в виде прямоугольников, содержащих имя объекта, его класс и, возможно, значение атрибутов.
Ассоциации между объектами, как и на диаграммах классов, изображаются в виде соединительных линий. Возможно указание имени ассоциации и ролей, которые играют объекты в данной ассоциации. Динамические связи - потоки сообщений, представляются также в виде соединительных линий между объектами, сверху которых располагается стрелка с указанием направления и имени сообщения.
Диаграммы состояния.
Диаграммы состояний описывают поведение объекта во времени, т. е. моделирует все возможные изменения в состоянии объекта, вызванные внешними воздействиями со стороны других объектов или извне. Диаграммы Состояний применяются для описания поведения объектов и для описания операций классов. В отличие от диаграмм взаимодействия данный тип диаграмм описывает изменение состояния только одного класса или объекта. Каждое состояние объекта представляется на Диаграмме Состояний в виде прямоугольника с закругленными углами, содержащего имя состояния, и, возможно, значение атрибутов объекта в данный момент времени. Переход осуществляется при наступлении некоторого события: получении объектом сообщения или приеме сигнала, и изображается в виде стрелки, соединяющей два соседних состояния. Имя события указывается на переходе. Кроме того, на переходе могут указываться действия, производимые объектом в ответ на внешние события (при переходе из одного состояния в другое или при нахождении в определенном состоянии). Надо отметить, что Диаграмма Состояния описывает, в основном, реакцию объекта на асинхронные внешние события, для описания реакции на внутренние события предназначены Диаграммы Активности. Срабатывание перехода может зависеть не только от наступления некоторого события, но и от выполнения определенного условия, называемого пусковым условием. Объект перейдет из одного состояния в другое только, если произошло указанное событие и пусковое условие приняло значение "истина".
Диаграммы активности.
Диаграммы Активности - частный случай Диаграмм Состояний. Каждое состояние - это выполнение некоторой операции, и переход в следующее состояние срабатывает только при завершении операции в исходном состоянии. Таким образом, реализуется принцип процедурного, синхронного управления, обусловленного завершением внутренних действий. Описываемое состояние не имеет внутренних переходов и переходов по внешним событиям.
Графическая нотация практически не отличается от нотации Диаграмм Состояний, с той разницей, что на переходах отсутствует сигнатура события и добавлен символ "синхронизации" переходов для реализации параллельных алгоритмов.
Основным направлением использования Диаграммы Активности является описание операций классов, когда необходимо представить алгоритм ее реализации, при этом каждый шаг является выполнением операции некоторого класса.
Диаграммы реализации.
Диаграммы Компонентов и Размещения в отличие от ранее рассмотренных диаграмм Прецедентов, Классов, Состояния и Следования, являющихся логическим представлением системы в процессе ее разработки, описывают физическое представление системы. Диаграмма Компонентов позволяет определить архитектуру разрабатываемой системы, установив зависимости между программными компонентами, в роли которых может выступать исходный, бинарный и исполняемый код. Во многих средах разработки модуль (или компонента) соответствует файлу. Пунктирные стрелки, соединяющие модули, показывают отношения взаимозависимости (аналогичные тем, которые имеют место при компиляции).
Диаграммы размещения.
Диаграммы размещения используются для представления конфигурации компонент, процессов и объектов, присутствующих в системе на этапе выполнения. Кроме того, Диаграммы размещения показывают физическую зависимость аппаратных устройств, задействованных в реализации системы, а также соединений между ними - маршрутов передачи информации.
Ниже рассматривается незначительно сокращенный вариант графического синтаксиса языка UML 1.1.
Дата добавления: 2016-05-16; просмотров: 697;