[ 상태 기계 다이어그램 ]
▪ 시스템의 행동을 기술하는 잘 알려진 기술이다.
▪ 객체 지향적인 접근 방법에서는 단일 객체가 활성인 시간 동안 어떤 행동을 하는지 나타내기 위해서 단일
클래스에 대해 하나의 상태 기계 다이어그램을 그린다.
▪ Initiall pseudostate(초기 의사 상태)
- 실제의 상태는 아니지만 초기 상태를 가리키는 화살표를 가지고 있다.
▪ Transition(전이)
- 한 상태에서 또 다른 상태로의 이동을 나타낸다.
- 3부분으로 이루어진 레이블을 가지고 있다. 트리고-서명[가드]/액티비티
- 트리거-서명은 상태의 변화를 유발할 수 있는 단일 이벤트이다.
- 가드가 있다면, 그것은 트랜지션이 이루어지기 위해서 만족해야 하는 부울린 조건이다.
- 액티비티는 전이 동안 수행되는 어떤 행동이다.
▪ Final state(최종 상태)
- 상태 기계가 끝났음을 의미하며, 컨트롤러 객체가 삭제되는 것을 암시한다.
[ Super state(상위 상태) ]
▪ super state는 여러 개의 substate를 가지며, 몇 개의 상태가 공통적인 전이와 내부 액티비티를 공유하는 것이다.
▪ 상위 상태가 없다면 연결 정보 입력 상태의 세 개의 상태마다 취소 전이를 다 그려야 한다.
[ Concurrent state(동시 상태) ]
▪ 상태들은 동시에 진행되는 몇 개의 직교 상태 다이어그램으로 나누어 질 수 있다.
▪ CD/라디오와 현재 시각/알람 시각은 동시에 선택 가능한 것이다. 만약 이것을 동시에 선택 가능한 것을 표현할 수 없는 다이어그램에 표시하려고 하면 감당하기 힘든 더 복잡한 다이어그램과 더 많은 상태가 필요할 것이다.
▪ History pseudostate(과거 의사 상태)는 시계가 켜지면 이전에 시계를 끌 때 라디오 또는 CD가 선택되어 있던 상태로 돌아가는 것을 의미한다. 과거 의사 상태에서 나가는 화살표는 최초에 내역이 없을 때 가는 상태를 가리킨다.
[ 상태 다이어그램의 사용 ]
▪ 상태 다이어그램은 몇 개의 유스 케이스에 걸쳐진 객체의 행동을 묘사하는데 좋다.
▪ 상태 다이어그램은 많은 객체들이 협력해서 이루어지는 행동을 설명하는데에는 그다지 좋지 않다.
▪ 상태 다이어그램을 그리면 동작에 대해 이해하는데 도움이 되는, 관심 있는 행동을 보여주는 클래스에 대해서만 사용한다.
▪ 또 UI와 컨트롤 객체에 대해서 상태 다이어그램을 그리는 것이 도움이 된다고 생각하는 사람들이 많다.
▪ 교류 다이어그램은 단일 유스케이스의여러 객체의 행동을 설명하는 데 좋으며, 액티비티 다이어그램은 여러 개의 객체와 유스케이스의 액티비티의 일련의 순서를 보여주기에 좋다.
댓글이나 공감 남겨주는 사람 착한사람
'학사 그리고 석사 > 소프트웨어공학' 카테고리의 다른 글
Communication Diagrams (커뮤니케이션 다이어그램) (0) | 2019.11.06 |
---|---|
Activity Diagrams (액티비티 다이어그램) (0) | 2019.11.06 |
Use Case Diagram ( 유스케이스 다이어그램) (0) | 2019.11.06 |
Deployment Diagram(배치다이어그램) (0) | 2019.11.06 |
Package Diagrams (패키지 다이어그램) (0) | 2019.11.06 |