PlantUML
wget http://vorboss.dl.sourceforge.net/project/plantuml/plantuml.jar
- java -Djava.awt.headless=true -jar ~/Downloads/plantuml.jar sequence1.txt
- requires graphviz (dot)
- java -Djava.awt.headless=true -jar ~/Downloads/plantuml.jar class1.txt
Graphviz for windows https://graphviz.gitlab.io/_pages/Download/windows/graphviz-2.38.msi
Class diagram
@startuml class Car interface ICar{ addWheel(Wheel w) } note "This is a floating note" as CarNote CarNote .. Car Driver - Car : drives > Car *- Wheel : have 4 > Car -- Person : < owns /' <|-- extends -- association ..> depends <|.. implements / realizes '/ Car ..|> ICar Car : engine : String Car : startEngine() @enduml
Sequence diagram example
@startuml autonumber actor Xyz1 boundary Xyz2 control Xyz3 entity Xyz4 database Xyz5 /' comment -> synch call --> response ->> asynch call '/ Xyz1 -> Xyz2 : To boundary Xyz1 -> Xyz3 : To control Xyz1 -> Xyz4 : To entity Xyz1 -> Xyz5 : To database Xyz5 --> Xyz1 : To Foo1 @enduml
@startuml Alice -> Bob: Authentication Request alt successful case Bob -> Alice: Authentication Accepted else some kind of failure Bob -> Alice: Authentication Failure group My own label Alice -> Log : Log attack start loop 1000 times Alice -> Bob: DNS Attack break ccc else ddd end end Alice -> Log : Log attack end end else Another type of failure Bob -> Alice: Please repeat end opt aaaa Alice -> Bob : llll else bbb Alice -> Log : kkk end @enduml
Use case diagram example
@startuml 'left to right direction 'skinparam packageStyle rect actor user actor admin rectangle System { user -- (search stuff) (search stuff) .> (show search fields) : include (help) .> (search stuff) : extends (search stuff) -- admin } @enduml
Activity example
@startuml (*) --> "First Activity" "First Activity" --> [label] "Second Activity" "Second Activity" --> "Third Activity" if "Activities are complete?" then --> [true] (*) else --> [false] "Second Activity" endif @enduml