UML 화살표 설명


244

나는 최근 UML을 공부하고 클래스 사이에 일반 화살표가있는 간단한 다이어그램을 그리는 중이지만 충분하지 않다는 것을 알고 있습니다. 다이어그램 리더에게 의미가있는 일반화, 실현 등의 다른 화살표가 많이 있습니다.

각 화살표 (일반, 일반, 점선, 다이아몬드로 채워진 다이아몬드)를 설명 할 수있는 훌륭한 자료가 있습니까?

코드 예제가있는 것이 가장 좋습니다.


4
나는 이것을 강력히 추천한다 : dzone.com/refcardz/getting-started-uml
삼위 일체

답변:


475

다음은 Visual Studio 2015 문서에 대한 설명입니다.

UML 클래스 다이어그램 : 참조 : https://msdn.microsoft.com/library/dd409437%28VS.140%29.aspx

UML 클래스 다이어그램

5 : Association : 두 분류 자 ​​멤버 간의 관계입니다.

5a : 집계 : 공유 소유권 관계를 나타내는 연결입니다. 소유자 역할 의 집계 특성이 공유 로 설정되어 있습니다.

5b : 구성 : 전체 부분 관계를 나타내는 연결입니다. 소유자 역할 의 집계 특성이 복합 으로 설정되었습니다. 있습니다.

9 : 일반화 : 특정 분류기는 일반 분류기에서 정의의 일부를 상속합니다. 일반 분류기는 커넥터의 화살표 끝에 있습니다. 속성, 연관 및 조작은 특정 분류 자에 의해 상속됩니다. 사용 상속 이 개 분류 사이에 일반화를 만드는 도구.

패키지 다이어그램

13 : 가져 오기 : 패키지 간의 관계로, 한 패키지에 다른 패키지의 모든 정의가 포함되어 있음을 나타냅니다.

14 : 종속성 : 화살촉 끝의 분류자가 변경되면 종속 분류 자의 정의 또는 구현이 변경 될 수 있습니다.

실현 관계

15 : 구현 :이 클래스는 인터페이스에 의해 정의 된 작업 및 속성을 구현합니다. 사용 상속 클래스와 인터페이스 사이의 실현을 생성하는 도구를.

16 : 실현 : 같은 관계의 대안 적 표현. 롤리팝 기호의 레이블은 인터페이스를 나타냅니다.

UML 클래스 다이어그램 : 지침 : http://msdn.microsoft.com/library/dd409416%28VS.140%29.aspx

협회의 속성

집합 : 커넥터의 한쪽 끝에 다이아몬드 모양으로 나타납니다. 이를 사용하여 집계 역할의 인스턴스가 다른 역할의 인스턴스를 소유하거나 포함 함을 표시 할 수 있습니다.

탐색 가능 : 하나의 역할에만 해당되는 경우 탐색 가능한 방향으로 화살표가 나타납니다. 이를 사용하여 소프트웨어에서 링크 및 데이터베이스 관계의 탐색 가능성을 표시 할 수 있습니다.


일반화 : 일반화는 전문화 또는 파생 된 형식이 일반 또는 기본 형식의 특성, 작업 및 연결을 상속 함을 의미합니다. 일반 유형은 관계의 화살촉 끝에 나타납니다.

실현 : 실현은 클래스가 인터페이스에 지정된 속성과 작업을 구현 함을 의미합니다. 인터페이스는 커넥터의 화살표 끝에 있습니다.

더 궁금한 점이 있으면 알려주세요.


1
좋은 참고 자료이지만 메뉴-> 메뉴 항목은 주문-> 주문 항목과 동일한 관계를 가지므로 둘 다 작곡입니다.
Ignacio Soler Garcia

4
즉, 주문 항목이 주문에 속하고 이동할 수 없다는 것을 의미합니다. 반면 메뉴 항목은 조정할 수 있습니다. 사용자는 메뉴 항목의 위치를 ​​변경할 수 있습니다. 선택한 솔루션입니다. 왜 안돼?
Gangnus

@ Gangnus, 감사합니다. 그 설명은 오랫동안 저를 빼앗아 간 차이를 분명히했습니다.
JMD

1
@JMD, 주문 항목도 이동할 수 있습니다. 복합 집계는 UML 사양에서 다음과 같이 정의됩니다. 복합 집계는 한 번에 최대 하나의 복합 객체에 파트 객체를 포함해야하는 강력한 형태의 집계입니다. 복합 객체가 삭제되면 객체 인 모든 해당 부품이 삭제됩니다. 복합 객체가 삭제되기 전에 복합 객체로부터 부품 객체가 (허용되는 경우) 제거 될 수 있고, 따라서 복합 객체의 일부로서 삭제되지 않을 수있다.
www.admiraalit.nl

2
@aGer 감사합니다. 주제와 이미지 링크를 업데이트했습니다.
Esther Fan-MSFT

154

여기에 이미지 설명을 입력하십시오

여기에 이미지 설명을 입력하십시오

나는이 그림들이 이해할 만하다고 생각한다.


이러한 개념 중 일부가 겹치지 않습니까? A는 B에 의존합니다. A는 B에 액세스 할 수 있습니다. 연결이 항상 종속성이 아니고 종속성이 항상 연결이 아닙니까?
EresDev

1
다이어그램에서 실현은 diffetent pictute로 두 번 반복됩니다. 차이점에 대해 자세히 설명해 주시겠습니까?
변수


13

내가 가장 좋아하는 UML "치트 시트"는 Martin Fowler의 UML Distilled 입니다. 내가 읽은 것은 그가 추천 한 유일한 책입니다.


1
흥미롭게도 리팩토링을 좋아했습니다. 당신이 의견을 가지고있는 것입니까?
djna

예, 나는 그것을 조금 분명하게 보았고 Java에 집중하는 것을 좋아하지 않았습니다. 또한 그의 다른 책들은 쓰레기라고 대답하지 마십시오.

파울러의 책에는 책 표지 안쪽에 치트 시트가 있습니다. 특히 다음 질문은 화살표가 어떤 방향으로 진행 될까요?
Ted Johnson

12
"치트 시트"에 대해 185 페이지가 약간 과도하게 보입니다!
cdyson37

12

다음은 간단한 튜토리얼입니다.

실용 UML

더 많은 것을 위해 나는 약간의 문헌을 얻는 것이 좋습니다.


9

간결한 예제와 함께 빠른 참조를 위해 Allen Holub의 UML 빠른 참조는 다음과 같습니다.

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

(표의 첫 번째 열에는 화살표와 포인터에 대한 몇 가지 특정 예가 있으며 두 번째 열에는 설명이 있습니다.)


나는 그의 첫 번째 예가 마음에
들었고 휴가

6

이해하기 쉬운 설명은 클래스 다이어그램, 사용 사례 및 활동에 대한 예제와 함께 yuml 문서입니다 .


이 목록을 내려가는 동안 아마도 최고의 UML을위한 것입니다. 참고 :이 사이트에서는 자신 만의 UML을 무료로 그릴 수도 있습니다 (5).
killjoy

5

받아 들여진 대답은 설명 이 빠졌 습니다 . 예를 들어 단방향과 양방향 연관의 차이점은 무엇입니까? 제공된 예에서, 둘 다 존재합니다. (화살표 모두 '5')

보다 완전한 답변을 찾고 시간이 더 있다면 여기에 자세한 설명이 있습니다.



0

집계와 구성은 약간 혼동됩니다. 그러나 컴포지션은 더 강력한 집계 버전이라고 생각하십시오. 그게 무슨 뜻이야? 예를 들어 봅시다 : (집계) 1. 교실과 학생들을 가져 가십시오 :이 경우, 우리는 그들 사이의 관계를 분석하려고합니다. 교실 에는 학생들과의 관계를. 즉, 교실은 하나 이상의 학생으로 구성됩니다. 클래스 룸 클래스를 제거하더라도 학생 클래스는 파기 할 필요가 없습니다. 즉, 학생 클래스를 독립적으로 사용할 수 있습니다.

(구성) 2. 페이지와 서적을 살펴보십시오. 이 경우, 페이지 입니다 a는 페이지의 컬렉션은 책을 만드는 것을 의미 책. 책 클래스를 제거하면 전체 Page 클래스가 삭제됩니다. 즉, 페이지 클래스를 독립적으로 사용할 수 없습니다.

이 주제에 대해 여전히 확실하지 않은 경우이 짧은 훌륭한 비디오를 시청하십시오.

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

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.