Presentación de PowerPoint - GitHub Pages

12
PlantUML A NDRÉS G ARCÍA C ELÍS - UO264345 E DUARDO L AMAS S UÁREZ - UO257611 F ERNANDO S ÁENZ D E S ANTA M ARÍA M ODROÑO - UO266754 S ARA V ECINO G ARCÍA - UO264093 AN OPEN SOURCE PROJECT FOCUSED ON UML DIAGRAM DEVELOPMENT

Transcript of Presentación de PowerPoint - GitHub Pages

Page 1: Presentación de PowerPoint - GitHub Pages

PlantUML

A N D R ÉS G A RC Í A C E L Í S - U O 2 6 4 3 4 5

E D U A R D O L A M A S S U Á R E Z - U O 2 5 7 6 1 1

F E R N A N D O S Á E N Z D E S A N TA M A R Í A M O D RO Ñ O - U O 2 6 6 7 5 4

S A R A V E C I N O G A RC Í A - U O 2 6 4 0 9 3

AN OPEN SOURCE PROJECT FOCUSED ON UML DIAGRAM DEVELOPMENT

Page 2: Presentación de PowerPoint - GitHub Pages

What is it?PlantUML is an open-source standalone tool that allows users to create UML diagrams from a plain text file. “Drawing” a diagram with Plant is similar to coding each object and its relation with the other objects. It defines a DSL which has the sole purpose of being human readable.

• GitHub

• Eclipse

• Google Docs

• Microsoft Word

• LaTeX

• IntelliJ IDEA

• Atom

• Visual Studio Code

A large number of applications offer complete or partial integration, such as:

Page 3: Presentación de PowerPoint - GitHub Pages

A simple overview@startumlClass11 <|.. Class12Class13 --> Class14Class15 ..> Class16Class17 ..|> Class18Class19 <--* Class20@enduml

@startumlClass01 "1" *-- "many"Class02 : containsClass03 o-- Class04 : aggregationClass05 --> "1" Class06@enduml

@startumlclass Dummy {-field1#field2~method1()+method2()}@enduml

Page 4: Presentación de PowerPoint - GitHub Pages

More diagram examples

Sequence diagram: Custom rendered

Use case diagram Class diagram

Deployment diagramActivity diagram (flowchart)

Timing diagram

State diagram

Page 5: Presentación de PowerPoint - GitHub Pages

Stakeholders

• Project designers/Software architects

• Software developers

• Blind software developers

• Software students

• Open-source community

• Implementations, extensions and add-ons

Page 6: Presentación de PowerPoint - GitHub Pages

Constraints

• Java programming language

• Easily modifiable diagrams

• Graphviz

• Open source project

• Continuous integration

• Pay special attention to the implementation design

• Maintain PlantUML language specification without changes

Page 7: Presentación de PowerPoint - GitHub Pages

Quality attributes/goals

• Generating diagrams from simple and human-readable text

• Implement the tool mantaining the PlantUML DSL syntax stable

• Keep the source code for the tool open, under GPL v3.0

• Offer plenty of diagram options to generate

Page 8: Presentación de PowerPoint - GitHub Pages

Development aspects

PlantUML is implemented in Java by Arnaud Roques, open-source and continuously integrated.

• Dependent on Graphviz and Java.

• Some of the design patterns used:o Command

o Abstract Factory

o Template Method

o Strategy

• Very maintainable and reusable code.

Page 9: Presentación de PowerPoint - GitHub Pages

Modules of the project

PlantUMLPlantUML-

serverPlantUML-

mitPlantUML-

stdlib

Page 10: Presentación de PowerPoint - GitHub Pages

Technological environment

Page 11: Presentación de PowerPoint - GitHub Pages

Conclusion

Page 12: Presentación de PowerPoint - GitHub Pages

Questions