Drawing UML with PlantUML
Bài đăng này đã không được cập nhật trong 6 năm
1 Giới thiệu PlantUML Là 1 Open Source project có thể vẽ: • Sequence diagram
• Usecase diagram
• Class diagram
• Activity diagram
• Component diagram
• State diagram
• Object diagram
Các Diagram được định nghĩa bằng ngôn ngữ đơn giản và trực quan.
2 Cài đặt môi trường
Download file tại planuml
Cài JDK 7
3 Bắt đầu vẽ Sequence diagram Tạo file test.txt Khai báo các actor, entity, control ...
@startuml
actor Foo1
boundary Foo2
control Foo3
entity Foo4
database Foo5
collections Foo6
@enduml
Thực hiện các action:
Foo1 -> Foo2 : To boundary
Foo1 -> Foo3 : To control
Foo1 -> Foo4 : To entity
Foo1 -> Foo5 : To database
Foo1 -> Foo6 : To collections
Chay file test.txt bằng tool trong file nén planuml.zip tải ở trên sẽ được kết quả
Gửi action có message kèm theo:
@startuml
Alice -> "Bob()" : Hello
"Bob()" -> "This is very\nlong" as Long
' You can also declare:
' "Bob()" -> Long as "This is very\nlong"
Long --> "Bob()" : ok
@enduml
Custome style:
@startuml
Bob ->x Alice
Bob -> Alice
Bob ->> Alice
Bob -\ Alice
Bob \\- Alice
Bob //-- Alice
Bob ->o Alice
Bob o\\-- Alice
Bob <-> Alice
Bob <->o Alice
@enduml
Sử dụng thẻ Note:
@startuml
Alice->Bob : hello
note left: this is a first note
Bob->Alice : ok
note right: this is another note
Bob->Bob : I am thinking
note left
a note
can also be defined
on several lines
end note
@enduml
Vòng đời của 1 participant
@startuml
participant User
User -> A: DoWork
activate A
A -> B: << createRequest >>
activate B
B -> C: DoWork
activate C
C --> B: WorkDone
destroy C
B --> A: RequestCreated
deactivate B
A -> User: Done
deactivate A
@enduml
Sử dụng thẻ Group:
@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
end
Alice -> Log : Log attack end
end
else Another type of failure
Bob -> Alice: Please repeat
end
@enduml
Ngoài ra cũng còn 1 số lệnh:
@startuml
[-> Bob
[o-> Bob
[o->o Bob
[x-> Bob
[<- Bob
[x<- Bob
Bob ->]
Bob ->o]
Bob o->o]
Bob ->x]
Bob <-]
Bob x<-]
@enduml
Bằng một số lệnh cơ bản rất đơn giản và trực quan chúng ta đã có thể vẽ được Sequence diagram một cách nhanh chóng
PlanUml còn hỗ trợ chúng ta tạo ra rất nhiều loại diagram khác một cách nhanh chóng và mình sẽ giới thiệu với các bạn ở phần tiếp theo
Nguồn: http://plantuml.com/running
All rights reserved