CPP2DIA (C++ 소스를 UML로 변환해서 보는 방법) (XSLT 포맷으로 UML 을 C++ 소스로 변환)

shint의 이미지





 


 


 


 


//


물론. Visual Studio 에서도 ClassDiagram.cd 을 지원해준다.


잘 찾아보면 .cd 파일 속성에서 XSD. XML Generator 등에 내용도 있던데... 소스를 XML로 만드는 방법을 잘 모르겠다.


 


 


//찾아보니. 이거 좋습니다.


Enterprise Architect - (소스 분석 도구) ★★★★★


http://www.devpia.com/Maeul/Contents/Detail.aspx?BoardID=51&MAEULNo=20&no=8789&ref=8789



 




//이거 잘 되는거 같다.


StarUML (UML <---> C++ 변환) ★★★★★ 
http://www.devpia.com/Maeul/Contents/Detail.aspx?BoardID=51&MAEULNo=20&no=8787&ref=8787






//


MySQL DB 를 C++ 로 변환 할 수 도 있을것 같다.






//


C++ 소스를 분석하는 몇가지를 알게 되었다.


- flowchart : C 만 되던거 같다.


- cpp2dia : 되기는 하는데 모양이 좀 ㅇ_ㅇ;; 게다가 내용이 많이 빠지기도 한다.




- doxygen : 아직 모름


- gcc xml : 아직 모름




다른 프로그램은 잘 안됐다.








http://codecat.tistory.com/418


나는 차단되서 댓글을 적을 수 없다. ㅡ_ㅡ;;




http://cpp2dia.sourceforge.net/








이렇게 하면. C++ 소스의 함수를 VI 에서 이동하기 쉽다.


ctags -R *




윈도우에서 Notepad 로 하는 방법도 있다.


http://minimonk.net/5283


http://iamaman.tistory.com/1175













해결 방법은
1. CTags 설치
http://ctags.sourceforge.net/




C:\usr\bin\ctags.exe 여기에 폴더를 만들어서 복사.


 


만약. J: 드라이브를 사용한다면. 여기에 생성해야 한다.


J:\usr\bin\ctags.exe



 


2. GraphViz 설치
http://www.graphviz.org/Download_windows.php
설치된 C:\Program Files\Graphviz2.38 폴더를
C:\Users\shint\gv1.7c 로 복사해 두어야 합니다. (임시 방편)




3. ActiveTCL 설치
http://www.activestate.com/activetcl






4. cpp2dia 설치 (최신버전 다운)
http://cpp2dia.sourceforge.net/
http://sourceforge.net/projects/cpp2dia/files/




원하는 폴더에 압축을 푼다. 나는 여기에 풀었다. (사실. 이렇게 안해도 된다)
C:\Users\shint\Desktop\test\cpp2dia




C:\Users\shint\cpp2dia 에도 넣어야 하니. 여기가 좋을것 같다. (이건 필요하다)






5. 개발자가 만든 C++ 소스 폴더로 이동


cmd
cd C:\Users\shint\Desktop\test




6. tclsh 실행
tclsh C:\Users\shint\Desktop\test\cpp2dia\cpp2dia.tclsh (이렇게 해도 되지만. 프로젝트 폴더에서 임시로 사용)




tclsh 프로그램에서 cpp2dia.tclsh 스크립트를 실행하면. 현재 프로젝트의 폴더에 있는 C++ 소스를 output.dia 파일로 생성한다.


tclsh C:\Users\shint\cpp2dia\cpp2dia.tclsh (이렇게 하면 아무 폴더에서나 된다.)




output.dia 가 생성 된다.







7. Dia Diagram Editor 설치
http://sourceforge.net/projects/dia-installer/?source=typ_redirect




output.dia 를 GUI 로 볼 수 있다.




그다지. 만족 스럽지는 않은 화면이다. ㅡ_ㅡ;;


VISIO 라는 프로그램도 있다.




근데. 데이터를 확인해보니. 클래스 내용이 70%나 빠져있다.

























output.svg














//


XSLT 를 사용해서 C++ 소스로 만들 수 도 있다.














 

Forums: 

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.