시퀀스 다이어그램에 "if"조건을 표시하는 방법은 무엇입니까?


195

if시퀀스 다이어그램에서 " "문을 어떻게 표현할 수 있을지 궁금합니다 .

if (somethingShouldBeDone) {
       // Do it
} else {
       // Do something else
}

전혀 표현할 수 있습니까? 문제는 ... 내 코드에서 다양한 작업을 결정하기 위해 공정한 양의 조건을 확인합니다. 액션을 보여 주려면 특정 이벤트로 인해 액션이 발생한다고 명시 적으로 설명하고 싶습니다.

가능하면 솔루션의 이미지 표현을 작성하십시오.


1
나는이 질문이 오래되었고 아직 검색을하지 않았지만 분기를 보여주는 것이 시퀀스 다이어그램에 대해 좋은 아이디어인지 궁금해했습니다. 나는 항상 시퀀스의 조건이 시나리오에서 명시 적으로 설명되어 있으므로 시퀀스 중에 분기가 발생하지 않았다고 생각했습니다. 자체 시퀀스 다이어그램이있는 시나리오의 변형을 설명하여 대체 경로를 처리했습니다. 다소 주관적이므로 메타 또는 소프트웨어 공학에 게시해야합니까?
Kelly S. French

답변:


287

다른 조건 인 경우 UML 용어로 대안이라고도하는 시퀀스 다이어그램에 실제로 표시 될 수 있습니다. 주제 http://www.ibm.com/developerworks/rational/library/3101.html 에서 유용한 자료를 찾을 수있는 링크가 있습니다 .

고도로 분기


Visio에서는 Alt다른 것이 있습니까? 나는 그것을 찾을 수없는 것
제임스 Raitsev

13
Visio 자체는 UML 모델링 도구가 아닙니다. UML 2.0을 사용하려면 2.0 사양을 완전히 구현하는 훌륭한 Visio Stencil을 찾아야합니다. 웹에서 사용할 수있는 몇 가지 무료 스텐실이있다, 당신은 시도 : 여기에 외모에 좋은 (비록 모든 기능을 시도하지 않았다) 것을 하나입니다 그 중 일부를 제공 할 수 있습니다 softwarestencils.com/uml
GETah

Visio 외에 다른 UML 도구가 있습니까? 엔터프라이즈 아키텍트는 충분합니까?
Venkat Madhav

1
@VenkatMadhav 정말 말할 수 없습니다. 나는 그것의 완전한 힘을 사용한 적이 없지만 구글에서 찾은 독서에서, 그것은 꽤 좋을 것입니다
GETah

@ Venkat 저는 개인적으로 시각적 패러다임의 팬입니다. ( visual-paradigm.com )
코디 폴

35

붙여 넣으면

A.do() {
  if (condition1) {
   X.doSomething
  } else if (condition2) {
   Y.doSomethingElse
  } else {
   donotDoAnything
  }
}

https://www.zenuml.com 으로 이동하십시오 . 다이어그램이 생성됩니다.If / else 시퀀스 다이어그램


@ Gholamali-Irani Chrome 확장 프로그램을 사용해 보셨습니까?
Xiao Peng-ZenUML.com

이 경우 A.do(int condition)-.. else ... else 인 경우 한 번의 호출로 모두 발생할 수있는 것은 아닙니다. 흐름은 조건 인수에 따라 다릅니다. ZenUML이 그 그림을 그릴 수 있다면 정말 좋을 것입니다. 세 번의 통화가 시간 순서대로 이루어집니다.
Chef Gladiator

@ChefGladiator 나는 당신이 무슨 뜻인지 이해하지 못합니다. 여기에 의사 코드를 추가해 주시겠습니까? 또는 사이트에서 나를 가리킬 수 있습니다.
Xiao Peng-ZenUML.com

물론, 코드는 다음과 같습니다. wandbox.org/permlink/PURdGJc8YxJmpUh7- 모든 조건을 충족하기 위해 3 개의 호출이 대기 중입니다. UML 시퀀스에는 하나가 아닌 세 개의 호출이 표시되어야합니다.
Chef Gladiator

물론 활동 다이어그램은 알고리즘 내부를 보여주는 것이 더 좋습니다.
Chef Gladiator

2

Alt 조각을 사용하여 매우 간단합니다.

ATM 기계의 시퀀스 다이어그램을 예로 들어 보겠습니다.

경우 삽입 된 카드 프롬프트 다음 유효 .... "핀 입력" ELSE 프롬프트 "잘못된 핀을"

다음은 동일한 시퀀스 다이어그램입니다.

ATM 기계 순서도

도움이 되었기를 바랍니다!


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