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


profile
DevSecOps, Pentest, Cloud(OpenStack), Develop, Data Engineering, AI-Agent

0개의 댓글