UML 다이어그램·관계
UML 그림의 목적과 선·화살표·마름모의 위치를 읽는다.
실기 학습 목표
UML 그림의 목적과 선·화살표·마름모의 위치를 읽는다.
핵심 이론
클래스 다이어그램은 정적 타입 구조, 유스케이스는 액터와 시스템 기능, 시퀀스는 객체 생명선과 시간순 메시지, 활동은 작업 흐름, 상태 머신은 한 객체의 상태 전이를 나타낸다.
일반화는 실선과 빈 삼각형이며 상위 타입을 향한다. 실체화는 점선과 빈 삼각형이며 인터페이스 등 명세를 향한다. 의존은 점선 화살표, 연관은 객체 사이의 연결이다.
집합은 빈 마름모, 합성은 채워진 마름모를 전체 쪽에 둔다. 합성은 독점 소유와 강한 수명 관계를 표현하며 단순 참조와 구별한다.
다중도 0..*는 0개 이상, 1은 정확히 하나, 1..*는 하나 이상이다. 선의 어느 끝에서 어떤 대상을 세는지 문장으로 바꿔 읽는다.
그림의 목적과 선의 의미를 두 번 읽는다
다이어그램 종류는 무엇을 표현하는지로 결정한다. 클래스는 타입의 정적 구조, 시퀀스는 객체 간 메시지의 시간 순서, 상태 머신은 한 객체의 상태와 사건, 활동은 작업의 제어 흐름이다. 생명선이 아래로 늘어선 모습과 상태 상자 사이의 전이를 구별한다.
관계선에서는 선 종류 → 끝 모양 → 끝이 붙은 대상 순으로 확인한다. 일반화는 실선·빈 삼각형이 상위 타입을 향하고, 실체화는 점선·빈 삼각형이 계약을 향한다. 마름모는 전체 쪽에 놓인다. 빈 마름모는 집합, 채운 마름모는 합성의 단서다.
예를 들어 주문이 주문항목을 독점 소유하고 수명도 함께 관리한다면 합성 관계다. 주문항목 쪽에 마름모를 그리는 것은 전체와 부분의 방향을 뒤집는 실수다. 다중도는 반대쪽 객체 하나와 연결될 수 있는 해당 끝 객체의 개수를 읽는다. 0..*는 0개 이상이며 정확히 0개 또는 정확히 한 개라는 뜻이 아니다. 그림을 문장으로 바꿔 읽은 뒤 명칭과 기호를 답한다.
풀이 예시
로그인 요청 동안 화면, 인증 서비스, 저장소가 메시지를 주고받는 순서를 모델링한다. 각 객체 아래에 생명선을 세로로 두고 위에서 아래로 시간의 진행을 표시한다. 이 UML 다이어그램의 명칭을 쓰시오.
예시 정답
시퀀스 다이어그램
풀이 과정
객체별 생명선과 시간순 메시지를 중심으로 상호작용을 나타내는 것은 시퀀스 다이어그램이다. 제어 흐름의 분기·병합을 중심으로 표현하는 활동 다이어그램과 목적이 다르다.
답안 점검
위 풀이 예시의 답을 가린 뒤, 핵심 이론의 규칙을 적용해 직접 풀어 보세요. 코드와 계산 문제는 중간값·단위·최종 출력의 순서를, 용어 문제는 지문의 핵심 단서와 답의 의미를 점검하세요. 해설과 다른 부분이 있으면 어느 조건을 놓쳤는지 확인하고 연결된 실기 문제로 다시 연습하세요.