Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Guía Básica: Diagramas de Clases en PlantUML

Universidad Nacional de Rio Negro - Sede Andina

¿Qué es un Diagrama de Clases?

Un diagrama de clases es una representación visual de las clases, atributos, métodos y relaciones entre clases en un sistema orientado a objetos. Es parte esencial de UML (Lenguaje Unificado de Modelado) y se usa para el diseño y la documentación de software.


¿Qué es PlantUML?

PlantUML es una herramienta que permite crear diagramas a partir de texto plano. Es ideal para programadores porque permite versionar diagramas y mantenerlos junto al código fuente.


Estructura básica de un archivo PlantUML

@startuml

' Aquí van las definiciones de clases, interfaces y relaciones

@enduml

Estructura básica

Todo diagrama comienza con @startuml y termina con @enduml.


Cómo definir una clase

class Persona {
  -nombre: String
  -edad: int
  +hablar(): void
}

Definición de clase con atributos y métodos

Table 1:Convenciones de visibilidad

SímboloVisibilidad
+público (public)
-privado (private)
#protegido (protected)

Interfaces

interface Volador {
  +volar(): void
}

Definición de interfaz


Herencia y relaciones

Herencia (generalización)

class Animal
class Perro extends Animal

Herencia con extends

O bien con flechas:

Animal <|-- Perro

Implementación de interfaz

Volador <|.. Pájaro

Asociación

Persona --> Direccion

Composición

Auto *-- Motor

Agregación

Departamento o-- Profesor

Clase abstracta

abstract class Figura {
  +area(): float
}

Clase abstracta


Ejemplo completo

@startuml

abstract class Figura {
  +area(): float
}

class Rectangulo {
  -base: float
  -altura: float
  +area(): float
}

class Circulo {
  -radio: float
  +area(): float
}

Figura <|-- Rectangulo
Figura <|-- Circulo

@enduml

Diagrama de clases completo


Estilos mínimos (opcional)

skinparam classAttributeIconSize 0
skinparam shadowing true
skinparam classFontColor DarkGreen

Configuración de estilos

Estos parámetros cambian el estilo visual del diagrama.


Buenas prácticas

package "Sistema de Usuarios" {
  class Usuario
  class Rol
}

Agrupación con packages