UML과 유스케이스 모델링
UML의 구조·행위 다이어그램과 클래스 관계, 유스케이스 모델링의 핵심 표기법을 익힌다.
UML의 역할
UML(Unified Modeling Language)은 소프트웨어 중심 시스템의 구조와 행위를 시각화·명세·문서화하는 표준 모델링 언어다. 특정 개발 절차를 강제하는 방법론이나 프로그래밍 언어가 아니다.
UML은 크게 사물, 관계, 다이어그램으로 구성된다.
주요 다이어그램

UML 다이어그램 개요도
구조 다이어그램
| 다이어그램 | 주된 표현 대상 |
|---|---|
| 클래스 | 클래스의 속성·연산과 정적 관계 |
| 객체 | 특정 시점의 객체 인스턴스와 링크 |
| 컴포넌트 | 구현 컴포넌트와 의존 관계 |
| 배치 | 하드웨어 노드와 소프트웨어 배치 |
| 패키지 | 모델 요소의 그룹과 의존 관계 |
행위 다이어그램
| 다이어그램 | 주된 표현 대상 |
|---|---|
| 유스케이스 | 액터가 시스템을 통해 달성하는 목표 |
| 시퀀스 | 시간 순서에 따른 객체 간 메시지 |
| 활동 | 업무·처리 흐름과 분기·병행 |
| 상태 | 객체의 상태와 사건에 따른 전이 |
| 커뮤니케이션 | 객체 연결과 메시지 협력 |
시험에서는 “무엇을 보여 주려는가”를 보고 다이어그램을 고른다. 예를 들어 시간 순 메시지는 시퀀스, 객체 상태 변화는 상태 다이어그램이다.
클래스 다이어그램 기본
클래스는 일반적으로 클래스명 / 속성 / 연산의 구획으로 표현한다.
가시성
+public-private#protected~package
다중성
| 표기 | 의미 |
|---|---|
1 | 정확히 하나 |
0..1 | 없거나 하나 |
* 또는 0..* | 0개 이상 |
1..* | 1개 이상 |
m..n | m개 이상 n개 이하 |
UML의 주요 관계
| 관계 | 의미 | 대표 표기 특징 |
|---|---|---|
| 연관(Association) | 객체가 지속적인 구조 관계를 가짐 | 실선 |
| 집합(Aggregation) | 전체-부분 관계, 부분의 독립성이 비교적 큼 | 전체 쪽 빈 마름모 |
| 합성(Composition) | 강한 전체-부분 관계, 생명주기 의존이 큼 | 전체 쪽 채운 마름모 |
| 일반화(Generalization) | 하위 요소가 상위 요소의 특성을 상속 | 상위 쪽 빈 삼각형, 실선 |
| 의존(Dependency) | 한 요소의 변경이 다른 요소에 영향을 줄 수 있음 | 사용 대상 쪽 점선 화살표 |
| 실체화(Realization) | 클래스가 인터페이스의 계약을 구현 | 인터페이스 쪽 빈 삼각형, 점선 |
연관은 구조적 관계이고 의존은 일시적 사용 관계에 가깝다. 집합과 합성은 모두 전체-부분 관계지만 합성이 더 강하다.
유스케이스 모델링

유스케이스 다이어그램 예시
유스케이스는 액터가 시스템을 이용해 달성하는 관찰 가능한 목표를 표현한다.
- 액터: 시스템 밖에서 상호작용하는 사람·조직·외부 시스템의 역할
- 유스케이스: 액터가 얻는 결과 중심의 기능
- 시스템 경계: 분석 대상 시스템의 범위
- 연관: 액터와 참여 유스케이스의 연결
액터는 특정 개인 이름이 아니라 역할이다. 유스케이스 이름은 “주문 취소”, “성적 조회”처럼 동작과 결과가 드러나게 쓴다.
유스케이스 관계
<<include>>: 여러 유스케이스가 공통으로 반드시 수행하는 행동을 분리한다. 화살표는 포함하는 유스케이스 → 포함되는 유스케이스.<<extend>>: 특정 조건에서 기본 유스케이스에 선택적 행동을 추가한다. 화살표는 확장 유스케이스 → 기본 유스케이스.- 일반화: 더 일반적인 액터나 유스케이스를 특수화한다.
로그인이 항상 필요한 사전 조건인지, 실제 유스케이스 흐름에서 공통 기능으로 호출되는지에 따라 단순히 모두 include로 그리지 않는다.
유스케이스 서술
유스케이스 다이어그램만으로 세부 흐름을 모두 표현하지 못하므로 서술 명세를 함께 사용한다.
- 이름과 목적
- 주 액터와 관련 액터
- 사전 조건·트리거
- 기본 흐름
- 대안·예외 흐름
- 사후 조건
모델 일관성 확인
유스케이스의 책임은 클래스·시퀀스·활동 모델에서 모순 없이 이어져야 한다. 모델 수가 많다고 품질이 높아지는 것이 아니라, 같은 요구를 서로 다른 관점에서 일관되게 설명해야 한다.