1. Giới thiệu
- Sequence diagram là một loại biểu đồ rất quan trọng trong việc mô tả luồng xử lý trong lập trình. Thông thường tool được sử dụng để vẽ sequence diagram là StartUml, Astah, … . Mình sẽ giới thiệu đến các bạn một công cụ khác để vẽ sequence là PlantUML.
2. Bắt đầu nào!
a. Cơ bản
- Kí hiệu “->” được sử dụng để vẽ một thông điệp giữa hai đối tượng tham gia. Những đối tượng tham gia không cần phải được khai báo rõ ràng.
- Sử dụng kí hiệu –> để thể hiện một thông điệp đáp trả của đối tượng đến một đối tượng khác.
vd:
1 2 3 4 5 6 7 8 | @startuml Alice -> Bob: Authentication Request Bob --> Alice: Authentication Response Alice -> Bob: Another authentication Request Alice <-- Bob: Another authentication Response @enduml |
Kết quả:
b. Khai báo đối tượng
Nếu từ khóa “participant” được sử dụng để khai báo một đối tượng.
Thứ tự khai báo các đối tượng sẽ là thứ tự hiển thị chúng.
Sử dụng các từ khóa khác để khai báo đối tượng, sẽ thay đổi theo từ khóa được khai báo:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | @startuml participant participant as Foo actor actor as Foo1 boundary boundary as Foo2 control control as Foo3 entity entity as Foo4 database database as Foo5 collections collections as Foo6 queue queue as Foo7 Foo -> Foo1 : To actor Foo -> Foo2 : To boundary Foo -> Foo3 : To control Foo -> Foo4 : To entity Foo -> Foo5 : To database Foo -> Foo6 : To collections Foo -> Foo7: To queue @enduml |
Kết quả:
Bạn cũng có thể đổi tên đối tượng được khai báo bằng từ khóa: as.
Thay đổi màu nền của đối tượng.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | @startuml actor Bob #red ' The only difference between actor 'and participant is the drawing participant Alice participant "I have a reallynlong name" as L #99FF99 /' You can also declare: participant L as "I have a reallynlong name" #99FF99 '/ Alice->Bob: Authentication Request Bob->Alice: Authentication Response Bob->L: Log transaction @enduml |
Kết quả:
Bạn có thể sử dụng từ khóa order để tùy chỉnh thứ tự hiển thị của các đối tượng.
1 2 3 4 5 6 | @startuml participant Last order 30 participant Middle order 20 participant First order 10 @enduml |
kết quả:
Bạn có thể sử dụng dấu ngoặc kép để xác định đối tượng. Và bạn có thể sử dụng từ khóa as để đặt bí danh cho những đối tượng đó.
1 2 3 4 5 6 7 8 | @startuml Alice -> "Bob()" : Hello "Bob()" -> "This is verynlong" as Long ' You can also declare: ' "Bob()" -> Long as "This is verynlong" Long --> "Bob()" : ok @enduml |
Kết quả:
c. Message to Self
Các đối tượng có thể gửi thông điệp cho chính nó.
1 2 3 4 | @startuml Alice->Alice: This is a signal to self.nIt also demonstratesnmultiline ntext @enduml |
Kết quả:
d. Căn chỉnh text
Bạn có thể đặt văn bản của thông báo phản hồi bên dưới mũi tên, bằng lệnh skinparam responseMessageBelowArrow true.
1 2 3 4 5 6 | @startuml skinparam responseMessageBelowArrow true Bob -> Alice : hello Alice -> Bob : ok @enduml |
Kết quả:
e. Thay đổi kiểu mũi tên
Bạn có thể thay đổi kiểu mũi tên bằng một số cách:
Thêm dấu x cuối cùng để biểu thị một tin nhắn bị mất
Sử dụng hoặc / thay vì <hoặc> để chỉ có phần dưới cùng hoặc phần trên của mũi tên
Lặp lại đầu mũi tên (ví dụ: đầu >> hoặc //) để có một bản vẽ mỏng
Sử dụng – thay vì – để có một mũi tên chấm
Thêm chữ “o” cuối cùng ở đầu mũi tên
Sử dụng mũi tên hai chiều <->
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | @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 |
Kết quả:
f. Thay đổi màu mũi tên
Bạn có thể thay đổi màu của các mũi tên riêng lẻ bằng cách sử dụng ký hiệu.
1 2 3 4 5 | @startuml Bob -[#red]> Alice : hello Alice -[#0000FF]->Bob : ok @enduml |
Kết quả:
Kết
Bài chia sẻ hôm nay mình xin dừng lại ở đây. Những nội dung tiếp mình xin chia sẻ ở phần tiếp.