RadarURL

조회 수 3589 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

지금까지 프로그램 설계를 위해 몇 년에 걸쳐 UML 툴을 이것저것 써봤는데, 정말 마음에 꼭 드는 툴은 하나도 없었습니다. 기억나는데로 적어보면 Visio, StarUML, ArgoUML, Visual Paradigm, NetBeans UML plugin, Enterprise Architect, Metamill, PowerDesigner 등을 잠깐씩 만져봤는데, 라이센스 문제로 평가판을 받아서 써 본 툴이나 잠깐 구경만 해본 툴들은 장단점을 제대로 파악하기는 어렵고, 제대로라고까지 말하긴 뭐하지만 좀 오래 붙잡고 써 본 툴들은 Visio, StarUML 정도인것 같습니다. Visio는 그냥 드로잉 툴이라 UML 그리기가 여간 괴로운게 아니고, StarUML은 개발이 중단된 상태라 계속 사용하기가 좀 그렇죠.

이 툴들은 모두 UML로 직접 다이어그램을 그려가며 설계하는 툴들인데, 제 경우엔 이런 방식으로는 설계가 잘 안되더라구요. 반드시 설계 과정에서 좀 꼬이게 됩니다. 그래서 의사 코드(pseudo code)를 약간 작성하고, 이를 토대로 다이어그램을 그리고, 이 과정에서 나오는 문제점을 다시 의사 코드에 반영하고, 이를 다시 다이어그램에 그리고.. 하는 식으로 작업을 하게 됩니다. 그래서 제 경우엔 UML 설계가 현재의 툴들로는 좀 불편하고 번잡한 작업이 되어버립니다. 아마 제가 설계하는 방식이 UML과 딱 맞지는 않아서 그렇겠죠.

그렇다면 저 같은 사람에게 적합한 기능은 무엇일까 찾아봤습니다. 툴 상에서 UML 다이어그램과 실제 코드가 연동되어 동작하면서 다이어그램을 수정하면 바로 코드에 반영되고, 역으로 코드를 수정해도 바로 다이어그램에 반영되는 방식을 round trip engineering이라고 부르는데, round trip engineering이 제대로 구현된 툴은 상당히 고가이고, Java나 C#과 같이 이미 기반 라이브러리가 단단하게 구축되어 있고 상당부분 추상화된 언어가 아닌 다음에는 잘 동작하지도 않습니다. 제 경우엔 C++ 프로그래머이므로 C++에 대하여 round trip engineering 기능이 제공되는 툴이 있는지 찾아봤는데, 제가 찾아본 범위에서는 하나도 찾을 수 없었습니다. (뭐 결국엔 가격에 제약이 있어서 고가의 툴 몇개를 배제했기 때문이겠지만요)

그러던 차에 재미있는 프로젝트를 발견했습니다. 바로 Pseudo Code Modeling Language 라는 프로젝트인데, 의사 코드를 작성하여 다이어그램을 뽑아낸다는 접근법입니다. 이것 자체로도 괜찮기는 하지만, 이 방식은 의사 코드를 작성하는 표기법을 새로 익혀야 한다는 점이 약간 걸립니다. 편하자고 쓰는 툴인데 또 뭔가를 익혀가며 쓰는것도 문제고, 실질적으로 Java나 C#은 round trip engineering이 잘 되는 언어이기 때문에 이런 접근법이 별 필요도 없고.. 그래서, 제 생각엔 C++로 클래스 선언부만 작성하면 다이어그램이 뽑혀 나오고, 역으로 다이어그램을 만지면 클래스 선언부가 수정되는 방식의 round trip engineering 툴을 만들 수 있지 않을까 싶습니다. 완전히 C++ round trip engineering을 구현하는건 상당한 비용이 들어가는 일이니 어렵지만, C++과 유사한 의사 코드 언어를 상정하여 round trip engineering을 지원하는 설계툴을 만든다면 제 입장에서는 정말 유용할 것 같습니다. 이런 툴 어디 없나요? 좀 시간이 나면 만들어보고 싶은데, 지금은 생계의 압박이 너무 크네요. 이래서 우리나라가 오픈소스 프로젝트가 잘 안되는 모양입니다.

 

출처 : http://szmyoung.blogspot.kr/2008/09/pseudo-code-uml.html

?

공부 게시판

공부에 도움되는 글을 올려주세요.

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 [공지] 공부 게시판 입니다. 처누 2003.08.18 928097
2473 연애 폭소클럽 제36회 - 즉석미팅 1 (김제동) file JaeSoo 2003.08.18 18981
2472 연애 폭소클럽 제37회 - 즉석미팅 2 (김제동) file JaeSoo 2003.08.18 17808
2471 연애 폭소클럽 제38회 - 방학특집 연애특강 1 (김제동) 1 file JaeSoo 2003.08.18 16361
2470 연애 폭소클럽 제39회 - 방학특집 연애특강 2 (김제동) file JaeSoo 2003.08.18 17828
2469 연애 폭소클럽 제40회 - 방학특집 연애특강 3 (김제동) file JaeSoo 2003.08.18 16842
2468 웹 프로그래밍 이미지 특정 부분에 링크 만들기 처누 2003.08.24 15624
2467 웹 프로그래밍 게시판에 자신의 FTP 자료 올리기 3 처누 2003.08.25 13135
2466 동식물 고양이 클리닉 - 고양이 기르기 file JaeSoo 2003.10.10 13693
2465 동식물 고양이 클리닉 - 고양이 품종 file JaeSoo 2003.10.10 13427
2464 동식물 고양이 클리닉 - 2개월에서 4개월령 고양이 관리 file JaeSoo 2003.10.11 13428
2463 동식물 고양이 클리닉 - 4개월에서 9개월령 고양이 관리 file JaeSoo 2003.10.11 13132
2462 동식물 고양이 클리닉 - 다자란 고양이 file JaeSoo 2003.10.13 13922
2461 동식물 고양이 클리닉 - 나이든 고양이 file JaeSoo 2003.10.13 13679
2460 동식물 고양이 클리닉 - 고양이의 영양 file JaeSoo 2003.10.13 13429
2459 동식물 고양이 먹이와 주의사항 file JaeSoo 2003.10.13 13902
2458 동식물 아기 고양이의 식사 file JaeSoo 2003.10.13 11821
2457 동식물 고양이 사료 급여량 file JaeSoo 2003.10.13 12880
2456 기타 편지봉투 쓰는 법 file JaeSoo 2003.10.21 16993
2455 웹 프로그래밍 제로보드 로그인 실패시 이유를 메세지로 알려주기 처누 2003.11.04 8459
2454 웹 프로그래밍 최근 게시물 출력시 링크게시물에 스타일시트 적용하기 처누 2003.11.06 7927
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 124 Next
/ 124


즐겨찾기 (가족)

JAESOO's HOMEPAGE


YOUNGAE's HOMEPAGE


장여은 홈페이지


장여희 홈페이지


장여원 홈페이지


즐겨찾기 (업무)

알리카페 홀릭

숭실대 컴퓨터 통신연구실 (서창진)

말레이시아 KL Sentral 한국인 GuestHouse


즐겨찾기 (취미)

어드민아이디

유에코 사랑회

아스가르드 좋은사람/나쁜사람

JServer.kr

제이서버 메타블로그

재수 티스토리


즐겨찾기 (강의, 커뮤니티)

재수 강의 홈페이지


한소리


VTMODE.COM


숭실대 인공지능학과


숭실대 통신연구실


베너