본문 바로가기

소프트웨어 공학

(UML) Activity Diagram & State Machine Diagram

훈수/저작권 관련 지적 환영합니다 - 댓글 또는 audgnssweet@naver.com

 

 

Activity Diagram


Activity Diagram

-> 시퀀스 다이어그램(링크)과 비슷하긴 한데 다른 점들이 있습니다.

 

Activity Diagram은

1. use case의 흐름을 기술할 때 (시퀀스 다이어그램과 비슷한 경우)

2. use case 간 흐름을 기술할 때

3. 특정 알고리즘이나 로직의 흐름을 기술할 때

사용합니다.

 

Activity Diagram에서는 한 단위를 Activity로 봅니다. 

일단 예시부터 먼저 보겠습니다.

 

출처: 학부 수업

Activity Diagram 예시


구성 요소

왼쪽 : initial node
오른쪽 : final node

1개밖에 없다
Action - 특정 함수 or 메서드
화살표가 flow의 흐름이다.

마름모가 decision 조건 분기
마름모에는 guard가 있는데 guard는 boolean expression

fork -> 멀티 프로세스 or 멀티 스레드로 나눠짐
join -> 멀티 프로세스나 멀티 스레드가 합쳐짐

 

한 Activity안에 너무 많은 Action들이 있으면 표현하기도 힘들고 읽기도 힘드니까

차라리 Action들을 grouping 해서 여러 개의 작은 Activity로 나눠서 표현하는 게 좋다.



 

State Machine Diagram


State Machine Diagram

Object의 상태를 중심으로 기술하는 Diagram입니다.

Object의 상태에 따른 흐름을 잘 이해할 수 있다는 장점이 있습니다.

그리고 Object가 어떤 상태를 지닐 수 있는지 한눈에 볼 수 있다는 장점이 있습니다.

 

예시 먼저 보시겠습니다.

출처 : 학부 수업

state machine diagram 예시

 

구성 요소

state - 해당 Object의 상태를 나타냅니다.
transition - 상태의 변화

화살표 위의 event는 어떤 조건을 통해서 transition이 이뤄지는지를 나타내기에 필수적
시작 노드
끝 노드

 

'소프트웨어 공학' 카테고리의 다른 글

(디자인 패턴) Factory Method Pattern  (0) 2021.04.16
디자인 패턴 기본  (0) 2021.04.16
(UML) Sequence Diagram  (0) 2021.04.09
(UML) Class Diagram  (0) 2021.04.02
(요구사항 분석) Data Flow Diagram & Use Case Diagram  (0) 2021.03.19