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

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

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

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

Ответ 1

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

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

UML class diagram

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

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

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

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

Package diagram

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

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

Realization relationship

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

16: Реализация. Альтернативное представление того же отношения. Метка на Символ lollipop идентифицирует интерфейс.

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

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

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

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


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

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

Сообщите мне, есть ли у вас больше вопросов.

Ответ 2

введите описание изображения здесь

введите описание изображения здесь

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

Ответ 4

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

Ответ 5

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

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

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

Ответ 6

Для быстрого ознакомления с четкими краткими примерами превосходная ссылка Allen Holub UML:

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

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

Ответ 7

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

Ответ 8

Принятый ответ, как говорится, отсутствует некоторые объяснения. Например, в чем разница между однонаправленной и двунаправленной ассоциацией? В приведенном примере оба существуют. (Оба '5 в стрелках)

Если вы ищете более полный ответ и больше времени, вот подробное объяснение.

Ответ 9

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

Ответ 10

Агрегации и композиции немного сбивают с толку. Тем не менее, думаю, что композиции являются более сильной версией агрегации. Что это значит? Давайте возьмем пример: (Агрегация) 1. Возьмите классную комнату и учеников. В этом случае мы пытаемся проанализировать отношения между ними. Классная комната имеет отношение со студентами. Это означает, что класс состоит из одного или нескольких учеников. Даже если мы удалим класс Classroom, класс учеников не нужно уничтожать, что означает, что мы можем использовать класс Student независимо.

(Композиция) 2. Взгляните на страницы и Книжный класс. В этом случае страницы - это книга, что означает, что наборы страниц составляют книгу. Если мы удалим класс книги, весь класс Page будет уничтожен. Это означает, что мы не можем использовать класс страницы независимо.

Если вам все еще неясно эта тема, посмотрите это короткое замечательное видео, которое объясняет агрегацию более четко.

https://www.youtube.com/watch?v=d5ecYmyFZW0