Un
diagrama de objetos es una representación gráfica que muestra los objetos y sus relaciones en un momento determinado. Proporciona una instantánea de la estructura del sistema, capturando la visión estática de las instancias presentes y sus asociaciones.
PlantUML ofrece una forma sencilla e intuitiva de crear diagramas de objetos utilizando texto plano. Su sintaxis de fácil manejo permite crear diagramas rápidamente sin necesidad de complejas herramientas GUI. Además, el
foro Plant UML proporciona una plataforma para que los usuarios discutan, compartan y busquen ayuda, fomentando una comunidad colaborativa. Al elegir PlantUML, los usuarios se benefician tanto de la eficacia de la diagramación basada en markdown como del apoyo de una comunidad activa.
Puedes definir instancias de objetos usando la palabra reservada
object
.
🎉 Copied!
|
@startuml
object firstObject
object "My Second Object" as o2
@enduml
|
WARNING
This translation need to be updated. WARNING
Las relaciones entre objetos son definidas usando los siguientes símbolos:
Type
|
Symbol
|
Image
|
Extension
|
<|--
|
|
Composition
|
*--
|
|
Aggregation
|
o--
|
|
Es posible reemplazar
--
con
..
para obtener una línea de puntos.
Sabiendo estas reglas, es posible dibujar los siguientes diagramas.
Es posible agregar una etiqueta sobre una relación usando
:
, seguido del texto de la etiqueta.
Para la cardinalidad puedes usar doble comillas
""
en cada lado de la relación.
🎉 Copied!
|
@startuml
object Object01
object Object02
object Object03
object Object04
object Object05
object Object06
object Object07
object Object08
Object01 <|-- Object02
Object03 *-- Object04
Object05 o-- "4" Object06
Object07 .. Object08 : some labels
@enduml
|
🎉 Copied!
|
@startuml
object o1
object o2
diamond dia
object o3
o1 --> dia
o2 --> dia
dia --> o3
@enduml
|
Para declarar campos, puedes usar el símbolo
:
seguido del nombre del campo.
🎉 Copied!
|
@startuml
object user
user : name = "Dummy"
user : id = 123
@enduml
|
También es posible declarar entre llaves
{}
todos los campos.
🎉 Copied!
|
@startuml
object user {
name = "Dummy"
id = 123
}
@enduml
|
Puede deifir la "tabla" o
associative array, con la palabra
map
y utilizando
=>
como separador.
🎉 Copied!
|
@startuml
map CapitalCity {
UK => London
USA => Washington
Germany => Berlin
}
@enduml
|
🎉 Copied!
|
@startuml
map "Map **Contry => CapitalCity**" as CC {
UK => London
USA => Washington
Germany => Berlin
}
@enduml
|
🎉 Copied!
|
@startuml
map "map: Map<Integer, String>" as users {
1 => Alice
2 => Bob
3 => Charlie
}
@enduml
|
And add link with object.
🎉 Copied!
|
@startuml
object London
map CapitalCity {
UK *-> London
USA => Washington
Germany => Berlin
}
@enduml
|
🎉 Copied!
|
@startuml
object London
object Washington
object Berlin
object NewYork
map CapitalCity {
UK *-> London
USA *--> Washington
Germany *---> Berlin
}
NewYork --> CapitalCity::USA
@enduml
|
[Ref. #307]
🎉 Copied!
|
@startuml
package foo {
object baz
}
package bar {
map A {
b *-> foo.baz
c =>
}
}
A::c --> foo
@enduml
|
[Ref. QA-12934]
🎉 Copied!
|
@startuml
object Foo
map Bar {
abc=>
def=>
}
object Baz
Bar::abc --> Baz : Label one
Foo --> Bar::def : Label two
@enduml
|
[Ref. #307]
You can use
map table
in order to make
Program (or project) evaluation and review technique (PERT) diagram.
🎉 Copied!
|
@startuml PERT
left to right direction
' Horizontal lines: -->, <--, <-->
' Vertical lines: ->, <-, <->
title PERT: Project Name
map Kick.Off {
}
map task.1 {
Start => End
}
map task.2 {
Start => End
}
map task.3 {
Start => End
}
map task.4 {
Start => End
}
map task.5 {
Start => End
}
Kick.Off --> task.1 : Label 1
Kick.Off --> task.2 : Label 2
Kick.Off --> task.3 : Label 3
task.1 --> task.4
task.2 --> task.4
task.3 --> task.4
task.4 --> task.5 : Label 4
@enduml
|
[Ref. QA-12337]
Simple example
🎉 Copied!
|
@startuml
class Class
object Object
json JSON {
"fruit":"Apple",
"size":"Large",
"color": ["Red", "Green"]
}
@enduml
|
[Ref. QA-15481]
For another example, see on
JSON page.