관리 메뉴

nalaolla

5. Statechart 다이어그램 모델링하기 본문

UML

5. Statechart 다이어그램 모델링하기

날아올라↗↗ 2016. 7. 11. 10:13
728x90

5. Statechart 다이어그램 모델링하기




Statechart 다이어그램에서 편집할 수 있는 요소들은 다음과 같습니다.

  • State
  • SubmachineState
  • InitialState
  • FinalState
  • JunctionPoint
  • ChoicePoint
  • ShallowHistory
  • DeepHistory
  • Synchronization
  • Flow Final
  • Transition
  • SelfTransition

State

생성 방법:

State를 생성하려면, 

  1. [Toolbox] -> [Statechart] -> [State] 버튼을 클릭하고
  2. Main 윈도우창에서 State가 위치할 곳을 클릭합니다.
  3. state가 생성되고 퀵다이얼로그가 나타나면 state의 이름을 입력합니다.
  4. 그리고 [Enter] 키를 누르면 생성이 완료됩니다.

State를 State안으로 이동하기:

state를 또다른 state 안으로 이동하기 위해서는,

  1. 이동할 state를 클릭합니다.
  2. 선택된 state를 또다른 state로 드래그해서 드롭합니다.
  3. 선택된 state가 또다른 state로 옮겨집니다.

한꺼번에 여러개의 State로 Transition하기:

현재State로부터 나가거나 들어오는 transition을 가지는 State를 만들려면 단축 생성 구문을 사용합니다.

  1. State를 더블 클릭해서 Quick Dialog가 나타나면, Quick Dialog에서 "->" 문자열(또는 "<-" 문자열) 다음에 포함되는 다른 State의 이름을 입력합니다. 여러 개의 State를 포함하기 위해서 각 State 이름은 "," 문자로 구분해서 입력합니다.
  2. 그리고 [Enter]키를 누르면 선택된 State에서 나가는(들어오는) 여러 State들이 생성되고 자동 배열되어 생성됩니다.

Entry/Do/Exit Action 추가하는 방법:

State에 Entry/Do/Exit Action을 추가하는 방법은 다음과 같이 3가지 방법이 있습니다.

  • Quick Dialog를 이용
  • State 또는 Model Explorer의 팝업 메뉴 이용
  • Collection Editor 이용

Quick Dialog를 이용하는 경우,

  1. state를 더블 클릭합니다.
  2. 퀵다이얼로그에서 [Add Entry/Add DoAction/Add ExitAction] 버튼을 클릭합니다.
  3. 그러면 state에 원하는 action이 삽입됩니다.

State 또는 Model Explorer의 팝업 메뉴 이용하는 경우, main window 또는 model explorer에서 state를 선택하고 마우스 오른쪽 클릭하고 [Add] -> [Entry/Do/Exit] 팝업메뉴를 선택합니다.

Collection Editor 이용하는 경우,

  1. state의 [Collection Editor...] 팝업 메뉴를 선택하고
  2. properties window에서 EntryActions/DoActions/ExitActions 속성의  버튼을 클릭합니다.
  3. 그리고 collection editor의 Entry Actions/Do Actions/Exit Actions 탭에서  버튼을 이용하여 action을 추가합니다.

SubmachaineState

의미:

하위-머신상태(SubmachineState)">하위-머신상태(SubmachineState)는 하나의 상태머신(StateMachine)을 호출합니다. 하위-머신으로 수행이 진입하면 해당 상태머신이 수행을 시작하고 수행이 종료되면 하위-머신상태의 수행이 종료된 것으로 간주합니다.

생성 방법:

SubmachineState를 생성하려면,

  1. [Toolbox] -> [Statechart] -> [SubmachineState] 버튼을 클릭하고 
  2. Main 윈도우창에서 SubmachineState가 위치할 곳을 클릭하면, submachine state가 생성되고 퀵다이얼로그가 나타납니다.
  3. 퀵다이얼로그에서 이름을 입력하고 [Enter] 키를 누르면 다음과 같이 submachine state가 생성됩니다.

InitialState

생성 방법:

InitialState를 생성하려면,

In order to create InitialState,

  1. [Toolbox] -> [Statechart] -> [InitialState] 버튼을 클릭하고,
  2. InitialState를 위치할 곳을 main window에서 클릭합니다.

State에서 initialstate 생성 하기:

현재 State로 나가는 transition을 가지는 InitialState를 만들려면 단축 생성 구문을 사용합니다.

  1. State를 더블 클릭해서 Quick Dialog가 나타나면, Quick Dialog에서 "-*" 문자열과 InitialState의 이름을 입력합니다.
  2. 그리고 [Enter] 키를 누르면 선택된 State로 들어오는 transition과 InitialState가 생성됩니다.

FinalState

생성 방법:

FinalState를 생성하려면,

  1. [Toolbox] -> [Statechart] -> [FinalState] 버튼을 클릭하고 
  2. Main 윈도우창에서 FinalState가 위치할 곳을 클릭합니다.

State에서 FinalState 생성하기:

현재 State로 나가는 transition과 FinalState를 만들려면 단축 생성 구문을 사용합니다.

  1. State를 더블 클릭해서 Quick Dialog가 나타나면, Quick Dialog에서 "-@" 문자열과 FinalState의 이름을 입력합니다.
  2. 그리고 [Enter]키를 누르면 선택된 State에서 나가는 transition과 FinalState가 생성됩니다.

JunctionPoint

생성 방법:

JunctionPoint를 생성하려면,

  1. [Toolbox] -> [Statechart] -> [JunctionPoint] 버튼을 클릭하고 
  2. Main 윈도우창에서 JunctionPoint가 위치할 곳을 클릭합니다.

ChoicePoint

생성 방법:

ChoicePoint를 생성하려면,

  1. [Toolbox] -> [Statechart] -> [ChoicePoint] 버튼을 클릭하고 
  2. Main 윈도우창에서 ChoicePoint가 위치할 곳을 클릭합니다.

ShallowHistory

생성 방법:

ShallowHistory를 생성하려면,

  1. [Toolbox] -> [Statechart] -> [ShallowHistory] 버튼을 클릭하고 
  2. Main 윈도우창에서 ShallowHistory가 위치할 곳을 클릭합니다.

State에서 History State 생성:

현재 State에서 나가는 transition과 History를 만들려면 단축 생성 구문을 사용합니다.

  1. State를 더블 클릭해서 Quick Dialog가 나타나면, Quick Dialog에서 "-(h) -(H) -(h*) -(H*)"을 입력합니다.
  2. 그리고 [Enter]키를 누르면 선택된 State에서 나가는 transition과 History가 생성됩니다.

DeepHistory

생성 방법:

DeepState를 생성하려면,

  1. [Toolbox] -> [Statechart] -> [DeepState] 버튼을 클릭하고 
  2. Main 윈도우창에서 DeepHistory가 위치할 곳을 클릭합니다.

Synchronization

생성 방법:

Synchronization를 생성하려면,

  1. [Toolbox] -> [Statechart] -> [Synchronization] 버튼을 클릭하고 
  2. Main 윈도우창에서 Synchronization가 위치할 곳을 클릭합니다.

Join 만들기:

현재 State로 들어오는 Join transition을 만들려면 단축 생성 구문을 사용합니다.

  1. State를 더블 클릭해서 Quick Dialog가 나타나면 "<-|" 문자열과 Join 되어질 State의 이름을 입력합니다. 여러 개의 State를 포함하기 위해서 각 State 이름은 "," 문자로 구분해서 입력합니다.
  2. 그리고 [Enter]키를 누르면 선택된 State로 Join되는 여러 State들이 생성되고 자동 배열되어 생성됩니다.

Fork 만들기:

현재 State에서 나가는 Fork transition을 만들려면 단축 생성 구문을 사용합니다.

  1. State를 더블 클릭해서 Quick Dialog가 나타나면 "->|" 문자열과 Fork 되어질 State의 이름을 입력합니다. 여러 개의 State를 포함하기 위해서 각 State 이름은 "," 문자로 구분해서 입력합니다.
  2. 그리고 [Enter]키를 누르면 선택된 State로 Fork되는 여러 State들이 생성되고 자동 배열되어 생성됩니다.

Flow Final

생성 방법:

Flow Final를 생성하려면,

  1. [Toolbox] -> [Statechart] -> [Flow Final] 버튼을 클릭하고 
  2. Main 윈도우창에서 Flow Final가 위치할 곳을 클릭합니다.

Transition

Transition 생성 방법:

Transition를 생성하려면,

  1. [Toolbox] -> [Statechart] -> [Transition ] 버튼을 클릭하고 
  2. Main 윈도우창에서 State에서 전이하는 방향의 다른 State로 마우스를 누르고 드래그하면 됩니다.
  3. 그러면 두개의 state 사이의 transition이 생성됩니다.

Transition 끝 변경하기:

Transition 끝을 다른 State에 연결하려면

  1. transition의 끝을 선택합니다.
  2. Transition의 끝점을 드래그해서 연결하려는 다른 State로 드래그/드롭합니다.
  3. 그러면 transition 연결이 다음과 같이 변경됩니다.

SelfTransition

SelfTransition 생성 방법:

SelfTransition를 생성하려면, 

  1. [Toolbox] -> [Statechart] -> [SelfTransition] 버튼을 클릭하고
  2. Main 윈도우창에서 SelfTransition하는 State를 클릭한다.


728x90