테마
UML 다이어그램의 종류 2
앞 문서에서 UML(Unified Modeling Language, 통합 모델링 언어) 다이어그램 14종의 분류를 봤다. 이 문서는 시험에 구성 요소까지 나오는 유스케이스·순차·패키지 다이어그램을 자세히 본다.
유스케이스 다이어그램
유스케이스 다이어그램(use case diagram)은 사용자와 외부 시스템이 이 시스템으로 무엇을 할 수 있는지를 사용자 관점에서 그린다. 요구사항 분석 단계에서 기능 범위를 합의하는 데 쓴다.
- 시스템 범위: 유스케이스들을 사각형으로 묶어 시스템 경계를 표시한다.
- 액터(actor): 시스템과 상호작용하는 외부 요소다. 시스템을 써서 이득을 얻는 사람은 주액터(primary actor), 주액터를 돕기 위해 서비스를 제공하는 외부 시스템은 부액터(supporting actor)다.
- 유스케이스(use case): 사용자가 보는 기능 하나를 타원으로 그린다.
- 관계: 포함(include)은 반드시 함께 실행되는 기능, 확장(extend)은 조건에 따라 덧붙는 기능, 일반화 관계(generalization)는 상위·하위 관계다.
예를 들어 은행 앱의 "계좌 이체"가 매번 "본인 인증"을 거친다면 포함이고, "영화 예매" 중 원하는 사람만 "간식 함께 주문"을 한다면 확장이다.
순차 다이어그램
순차 다이어그램(sequence diagram)은 객체들이 메시지를 주고받는 과정을 위에서 아래로 시간 순서대로 그린다. 구성 요소는 액터, 객체, 객체가 살아 있는 기간을 세로 점선으로 그린 생명선(lifeline), 객체가 일하는 중임을 나타내는 가늘고 긴 사각형인 실행 상자(activation box), 화살표로 그린 메시지, 생명선 끝의 X 표시인 객체 소멸(destruction event), 다이어그램을 묶는 프레임(frame)이다.
패키지 다이어그램
패키지 다이어그램(package diagram)은 유스케이스나 클래스 같은 요소를 묶은 패키지 사이의 의존 관계(dependency)를 점선 화살표로 그린다. 패키지 상자 안에 이름만 적는 단순 표기법과, 안에 든 요소까지 그리는 확장 표기법이 있다. 의존 화살표에는 스테레오타입(stereotype)으로 관계를 구체적으로 적는데, 시험은 «import»를 다른 패키지의 요소를 직접 가져와 쓰는 것, «access»를 인터페이스를 거쳐 접근해 쓰는 것으로 구분한다.1
시험 포인트
- "사용자 관점에서 기능 표현, 액터와 유스케이스" → 유스케이스 다이어그램. 반드시 실행 → 포함, 조건부 → 확장.
- "메시지를 시간 순서로, 생명선·실행 상자" → 순차 다이어그램.
- "패키지 사이 의존" → 패키지 다이어그램. 가져와 씀 → import, 접근만 → access.
참고
UML 2.5.1 명세에서는 둘 다 다른 패키지의 이름을 들여오는 패키지 가져오기(package import)다. 들여온 이름을 공개(public)로 두면
«import», 비공개(private)로 두어 다시 내보내지 않으면«access»로 표시한다. ↩︎
