블로그 이미지
앨리삵

앨리삵입니다.

Rss feed Tistory
Whatever 2015.05.25 12:32

UML 작성도 코딩하는 시대

프로그램을 설계할때 흔히 UML(unified modeling language) 다이어그램을 사용해서 클래스관계 등을 정의한다.

클래스 설계에 있어서 UML 다이어그램은 클래스 관계를 간단한 도형 / 관계 화살표를 사용하여 직관적으로 표현하기 때문에 굉장히 효과적이다.

요즘은 UML 다이어그램을 그리는 툴도 있고 MS VisualStudio에서는 IDE 내애서 클래스 다이어그램을 작성하고 바로 코드로 변환해주는 기능도 제공하고 있다.


그런데 간혹 마우스로 드래그/드랍 형태의 툴이 귀찮을때가 있다. 이런 분들을 위해 코딩하는 UML 다이어그램에 대해 소개하려 한다.


처음으로 알게된 곳은 PlantText라는 사이트.

PlantText는 직관적인 스크립트를 사용하고 있어서 따로 배워야한다는 느낌이 거의 안든다.

클래스의 정의는 


class 클래스명 {

[+|-|#] 타입 변수혹은함수명

}


의 형태이고 +는 public, -는 private, #은 protected를 의미한다. 그리고 클래스 사이의 관계는


부모클래스 머리모양-방향- 자식클래스: 관계


으로 표현한다. 예를들어 Base <|-down- Derived: Inheritance 는 상속관계를 의미한다.

자세한 문법은 http://plantuml.sourceforge.net/classes.html를 참고하자.



재밌는거 하나는 결과 이미지를 TXT로 볼 수 있다는점이다. 결과 하단에 저장 형식이 있는데, TXT를 눌러보면 아래처럼 텍스트 형태로 출력된다. 간략화 된 형태이기는 하지만, 분명 필요했던 기능이다.


         ,------.   ,----.      
         |Window|   |Door|      
         |------|   |----|      
         |------|   |----|      
         `------'   `----'      
                                
                                
       ,-------------------.    
       |Dwelling           |    
       |-------------------|    
       |+Int Windows       |    
       |-------------------|    
       |+void LockTheDoor()|    
       `-------------------'    
                  |             
,---------.  ,-------.   ,-----.
|Apartment|  |Commune|   |House|
|---------|  |-------|   |-----|
|---------|  |-------|   |-----|
`---------'  `-------'   `-----'

이런식으로 나온다.


PlantText 외에도 http://www.codeuml.com/ 라는 곳도 있고, 찾아보면 굉장히 많다. 그래도 PlantText가 가장 쓰기 편했다.

저작자 표시 비영리 변경 금지
신고

'Whatever' 카테고리의 다른 글

초대장 나눠드립니다  (63) 2015.08.02
UML 작성도 코딩하는 시대  (2) 2015.05.25
초대장 나눠드려요  (44) 2015.05.18
Oculus Crescent Bay 체험기  (1) 2015.05.16
초대장 나눠드려요  (13) 2014.12.11
SF 사전  (0) 2014.01.04
  • 사포 2015.07.30 23:40 신고 ADDR 수정/삭제 답글

    예전에 아버지께서 한창 객체지향설계 연구하시면서 쓰던게 Rational Rose랑 Virtual Paradiam이었는데 걔네들도 저런식으로 UML 짜는걸로 기억이 나네요... 그 땐 저런식으로 설계도를 그리면 어떤 언어로든지 결과물을 낼 수 있다고 말씀하셔서 UML 자체가 신기했었는데 ㅋㅋㅋ

TOTAL 279,217 TODAY 183

티스토리 툴바