StarUML 클래스 다이어그램을 ActionScript 3.0 소스 코드로 변환하는 방법

2009/05/11 21:13

무료 UML 제작 프로그램으로 StarUML이 있다. 무료이지만 꽤 쓸만한 UML툴이다. 이게 원래 국산이였다. 사업이 잘 안되서 그런지 OpenSource로 전향된 이래로 국내외에서 매우 잘 활용되어 있는듯하다.

이 프로그램에서는 기본적으로 클래스 다이어그램을 Java,C#,C++언어로 변환할 수 있는 기능을 제공한다. 하지만 ActionScript 3.0으로 산출해줄 수 있는 기능이 없던 것이 개인적으로 아쉬웠다.

그런데 웹서핑도중 UML을 ActionScript 3.0으로 만들 수 있는 템플릿이 있는 것을 찾게되었다.

여기서는 설치방법과 간단히 사용하는 방법을 소개하도록 하겠다.

 

설치

 

1. StarUML_ActionScript3_Export.zip 을 다운로드 받는다.

2. C:Program FilesStarUMLmodulesstaruml-generatortemplates 에 압축을 푼다.

3. 정상적으로 설치하면 다음과 같은 경로에 파일이 존재해야한다.

C:Program FilesStarUMLmodulesstaruml-generatortemplatesActionScript 3.0template description.tdf
C:Program FilesStarUMLmodulesstaruml-generatortemplatesActionScript 3.0template.cot

StarUML이 실행한 도중이라도 다시 재실행할 필요 없이 사용할 수 있다.

 

사용법

 

1. 클래스 다이어 그램을 제작한다. 아래는 예제이다.

 

 

 

위 파일을 다운로드받아 StarUML에서 Open하면 위 그림의 다이어그램을 바로 실행해 볼 수 있다.

 

2. 메뉴에서 Tools > StarUML Generator… 를 선택하면 아래와 같은 창이 나온다. 여기서 ActionScript 3.0 템플릿을 선택하고 Next 버튼을 누른다.

Opt.에 …버튼을 누르면 템플릿 속성도 임의로 지정할 수 있다. 가령 생성자를 기본적으로 만들것인지 아닌지, Event에 toString()함수를 만들것인지 아닌지 check가 가능하다. 참 잘만들었다.

 

 

 

3. ActionScript 3.0으로 산출된 결과물을 저장할 경로를 지정한다.

 

 

4. 모든 준비가 완료되었다. Generate 버튼을 누르면 지정된 폴더에 만든 클래스 다이어그램을 바탕으로 ActionScript 3.0 코드가 만들어진다.

 

 

5. 아래는 만들어진 ActionScript 3.0 결과물이다. 문법상 문제없이 잘 만들어진것을 확인할 수 있다.

 

 

ActionScript 3.0에는 Event, 예외처리등도 필요하다. 우리가 사용한 ActionScript 3.0 템플릿을 이용하면 이 모든게 지원이 된다.

 

http://www.senocular.com/flash/tutorials/starumltoas3/ 로 가보면 몇가지 설정방법과 클래스 다이어그램이 어떻게 변환되는지 알 수 있다.

 

참고사이트

ActionScript 3.0 Generator 공식페이지 : http://www.senocular.com/flash/tutorials/starumltoas3/

StarUML 공식 페이지 : http://staruml.sourceforge.net/ko/

 

 

 

Adobe Flex / ActionScript 3.0 , , , ,

  1. 이야!!! 이거 좋네요!! 다이어그램으로 만들어주다니.. 신기하네요.
    지돌스타님 블로그는 사실 공부하면서 많이 들락거렸었는데 텍큐로 옴기셧나봐요!
    앞으로도 좋은 정보 많이 부탁드려요~~~~~~~~~

  2. 안녕하세요. 미유님 ^^
    지금 텍큐로 완벽하게 옮긴 상태는 아니고요.
    예전 내용을 모두 옮기고 도메인까지 이동하고 나면 완성될듯 싶네요. ^^

  3. 요즘 UML 책 보면서 공부하다가 문득 기억이 나서 왔다갑니다 >ㅁ</
    감사합니다 ^^

  4. 진짜..찾는거마다...다...포스팅을 해두셨군요ㅎㅎ

  5. ㅎㅎㅎ 지금은 이렇게 열심히 안하고 있다는.. ^^