PlantUML 040coders.nl 2020-02-20

Klaas van Gend Klaas van Gend

C++ UML and tools The Three Amigos

Grady Booch Rational 1981-2008 DEC early 60s-1968 1962-1995 IBM “Generic” 2008-now GE Research 1968-94 (Objectory 1987-1991/5) (OMT) Rational 1995-2003 Rational 1994-2006 Ivar Jacobson Intl 2003-now Retired UML Predecessors UML Diagram

Behaviour Structure Diagram Diagram

Activity State Class Component Machine Diagram Diagram Diagram Diagram

Interaction Composite Deployment Package Diagram Structure Diagram Diagram Diagram Diagram

Communication Interaction Sequence Timing Diagram Overview Diagram Diagram Notation: UML Diagram What UML is

● A language to describe what elements in an image mean ● intended to provide a standard way to visualize the design of a system What UML is not

● A software analysis methodology ● A methodology ● A programming language ● Free from dialects and heated debates UML False Promises

● Design and code are interchangeable – a.k.a. “reverse engineering” – a.k.a. “round-trip engineering” ● Easily generate your code from the design – Every MDD tool needs additional work/code – ‘Glue code’ tends to be painful ● Fool-proof – No, fools still make beautiful but bad designs ● Time saving A few visual UML tools

Rational Rose Rational Rose RT Rational Rose Modeling XDE Architect ArgoUML Rational Software Architect RTE Rational Rhapsody

Visio

Together StarUML Umbrello PlantUML PlantUML Demo

● Turn simple text into UML diagrams

Visual Studio Code on Linux – with PlantUML plug-in – This Plug-in uses a web service for rendering ● Available stand-alone as jar file The Use Case

https://040coders.nl/slides/ Key take aways: 2020-02-.pdf

[email protected] PlantUML is:

● Quick Text-to-UML-Diagram tool

● Made for programmers; not for “powerpoint architects”

● Simple, versatile and “good enough”

● Text-based: store files in your repo!

● Available as plug-in for almost everything

● Just as annoying when it ‘won’t align properly’