Trong bài viết phần 1 mình đã giới thiệu tổng quan về PlantUML, và một số ví dụ của các biểu đồ có thể thiết kế bằng PlantUML.
Ở phần này chúng ta sẽ tìm hiểu cụ thể cách thiết kế biểu đồ tuần tự (Sequence Diagram) bằng PlantUML.
1. Khai báo các thành phần tham gia
participant là keyword được sử dụng để khai báo một thành phần tham gia, việc sử dụng keyword này giúp kiểm soát được từng thành phần tham gia. Thứ tự khai báo sẽ là thứ tự hiển thị trên biểu đồ (mặc định).
Việc sử dụng các từ khóa dưới đây để khai báo sẽ thay đổi hình dạng của đối tượng tham gia khi hiển thị
actor
boundary
control
entity
database
collections
queue
Ví dụ:
@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
@enduml
※Sử dụng as để rename cho participant
Khi preview sẽ cho ra kết quả như sau:
2. Thông điệp (message)
・Dùng ký hiệu -> để thể hiện thông điệp truyền qua lại giữa các đối tượng tham gia trong biểu đồ.
・Format như sau: participantA -> participantB : {message content}. Có thể dùng để thể hiện cho trường hợp Message to Self: participantA -> participantA : {message content}. Tham khảo ví dụ minh họa dưới đây:
Ví dụ:
@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
Foo6 -> Foo : From collection to participant
Foo7 -> Foo7: From queue to queue
@enduml
Kết quả sẽ ra như sau:
・Có thể thay đổi style của mũi tên phù hợp với từng case message:
x
cho trường hợp message\
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ên3. Message sequence numbering
・Đánh số tăng dần với keyword autonumber để đánh số tăng dần cho từng message: autonumber
・Có thể chỉ định số bắt đầu tăng dần: autonumber <start> <increment>
Ví dụ:
@startuml
autonumber
Bob -> Alice : Authentication Request
Bob <- Alice : Authentication Response
autonumber 15
Bob -> Alice : Another authentication Request
Bob <- Alice : Another authentication Response
autonumber 40 10
Bob -> Alice : Yet another authentication Request
Bob <- Alice : Yet another authentication Response
@enduml
Kết quả hiển thị như sau:
・Có thể truyền số chỉ định stop và resume để tạm dừng và tiếp tục đánh số tự động:
autonumber stop resume <increment> <format>
Ví dụ:
@startuml
autonumber 10 10 "<b>[000]"
Bob -> Alice : Authentication Request
Bob <- Alice : Authentication Response
autonumber stop
Bob -> Alice : dummy
autonumber resume "<font color=red><b>Message 0 "
Bob -> Alice : Yet another authentication Request
Bob <- Alice : Yet another authentication Response
autonumber stop
Bob -> Alice : dummy
autonumber resume 1 "<font color=blue><b>Message 0 "
Bob -> Alice : Yet another authentication Request
Bob <- Alice : Yet another authentication Response
@enduml
Kết quả hiển thị như sau:
Ngoài những nội dung được mô tả ở trên còn có các options khác hỗ trợ việc vẽ biểu đồ được hay ho hơn ví dụ như: đổi màu background, thêm title/header, hay thậm chí là tách biểu đồ (Splitting diagrams) …v..v…
Các bạn có thể tham khảo chi tiết hơn ở trang: https://plantuml.com/sequence-diagram
You need to login in order to like this post: click here
YOU MIGHT ALSO LIKE