Diagrama de objetos

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.

Definición de objetos

Puedes definir instancias de objetos usando la palabra reservada object.

🎉 Copied!

@startuml
object primerObjeto
object "Mi segundo Objeto" as o2
@enduml

WARNING
 This translation need to be updated. 
WARNING

Relaciones entre objetos

Las relaciones entre objetos son definidas usando los siguientes símbolos:

Type Symbol Image
Extensión <|--
Composición *--
Agregación 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 Objeto01
object Objeto02
object Objeto03
object Objeto04
object Objeto05
object Objeto06
object Objeto07
object Objeto08

Objeto01 <|-- Objeto02
Objeto03 *-- Objeto04
Objeto05 o-- "4" Objeto06
Objeto07 .. Objeto08 : Etiqueta
@enduml

Asociaciones de objetos

🎉 Copied!

@startuml
object o1
object o2
diamond dia
object o3

o1  --> dia
o2  --> dia
dia --> o3
@enduml

Agregando campos

Para declarar campos, puedes usar el símbolo : seguido del nombre del campo.

🎉 Copied!

@startuml

object usuario

usuario : nombre = "Dummy"
usuario : id = 123

@enduml

También es posible declarar entre llaves {} todos los campos.

🎉 Copied!

@startuml

object usuario {
  nombre = "Dummy"
  id = 123
}

@enduml

Características comunes en diagramas de clases

Tabla o arreglo asociativo

Puede definir una "tabla" o arreglo asociativo, 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

Puedes añadir enlances con un objeto.

🎉 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]

Program (or project) evaluation and review technique (PERT) with map

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]

Display JSON Data on Class or Object diagram

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.


Privacy Policy      Advertise