UML 간단히

J.Noma·2021년 11월 1일
0

야곰 커리어 스타터 캠프의 리뷰어 '흰'의 강의내용을 정리한 포스팅입니다


UML설명

UML은 단순히 도식화한다는게 전부가 아니다

'의사소통을 위한 도구'로써 일종의 언어로 표현된다
(일반적인 프로그래밍 언어를 뜻하는게 아닌, 커뮤니케이션 방식이라는 관점에서의 언어)

UML에도 종류가 여러가지가 있으며 단순히 타입 간 관계만 표현하는 것은 아니다

코드를 설명하는 방식에는...

3가지 정도가 있을 수 있겠다
1. 코드로
2. 줄글로
3. 도표(도식)로

사실, 도표로 표현하는 것이 고생스럽지만 가장 좋다
문제는, 막상 도표를 그리라고 하면 자기 맘대로들 그린다
이걸 표준화할 순 없을까? 그게 UML이다

UML이 왜 필요할까?

이런 표준화를 통해 의사소통을 원활히 하기 위함이다

누구와 의사소통?

아마도,

  • 미래의 나
  • 협업자
  • 이 프로그램을 유지보수할 사람

UML 다이어그램에는 두 가지 종류가 있다

  • 구조 다이어그램
    정적인 면을 표현하기 위함. 시스템의 개념, 관계측면, 시간적으로는 어느 한 순간을 표현
  • 행위 다이어그램
    동적인 면을 표현하기 위함. 요소들 간 주고받는 흐름. 흐르는 시간 개념이 다이어그램에 포함됨

각 종류에도 세부 분류가 많다

이 중, '구조 다이어그램'에 속하는 Class 다이어그램을 그려보자

문법은 좋은 글들이 많으니 필요할 때 찾아보자

Class 다이어그램 생김새

반대로, 행위 다이어그램의 일종인 'Sequence 다이어그램' 생김새


결론

사실 Swift와 일대일 대응이 되지 않으므로, 좀 더 강조하고 싶은 방향으로 사용하거나 아니면, 팀 내에서 나름의 규칙을 별도로 정하는 경우도 있다

🔑 Tips

  • 너무 복잡하다. 잘게쪼개보기. 상위개념에서 생각해보기
  • 이것도 글과 같아서 한번에는 좋은 다이어그램이 안 나온다. 일단 적당히 만들고 리팩터링 필수
  • 일대일로 꼭 지켜야 하는 법칙은 없다. 의사소통성에 집중하자
profile
노션으로 이사갑니다 https://tungsten-run-778.notion.site/Study-Archive-98e51c3793684d428070695d5722d1fe

0개의 댓글