정보처리기사

[정보처리기사 요약 1-4] UML 모델링 가이드 (기능/정적/동적 다이어그램 비교)

Hong's_Computer 2026. 2. 23. 14:51
반응형

 

본문에 오류가 있을 수 있음을 감안하고 봐주시길 바랍니다.
# 문제 풀이 중 오답노트 하면서 나온 내용을 정리한 것

 

기능 모델링: 사용자의 요구사항을 분석하여 개발될 시스템이 갖춰야 할 기능을 정리한 후 사용자와 함께 정리된 내용을 공유하기 위해 그림으로 표현하는 것이다.

  • 유스케이스(UseCase) 다이어그램: 사용자와 다른 외부 시스템들이 개발될 시스템을 이용해 수행할 수 있는 기능을 사용자의 관점에서 표현한 것이다. 시스템의 범위를 파악할 수 있고 사용자의 요구사항을 분석하기 위한 도구로 사용된다.
구성 요소 표현 방법 내용
시스템/시스템 범위
시스템 내부의 유스케이스들을 사각형으로 묶어 시스템의 범위를 표현한 것
액터
· 시스템과 상호작용하는 모든 외부 요소
· 주로 사람이나 외부 시스템을 의미함
  - 주액터(사용자 액터): 시스템을 사용함으로써 이득을 얻는 대상으로 주로 사람이 해당됨
  - 부액터(시스템 액터): 주액터의 목적 달성을 위해 시스템에 서비스를 제공하는 외부 시스템으로 조직이나 기관 등이 될 수 있음
유스케이스
사용자가 보는 관점에서 시스템이 액터에게 제공하는 서비스나 기능을 표현한 것
관계


· 유스케이스 다이어그램에서 관계는 액터와 유스케이스, 유스케이스와 유스케이스 사이에서 나타날 수 있음
· 포함(Include) 관계, 확장(Extends) 관계, 일반화(Generalization) 관계
                - 포함(Include) 관계: 두 개 이상의 유스케이스들의 공통적 부분을 따로 유스케이스로 만들 때
                - 확장(Extend) 관계: 유스케이스가 특정 조건에 부합되어 기능이 확장될 때
  • 활동(Activity) 다이어그램: 사용자의 관점에서 시스템이 수행하는 기능을 처리 흐름에 따라 순서대로 표현한 것, 하나의 유스케이스 안에서 혹은 유스케이스 사이에 발생하는 처리의 흐름을 명확하게 표현하며 자료 흐름도와 유사함
구성 요소 표현 방법 내용
액션/액티비티
· 액션: 더이상 분해할 수 없는 단일 작업
· 액티비티: 몇 개의 액션으로 분리될 수 있는 작업
시작 노드
액션이나 액티비티가 시작됨을 표현한 것
종료 노드
액티비티 안의 모든 흐름이 종료됨을 표현한 것
조건(판단)노드
조건에 따라 제어의 흐름이 분리됨을 표현한 것
병합 노드
여러 경로의 흐름을 하나로 합쳐짐을 표현한 것
포크(Fork) 노드
액티비티의 흐름을 분리되어 수행됨을 표현한 것
조인(Join) 노드
분리되어 수행되던 액티비티의 흐름을 다시 합쳐짐을 표현한 것
스윔레인(Swim Lane)
· 액티비티 수행을 담당하는 주체를 구분하는 선
· 가로 또는 세로 실선을 그어 구분함

 

 

 

정적 모델링: 사용자가 요구한 기능을 구현하는 데 필요한 자료들의 논리적인 구조를 표현한 것. 시스템에 의해 처리되거나 생성될 객체들 사이에 어떤 관련이 있는지를 구조적인 관점에서 표현하고 객체들을 클래스로 추상화하여 표현한다.

  • 클래스(Class) 다이어그램: 클래스와 클래스가 가지는 속성, 클래스 사이의 관계를 표현한 것이다. 구조적 다이어그램이며 시스템 구성 요소를 문서화하는데 사용한다. 공통된 속성과 연산(행위)을 갖는 객체의 집합으로 객체의 일반적인 타입(Type)
구성 요소 표현 방법 내용
클래스
· 각각의 객체들이 갖는 속성과 오퍼레이션(동작)을 표현한 것
· 일반적으로 3개의 구역으로 나눔(클래스명, 속성, 오퍼레이션)
  - 속성(Attribute): 클래스의 상태나 정보를 표현함
  - 오퍼레이션(Operation): 클래스가 수행할 수 있는 동작으로 함수(Method)라고도 함
제약 조건
속성에 입력될 값에 대한 제약조건이나 오퍼레이션 수행 전후에 지정해야 할 조건을 작성
관계   클래스와 클래스 사이의 연관성을 표현함(연관 관계, 집합 관계, 포함 관계, 일반화 관계, 의존 관계 등)

 

 

 

동적 모델링: 시스템의 내부 구성 요소들의 상태 변화 과정과 과정에서 발생하는 상호 작용을 표현한 것, 시스템 내부 구성 요소들 간에 이루어지는 동작이라는 관점에서 표현한다. 오퍼레이션을 통한 상호 작용에 초점을 둠

  • 순차(Sequence) 다이어그램: 시스템이나 객체들이 메시지를 주고 받으며 상호 작용하는 과정을 그림으로 표현한 것이다. 시스템이나 객체들의 상호 작용 과정에서 주고 받는 메시지를 표현하며 시스템이나 각 객체들의 수행 기간을 확인할 수 있다. 교류 다이어그램(Interaction Diagram)의 한 종류로 볼 수 있다.
구성 요소 표현 방법 내용
액터(Actor)
시스템으로부터 서비스를 요청하는 외부 요소로 사람이나 외부 시스템을 의미함
객체(Object)
메시지를 주고받는 주체
생명선(Lifeline)
객체가 메모리에 존재하는 기간으로 객체 소멸이 표시된 기간까지 존재함
실행 상자(Active Box)
객체가 메시지를 주고받으며 구동되고 있음을 표현함
메시지(Message)
객체가 상호 작용을 위해 주고받는 메시지
객체 소멸
해당 객체가 더 이상 메모리에 존재하지 않음을 표현한 것
프레임(Frame)
다이어그램의 전체 또는 일부를 묶어 표현한 것
  • 커뮤니케이션(Communication) 다이어그램: 시스템이나 객체들이 메시지를 주고받으며 상호작용하는 과정을 객체들간의 연관을 그림으로 표현한 것, 동작에 참여하는 객체들 사이의 관계를 파악하는 데 사용하며 클래스 다이어그램에서 관계가 제대로 표현되었는지 점검하는 용도로 사용한다. 초기에는 협업 다이어그램이라고 불렸다.
  • 상태(State) 다이어그램: 객체들 사이에 발생하는 이벤트에 의한 객체들의 상태 변화를 그림으로 표현한 것, 객체의 상태란 객체가 갖는 속성값의 변화를 의미
구성 요소 표현 방법 내용
상태
객체의 상태를 표현한 것
시작 상태
상태의 시작을 표현한 것
종료 상태
상태의 종료를 표현한 것
상태 전환
상태 사이의 흐름 변화를 화살표로 표현한 것
이벤트(Event)   상태에 변화를 주는 현상(조건, 외부 신호, 시간의 흐름 등) # 객체 전이의 요인
프레임
상태 다이어그램의 범위를 표현한 것
  • 패키지(Package) 다이어그램: 유스케이스나 클래스 등의 요소들을 그룹화한 패키지 간의 의존 관계를 표현한 것, 패키지는 또 다른 패키지의 요소가 될 수 있고 주요 요소 간의 종속성을 파악하는데 사용한다.
구성 요소 표현 방법 내용
패키지
객체들을 그룹화한 것
  - 단순 표기법: 패키지 안에 패키지 이름만 표현
  - 확장 표기법: 패키지 안에 요소까지 표현
객체
유스케이스, 클래스, 인터페이스, 테이블 등 패키지에 포함될 수 있는 다양한 요소들
의존 관계
· 패키지와 패키지, 패키지와 객체 간을 점선 화살표로 연결하여 표현함
· 스테레오타입을 이용해 의존관계를 구체적으로 표현할 수 있음
  - <<import>>: 패키지에 포함된 객체들을 직접 가져와서 이용하는 관계
  - <<access>>: 인터페이스를 통해 패키지 내의 객체에 접근하여 이용하는 관계
반응형