기출 UML (Unified Modeling Language)

agnusdei·2025년 6월 16일

Software Engineering

목록 보기
17/59

❓ 문제

UML (Unified Modeling Language)에 관하여 설명하시오.


✅ 모범답안


📌 개념

UML (Unified Modeling Language, 통합 모델링 언어)
소프트웨어 시스템의 구조, 동작, 상호작용 등을 시각적으로 모델링 하기 위해 사용되는 표준화된 그래픽 언어입니다.

  • 객체지향 소프트웨어 개발 방법론을 기반으로 함
  • 복잡한 시스템을 이해하고 설계하는 데 도움을 줌
  • ISO 및 OMG(Object Management Group)에 의해 표준화됨

🎯 목적 및 역할

역할/목적설명
의사소통 수단개발자, 설계자, 사용자 간 공통 이해를 위한 시각적 표현
문서화 도구시스템의 구조 및 동작을 문서화함
설계 도구시스템 개발 전 설계를 위한 도식적 도구
분석 및 명세화 수단요구사항 분석, 기능 명세화 가능
소프트웨어 재사용성 향상컴포넌트 기반 설계 및 재사용성 제고

🧱 구조

UML은 크게 3가지 측면으로 분류됩니다:

  1. 사물 (Things)

    • 모델에서 표현되는 대상 (클래스, 객체, 컴포넌트 등)
  2. 관계 (Relationships)

    • 사물 간의 관계 (연관, 집합, 일반화, 의존 등)
  3. 다이어그램 (Diagrams)

    • 위 두 가지를 시각화한 표현

🧩 구성요소

구성요소설명
클래스 (Class)객체의 구조와 행동을 정의하는 틀
객체 (Object)클래스의 인스턴스
컴포넌트 (Component)독립적으로 배포 가능한 모듈
인터페이스 (Interface)클래스/컴포넌트가 구현해야 하는 기능 집합
액터 (Actor)시스템과 상호작용하는 외부 사용자
유스케이스 (Use Case)시스템이 수행해야 하는 기능 단위

🧠 주요 다이어그램 종류

UML 다이어그램은 구조(Structure)행동(Behavior) 다이어그램으로 나뉩니다.

1. 📐 구조 다이어그램 (Static view)

종류설명
클래스 다이어그램클래스 간 관계, 속성, 메서드 표현
객체 다이어그램객체의 상태와 관계 표현
컴포넌트 다이어그램모듈 단위 구성 요소 간 의존 표현
배치 다이어그램시스템의 물리적 배치 구조 표현

2. 🎬 행동 다이어그램 (Dynamic view)

종류설명
유스케이스 다이어그램사용자와 시스템 간 상호작용 표현
시퀀스 다이어그램객체 간 메시지 교환 순서 표현
커뮤니케이션 다이어그램객체 간 메시지 흐름과 구조 표현
상태 다이어그램객체 상태 변화 표현
활동 다이어그램흐름 제어를 중심으로 한 행위 표현

🧮 원리 및 핵심 개념

  • 추상화(Abstraction)
    복잡한 현실을 단순화하여 모델로 표현

  • 캡슐화(Encapsulation)
    데이터와 메서드를 하나의 단위로 묶음

  • 모듈화(Modularity)
    시스템을 독립적 단위로 나눔

  • 재사용성(Reusability)
    정의된 모델을 반복 사용 가능


📚 주요 용어 정리

용어의미
UML통합 모델링 언어
OMGObject Management Group, UML 표준화 기구
유스케이스사용자 관점에서 본 시스템의 동작 단위
액터시스템 외부의 사용자 또는 시스템
시퀀스 다이어그램시간 순서에 따른 메시지 흐름 표현

⚖️ 비교

항목설명
DFD (Data Flow Diagram)데이터 흐름 중심, 절차적 시스템에 적합
UML객체 지향 중심, 다양한 관점 제공 가능

👍 장점 vs 👎 단점

장점단점
시스템 복잡도 감소학습 곡선 존재
다양한 다이어그램 제공과도한 문서화 시 비효율 발생
개발자 간 의사소통 원활표현 규칙 미숙 시 오해 가능

🧒 어린이 버전 요약

"UML은 복잡한 컴퓨터 프로그램을 그림처럼 쉽게 보여주는 언어야!
어떤 인물이 어떤 일을 하고, 무슨 일이 언제 일어나는지를
도형과 선으로 그려서 우리 눈에 보이게 만들어주는 도구야!"


0개의 댓글