UML

태그: ,

카테고리:

출처: What is UML, The Unified Modeling Language
이미지 출처: The Unified Modeling Language


아래 내용은 위의 출처에서 참조하는 글을 읽고,
느낀점 등을 간략히 메모한 것이므로
🚫 위 글에 대한 요약본이나 대체재가 아님을 알린다.


UML (Unified Modeling Language) 이란?

UML은 소프트웨어 설계에 사용되는 도면을 만들기 위해 사용하는
다이어그램에서 이러한 객체들을 표현하고 추적하는 언어다.

UML에 사용된 객체지향 컨셉들

UML에 대해 이해하기 전에 아래의 OOP 메인 컨셉들에 대해 알아야한다.

  • 클래스, 객체, 상속, 추상화, 캡슐화, 다형성

UML diagram(도표)란?

UML 다이어그램은 개발자 또는 비즈니스 소유자가
시스템의 구조와 동작을 이해, 분석 및 수행하기 쉽도록
UML 시스템을 시각적으로 표현한 도표다.

왜 UML diagram을 사용하나?

  1. 문제 예방 또는 해결에 도움이 됨
    • 구조가 한 눈에 보이니 대비, 대처가 편하다.
  2. 생산성 향상
    • 모든 팀원이 같은 생각을 공유할 수 있다면, 엄청난 시간 절약이 가능하다.
  3. 시스템에 대한 쉬운 이해
    • 비개발자도 쉽게 이해할 수 있다.

UML diagram의 용도

  1. 시스템 초안
    • 시스템의 전반적인 초안을 그리고 설계하는데 사용된다.
  2. 개발 언어 시각화
    • UML diagram을 코드로 변환해 개발 시간을 단축할 수 있다.
  3. 사업 분석
    • 고객 경험 개선이나 판매 경로 분석 등 사업 분석에 사용된다.

ER diagram과의 차이

UML diagram은 ER diagram을 포함한다.

항목 UML ER (Entity Relationship diagram)
정의 소프트웨어에서 사용되는 객체 지향의 주 컨셉들의 시각화 객체들과 그의 관계들을 표현
관계 UML은 ER의 상위 클래스 ER은 UML의 하위 클래스
용도 소프트웨어 설계 및 추적 DB의 설계 및 구현

UML diagram의 종류

크게 구조와 행동 타입의 다이어그램으로 나뉜다.

구조적 도표 (Structure diagrams)

  • Class diagram

    • 클래스의 내부 구성요소 및 관계들을 표시
    • class diagram ex image
  • Composite Structure diagram

    • 전체 시스템 보다는 복잡한 특정 구조에 대한 세부적인 구성이나 관계를 보기 쉽게 풀어서 표시
    • Composite Structure diagram ex image
  • Object diagram

    • 객체들의 내부 구성요소 및 관계들을 표시
    • Object diagram ex image
  • Component diagram

    • 부품들의 논리적, 물리적 관계들을 표시
    • Component diagram ex image
  • Deployment diagram

    • 배포 구조도
    • Deployment diagram ex image
  • Package diagram

    • 패키지 구조도
    • Package diagram ex image
  • Profile diagram

    • 스테레오 타입을 이용해 값들을 태그하고 확장하는 방식으로 표현하는 도표
    • Profile diagram ex image

Class diagram과 Object diagram의 차이
Class diagram은 클래스와 그 관계들에 집중하는 반면, Object diagram은 어떤 시점이나 상황에서 객체들이 가지는 상호작용들과 상태에 집중한다.

행동적 도표 (Behavior diagrams)

  • State Machine diagram

    • 객체들의 생명주기와 그 상태(State) 변화에 대해 계기(Transition/Event) 및 변화 전(entiry), 중(do), 후(exit)에 하는 활동(Activity)과 변화조건(Gaurd) 관리에 사용되는 도표
    • State Machine diagram ex image
  • Activity diagram

    • 마치 플로우 차트처럼 시스템 내에서의 활동과 행동의 흐름에 대한 도표
    • Activity diagram ex image
  • Use Case diagram

    • 시스템과 사용자의 상호작용에 대한 도표로 사용자가 수행 가능한 기능들을 관찰하기 좋다
    • Use Case diagram ex image
  • Sequence diagram

    • 생명선으로 표시된 객체들을 기준으로 서로 주고받는 메시지에 집중한 도표
    • Sequence diagram ex image
  • Communication diagram (Collaboration diagram)

    • 메시지를 이용해 객체간의 상호작용을 단순하게 표시하는 도표
    • 상호작용의 용도나 결합된 다른 내용들과 같은 복잡한 구조적 메커니즘을 제외해서 단순하다
    • 구조적 도표와 행동적 도표에 모두 속함
    • Communication diagram ex image
  • Timing diagram

    • 생명선으로 표시된 객체들을 기준으로 시간의 흐름에 따라 변화되는 상태에 집중한 도표
    • Timing diagram ex image
  • Interaction Overview diagram

    • Activity diagram과 흡사하나, 각각의 독립된 활동이 중첩될 수 있는 프레임으로 표시되기 때문에 복잡한 시나리오에 대해서 좀 더 작은 단위로 설명이 가능하다
    • Interaction Overview diagram ex image

Class diagram 표기법, 출처: 위키

  • 관계표현
    • 관계표현
  • Class 예시
    • class 예시 이미지
  • 직접연관 예시
    • 직접연관 예시 이미지
  • 복합연관과 집합연관 예시
    • 복합연관과 집합연관 예시 이미지
  • 일반화 예시
    • 일반화 예시 이미지
  • 의존 예시
    • 의존 예시 이미지

태그: ,

카테고리:

업데이트:

댓글남기기