본문 바로가기
정보/ITx일상

[유틸리티] UML 모델링 툴 (UML Modeling Tools)

by 호군 2011. 7. 13.
반응형
원문 : http://kyungseo.pe.kr/blog/122


UML Modeling Tools

제품군

현존하는 대부분의 UML Modeling(혹은 Design 혹은 CASE) Tool들의 목록은 List of UML tools 페이지에서 확인할 수 있다. 제품의 가격별로 목록이 정리되어 있는 페이지도 있다. UML Products by Price(2005년 10월)에서 확인할 수 있다.

상용 제품

위에 소개한 페이지등을 참고하여 몇가지 대표적인 상용 도구들을 뽑아보면 다음 목록 정도로 정리할 수 있을 것 같다.

역사적으로 볼 때 가장 대표적인 도구이며 UML 툴의 대명사라고 할 수 있는 제품이 Rational사의 ROSE인데, IBM으로 넘어가면서 기존 Rose와 함께 RSA(Rational Software Architect)라는 이름으로 발전을 거듭하고 있다.

Borland의 Together 역시 대표적 UML 도구의 하나이며, MagicDraw, Visual Paradigm도 많이 알려지고 사용되는 도구들이다.

Power Designer는 Data Modeling, BPM(Business Process Modeling), UML등을 지원하는데, CA ERwin Data Modeler와 함께 UML 보다는 Data Modeling Sofrware Tool로서 더욱 잘 알려져 있다.

그리고 Visio의 경우 UML 도구라기보다는 Business Graphics Software로 분류하는 것이 더 적합했었지만, Visio 2000 이상 버전부터 UML 1.2를 지원하고 있으며, Visio 2007의 경우 UML 2.0을 지원하며 지속적으로 UML 관련 기능을 강화하고 있어 현재 여타 UML 툴들과 비교하여 손색이 없는 듯 하다.

마지막으로 EA(Enterprise Architect)는 고가인 다른 UML 도구들에 비해 상대적으로 저렴한데가 기능적으로도 손색이 없어 가격대비 성능이 우수하다고 알려져 있다.

사용자 삽입 이미지

Enterprise Architect Screenshot

오픈소스 제품

개인적으로 현재까지 경험해본 도구들로는 Rose, Together, Power Designer 등이 있다. - 사실 UML에 대한 내공도 적고 툴에 대한 이해도도 많이 떨어지는 관계로 경험해본 도구라기 보단, 건드려본 도구라고 표현하는 것이 맞는 것 같다. ^^;

참고로 이전에 PowerDesigner를 사용한 UML 작성이란 포스트를 작성한 적이 있다.

그외에 바로 언급할 오픈소스 형태의 도구들 중 하나인 StarUML을 2006년에 있었던 실제 프로젝트에 활용한 적이 있다.

상용 제품들과 달리 Open Source 형태의 UML 도구들도 많이 있는데 대표적인 것들은 다음과 같다.

이들 외에도 개발도구인 EclipseNetBeans를 위한 plug-in 형태로 제공되는 UML 툴들이 많이 있다. 예전에 패턴 등을 공부하면서 개인적으로 설치해봤던 JVISION의 경우 2002년 1.2.1 버전에서 판이 멈춘 것 같아 목록에서 제외하였다.

StarUML은 국내의 플라스틱 소프트웨어(Plastic software)사에서 개발한 것으로, 이전에 “플라스틱(Plastic)” 혹은 “아고라 플라스틱(Agora Plastic)“이란 이름으로 더 잘 알려진 도구인데, 이것을 2005년에 오픈소스로 전환한 것이다. UML 2.0을 지원하고 있지만 아쉬운 것은 더이상 버전업이 진행되지 않는다는 것이다.

고가의 상용 제품들에 비해서 다소 부족하지만 StarUML과 함께 오픈소스로서 비교적 강력한 UML 모델링을 지원하는 도구로 언급되는 것으로 ArgoUML이 있다. ArgoUML은 Java 기반으로 다양한 플랫폼을 지원한다.


체크 항목

위에서 살펴본 바와 같이 UML Modeling을 위한 도구들은 상용, 오픈소스를 포함하여 혼란스러울 만큼 충분히 많이 있다. 이들 도구들 중 어떤것을 취사선택하기 위해서는 많은 고려 사항들이 있겠지만 그중에서도 기본적으로 다음 항목들을 체크해봐야 할 것 같다.

  • 제품의 상태(버전업 여부, 오픈소스의 경우 해당 프로젝트의 활성 상태)
  • Reverse/forward engineering 지원 여부
  • UML 표준의 최신 스펙(2.0, 2.1) 지원 여부
  • 사용 편의성과 시스템 요구사항(너무 무겁지는 않은가?)
  • 플랫폼(Windows, Linux, MacOS, 등)의 지원 여부

제일 중요한 것은 돈이겠지만! ^^;
 

비교 분석

비교 분석이란 타이틀을 붙이기엔 궁색하지만, 참고 사이트에서 발췌한 자료를 몇가지 붙여보겠다.

UML Forum
UML Tools 페이지를 보면 몇가지 UML 도구들에 대해서 별점을 부여하고 있다. 아래는 항목별 별점을 표시한 해당 페이지를 캡쳐한 것이다.

사용자 삽입 이미지
 

Usability, Drawing, Executability, Standards Compliance, Value 등의 항목별로 비교할 때, MagicDrawEnterprise Architect의 점수가 가장 높게 나와있다.


Micro Software [2007년 5월호]의 다시 꺼낸 양날의 검 UML이란 글에서 몇가지 UML 도구들에 대해서 비교하고 있는데, 해당 내용을 참고하여 특징들을 정리하자면 다음과 같다.

  • IBM Rational ROSE
    • 모델링 도구의 표준임
    • RUP, UP 방법론을 적용
    • SODA를 통한 산출물 자동화 기능 제공
  • Borland Together Architect
    • 모델링과 개발을 동시에 지원
    • 강력한 Reverse Engineering
    • 산출물 자동화 템플릿 지원
  • Plastic software StarUML (Open Source)
    • 오픈소스임에도 불구하고 상용 제품 수준의 기능을 보유
    • UML Profile 기반의 모델링 지원
    • 모델링 플랫폼을 제공
  • Sparx Systems Enterprise Architect
    • 초경량의 모델링 도구
    • 강력한 협업 기능 제공
    • 모델 파일을 DB 형태로 관리
  • Microsoft Visio
    • 범용적인 Diagram 작성 도구
    • 탁월한 Diagram 작성 기능

약간 모호하다고 생각되지만, 같은 글에서 정리한 내용을 보면 각 도구의 활용분야는 다음과 같이 분류할 수 있다.

Rational ROSE RUP/UP 기반의 개발 방법론을 적용하는 중대형 규모의 프로젝트
Together Architect Reverse Engineering을 적극 활용할 수 있는 프로젝트
StarUML 상용이 아닌 오픈소스를 활용하고자 하며, 상용 수준의 모델링 작성이 필요한 프로젝트
Enterprise Architect 모델링 작업의 협업 및 도구의 퍼포먼스가 중요한 프로젝트
Visio 범용적인 Diagram 작성이 필요한 프로젝트



프로젝트에서는 상황에 따라 의지와 무관하게 툴이 선정될 수도 있고, 여건에 따라 오픈소스 형식의 툴을 사용해야할 수도 있다. 가능하다면 프로젝트의 규모를 고려하고 또한 각 툴의 특징을 파악하여, 활용도를 극대화할 수 있는 도구를 선정하는 것이 좋을 것이다.

고작해야 CBD 방법론의 산출물 구색을 맞출 용도로 앞뒤도 맞지않는 Use Case, Activity, Class, Sequence Diagram 몇개를 그려 넣으려고 고가의 도구를 도입하는 것은 좋지 않은 예가 될 것이다.

현재 진행중인 프로젝트에 사용할 UML 도구를 선정하기 위해 팀장님과 협의를 한 끝에 EA(Enterprise Architect)를 사용하는 것으로 결정을 내렸다.

구매요구서를 올리기 위해 가격 조사를 했었는데, 우선 Enterprise Architect는 다음과 같은 네가지 부류의 보급판으로 분류되고 있다.

  • Corporate Edition Floating License
  • Corporate Edition
  • Professional Edition
  • Desktop Edition

이중에서 Enterprise Architect Corporate Edition 2009년 02월 27일자 환율을 기준으로 알아본 가격이다.

Quantity Unit Price 가격(원)
01 - 04 US $239 363,399.50
05 - 19 US $219 332,989.50
20 - 100 US $199 302,579.50

2007년인가 같은 팀에서 EA를 구매했을 때 가격을 문의해보니 그때는 15만원선이었다고 한다. 환율이 무섭긴 무섭다. -_-

P.S. 사실과 다른 내용이 있다면 지적바랍니다. ^^

반응형