2017-11-21 4 views
1

UML 상태 시스템 전환 (가드)에서 둘 이상의 조건 ​​(부울 표현식이 서로 다른)을 처리하려면 어떻게합니까?Q : UML 상태 시스템 전환에서 둘 이상의 조건을 처리하는 방법

예 : I는 하나의 상태보다 더 추가하고자 본 예에서는 enter image description here

는 "로그인 상태"에서 "로그인"에서 전환기 (< 3 시도) 음의 discribed있다.

이 UML을 어떻게 처리합니까?

+0

EA가없는 솔루션을 원한다고 생각하십니까? 그렇게 말하십시오 :) – granier

+0

상태를 여러 개의 상태로 분해합니다. 각 상태는 자체 전환 조건 (예 : 'networkOK -> LoginPrompt')을 갖거나 하나의 복합 조건으로 정의합니다. –

+0

@granier 그래서 그는이 질문에 EA로 태그를 붙였습니다. –

답변

1

단순히

enter image description here

같이 부울 조건을 넣어 말 (그리고 필요한 단계에 초점을) ... 많은 세 Guard의 위. 이것은 모든 텍스트 일 ​​수 있습니다. C 스타일 또는 일반 텍스트를 작성할 수 있습니다. 나는 여기 OCL에 대해 잘 모르겠다. 그러나 그것은 어쨌든 학문적 목적을위한 것이다 (나의 견해).

N.B. 귀하의 다이어그램은 Name이 아닌 Guard (즉 [Tries = 3])이어야하는 Tries = 3을 보여줍니다.

+0

내가 아는 OCL은 &&하지만 ... and ...을 사용하지 않는다. (왜? 아마도이 사람들은 C를 모른다.) – granier

+0

@granier 어쩌면 그들은 파이썬, 파스칼, COBOL 또는 (어떻게 든) FORTRAN 프론트에서 왔을 것이다. 상징의 너무. –

+0

;) 코볼 : 왜 안돼 :) – granier

1

는 여기에 옵션이 몇 가지 있습니다

  1. 귀하의 가드 조건이 '[]'내에서 여러 검사를 결합 할 수 있습니다 - 당신은 메모하고 있던 많은처럼.
  2. 동일한 두 상태 사이에 여러 개의 전환이있을 수 있으며 각 상태는 고유 한 상태입니다.
  3. 상태 내에 상태를 포함 할 수 있습니다. 따라서 귀하의 예에서는 세 가지 상태가 '정상 작동'의 최상위에있을 수 있습니다. 그러면 다른 문서 나 메모를 통해 자세히 정의 할 수 있습니다.

이들 모두는 유효한 UML 구문입니다. 그러나 무언가가 유효하다고해서 그것이 편집기에서 지원된다는 것을 의미하지는 않습니다. 시퀀스 다이어그램의 대부분의 기능은 에디터 내에서 사용할되기 전에 예를 들어이

관련 문제