Объяснение стрелок UML


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

есть ли хороший ресурс, который мог бы объяснить каждую стрелку (обычный, простой, пунктирный, алмазный, алмазный)?

было бы лучше, если она будет иметь некоторые примеры кода для них.

9 181

9 ответов:

вот некоторые пояснения из документов Visual Studio 2015:

UML диаграммы классов: ссылка: https://msdn.microsoft.com/library/dd409437%28VS.140%29.aspx

UML class diagram

5:Ассоциации: связь между членами двух классификаторов.

5a:агрегация: ассоциация, представляющая общую собственность отношение. Этот агрегация свойство роли владельца имеет значение Shared.

5b:состав: ассоциация, представляющая отношения целого и части. Элемент агрегация свойство роли владельца имеет значение композитные.

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

Package diagram

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

14: зависимость: определение и реализация зависимого классификатора может измениться, если классификатора, на который указывает стрелка изменилась.

Realization relationship

15:реализация: класс реализует операции и атрибуты, определенные в интерфейсе. Используйте наследование инструмент для создания реализации между классом и интерфейсом.

16: реализация: альтернативное представление того же отношения. Ярлык на леденец символ идентифицирует интерфейс.

UML диаграммы классов: рекомендации: http://msdn.microsoft.com/library/dd409416%28VS.140%29.aspx

свойства Ассоциации

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

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


обобщение: обобщение означает, что специализированный или производный тип наследует атрибуты, операции и ассоциации общего или базового типа. Общий тип отображается на Стрелке конец отношений.

реализация: реализация означает, что класс реализует атрибуты и операции, заданные взаимодействие. Интерфейс находится в конце стрелки соединителя.

Дайте мне знать, если у вас есть вопросы.

enter image description here

enter image description here

Я думаю, что эти фотографии понятны.

хорошая шпаргалка : http://loufranco.com/wp-content/uploads/2012/11/cheatsheet.pdf

включает в себя:

  • Диаграмма Классов
  • Диаграмма Последовательности
  • Диаграмма Пакетов
  • Объект Схемы
  • Используйте Диаграмму Случая

и предоставляет несколько образцов.

мой любимый UML "шпаргалка" является UML дистиллированный, Мартин Фаулер. Это единственная из его книг, которую я читал, которую я рекомендую.

вот упрощенный учебник:

практический UML

для большего я рекомендую получить некоторую литературу.

для быстрой справки вместе с ясными сжатыми примерами, быстрая ссылка UML Allen Holub превосходна:

http://www.holub.com/goodies/uml/

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

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

принятый ответ, как говорится, не хватает некоторых объяснений. например, в чем разница между однонаправленной и двунаправленной ассоциации; как используются в Примере. (цифры ' 5 ' в стрелках) Так что если вы ищете более полный ответ и есть больше времени, смотрите здесь.

Если вы больше человек MOOC, один бесплатный курс, который я бы рекомендовал, который учит вас всем входам и выходам большинства диаграмм UML, - это один из Udacity:https://www.udacity.com/course/software-architecture-design--ud821