일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 위상정렬
- MST
- 다이나믹 프로그래밍
- boj
- 생활코딩
- 그리디 알고리즘
- 영어회화 100일의 기적
- upper_bound
- 언어의 온도
- DP
- 창훈쓰다
- multiset
- 인간이 그리는 무늬
- Segment Tree
- 다음 API
- BOJ 2098
- 이분탐색
- 안드로이드 스튜디오
- 캘리그라피
- 비트마스크
- 다음 지도 api
- 삼성 코딩테스트
- 백트레킹
- 성화봉송주자
- yolo
- 성화봉송
- BFS
- lower_bound
- 외판원 순회
- 평창동계올림픽
- Today
- Total
Hoon222y
[0102-2] 행위 모델( 유스 케이스 / 시퀀스 / 상태 다이어그램 ) 본문
1. 유즈 케이스 다이어그램
- 시스템과 사용자 간의 통상적 교류를 기술하여 시스템이 어떻게 사용되는지 표현
- 사용자 시나리오(유즈 케이스) 세트의 시각적인 목차의 개념
- 시스템의 기능적인 요구사항을 도출하기 위한 명세
엑터 |
시스템 외부에서 시스템에 자극을 제공하는 역할 - 시스템의 사용자(사람) - 외부 시스템 또는 Realtime Clock같은 장치 |
시스템 |
개발 대상이 되는 시스템 또는 그 일부( 사각형은 그 시스템의 영역을 의미) |
유스 케이스 |
엑터의 자극에 의해 수행되는 시스템의 기능 - 시스템의 외부로 표현되느 시나리오 - 각 케이스간 연관 관계를 기술할 수 있음 |
유즈케이스(시나리오)
- 사용자 관점에서 시스템이 수행하는 하나의 기능 명세
- 사용자가 보낸 하나의 '자극'에 대한 반응으로 시스템이 '눈에 보이는' 이벤트의 흐름을 기술
- 시스템의 내부적인 기능 수행에 대해서는 다루지 않음 ( 시스템을 black box 관점으로 접근)
- 두가지 유형
1. 기본 흐음 : 사용자의 반응에 시스템이 정상적으로 동작하는 기능에 대한 명세
2. 대체 흐름 : 기본 흐름에서 예외적인 상황 발생에 대한 명세
유즈 케이스 식별 방법
- 시스템의 주요 기능을 나열한 후 각 유스 케이스 안의 행위자와 시나리오를 식별
- 시스템에 대한 행위자와 행위자가 보내고 받는 메시지를 식별한 수 이들을 유사 케이스로 묶는다.
- 액티비티 다이어그램을 통해 가장높은 수준에서 시스템 작업의 흐름을 도출하고, 이들이 유스 케이스에 어떻게 대응될 지 결정한다.
주의사항
- 시스템의 기능적 요구사항을 이해하도록 도움을 줌
- 개발 프로젝트 초기에 사용자 요구사항 수집 단계에서 작성, 구현 직전에 구체화
- 유스 케이스는 시스템 외부의 관점에서의 기능이므로 내부 구조의 타 다이어그램과 연관성을 부여하지 말것
- 다이어그램보다는 시나리오가 실제 개발에 더 효과적임
2. 시퀀스 다이어그램 (Sequence Diagram)
- 한 가지 시나리오에서 객체들간의 상호작용
엑터 |
메세지 체인을 시작할 수 있는 엘리먼트 |
객체 |
해당시나리오에서 메시지 송수신을 담당 |
메시지 |
객체간 연결 기능 |
회귀 메세지 |
같은 객체에 대한 함수(메서드) 호출 |
제어 블록 |
제어문을 위한 루프를 의미 |
- 하나의 유스 케이스 내에서 여러 객체의 행동을 보고 싶을 때 사용
- 타 다이어그램과 연관성
상태머신 다이어그램 : 하나의 객체가 여러 유스 케이스에서 상태 변화를 명세
엑티비티 다이어그램 : 여러 유스케이스 , 다중 스레드에 걸친 객체의 행동 파악
시퀀스 다이어그램 작성 절차
1. 컨텍스트를 파악하고 시스템의 범위를 정의
2. 참여하는 객체를 식별
3. 각 클래스마다 생명선을 작성
4. 각 클래스의 생명선에 객체들의 생성-종료 기간을 장석
5. 다이어그램의 상단에서 하단 순서로 객체의 메세지 추가
6. 다이어그램 완성점검
3. 상태 다이어그램(State Diagram)
- 시스템의 행위를 유한 상태머신에 기반하여 기술하는 방식
- 단일 객체가 활성 시간 동안 수행하는 클래스의 행동을 표시
- 단일 기계 다이어그램, 상태 전이 다이어그램 등으로도 부름
상태(State) |
하나 또는 그 이상의 이벤트를 기다리는 시스템의 모드(상태) |
전이(Transition) |
이벤트에 의해 한가지 상태에서 다른 상태로의 변경 |
이벤트(Event) |
상태의 전이를 유발하는 행위(요인) |
가드(Guard) |
이벤트가 발생하는 조건 |
액션(Action) |
상태의 전이에 따라 유발되는 동작 |
내부 액비티비
- 어떤 상태에서는 이벤트 발생에 따라 전이 없이 반응할 수 있음
- 상태 상자 내부에 이벤트/가드/액티비티를 기술
재귀전이 : 현재 상태에서 특정 이벤트에 따라 액션수행 후 자신의 상태로 다시 돌아오는 전이
활동 상태
- 객체가 특정 시간 동안 어떤 작업을 수행하고 있는 상태를 의미
- do-activity로서 "do/[작업내용]" 기술
- 해당 작업을 수행하는 도중 자신의 상태 변화를 일으키는 이벤트 발생 시 do-activity는 즉시 중단되고 다른 상태로 전이됨
'코딩 > 교육' 카테고리의 다른 글
[0109] 함수 (1) | 2019.01.09 |
---|---|
[Javascript] 3장 4장 (1) | 2019.01.08 |
[0102-1] UML / 구조 모델 (클래스 / 객체 / 패키지 다이어그램) (0) | 2019.01.02 |
[1231-2] UML (0) | 2018.12.31 |
[1231-1] / Test Design Techniques (명세 기반, 구조 기반) (0) | 2018.12.31 |