Hoon222y

[0102-2] 행위 모델( 유스 케이스 / 시퀀스 / 상태 다이어그램 ) 본문

코딩/교육

[0102-2] 행위 모델( 유스 케이스 / 시퀀스 / 상태 다이어그램 )

hoon222y 2019. 1. 2. 14:45

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는 즉시 중단되고 다른 상태로 전이됨











Comments