ВУЗ: Оренбургский государственный университет
Категория: Методичка
Дисциплина: Проектирование информационных систем
Добавлен: 25.10.2018
Просмотров: 2986
Скачиваний: 5
41
Отношения в UML
В UML имеются четыре разновидности отношений:
1) зависимость;
2) ассоциация;
3) обобщение;
4) реализация.
Эти отношения являются базовыми строительными блоками отношений.
Они используются при написании моделей.
1. Зависимость – семантическое отношение между двумя предметами, в
котором изменение в одном предмете (независимом предмете) может влиять на
семантику другого предмета (зависимого предмета). Как показано на рисунке
13, зависимость изображается в виде пунктирной линии, возможно направлен-
ной на независимый предмет и иногда имеющей метку.
Рисунок 13 – Зависимости
2. Ассоциация – структурное отношение, которое описывает набор связей,
являющихся соединением между объектами. Агрегация – это специальная раз-
новидность ассоциации, представляющая структурное отношение между целым
и его частями. Как показано на рисунке 14, ассоциация изображается в виде
сплошной линии, возможно направленной, иногда имеющей метку и часто
включающей другие «украшения», такие как мощность и имена ролей.
Рисунок 14 – Ассоциации
3. Обобщение – отношение специализации/обобщения, в котором объекты
специализированного элемента (потомка, ребенка) могут заменять объекты
обобщенного элемента (предка, родителя). Иначе говоря, потомок разделяет
структуру и поведение родителя. Как показано на рисунке 15, обобщение
изображается в виде сплошной стрелки с полым наконечником, указывающим
42
на родителя.
Рисунок 15 – Обобщения
4. Реализация – семантическое отношение между классификаторами, где
один классификатор определяет контракт, который другой классификатор обя-
зуется выполнять (к классификаторам относят классы, интерфейсы, компонен-
ты, элементы Use Case, кооперации). Отношения реализации применяют в двух
случаях: между интерфейсами и классами (или компонентами), реализующими
их; между элементами Use Case и кооперациями, которые реализуют их. Как
показано на рисунке 16, реализация изображается как нечто среднее между
обобщением и зависимостью.
Рисунок 16 – Реализации
Диаграммы в UML
Диаграмма – графическое представление множества элементов, наиболее
часто изображается как связный граф из вершин (предметов) и дуг (отноше-
ний). Диаграммы рисуются для визуализации системы с разных точек зрения,
затем они отображаются в систему. Обычно диаграмма дает неполное пред-
ставление элементов, которые составляют систему. Хотя один и тот же элемент
может появляться во всех диаграммах, на практике он появляется только в не-
которых диаграммах. Теоретически диаграмма может содержать любую комби-
нацию предметов и отношений, на практике ограничиваются малым количе-
ством комбинаций, которые соответствуют пяти представлениям архитектуры
ПС. По этой причине UML включает девять видов диаграмм:
1) диаграммы классов;
2) диаграммы объектов;
3) диаграммы Use Case (диаграммы прецедентов);
43
4) диаграммы последовательности;
5) диаграммы сотрудничества (кооперации);
6) диаграммы схем состояний;
7) диаграммы деятельности;
8) компонентные диаграммы;
9) диаграммы размещения (развертывания).
Диаграмма классов показывает набор классов, интерфейсов, сотрудни-
честв и их отношений. При моделировании объектно-ориентированных систем
диаграммы классов используются наиболее часто. Диаграммы классов обеспе-
чивают статическое проектное представление системы. Диаграммы классов,
включающие активные классы, обеспечивают статическое представление про-
цессов системы.
Диаграмма объектов показывает набор объектов и их отношения. Диа-
грамма объектов представляет статический «моментальный снимок» с экзем-
пляров предметов, которые находятся в диаграммах классов. Как и диаграммы
классов, эти диаграммы обеспечивают статическое проектное представление
или статическое представление процессов системы (но с точки зрения реальных
или фототипичных случаев).
Диаграмма Use Case (диаграмма прецедентов) показывает набор элемен-
тов Use Case, актеров и их отношений. С помощью диаграмм Use Case для си-
стемы создается статическое представление Use Case. Эти диаграммы особенно
важны при организации и моделировании поведения системы, задании требо-
ваний заказчика к системе.
Диаграммы последовательности и диаграммы сотрудничества – это раз-
новидности диаграмм взаимодействия.
Диаграмма взаимодействия показывает взаимодействие, включающее
набор объектов и их отношений, а также пересылаемые между объектами со-
общения. Диаграммы взаимодействия обеспечивают динамическое представле-
ние системы.
44
Диаграмма последовательности – это диаграмма взаимодействия, кото-
рая выделяет упорядочение сообщений по времени.
Диаграмма сотрудничества (диаграмма кооперации) – это диаграмма
взаимодействия, которая выделяет структурную организацию объектов, посы-
лающих и принимающих сообщения. Диаграммы последовательности и диа-
граммы сотрудничества изоморфны, что означает, что одну диаграмму можно
трансформировать в другую диаграмму.
Диаграмма схем состояний показывает конечный автомат, представляет
состояния, переходы, события и действия. Диаграммы схем состояний обеспе-
чивают динамическое представление системы. Они особенно важны при моде-
лировании поведения интерфейса, класса или сотрудничества. Эти диаграммы
выделяют такое поведение объекта, которое управляется событиями, что осо-
бенно полезно при моделировании реактивных систем.
Диаграмма деятельности – специальная разновидность диаграммы схем
состояний, которая показывает поток от действия к действию внутри системы.
Диаграммы деятельности обеспечивают динамическое представление системы.
Они особенно важны при моделировании функциональности системы и выде-
ляют поток управления между объектами.
Компонентная диаграмма показывает организацию набора компонентов
и зависимости между компонентами. Компонентные диаграммы обеспечивают
статическое представление реализации системы. Они связаны с диаграммами
классов в том смысле, что в компонент обычно отображается один или не-
сколько классов, интерфейсов или коопераций.
Диаграмма размещения (диаграмма развертывания) показывает конфигу-
рацию обрабатывающих узлов периода выполнения, а также компоненты, жи-
вущие в них. Диаграммы размещения обеспечивают статическое представление
размещения системы. Они связаны с компонентными диаграммами в том смыс-
ле, что узел обычно включает один или несколько компонентов.
45
Механизмы расширения в UML
UML – развитый язык, имеющий большие возможности, но даже он не
может отразить все нюансы, которые могут возникнуть при создании различ-
ных моделей. Поэтому UML создавался как открытый язык, допускающий кон-
тролируемые рас-. ширения. Механизмами расширения в UML являются:
ограничения;
теговые величины;
стереотипы.
Ограничение (constraint) расширяет семантику строительного UML-блока,
позволяя добавить новые правила или модифицировать существующие. Огра-
ничение показывают как текстовую строку, заключенную в фигурные скобки
{}. Например, на рисунке 17 введено простое ограничение на свойство сумма
класса Сессия Банкомата – его значение должно быть кратно 20. Кроме того,
здесь показано ограничение на два элемента (две ассоциации), оно располагает-
ся возле пунктирной линии, соединяющей элементы, и имеет следующий смысл
– владельцем конкретного счета не может быть и организация, и персона.
Рисунок 17 – Ограничения
Теговая величина (tagged value) расширяет характеристики строительного
UML-блока, позволяя создать новую информацию в спецификации конкретного