Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
PlantUML

Introduction
PlantUML

●

What is PlantUML?
● Why use it?
● Where to use it?
What is PlantUML?
PlantUML is a component that allows you to quickly write
UML diagrams.
It uses a simple and intuitive la...
Why use it?
Maintaining (UML) documentation can be a tedious task.
Separated diagramming tools are often separated from
de...
Where to use it?
PlantUML

Use case diagrams
●Sequence diagrams
●Class diagrams
●
Use case diagrams
' options
title Order intake flow
left to right direction
' actors
Actor API as A
Actor Customer as C
Ac...
Use case diagrams
' options
title Order intake flow
left to right direction
skinparam usecase {
BackgroundColor DarkSeaGre...
Use case diagrams
' options
title Order intake flow
left to right direction
' actors
Actor API as A
Actor Customer as C
Ac...
Sequence diagrams
Actor Client
control Api
control MQ
Actor Consumer
Client -> Api:placeOrder(order)
Api
Api
Api
Api

->
-...
Class diagrams
interface iCommand {
+can(transition)
+execute()
}
abstract Command {
-options : []
-__construct(options)
+...
Class diagrams
iCommand <|.. Command
Command <|-- Null
Command <|-- Bevestiging
Command <|-- Go
Command <|-- Wacht
Command...
Class diagrams
iCommand <|.. Command
hide members
show Command members
show iCommand methods
Null -right-|> Command
Bevest...
Upcoming SlideShare
Loading in …5
×

PlantUML introduction

5,248 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
  • Be the first to comment

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

×