UML?

maketheworldwise·2022년 3월 25일
0


이 글의 목적?

책을 읽으면서 종종 UML이라는 단어와 객체 다이어그램이 보이면서 정확히 UML이 무엇인지 간략하게 정리해보고자 한다.

UML이란?

UML(Unified Modeling Language)은 프로그램 설계를 표현하기 위해 사용하는 표기법이다. 요구분석, 시스템 설계, 시스템 구현 등의 시스템 개발 과정에서 개발자간의 의사소통을 원활하게 하기 위해 표준화한 모델링 언어다.

UML 표기법

책을 기준으로 표기법을 정리해보자.

클래스 멤버, 객체 멤버

  • 클래스 멤버 : 밑줄
  • 객체 멤버 : 밑줄 없음
  • 객체 참조 : 화살표

상속과 인터페이스

  • 상속 : 실선의 화살표
  • 인터페이스 : 선의 화살표로 표현했다.

접근 제어자

  • private : -
  • default : ~
  • protected : #
  • public : +

실무자의 이야기

간단하게 다시 정리하자면, UML은 사람들끼리 주고 받을 수 있는 프로토콜이며, 표준을 정해놓았기 때문에 개발자간의 소통이 원활하게 해주는데 도움을 주는 모델링 언어다. 즉, UML은 내가 개발해야하는 프로그램에 대한 기획의 명세를 기술적으로 구현할 수 있는지에 대한 내용을 담아 - 적은 비용으로 코드가 아닌 방법으로 소통할 수 있는 일종의 Technical Specification이다.

개인적으로 UML을 세세하게 작성하는 것을 아직까지 본 적이 없다. (지금 내가 개발하고 있는 서비스에도 UML을 작성하지 않았다. 😹) 하지만 자세하게 작성하지 않아도, 같이 일하는 동료가 귀찮아해도, 가능하면 간단하게라도 작성하는 편이 좋다고 실무자에게 이야기를 들은적 있다. 대표적으로 작업을 한 특정 코드에 대해 리뷰를 할 때 큰 도움이 된다고 했다.

💡 IntelliJ PlantUML Integration 플러그인

책에서는 클래스 다이어그램과 시퀀스 다이어그램을 가장 많이 사용한다고 한다. 또한 개별 메소드의 작동 방식은 액티비티 다이어그램으로 많이 표현하는데, 책의 필자는 주로 순서도나 NS 차트를 많이 이용한다고 한다. 의사소통이 필요하거나 논리가 복잡한 메소드 정도만 액티비티 다이어그램이나 순서도를 그린다고 한다.

추가로, 이 플러그인을 사용하려면, graphviz 설치가 필요하다.

brew install graphviz

이 글의 레퍼런스

profile
세상을 현명하게 이끌어갈 나의 성장 일기 📓

0개의 댓글