반응형

[ 상태 기계 다이어그램 ]

시스템의 행동을 기술하는 잘 알려진 기술이다.

객체 지향적인 접근 방법에서는 단일 객체가 활성인 시간 동안 어떤 행동을 하는지 나타내기 위해서 단일

클래스에 대해 하나의 상태 기계 다이어그램을 그린다.

 Initiall pseudostate(초기 의사 상태)

  - 실제의 상태는 아니지만 초기 상태를 가리키는 화살표를 가지고 있다.

 Transition(전이)

  - 한 상태에서 또 다른 상태로의 이동을 나타낸다.

  - 3부분으로 이루어진 레이블을 가지고 있다. 트리고-서명[가드]/액티비티

  - 트리거-서명은 상태의 변화를 유발할 수 있는 단일 이벤트이다.

  - 가드가 있다면, 그것은 트랜지션이 이루어지기 위해서 만족해야 하는 부울린 조건이다.

  - 액티비티는 전이 동안 수행되는 어떤 행동이다.

Final state(최종 상태)

  - 상태 기계가 끝났음을 의미하며, 컨트롤러 객체가 삭제되는 것을 암시한다.

 

[ Super state(상위 상태) ]

 super state는 여러 개의 substate를 가지며, 몇 개의 상태가 공통적인 전이와 내부 액티비티를 공유하는 것이다.

 상위 상태가 없다면 연결 정보 입력 상태의 세 개의 상태마다 취소 전이를 다 그려야 한다.

 

[ Concurrent state(동시 상태) ]

 상태들은 동시에 진행되는 몇 개의 직교 상태 다이어그램으로 나누어 질 수 있다.

 CD/라디오와 현재 시각/알람 시각은 동시에 선택 가능한 것이다. 만약 이것을 동시에 선택 가능한 것을 표현할 수 없는 다이어그램에 표시하려고 하면 감당하기 힘든 더 복잡한 다이어그램과 더 많은 상태가 필요할 것이다.

 History pseudostate(과거 의사 상태)는 시계가 켜지면 이전에 시계를 끌 때 라디오 또는 CD가 선택되어 있던 상태로 돌아가는 것을 의미한다. 과거 의사 상태에서 나가는 화살표는 최초에 내역이 없을 때 가는 상태를 가리킨다.

  

[ 상태 다이어그램의 사용 ]

 상태 다이어그램은 몇 개의 유스 케이스에 걸쳐진 객체의 행동을 묘사하는데 좋다.

 상태 다이어그램은 많은 객체들이 협력해서 이루어지는 행동을 설명하는데에는 그다지 좋지 않다.

 상태 다이어그램을 그리면 동작에 대해 이해하는데 도움이 되는, 관심 있는 행동을 보여주는 클래스에 대해서만 사용한다.

  UI와 컨트롤 객체에 대해서 상태 다이어그램을 그리는 것이 도움이 된다고 생각하는 사람들이 많다.

 교류 다이어그램은 단일 유스케이스의여러 객체의 행동을 설명하는 데 좋으며, 액티비티 다이어그램은 여러 개의 객체와 유스케이스의 액티비티의 일련의 순서를 보여주기에 좋다.

 

댓글이나 공감 남겨주는 사람 착한사람

 

반응형

+ Recent posts