๋ฐ˜์‘ํ˜•

Doxygen ์‚ฌ์šฉ์„ ์œ„ํ•œ ๋ณธ๋ฌธ์€ ์•„๋ž˜ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.

[Doxygen] ๋…์‹œ์  ์œผ๋กœ ์ฝ”๋“œ ๋ฌธ์„œ ๋งŒ๋“ค๊ธฐ ์ด์ •๋ฆฌ (์˜ˆ์ œ ํฌํ•จ)

 

[Doxygen] ๋…์‹œ์  ์œผ๋กœ ์ฝ”๋“œ ๋ฌธ์„œ ๋งŒ๋“ค๊ธฐ ์ด์ •๋ฆฌ (์˜ˆ์ œ ํฌํ•จ)

๋…์‹œ์  (Doxygen)์ด๋ž€? ํ˜น์‹œ ํŠน์ • ํšŒ์‚ฌ์—์„œ ์ œ๊ณตํ•˜๋Š” SDK(Software Development Kit)๋ฅผ ์‚ฌ์šฉํ•ด ๋ณธ ๊ฒฝํ—˜์ด ์žˆ๋‚˜์š”? ์žˆ๋‹ค๋ฉด, ์ฒ˜์Œ ์‚ฌ์šฉํ•˜๋Š” SDK๋ฅผ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด ๋ž˜ํผ๋Ÿฐ์Šค ๋งค๋‰ด์–ผ์„ ์ฝ์–ด๋ณธ ์ ์ด ์žˆ๋‚˜์š”? SDK๋ฅผ ์‚ฌ

luckygg.tistory.com

Graphviz๋ž€?

Graphviz๋Š” Graph Visualization Software์˜ ์•ฝ์ž๋กœ, ๋ง ๊ทธ๋Œ€๋กœ ๊ทธ๋ž˜ํ”„๋ฅผ ์‹œ๊ฐํ™”ํ•˜๋Š” ์˜คํ”ˆ ์†Œ์Šค ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ์•„๋ž˜ Graphviz ํ™ˆํŽ˜์ด์ง€์˜ Gallery ๊ฒŒ์‹œํŒ์„ ๋ณด๋ฉด ์ •๋ง ๋‹ค์–‘ํ•œ ์ข…๋ฅ˜์˜ ๊ทธ๋ž˜ํ”„ ์‹œ๊ฐํ™”๋ฅผ ์ง€์›ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

http://www.graphviz.org/gallery/

 

Gallery

Graph Visualization Software

graphviz.org

Graphviz Gallery ๊ฒŒ์‹œํŒ ํ™”๋ฉด

์‚ฌ์‹ค ์ด๋ ‡๊ฒŒ ๋ณด๋ฉด ๋ญ”๊ฐ€ ํˆฌ๋ฐ•ํ•˜๊ณ  ๋ญ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋‚˜ ๊ณ ๋ฏผ์Šค๋Ÿฌ์šด๋ฐ์š”. ํ•˜์ง€๋งŒ ๊ฑฑ์ •ํ•˜์ง€ ์•Š์•„๋„ ๋˜๋Š” ๊ฒƒ์ด, Doxygen์—์„œ๋Š” Graphviz๋ฅผ ๋‹จ์ˆœํžˆ ํด๋ž˜์Šค ๋‹ค์ด์–ด๊ทธ๋žจ์„ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด์„œ๋งŒ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๊ฒŒ๋‹ค๊ฐ€ Doxygen GUI์˜ ํ”„๋กœ์ ํŠธ์—์„œ ๋ช‡ ๊ฐ€์ง€ ์„ค์ •๋งŒ ํ•˜๋ฉด, ์‚ฌ์šฉ์ž๋Š” ๋” ์ด์ƒ ์‹ ๊ฒฝ ์“ฐ์ง€ ์•Š์•„๋„ ๋˜๋Š” ๊ฒƒ์ด์ฃ .

Graphviz ๋‹ค์šด๋กœ๋“œ ๋ฐ ์„ค์น˜ํ•˜๊ธฐ

์•„๋ž˜ Graphviz ๋‹ค์šด๋กœ๋“œ ํŽ˜์ด์ง€์— ์ ‘์†ํ•œ ํ›„ ์ž์‹ ์˜ OS ํ™˜๊ฒฝ์— ๋งž๋Š” ์„ค์น˜ ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.

http://www.graphviz.org/download/

 

Download

Graph Visualization Software

graphviz.org

์ €๋Š” Windows 10 x64 ํ™˜๊ฒฝ์ด๋ฏ€๋กœ, graphviz-2.49.1 64bit๋ฅผ ๋‹ค์šด๋กœ๋“œํ–ˆ์Šต๋‹ˆ๋‹ค.

Graphviz ๋‹ค์šด๋กœ๋“œ ํ™”๋ฉด

์„ค์น˜ ํŒŒ์ผ์„ ์‹คํ–‰ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ํ™”๋ฉด์ด ๋ณด์ž…๋‹ˆ๋‹ค. ๋‹ค์Œ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

Graphviz ์„ค์น˜ ํŒŒ์ผ ์‹คํ–‰ ํ™”๋ฉด

๋ผ์ด์„ ์Šค ๋™์˜ ํ™”๋ฉด์—์„œ ๋™์˜ํ•จ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•œ ํ›„ ๋‹ค์Œ ํŽ˜์ด์ง€๋กœ ๋„˜์–ด๊ฐ‘๋‹ˆ๋‹ค.

๋ผ์ด์„ ์Šค ๋™์˜ ํ™”๋ฉด

์„ค์น˜ ์˜ต์…˜์œผ๋กœ ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์„ ํƒ ํ™”๋ฉด์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ํŠน๋ณ„ํ•œ ์ด์œ ๊ฐ€ ์—†๋‹ค๋ฉด ๊ธฐ๋ณธ ๊ฐ’์œผ๋กœ ๋‘๊ณ  ๋‹ค์Œ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

์„ค์น˜ ์˜ต์…˜ ํ™”๋ฉด

์„ค์น˜ ๊ฒฝ๋กœ ์„ ํƒ ํ™”๋ฉด์—์„œ๋„ ํŠน๋ณ„ํ•œ ์ด์œ ๊ฐ€ ์—†๋‹ค๋ฉด, ๊ธฐ๋ณธ ๊ฒฝ๋กœ ๊ทธ๋Œ€๋กœ ๋‘๊ณ  ๋‹ค์Œ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

์„ค์น˜ ๊ฒฝ๋กœ ์„ ํƒ ํ™”๋ฉด

๋งˆ์ง€๋ง‰์œผ๋กœ ์‹œ์ž‘ ๋ฉ”๋‰ด ํด๋” ์„ ํƒ ํ™”๋ฉด์ž…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ๊ฐ’์œผ๋กœ ๋‘๊ณ  ์„ค์น˜ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์—ฌ ์„ค์น˜๋ฅผ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์‹œ์ž‘ ๋ฉ”๋‰ด ํด๋” ์„ ํƒ ํ™”๋ฉด

์„ค์น˜๋Š” ๊ธˆ๋ฐฉ ๋๋‚˜๊ณ  ์•„๋ž˜์™€ ๊ฐ™์€ ํ™”๋ฉด์ด ํ‘œ์‹œ๋˜๋ฉด ๋งˆ์นจ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์—ฌ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค.

์„ค์น˜ ์™„๋ฃŒ ํ™”๋ฉด

Doxygen GUI์—์„œ Graphviz ์„ค์ •ํ•˜๊ธฐ

Doxygen GUI์—์„œ ๋‹ค์ด์–ด๊ทธ๋žจ์„ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋‘ ๊ฐ€์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์ƒ์„ฑ ๋ฐฉ์‹๊ณผ GraphViz ๋ฐฉ์‹์ธ๋ฐ์š”. ์šฐ์„ , ์–ด๋–ป๊ฒŒ ํ‘œ์‹œ๋˜๋Š”์ง€ ๊ฒฐ๊ณผ๋ถ€ํ„ฐ ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜ ๊ทธ๋ฆผ ์ค‘ ๊ฐ€์žฅ ์™ผ์ชฝ์ด GUI์—์„œ ๊ธฐ๋ณธ์œผ๋กœ ์ƒ์„ฑ๋˜๋Š” ๋‹ค์ด์–ด๊ทธ๋žจ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ฐ€์šด๋ฐ๊ฐ€ GraphViz๋กœ ์ƒ์„ฑ๋œ ๋‹ค์ด์–ด๊ทธ๋žจ์ž…๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰์œผ๋กœ ์˜ค๋ฅธ์ชฝ์€ UML_LOOK ์˜ต์…˜์„ ์ผฐ์„ ๋•Œ์˜ ๋ชจ์Šต์ž…๋‹ˆ๋‹ค. ๋ฉค๋ฒ„ ๋ณ€์ˆ˜์™€ ํ•จ์ˆ˜์˜ ์ •๋ณด๊ฐ€ ๋” ์ž์„ธํžˆ ํ‘œ์‹œ๋˜๋Š” ์˜ต์…˜์ž…๋‹ˆ๋‹ค.

๊ทธ๋Ÿผ, Graphviz๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ์„ค์ • ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

Doxygen GUI๋ฅผ ์‹คํ–‰ํ•˜๊ณ  Diagrams ์„ค์ • ํ™”๋ฉด์—์„œ, ์•„๋ž˜์™€ ๊ฐ™์ด 'Use dot tool from the GraphViz pacakge'๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

Doxygen GUI์—์„œ GraphViz ์‚ฌ์šฉ์„ ์œ„ํ•œ ์„ค์ • ํ™”๋ฉด

Expertํƒญ์˜ Dot ๋ฉ”๋‰ด์—์„œ CLASS_DIAGRAMS๋ฅผ ์ฒดํฌํ•ฉ๋‹ˆ๋‹ค. UML_LOOK ์˜ต์…˜์€ ํ•„์š”์— ๋”ฐ๋ผ ์ฒดํฌํ•ฉ๋‹ˆ๋‹ค.

Expert ํƒญ์˜ Dot ์˜ต์…˜ ์„ค์ • ํ™”๋ฉด

ํ•ญ๋ชฉ ์„ค๋ช…
CLASS_DIAGRAMS Class์˜ ์ƒ์† ๊ด€๊ณ„๋ฅผ ๋‹ค์ด์–ด๊ทธ๋žจ์œผ๋กœ ํ‘œ์‹œํ•˜๋Š” ์˜ต์…˜.
UML_LOOK Class์˜ ์ƒ์† ๊ด€๊ณ„๋ฅผ UML๋กœ ํ‘œ์‹œํ•˜๋Š”์˜ต์…˜. ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” HAVE_DOT์ด ์ฒดํฌ๋˜์–ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋งˆ์ง€๋ง‰์œผ๋กœ ์Šคํฌ๋กค์„ ์กฐ๊ธˆ ๋” ๋‚ด๋ฆฌ๋ฉด DOT_PATH ์˜ต์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค. ํด๋” ์„ ํƒ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์—ฌ Graphviz์˜ Bin ๊ฒฝ๋กœ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ๊ฒฝ๋กœ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

C:\Program Files\Graphviz\bin

Graphviz Bin ๊ฒฝ๋กœ ์„ ํƒ

์ด ์ •๋„๋งŒ ์„ค์ •ํ•ด๋„ ์ฒ˜์Œ ๋ณด์—ฌ๋“œ๋ฆฐ ํด๋ž˜์Šค ๋‹ค์ด์–ด๊ทธ๋žจ์ด ์ž๋™์œผ๋กœ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ, ํฐํŠธ๋‚˜ ํฌ๊ธฐ, ๋ณ€์ˆ˜ ๊ฐœ์ˆ˜, ํ•จ์ˆ˜ ๋“ฑ์˜ ์„ธ๋ถ€์ ์ธ ์˜ต์…˜์„ ์ง€์ •ํ•˜๋ ค๋ฉด Dot ํƒญ์˜ ๋ฉ”๋‰ด์—์„œ ์„ค์ •ํ•˜๋ฉด ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

๋ฐ˜์‘ํ˜•