2017-10-16 15 views
1
A::foo() { 
    if (B::bar()) 
     doSomething(); 
} 

B::bar() 메소드 호출을 UML 시퀀스 다이어그램에서 어떻게 표시 할 수 있습니까? 나는 그것이 다음과 같이 가능하다는 것을 안다 :otp의 가드에서 메소드 호출

A::foo() { 
    x = B::bar(); 
    if (x) 
     doSomething(); 
} 

내가 먼저 메시지를 그릴 수 있도록 [x] 가드가있는 선택 상자. 그러나 이것은 정확히 동일하지 않습니다. 다른 방법이 있습니까?

답변

1

그래픽으로 프로그래밍하기 위해 함정에 빠져서는 안됩니다. SD는 복잡한 알고리즘을 나타 내기위한 것이 아닙니다 (조각으로 중첩 된 if을 수행 한 후 쉽게 추측 할 수 있으므로 실패합니다).

할당이 더 복잡한 구조의 일부인 경우 조각에서 그대로 사용할 수 있으며 결국 x이 설정된 위치 및 위치를 나타내는 메모로 장식 할 수 있습니다. 위의 내용 만있는 경우 조각에있는 x의 출처 (예 : B::bar())를 사용할 수 있습니다.

+0

나중에 사용하는 경우에도 여전히 메서드 호출 메시지를 그려야합니까? – klenium

+0

경비원이 사용하는 서명이 이미 뚜렷하기 때문에 아마도 필요하지 않습니다. 그러나 메시지 자체가 결과가 어디로 갈지 (즉, 'x'로) 알려지지는 않을지라도 어떤 이유로 든 과제를 지적하기를 원한다면 메시지를 앞에 놓으십시오. –

+0

하나 추가하면 "복잡한 알고리즘을 묘사하는 것이 아닙니다"라고 생각하면 정말 좋습니다. – granier