“UML은 실전에서는 이것만 쓴다.” (저자: 로버트 C. 마틴)을 참조한 내용입니다.

UML이란 무엇일까요?

UML(unified modeling language)는 그 뜻 그대로 통합 모델링 언어라는 뜻 입니다.
더 자세하게, 소프트웨어 개념을 다이어그램으로 그리기 위해 사용하는 시각적 표기법 입니다.

우리는 왜 UML을 써야 할까요?

우리가 코드를 짤 때 마다 UML로 모델링을 하는 것은 사실 좋은 아이디어는 아닙니다.
사실 많은 부분에서 UML로 모델링을 하는 것보다 한시라도 빨리 코드를 짜고 테스트하는 게
우리가 생각하지 못한 오류를 한시라도 빨리 알 수 있기에 유리한 점이 많습니다.

그렇지만, 다음 몇 가지의 경우에는 UML은 큰 힘을 발휘합니다.

  1. 다른 사람들과 의사 소통하기
  2. 로드맵 그리기
  3. 백엔드(back-end) 문서 만들기

UML에서의 다이어그램의 유형

UML에서 다이어그램의 유형은 세 가지로 나눌 수 있습니다.

  1. 정적 다이어그램(Static diagram)
  2. 동적 다이어그램(dynamic diagram)
  3. 물리적 다이어그램(physical diagram)

UML은 반복을 통해 다듬는 것이다.

우리는 본질적으로 한 번에 모든 걸 설계하기 힘듭니다.
그러므로 아래의 원칙을 지키며 작은 단계를 하나씩 밟아야 합니다.

  • 내가 구현 하는 것의 목표를 이해해야 합니다.

    가장 먼저, 내가 지금 무엇을 위해 구현을 하는 지를 이해해야 합니다.

  • 행위를 위주로 시작하자.

    매번 스스로를 행위의 주체로 빙의하고 이야기를 진행하면 좋습니다.

  • 구조를 점검 하자.

    앞의 행위들의 주체를 코드 구조에서는 어떤 의미인지 조사해야합니다.
    이 때 중요한 것은 각각의 의존 관계를 분석하는 일입니다.

  • 코드를 마음 속으로 그려보자.

    우리는 UML을 작성할 때, 매번 이 UML을 어떻게 코드로 옮길까
    고민을 해야 합니다. 구현하기가 어렵다면 바로 멈추어야 합니다.

  • 다이어 그램의 진화

    앞의 단계가 진행되면서 처음 UML에서 상당 부분 변화가 되었습니다.
    다시 행위 위주로 흐름을 이해하면서 문제가 없다면 UML 그리기를 멈추고
    당장 코드를 쓰는 일로 진행하고, 문제가 있다면 앞의 단계를 다시 합니다.

UML을 작성할 때 가장 중요한 점

UML을 작성할 때 가장 중요한 점은 역설적으로 UML을 그리는 것에 치중할 것이 아니라
UML을 한시라도 빨리 작성하고 지워버리고 빨리 코딩을 할 수있게 하는 것입니다.
UML 존재 이유는 추상적으로 흐름을 이해하는 것이지 UML 자체가 목적이 아니기 때문입니다.