UML은 언제 사용하는가?

2021. 12. 19. 17:18Software Engineering

    목차
반응형

UML vs. code

UML의 작성이 code의 작성보다 더 쉬운가?

소스 코드를 변경하는 것이 오히려 더 쉬울때도 있다.
그러니, UML을 남용하지 말자!

test하기에 definitive한 것을 얻고자 할때 UML을 사용한다.
code의 test보다 UML의 test가 더 쉽다.

-> 디자인의 review를 coworker와 함께 할때, 당연히 abstract한 UML이 용이함

Why UML?

Coding 전에 comprehensive한 design을 해야 하는 이유?
blueprint의 잘못을 design 단계에 발견하여 수정하는 것이 휠씬 cheaper!

그런데.. software에서도 같은가?
사실 UML design에 더 많이 시간을 쏟는 경우가 많음
그러니, structural engineering과 비교하는 것은 약간 문제

cost effective 하다고 보기는 어려울 수 있음

Effective use of UML

효과적인 UML의 사용은?

그럼 UML을 왜 쓰나? 

1. 정보 공유를 위해서!

편함!
그러나 알고리즘 level에서는 불편함 (OCL의 불편함을 상상하라!)
큰 roadmap을 만드는데 있어서 사용하면 편리하다.
- 전체 system의 구조를 파악하는데 용이하기 때문이다.

단, UML을 전체 모두 detail하게 구석구석 그려서 보려는 것은 nonsense! (코드 보다 복잡한 설계 문서가 무슨 필요!)
-> major issue만 보여주는 very silent diagram이 좋다.


2. 어떤 UML을 보관해야 하는가? 


대부분의 경우에는 case tool을 사용해서 그리려고 하지 마라!
간단히 whiteboard나 종이 조가리에 그리고 쉽게 버려라!

common design의 설계는 tool로 그려서 저장한다.
자주 변경되서는 안되는 부분을 의미한다.

이런 중요한 design은 알아서 알게된다.. 자주 발생하기에..
오래 변하지 않는 중요한 자료만 간결하게 UML로 저장하도록 한다.

반응형