[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>
그 외 다이어그램 사용을 위한 테스트
Use Case
<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>
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 )
이 부분이 표현되지 않는다.