2012-01-06 3 views
1

이 질문은 저를 괴롭 히고 있으며 명확한 답변을 찾을 수 없습니다. 대부분의 사람들은 대답하기가 쉽지 않으니 제발, UML을 올바르게 사용하도록 도와 주시겠습니까?UML 다이어그램에서 메서드 및 클래스 관계 가져 오기

A, BC 인 경우 B의 인스턴스는 A의 멤버이고 C의 인스턴스는 B의 멤버입니다. 이제 B은 클래스 C의 멤버를 반환하고 A은 그의 메서드 중 하나에서이 메서드를 호출하고 이에 대한 몇 가지 작업을 수행하는 메서드를 제공합니다. UML에서 AC 사이에 dependency이 있습니까? 아니면 관계가 생략 될 수 있다는 것이 너무 명백합니까? 그렇지 않으면 UML 다이어그램이 시간이 지나면 간과하기 어려울 수 있습니다.

enter image description here

답변

2

C A에서 링크가 필요하지 않은 : 문제, 설명 된 상황의 짧은 스케치를 설명합니다.

A부터 B 및 B에서 C까지의 화살표는 C가 A에서 볼 수있는 B에서 볼 수있는 가시성 (또는 탐색)을 보여줍니다. 즉, A에서 C까지의 가정 경로와 선을 그릴 필요가 없습니다. 게다가, 당신이 말했듯이, 그 패턴을 따라 가면 다루기 힘든 다이어그램을 빠르게 만들 수 있습니다.

+0

대단히 감사합니다. – Fenriswolf

+0

이 답변은 잘못되었습니다. 유형 C가 A에 알려진 경우 A와 C 사이의 종속성이 있습니다.이 예에서 C 인스턴스가 A로 리턴 중이므로 필요합니다. 그러나 지나치게 복잡하게 된 이유는 설계가 Demeter의 법칙을 따르지 않기 때문입니다. A는 B에게 그 일을 C에게 위임해야합니다. –

+0

Demeter Law의 위반으로 의심되는 것에 동의하지만, 다이어그램과 관련하여 아무런 변화가 없습니다. 여러분이 언급 한 종속성 유형의 모든 인스턴스가 다이어그램에 포함될 경우 많은 양의 공간을 빠르게 소비하게됩니다. 훨씬 더 큰 최종 출력, 축소 된 글꼴 크기 또는 두 가지 조합을 필요로합니다. 간접적 인 종속성은 자동으로 다이어그램을 더 선명하게 만듭니다. 어쩌면 그 클래스들을 포함하는 특정 시퀀스 다이어그램 일 수도 있지만 도메인 모델의 개요에 대해서는 관계를 유추 할 수 있습니다. –

관련 문제