스물두줄

정보관리기술사 · 소프트웨어 공학

UML 행위 다이어그램

행위 다이어그램은 시스템의 동적 동작을 그리는 UML 다이어그램 군이다. 활동, 상태, 유스케이스 세 가지가 대표적이다. 세 다이어그램은 보는 관점이 서로 다르다. 행위 다이어그램 세 종류는 보는 관점이 다르다. 활동 다이어그램은 작업의 흐름을, 상태 다이어그램은 객…

주요 장면

  1. 0:02 행위 다이어그램이란
  2. 0:15 세 다이어그램의 관점
  3. 0:35 활동 다이어그램
  4. 0:57 상태 전이 실행 순서
  5. 1:23 유스케이스 다이어그램
  6. 1:47 포함과 확장
  7. 2:10 직접 풀기
  8. 2:34 정답 확인

대본

행위 다이어그램이란

행위 다이어그램은 시스템의 동적 동작을 그리는 UML 다이어그램 군이다.

활동, 상태, 유스케이스 세 가지가 대표적이다.

세 다이어그램은 보는 관점이 서로 다르다.

세 다이어그램의 관점

행위 다이어그램 세 종류는 보는 관점이 다르다.

활동 다이어그램은 작업의 흐름을, 상태 다이어그램은 객체의 생명주기를 본다.

유스케이스 다이어그램은 사용자 관점의 기능 범위를 본다.

답안에서는 이 관점 차이를 먼저 밝히면 나머지 설명이 수월하다.

활동 다이어그램

활동 다이어그램은 한 활동에서 다른 활동으로 이어지는 흐름을 나타낸다.

병렬 처리는 분기(Fork)로 나누고 병합(Join)으로 합류시켜 표현한다.

조건 분기는 결정 노드로, 여러 주체의 작업은 스위머레인으로 구분한다.

순서도와 닮았지만 병렬 흐름과 수행 주체를 함께 보인다는 점이 다르다.

상태 전이 실행 순서

상태 다이어그램은 한 객체가 외부 이벤트에 따라 상태를 바꾸는 과정을 나타낸다.

전이는 이벤트, 보호 조건, 동작으로 구성되며 실행 순서가 정해져 있다.

가드를 먼저 평가해 참일 때만 원천 상태를 떠나고, 액션을 실행한 뒤 목표 상태에 들어간다.

이 순서를 답안에 한 줄로 쓰면 점수가 높다.

유스케이스 다이어그램

유스케이스 다이어그램은 시스템이 제공하는 기능과 이를 사용하는 액터의 관계를 나타낸다.

시스템 경계 안에 유스케이스를 두고, 경계 밖에 액터를 둔다.

레스토랑 예에서 고객, 웨이터, 요리사, 계산대 직원은 모두 액터로 표시한다.

요리사와 계산대 직원은 내부 작업자지만 액터로 표현한다.

포함과 확장

포함과 확장은 유스케이스 사이의 대표적인 관계다.

포함은 기본 유스케이스가 항상 포함 유스케이스를 호출하는 필수 관계다.

확장은 조건이 충족될 때만 확장 유스케이스가 실행되는 선택 관계다.

두 관계의 방향과 필수 여부를 섞어 쓰면 감점이 크다.

직접 풀기

포함과 확장의 차이는 실행이 필수인지 선택인지에 있다.

기본 유스케이스가 항상 호출하면 포함, 조건이 맞을 때만 실행하면 확장이다.

방금 배운 내용을 문제로 확인해 보자.

정답 확인

정답은 포함이다. 카드 승인은 결제 과정에서 항상 실행되는 필수 행위다.

확장이라고 답했다면 필수 실행과 선택 실행의 차이를 다시 확인한다.

같은 장의 영상