스테이트 차트 다이어그램은? 상태를 나타내기위한 다이어그램!
상태란? 대상물을 이해하기 위한 중요한 '어떤 상황'
ex) 휴대전화 - '대기중', '착신중', '통화중'
여기서 어려운 점! '상태는 얼마든지 추출할 수 있다는 것'
ex) '손에 들고 있다', '손에 들고 있지 않다' 등등의 상태도 있을 수 있다. but 휴대전화의 입장에서 보면 그렇게 중요한 상태라고 볼 수 없다.
따라서 상태를 추출할 때 그 상태가 대상에게 정말로 의미가 있는지 잘 생각해 보아야 한다.
스테이트 차트 다이어그램을 생각하는대 있어서 또 하나 중요한 것은 '이벤트'이다.
ex) '착신한다', '버튼을 누른다', '메시지를 수신한다' 등
발생된 이벤트를 받아서 대상이 어떻게 반응할지, 상태가 어떻게 변화할지를 그리는 것이 스테이트 차트 다이어그램이다.
스테이트 차트 다이어그램의 특징
1. 라이프 사이클 전체를 취급할 수 있다.
2. 전체 움직임을 한눈에 볼 수 있다.
3. 동시 동작을 기술할 수 있다.
시스템 전체의 움직임을 파악한다.
스테이트 차트 다이어그램을 그려서 시스템에서 취할 수 있는 상태를 정의하고, 각각의 상태에 대해 어떤 유즈케이스가 실행되는지 그려봄으로써 시스템의 라이프 사이클과 유즈케이스의 관계를 명확히 정의할 수 있다.
오브젝트의 라이프 사이클을 파악한다.
오브젝트의 생성/소멸 타이밍을 명확하게 한다.
오브젝트의 소멸이 언제가 될 지 검토하지 않으면 시스템 내에 불필요한 메모리가 차례차례 쌓여 메모리 부족의 주 원인이 된다.
이벤트의 취사 선택을 검토한다.
다양한 이벤트가 발생하는 경우에는 이벤트의 취사 선택을 검토하는 것은 시스템 동작을 안정적으로 구현하기 위한, 필수 불가결한 요소이다.
스테이트 차트 다이어그램의 주의사항
의미가 있는 상태를 만든다.
어떤 상태가 시스템에 의미가 있는 것인지 판단하는 기준은 아래와 같다.
- 상태로 밖에 할 수 없는 것이 있다,
- 상태일 때 시키고 싶지 않은 거이 있다.
둘 중 어느 것에라도 해당하면, 그 상태는 시스템에 의미가 있는 상태이다.
또한 상태를 추출할 때는 일반 상식의 경우에서가 아니라 시스템 측면에서 봐야 한다.
ex) '손에 가지고 있다' 는 일반 상식의 경우,,, 손에 가지고 있지 않아도 시스템과는 관계가 없다.
'이것저것' 카테고리의 다른 글
심리학의 이해 (정신분석이론) (0) | 2017.01.15 |
---|---|
SQL 데이타 조작어(검색, 갱신, 삽입, 삭제) (0) | 2016.11.03 |
chapter 4 : 관계 데이타베이스 (0) | 2016.10.26 |
컴퓨터구조 1장 (0) | 2016.10.26 |
영어 현재시제, 과거시제 (0) | 2016.10.26 |
댓글