Файл: Практические задания.pdf

Добавлен: 25.10.2018

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

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

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

 

 

41 

Отношения в UML 

В UML имеются четыре разновидности отношений: 

1) зависимость; 

2) ассоциация; 

3) обобщение; 

4) реализация. 

Эти отношения являются базовыми строительными блоками отношений. 

Они используются при написании моделей. 

1.  Зависимость  –  семантическое  отношение  между  двумя  предметами,  в 

котором изменение в одном предмете (независимом предмете) может влиять на 

семантику  другого  предмета  (зависимого  предмета).  Как  показано  на  рисунке  

13, зависимость изображается в виде пунктирной линии, возможно направлен-

ной на независимый предмет и иногда имеющей метку. 

 

Рисунок  13  Зависимости 

 

2. Ассоциация – структурное отношение, которое описывает набор связей, 

являющихся соединением между объектами. Агрегация – это специальная раз-

новидность ассоциации, представляющая структурное отношение между целым 

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

сплошной  линии,  возможно  направленной,  иногда  имеющей  метку  и  часто 

включающей другие «украшения», такие как мощность и имена ролей. 

 

Рисунок  14  Ассоциации 

3. Обобщение – отношение специализации/обобщения, в котором объекты 

специализированного  элемента  (потомка,  ребенка)  могут  заменять  объекты 

обобщенного  элемента  (предка,  родителя).  Иначе  говоря,  потомок  разделяет 

структуру  и  поведение  родителя.  Как  показано  на  рисунке    15,  обобщение 

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


background image

 

 

42 

на родителя. 

 

Рисунок  15  Обобщения 

4.  Реализация –  семантическое отношение между  классификаторами, где 

один классификатор определяет контракт, который другой классификатор обя-

зуется выполнять (к классификаторам относят классы, интерфейсы, компонен-

ты, элементы Use Case, кооперации). Отношения реализации применяют в двух 

случаях: между интерфейсами и классами (или компонентами), реализующими 

их;  между  элементами  Use  Case  и  кооперациями,  которые  реализуют  их.  Как 

показано  на  рисунке    16,  реализация  изображается  как  нечто  среднее  между 

обобщением и зависимостью. 

 

Рисунок  16  Реализации 

 

Диаграммы в UML  

 

Диаграмма – графическое представление множества элементов, наиболее 

часто  изображается  как  связный  граф  из  вершин  (предметов)  и  дуг  (отноше-

ний).  Диаграммы  рисуются  для  визуализации  системы  с разных  точек  зрения, 

затем  они  отображаются  в  систему.  Обычно  диаграмма  дает  неполное  пред-

ставление элементов, которые составляют систему. Хотя один и тот же элемент 

может появляться во всех диаграммах, на практике он появляется только в не-

которых диаграммах. Теоретически диаграмма может содержать любую комби-

нацию  предметов  и  отношений,  на  практике  ограничиваются  малым  количе-

ством  комбинаций,  которые  соответствуют  пяти  представлениям  архитектуры 

ПС. По этой причине UML включает девять видов диаграмм: 

1) диаграммы классов; 

2) диаграммы объектов; 

3) диаграммы Use Case (диаграммы прецедентов); 


background image

 

 

43 

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

5) диаграммы сотрудничества (кооперации); 

6) диаграммы схем состояний; 

7) диаграммы деятельности; 

8) компонентные диаграммы; 

9) диаграммы размещения (развертывания). 

Диаграмма  классов  показывает  набор  классов,  интерфейсов,  сотрудни-

честв и их отношений. При моделировании объектно-ориентированных систем 

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

чивают  статическое  проектное  представление  системы.  Диаграммы  классов, 

включающие  активные  классы,  обеспечивают  статическое  представление  про-

цессов системы. 

Диаграмма  объектов  показывает  набор  объектов  и  их  отношения.  Диа-

грамма  объектов  представляет  статический  «моментальный  снимок»  с  экзем-

пляров предметов, которые находятся в диаграммах классов. Как и диаграммы 

классов,  эти  диаграммы  обеспечивают  статическое  проектное  представление 

или статическое представление процессов системы (но с точки зрения реальных 

или фототипичных случаев). 

Диаграмма Use Case (диаграмма прецедентов) показывает набор элемен-

тов Use Case, актеров и их отношений. С помощью диаграмм Use Case для си-

стемы создается статическое представление Use Case. Эти диаграммы особенно 

важны  при  организации  и  моделировании  поведения  системы,  задании  требо-

ваний заказчика к системе. 

Диаграммы  последовательности  и  диаграммы  сотрудничества  –  это  раз-

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

Диаграмма  взаимодействия  показывает  взаимодействие,  включающее 

набор  объектов  и  их  отношений,  а  также  пересылаемые  между  объектами  со-

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

ние системы. 


background image

 

 

44 

Диаграмма  последовательности  –  это  диаграмма  взаимодействия,  кото-

рая выделяет упорядочение сообщений по времени. 

Диаграмма  сотрудничества  (диаграмма  кооперации)  –  это  диаграмма 

взаимодействия,  которая  выделяет  структурную  организацию  объектов,  посы-

лающих  и  принимающих  сообщения.  Диаграммы  последовательности  и  диа-

граммы сотрудничества  изоморфны, что означает,  что одну  диаграмму  можно 

трансформировать в другую диаграмму. 

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

состояния, переходы, события и действия. Диаграммы схем состояний обеспе-

чивают динамическое представление системы. Они особенно важны при моде-

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

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

бенно полезно при моделировании реактивных систем. 

Диаграмма деятельности – специальная разновидность диаграммы схем 

состояний, которая показывает поток от действия к действию внутри системы. 

Диаграммы деятельности обеспечивают динамическое представление системы. 

Они особенно  важны  при  моделировании функциональности  системы  и  выде-

ляют поток управления между объектами. 

Компонентная  диаграмма  показывает  организацию  набора  компонентов 

и зависимости между компонентами. Компонентные диаграммы обеспечивают 

статическое  представление  реализации  системы.  Они  связаны  с  диаграммами 

классов  в  том  смысле,  что  в  компонент  обычно  отображается  один  или  не-

сколько классов, интерфейсов или коопераций. 

Диаграмма размещения (диаграмма развертывания) показывает конфигу-

рацию обрабатывающих узлов периода выполнения, а также компоненты, жи-

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

размещения системы. Они связаны с компонентными диаграммами в том смыс-

ле, что узел обычно включает один или несколько компонентов. 

 

 


background image

 

 

45 

Механизмы расширения в UML 

 

UML  –  развитый  язык,  имеющий  большие  возможности,  но  даже  он  не 

может  отразить  все  нюансы,  которые  могут  возникнуть  при  создании  различ-

ных моделей. Поэтому UML создавался как открытый язык, допускающий кон-

тролируемые рас-. ширения. Механизмами расширения в UML являются: 

 

ограничения; 

 

теговые величины; 

 

стереотипы. 

Ограничение (constraint) расширяет семантику строительного UML-блока, 

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

ничение  показывают  как  текстовую  строку,  заключенную  в  фигурные  скобки 

{}. Например, на рисунке  17 введено простое ограничение на свойство сумма 

класса Сессия Банкомата – его значение должно быть кратно 20. Кроме того, 

здесь показано ограничение на два элемента (две ассоциации), оно располагает-

ся возле пунктирной линии, соединяющей элементы, и имеет следующий смысл 

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

 

Рисунок  17  Ограничения 

 

Теговая величина (tagged value) расширяет характеристики строительного 

UML-блока, позволяя создать новую информацию в спецификации конкретного