반응형

객체지향 프로그램을 개발에서는 Class간의 관계나 상속 관계를 잘 알고 있어야 한다.

하지만 개발을 하기에도 부족한 시간에 문서를 만들기란 쉽지 않다.

 

"Doxygen"을 이용하여 Document를 만들어 보자!

 

<<Doxygen 주요 기능들>>

-Class Diagram 생성

-Collaboration Diagram 생성

-Method, Member Index 생성

-Class Hierarchy 생성

-Etc

 

"Doxygen"이라는 오픈 프로그램은 MSDN이나 Java Doc 과 같은 페이지를 자동으로 생성하여 주는 고마운 무료 프로그램 중에 하나이다.

<<생성한 Document 예>>

 

설치 및 기본적인 사용 방법은 아래와 같다.

1."Doxygen"을 아래의 링크를 클릭하여 PC의 OS에 맞게 설치파일을 Download 하여 설치한다.

Doxygen Download

 

2. Diagram들을 그리기 위해서는 graphviz를 같이 설치를 해야 한다. 아래의 링크에서 PC의 OS에 맞게 설치파일을 Download하여 설치한다.

Graphviz Download

 

3. 두 개의 Program을 설치를 하였으면, Doxygen에서 몇 가지 설정을 한다. (Windows XP기준)

(1) Doxygen이 실행하여 생성할 파일들의 Working 폴더를 지정

(2) Wizard Tab에서 Project를 선택

(3) 생성 할Document의 이름을 지정

(4) 생성 할 Document의 Version을 지정

(5) 생성 할 Document Page의 상단에 넣을 이미지를 선택

(6) Source 가 위치한 폴더를 선택

(7) Source가 위치한 폴더의 하위 폴더도 포함할 수 있도록 "Scan recursively"를 체크

(8) Working 디렉토리 기준으로 생성 할 Document가 위치하게 될 경로 지정

(9) Mode 선택

(10) C++, C, PHP, Fortran, Java, C#등을 지원한다.

내가 만들 문서는 Java 소스를 이용하기 때문에 Java를 선택

(11) Output을 선택

(12) plain HTML 선택

(13) "Change color…"을 클릭하면 문서 페이지의 색상을 바꿀 수 있다.

(14) Diagrams를 선택

(15) GraphViz를 이용하기 위해 "Use dot tool from the GraphViz package"를 선택하고 원하는 Diagrams을 체크

(16) Expert 탭을 클릭(Wizard에서 설정한 기본적인 셋팅에 세부적인 셋팅을 추가 할 수 있다.)

(17) Project를 클릭

(18) 한글로 인코딩하기 위해 "EUC-KR"을 입력

(19) Output Language로 "Korean-en"을 선택

(20) Build 를 클릭

(21) 모든 소스들이 빠지지 않도록 필요한 항목들을 체크

(22) Dot을 클릭

(23) UML_LOOK을 선택

(24) Diagram을 생성한 파일의 포맷을 지정. jpg선택

(25) 설치한 Graphviz의 폴더의 하위에 위치한 bin 폴더를 선택

(26) Run을 Click

(27) "Run doxygen" 버튼을 클릭하게 되면, 이제 까지 설정한 값들을 이용하여 문서를 생성을 한다.

(28) "Doxygen has finished" 메시지를 확인 한 후, "Show HTML output"을 클릭하면 생성한 문서의 index.html을 브라우저로 Open을 한다.

 

이상으로 HTML Format의 Document를 생성을 해보았다.

마지막으로 한가지 더 해주어야 할 부분이 있는데, 위에서 설정한 값들을 저장을 해두지 않으면 다음에 Doxygen을 실행하고 번거롭게 모든 셋팅을 다시 하여야 한다.

프로그램의 상위의 "File->Save"를 선택하여 현재 Settings을 꼭! 저장을 하여, 다음에 문서를 생성할 때는 "File->Open"이나 "File->Open Recent"를 이용하여 이전의 셋팅 값들을 읽어들이자.

반응형

'SW개발' 카테고리의 다른 글

[Linux][VIM설정]  (0) 2012.07.31
[Linux][Screen]  (1) 2012.07.31
[Linux][alias 사용]  (1) 2012.07.31
[UML Diagram과 StarUML]  (0) 2012.07.31
[Android][APK구성 및 생성 절차]  (0) 2012.07.18
[GIT]  (0) 2011.11.21
[Linux 기본 명령어]  (0) 2011.10.19
[안드로이드 버전 정보]  (0) 2011.10.10
[Jar파일에서 Class쉽게 찾기]  (0) 2011.09.27
[안드로이드]SQLite Client Tool  (2) 2011.09.16

+ Recent posts