[CS] UML 다이어그램

JY·2023년 9월 20일
0

CS

목록 보기
7/10
post-thumbnail

📌 UML (Unified Modeling Langueage)


  • 프로그램 설계를 표현하기 위해 사용하는 표기법

  • 요구분석, 시스템 설계, 시스템 구현 등의 시스템 개발 과정에서 개발자간의 의사소통을 원할하게 이루어지게 하기 위하여 표준화한 모델링 언어


📌 Swimlanes


  • 시스템이 적용될 업무의 흐름을 나타내는 다이어그램

  • UML에 속하지는 않지만, 업무 흐름을 표현하는데 주로 사용된다. (액티비티 다이어그램과 유사)

  • 업무의 흐름이 엔티티(대상, Entity)들 간에 완벽히 분리되어 있다.


📌 Swinlanes Symbols


  • 시작/종료 심볼 : 업무의 시작과 종료를 나타낸다.

  • 프로세스 심볼 : 특정한 행위나 업무, 동작 등을 나타내는데 사용된다.

  • 순환심볼 : 특정한 행위나 업무, 동작 등의 반복적 수행을 나타내는데 사용된다.

  • 출력심볼 : 화면 등에 사람이 확인할 수 있는 정보를 출력하는 행위를 나타내는 심볼

  • 조건심볼 또는 결정 심볼 : 텍스트로 표시된 주석에 대한 조건을 만족하는 각각의 경우에 대해 분기를 표시하는 심볼

  • 스윔레인 : 시스템을 구성하는 각각의 주체들을 사각의 영역으로 나타내고, 해당 주체의 영역에는 해당 주체가 수행하는 업무나 행위 등을 심볼을 통해 나타낸다.

📌 Use Case Diagram


  • 사용자와 시스템 사이의 상호작용(Interaction)을 나타내는 다이어그램

  • 시스템을 사용할 때 발생할 수 있는 행위(Actions)들을 나열하지만, 해당 이벤트들이 어떻게 처리되는지는 자세하게 표현하지는 않는다.


📌 Class Digram


  • 객체 지향 시스템 모델을 구현할 때 사용되며, 클래스들 간의 관계를 링크로 표현

  • 실세계를 클래스로 변환하는 과정


📌 클래스 간의 관계


  1. 일반화(Generallization)

    • 어떤 대상을 파악할 때, 구체적인 특성을 다루기 보다 일반적인 분류로부터 출발

      • 일반적인 분류의 특성을 파악한 다음, 대상의 구체적인 특성을 분석한다.
    • 일반화가 프로그래밍 언어에 반영되는 방식

      • 일반화는 Java나 Python에서의 상속(Inheritance)으로 구현된다.
      • 하위 클래스는 상위 클래스의 속성과 연산을 물려받게 된다.
      • 하위 클래스는 상위 클래스의 속성과 연산 외에 자기 자신의 속성과 연산 추가 가능
    • 일반화의 장점

      • 변경사항 발생 시, 모든 하위 클래스를 확인할 필요 없이 상위 클래스만 고려하면 된다.
  2. 합성(Composition)

    • 두 클래스 사이에 의존성이 존재함을 나타낸다.
    • 의존성은 한 쪽 클래스에서 다른 쪽 클래스로 발생하게 된다.
    • 화살표 색 ( O )
  3. 집합(Aggregation)

    • 합성과 동일하나 한 가지 차이점이 존재 (의존 X)
    • 의존성이 약해 한 쪽이 없어지더라도, 다른 한 쪽에 영향을 미치지 않는다.
    • 화살표 색 ( X )

📌 Class Digram Symbols



📌 Sequence Diagram


  • 시스템을 구성하는 컴포넌트들 간의 상호작용을 표현하기 위한 다이어그램
  • 컴포넌트를 무엇으로 하느냐에 따라 high-level과 low-level 모두 표현 가능
  • Symbol의 종류가 다양해서 표현 가능한 상호작용이 매우 많다.

📌 Sequence Diagram Symbols



📖 메모

High-level - Activity Diagram (Swimlanes), Use case Diagram
Low-levelC - Class Diagram, Sequence Diagram

0개의 댓글