[Dokuwiki] 3가지 UML 플러그인
UML 이란
UML (Unified Modeling Language)
UML이란 소프트웨어 개발 과정에서 산출되는 산출물들을 명시, 개발, 문서화하기 위한 모델링 언어이다.
plugin
도쿠위키 → 관리 → 확장 기능 관리자 → 검색하고 설치 → 'UML'로 검색 하면 다양한 플러그인이 검색됩니다. 그 중에서 3개의 플러그인을 비교합니다.
비교
| 구분 | PlantUML plugin | UML Sequence Diagram Plugin | Callflow Diagrams |
|---|---|---|---|
| 실행 위치 | local, remote | remote | local |
| 실행 형태 | jar | web | js |
| 특징 | Graphviz 사용 | 다양한 스타일 | 텍스트 복사 가능 |
PlantUML plugin
설치
플러그인 검색해서 설치.
https://www.dokuwiki.org/plugin:plantuml
http://plantuml.sourceforge.net/download.html 에서 plantuml.jar 파일 다운로드
Java runtime 설치
http://www.graphviz.org/ 에서 Graphviz 다운받아서 설치
환경설정
- Render localy 체크
- plugin»plantuml»java 설정 : “%JAVA%/java.exe”
- plugin»plantuml»jar 설정 : ./plantuml/plantuml.jar
환경변수 설정
JAVA
GRAPHVIZ_DOT
plantuml.jar
\dokuwiki\lib\plugins\plantuml\ 에 plantuml.jar 를 넣는다.
환경변수를 세팅한 후에 리부팅을 한다.
작성예시
Sequence Diagram
<uml> Alice -> Bob: Authentication Request Bob --> Alice: Authentication Response Alice -> Bob: Another authentication Request Alice <-- Bob: another authentication Response </uml>
<uml>
Alice → Bob: Authentication Request
Bob –
> Alice: Authentication Response
Alice → Bob: Another authentication Request
Alice ←- Bob: another authentication Response
</uml>
그 외 다이어그램 사용을 위한 테스트
<uml>
testdot
</uml>
Use Case
<uml> User -> (Start) User --> (Use the application) : A small label :Main Admin: ---> (Use the application) : This is\nyet another\nlabel </uml>
<uml>
User → (Start)
User –
> (Use the application) : A small label
:Main Admin: —
> (Use the application) : This is\nyet another\nlabel
<
/uml>
Class Diagram
<uml> foo -left-> dummyLeft foo -right-> dummyRight foo -up-> dummyUp foo -down-> dummyDown </uml>
<uml>
foo -left→ dummyLeft
foo -right→ dummyRight
foo -up→ dummyUp
foo -down→ dummyDown
</uml>
plantuml 사용법
UML Sequence Diagram Plugin
설치
플러그인 검색해서 설치한다.
https://www.dokuwiki.org/plugin:seqdia
작성예시
http://www.websequencediagrams.com/examples.html 에서 참고
<seqdia rose> title Authentication Sequence Alice->Bob: Authentication Request note right of Bob: Bob thinks about it Bob->Alice: Authentication Response </seqdia>
<seqdia rose>
title Authentication Sequence Alice->Bob: Authentication Request note right of Bob: Bob thinks about it Bob->Alice: Authentication Response
</seqdia>
Callflow Diagrams
설치
플러그인 검색 설치
https://www.dokuwiki.org/plugin:callflow
Syntax
<callflow>
//This is a comment
//Title is optional
title:A sample callflow in DokuWiki
//Use breaks to separate parts
break:edit
//Some arrows
//The first one is with tooltip
User->DokuWiki:edit page:If he has permissions
DokuWiki->User:show editor
User->DokuWiki:edit and save
DokuWiki->User:page is saved
break:view
//Parallel arrows (single-line)
parallel {
User->DokuWiki:view page
DokuWiki->Plugin:parse callflow
}
//Normal notes go with last arrow
note(
PHP
)
parallel {
DokuWiki<-Plugin:show callflow
User<-DokuWiki:show page
}
//note over-s go to specified positions
//NOTE: might be:
//note over User,Plugin(
note over User(
JS
)
//NOTE: there are also double arrows like this:
//a<>b:text
//or this:
//a<->b:text
</callflow>
<callflow>
This is a comment
Title is optional
title:A sample callflow in DokuWiki
Use breaks to separate parts
break:edit
Some arrows
The first one is with tooltip
User→DokuWiki:edit page:If he has permissions
DokuWiki→User:show editor
User→DokuWiki:edit and save
DokuWiki→User:page is saved
break:view
Parallel arrows (single-line)
parallel {
User→DokuWiki:view page
DokuWiki→Plugin:parse callflow
}
Normal notes go with last arrow
note(
PHP
)
parallel {
DokuWiki←Plugin:show callflow
User←DokuWiki:show page
}
note over-s go to specified positions
NOTE: might be:
note over User,Plugin(
note over User(
JS
)
NOTE: there are also double arrows like this:
a<>b:text
or this:
a↔b:text
</callflow>
문제점
//Normal notes go with last arrow note( PHP )
이 부분이 표현되지 않는다.

