PlantUML introduction

4,240 views

Published on

This presentation was used to explain the advantages of using PlantUML (http://plantuml.sourceforge.net/) over other UML tools. It highlights some of the features that can help a development team to improve their documentation.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,240
On SlideShare
0
From Embeds
0
Number of Embeds
634
Actions
Shares
0
Downloads
60
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

PlantUML introduction

  1. 1. PlantUML Introduction
  2. 2. PlantUML ● What is PlantUML? ● Why use it? ● Where to use it?
  3. 3. What is PlantUML? PlantUML is a component that allows you to quickly write UML diagrams. It uses a simple and intuitive language to “write” the diagrams. The core component is a java jar and can be easly integrated in other software.
  4. 4. Why use it? Maintaining (UML) documentation can be a tedious task. Separated diagramming tools are often separated from developments tools. PlantUML can be an integral part of the tools we love to use. “Writing” the diagrams is a big advantage over drawing them, mainly because the speed. It's almost like programming.
  5. 5. Where to use it?
  6. 6. PlantUML Use case diagrams ●Sequence diagrams ●Class diagrams ●
  7. 7. Use case diagrams ' options title Order intake flow left to right direction ' actors Actor API as A Actor Customer as C Actor MQ ' relations C --|> A ' package package CINCO { ' Use cases A -> (Choose package) (Choose package) ..> (Choose options) A -> (Submit order) : Customer Submits order (Handle order) <- MQ }
  8. 8. Use case diagrams ' options title Order intake flow left to right direction skinparam usecase { BackgroundColor DarkSeaGreen BorderColor DarkSlateGray } ArrowColor OZlive ActorBorderColor black ActorFontName Courier ' actors Actor API as A Actor Customer as C Actor MQ ' relations C --|> A ' package package CINCO { ' Use cases
  9. 9. Use case diagrams ' options title Order intake flow left to right direction ' actors Actor API as A Actor Customer as C Actor MQ ' relations C --|> A ' package package CINCO { ' Use cases A -> (Choose package) (Choose package) ..> (Choose options) A -> (Submit order) : Customer Submits order (Handle order) <- MQ }
  10. 10. Sequence diagrams Actor Client control Api control MQ Actor Consumer Client -> Api:placeOrder(order) Api Api Api Api -> -> -> -> MQ:connect() MQ:channel('orders') MQ:put(order) MQ:disconnect() Consumer -> MQ:connect() Consumer -> MQ:watch('orders') loop while(true) Consumer -> MQ:reserve() Consumer -> Biblio.Utils.OrderHelper:processOrder(order) alt Success Consumer -> MQ:delete() else failed Consumer -> MQ:release() end end Consumer -> MQ:disconnect()
  11. 11. Class diagrams interface iCommand { +can(transition) +execute() } abstract Command { -options : [] -__construct(options) +factory(options) : Command } iCommand <|.. Command Command <|-- Null Command <|-- Bevestiging Command <|-- Go Command <|-- Wacht Command <|-- Introductie
  12. 12. Class diagrams iCommand <|.. Command Command <|-- Null Command <|-- Bevestiging Command <|-- Go Command <|-- Wacht Command <|-- Introductie Command <|-- Extra1 Command <|-- Extra2 Command <|-- Extra3 Command <|-- Extra4 Command <|-- Extra5 Command <|-- Extra6 Command <|-- Extra7 Command <|-- Extra8 Command <|-- Extra9 Command <|-- Extra10
  13. 13. Class diagrams iCommand <|.. Command hide members show Command members show iCommand methods Null -right-|> Command Bevestiging -right-|> Command Go -right-|> Command Wacht -right-|> Command Introductie -right--|> Command Extra1 -down-|> Command Extra2 -down--|> Command Extra3 -down-|> Command Extra4 -up-|> Command Extra5 -up--|> Command Extra6 -up---|> Command Extra7 -up--|> Command Extra8 -up---|> Command Extra9 -up--|> Command Extra10 -up-|> Command

×