El UML es más útil cuando mejora la comunicación y la toma de decisiones, no cuando se convierte en un ejercicio de documentación. Un equipo rara vez necesita todos los tipos de diagramas UML. En la mayoría de los proyectos, siete tipos de diagramas proporcionan una base sólida:

-
Diagramas de casos de uso
-
Diagramas de actividad
-
Diagramas de secuencia
-
Diagramas de clases
-
Diagramas de componentes
-
Diagramas de despliegue
-
Diagramas de máquinas de estado
Juntos, estos diagramas describen el sistema desde perspectivas complementarias:

-
Objetivos: Lo que los usuarios y los sistemas externos necesitan
-
Comportamiento: Cómo fluye el trabajo a través del sistema
-
Interacción: Cómo colaboran los objetos y los servicios
-
Estructura: Qué entidades y relaciones existen
-
Arquitectura: Cómo se organizan las partes principales del software
-
Operaciones: Dónde se ejecuta el sistema
-
Ciclo de vida: Cómo cambian los objetos importantes con el tiempo
El objetivo no es crear un diagrama para cada posible preocupación. El objetivo es crear el conjunto más pequeño y coherente de modelos que responda a las preguntas que realmente tienen las partes interesadas.
1. Qué significa “UML Efectivo Mínimo”
El UML efectivo mínimo es una estrategia de modelado basada en cuatro principios:
-
Modelar para una decisión: Crear un diagrama porque aclara un requisito, una elección de diseño, un riesgo o un detalle de implementación.
-
Utilizar la notación más simple adecuada:Evite símbolos, decoraciones y detalles innecesarios.
-
Mantenga la trazabilidad:Conecte los requisitos con el comportamiento, la estructura, el código, las pruebas y el despliegue cuando sea práctico.
-
Mantenga los diagramas comprensibles:Un diagrama que contiene todo a menudo no comunica nada.
Un modelo útil debe ayudar a responder preguntas como:
-
¿Quién interactúa con el sistema?
-
¿Qué capacidades debe proporcionar el sistema?
-
¿Qué pasos componen un proceso de negocio?
-
¿Qué objeto o servicio es responsable de cada acción?
-
¿Qué datos y conceptos del dominio deben representarse?
-
¿Cómo se dividen los subsistemas?
-
¿Dónde se despliegan las aplicaciones, las bases de datos y los servicios externos?
-
¿Cómo transita una entidad importante a través de su ciclo de vida?
Si un diagrama no ayuda a responder una de estas preguntas, es posible que no sea necesario.
2. El núcleo de los siete diagramas
| Diagrama | Pregunta principal | Audiencia principal | Fase típica del proyecto |
|---|---|---|---|
| Caso de uso | ¿Quién necesita qué del sistema? | Clientes, analistas, propietarios del producto | Requisitos |
| Actividad | ¿Cómo fluye el trabajo? | Analistas, diseñadores, desarrolladores, probadores | Requisitos y diseño de procesos |
| Secuencia | ¿Cómo colaboran los participantes a lo largo del tiempo? | Desarrolladores, arquitectos, probadores | Diseño detallado |
| Clase | ¿Qué conceptos, datos y relaciones existen? | Desarrolladores, analistas, arquitectos | Diseño de dominio y software |
| Componente | ¿Cómo se divide el sistema en partes principales? | Arquitectos, desarrolladores, equipos de operaciones | Arquitectura |
| Despliegue | ¿Dónde se ejecuta el software? | Arquitectos, DevOps, operaciones, equipos de seguridad | Despliegue y operaciones |
| Máquina de estados | ¿Cómo cambia una entidad con el tiempo? | Desarrolladores, analistas, probadores | Diseño del ciclo de vida |
Estos diagramas no son independientes. Forman una cadena:
Casos de uso ⟶ Actividades ⟶ Secuencias ⟶ Clases y Componentes ⟶ Despliegue
Los diagramas de máquinas de estado atraviesan esta cadena al describir el ciclo de vida de objetos que tienen estados significativos.
Por ejemplo, un pedido en línea puede representarse de la siguiente manera:
-
Caso de uso: Realizar un pedido
-
Actividad: Validar carrito, autorizar pago, reservar stock, confirmar pedido
-
Secuencia: La interfaz de cliente llama al servicio de pedidos, servicio de pagos y servicio de inventario
-
Clase:
Pedido,Línea de pedido,Pago, yProducto -
Componente: Aplicación web, servicio de pedidos, adaptador de pagos, servicio de inventario
-
Despliegue: Navegador, clúster de aplicaciones, base de datos, proveedor de pagos
-
Máquina de estado: Borrador → Pago pendiente → Pagado → Enviado → Entregado
3. Diagramas de casos de uso: Definición de objetivos del sistema
Un diagrama de casos de uso presenta el sistema desde el exterior. Identifica los actores que interactúan con el sistema y los objetivos que persiguen.
3.1 Qué contiene un diagrama de casos de uso
Los elementos principales son:

-
Límite del sistema: Define qué está dentro del sistema que se está modelando
-
Actores: Personas, organizaciones, dispositivos o sistemas externos
-
Casos de uso: Objetivos o servicios que proporciona el sistema
-
Asociaciones: Conexiones entre actores y casos de uso
-
Relaciones de inclusión: Comportamiento reutilizable requerido por otro caso de uso
-
Relaciones de extensión: Comportamiento opcional o condicional
Ejemplo:

@startuml
dirección de izquierda a derecha
actor Cliente
actor "Proveedor de Pagos" as ProveedorPagos
actor "Sistema de Almacén" as Almacen
rectángulo "Tienda en Línea" {
usecase "Navegar Productos" as UC1
usecase "Realizar Pedido" as UC2
usecase "Autorizar Pago" as UC3
usecase "Cumplir Pedido" as UC4
}
Cliente --> UC1
Cliente --> UC2
UC2 ..> UC3 : <<include>>
ProveedorPagos --> UC3
Almacen --> UC4
@enduml
3.2 Identificar correctamente los actores
Un actor no es necesariamente un rol humano. Es cualquier entidad externa que interactúa con el sistema.
Los posibles actores incluyen:
-
Cliente
-
Agente de soporte
-
Administrador
-
Pasarela de pago
-
Proveedor de identidad
-
Sistema de gestión de almacén
-
Tarea programada
-
Aplicación móvil
-
Dispositivo IoT
Evite nombrar actores según detalles de implementación interna. Un “controlador REST” generalmente no es un actor. Una “aplicación de socio” podría serlo.
3.3 Nombrar los casos de uso como objetivos
Los buenos nombres de casos de uso describen los resultados:
-
Presentar informe de gastos
-
Aprobar solicitud de compra
-
Registrar nuevo paciente
-
Generar factura
-
Restablecer contraseña
Los nombres débiles describen mecanismos de implementación:
-
Llamar a la API
-
Ejecutar consulta SQL
-
Abrir formulario
-
Invocar controlador
Un caso de uso debe responder:
¿Qué resultado significativo desea lograr un actor con el sistema?
3.4 Cuándo usar incluir y extender
Use <<incluir>> cuando un comportamiento es siempre requerido como parte de otro.
Por ejemplo:
-
“Realizar pedido” incluye “Calcular total”
-
“Registrar cuenta” incluye “Validar correo electrónico”
Use <<extender>> cuando el comportamiento es opcional o condicional.
Por ejemplo:
-
“Realizar pedido” puede ser extendido por “Aplicar descuento promocional”
-
“Iniciar sesión” puede ser extendido por “Completar autenticación multifactor”
No utilice estas relaciones simplemente para que un diagrama parezca más sofisticado. A menudo, un escenario escrito breve o un diagrama de actividades es más claro.
3.5 Lo que los diagramas de casos de uso no muestran
Los diagramas de casos de uso no están destinados a describir:
-
Diseños detallados de la interfaz de usuario
-
Clases de implementación exactas
-
Tablas de base de datos
-
Orden de mensajes
-
Lógica algorítmica
-
Topología de infraestructura
Definen el alcance y los objetivos. Otros diagramas proporcionan los detalles.
4. Diagramas de actividad: Modelado de flujos de trabajo y procesos
Los diagramas de actividad muestran cómo avanza el trabajo. Son particularmente efectivos para procesos empresariales, flujos de trabajo, lógica de ramificación, trabajo paralelo y manejo de excepciones.
4.1 Elementos centrales
Los diagramas de actividad utilizan comúnmente:
-
Nodos iniciales
-
Acciones
-
Nodos de decisión
-
Nodos de fusión
-
Ramificaciones y uniones
-
Carriles
-
Nodos finales
-
Guardias como “
[aprobado]o “[rechazado]
Ejemplo:

@startuml
|Cliente|
start
:Enviar pedido;
|Servicio de pedidos|
:Validar pedido;
if (¿Pedido válido?) then (sí)
:Calcular total;
fork
|Servicio de pagos|
:Autorizar pago;
fork again
|Servicio de inventario|
:Reservar inventario;
end fork
|Servicio de pedidos|
:Confirmar pedido;
stop
else (no)
:Devolver errores de validación;
stop
endif
@enduml
4.2 Use carriles para mostrar la responsabilidad
Los carriles aclaran qué rol, sistema o componente realiza cada acción.
Los carriles útiles pueden representar:
-
Cliente
-
Agente de servicio al cliente
-
Servicio de pedidos
-
Proveedor de pagos
-
Almacén
-
Programador automático
Las carriles son especialmente valiosos cuando un proceso cruza límites organizacionales o de sistema.
4.3 Modelar decisiones explícitamente
Una decisión debe tener guardias significativos:
[Pago aprobado]
[Pago rechazado]
Evite etiquetas vagas como:
[sí]
[no]
a menos que la pregunta de la decisión sea inmediatamente obvia.
4.4 Mostrar paralelismo cuando sea relevante
Las bifurcaciones y uniones son útiles cuando las actividades ocurren concurrentemente. Por ejemplo, después de validar un pedido:
-
El pago puede ser autorizado
-
El inventario puede ser reservado
-
Puede ejecutarse una verificación de fraude
Sin embargo, modele el paralelismo solo cuando afecte la temporización, la consistencia, el manejo de fallos o el diseño del sistema. No utilice ramas paralelas meramente para hacer el diagrama más elaborado.
4.5 Diagramas de actividad y requisitos
Un diagrama de actividad puede revelar requisitos faltantes. Por ejemplo, al modelar un proceso de aprobación, el equipo puede descubrir preguntas sin respuesta:
-
¿Qué sucede si un aprobador no está disponible?
-
¿Puede una solicitud ser rechazada y reenviada?
-
¿Cuál es el tiempo de escalación?
-
¿Pueden dos personas aprobar simultáneamente?
-
¿Qué sucede si el sistema aguas abajo no está disponible?
Esto hace que los diagramas de actividad sean útiles antes de comenzar la implementación.
5. Diagramas de secuencia: Explicar la colaboración a lo largo del tiempo
Los diagramas de secuencia muestran cómo los participantes intercambian mensajes en una interacción ordenada en el tiempo. Son ideales para describir escenarios importantes en detalle.
5.1 Elementos principales
Un diagrama de secuencia típicamente incluye:
-
Actores
-
Objetos o servicios
-
Líneas de vida
-
Mensajes
-
Mensajes de retorno
-
Barras de activación
-
Condiciones
-
Bucles
-
Rutas alternativas
-
Mensajes asíncronos
Ejemplo:

@startuml
actor Cliente
boundary "Aplicación Web" as Web
control "Servicio de Pedidos" as Pedido
control "Servicio de Pago" as Pago
database "Base de Datos de Pedidos" as DB
Cliente -> Web : Enviar pedido
Web -> Pedido : crearPedido(carrito)
Pedido -> DB : guardar(pedido)
DB --> Pedido : idPedido
Pedido -> Pago : autorizar(monto)
alt Pago aprobado
Pago --> Pedido : aprobado
Pedido -> DB : actualizarEstado(PAGADO)
Pedido --> Web : confirmación
Web --> Cliente : Mostrar confirmación
else Pago rechazado
Pago --> Pedido : rechazado
Pedido -> DB : actualizarEstado(FALLO_PAGO)
Pedido --> Web : error de pago
Web --> Cliente : Mostrar error
end
@enduml
5.2 Elija escenarios estratégicamente
No cree un diagrama de secuencia para cada caso de uso. Comience con escenarios que sean:
-
Críticos para el negocio
-
Técnicamente riesgosos
-
Con alta carga de integración
-
Sensibles a la seguridad
-
Transaccionales
-
Difíciles de entender
-
Probables de exponer problemas arquitectónicos
Los ejemplos típicos incluyen:
-
Autenticación de usuario
-
Procesamiento de pagos
-
Carga de archivos
-
Envío de pedidos
-
Restablecimiento de contraseña
-
Publicación de eventos
-
Recuperación ante fallos
-
Ejecución de trabajos en segundo plano
5.3 Distinguir interacciones síncronas y asíncronas
Una llamada síncrona significa que el remitente espera una respuesta. Un mensaje asíncrono permite que el remitente continúe.
Esta distinción afecta a:
-
Experiencia del usuario
-
Límites de transacción
-
Gestión de errores
-
Escalabilidad
-
Comportamiento de reintento
-
Observabilidad
Utilice notaciones diferentes de forma coherente y explique el comportamiento asíncrono importante en una nota o texto acompañante.
5.4 Modelar rutas de fallo
Un diagrama de secuencia que solo muestra la ruta exitosa puede ocultar riesgos importantes de diseño. Utilice alt, opt, y loop fragmentos para mostrar:
-
Fallo de validación
-
Fallo de autorización
-
Tiempo de espera agotado
-
Reintentar
-
Fallo parcial
-
Solicitud duplicada
-
Indisponibilidad del servicio
-
Compensación o reversión
Por ejemplo:

@startuml
Cliente -> API : Enviar solicitud
API -> Servicio : Procesar solicitud
alt Servicio responde
Servicio --> API : Resultado
API --> Cliente : Éxito
else Tiempo de espera
API -> Servicio : Reintentar solicitud
alt Reintento exitoso
Servicio --> API : Resultado
API --> Cliente : Éxito
else Reintento fallido
API --> Cliente : Fallo temporal
end
end
@enduml
5.5 Evitar diagramas de secuencia excesivamente detallados
Un diagrama de secuencia se vuelve difícil de mantener cuando incluye cada llamada de método interna. Enfóquese en responsabilidades y límites significativos:
-
Interfaz de usuario
-
Servicio de aplicación
-
Objeto de dominio
-
Repositorio
-
Servicio externo
-
Intermediario de mensajes
-
Base de datos
Los diagramas de implementación detallados pueden ser útiles durante la depuración, pero no deberían convertirse en la documentación arquitectónica principal.
6. Diagramas de clases: Descripción de estructura y conceptos de dominio
Los diagramas de clases muestran la estructura estática. Pueden describir:
-
Un modelo de dominio conceptual
-
Un modelo de objetos a nivel de diseño
-
Una estructura de clases orientada a la implementación
Estos son diferentes niveles de abstracción y no deben mezclarse sin cuidado.
6.1 Diagramas de clases conceptuales frente a diagramas de implementación
Un modelo conceptual podría contener:
-
Cliente
-
Pedido
-
Producto
-
Pago
Un modelo de implementación podría contener:
-
Controlador de pedido -
Servicio de aplicación de pedido -
Repositorio de pedido -
Adaptador de pasarela de pago
Ambas son válidas, pero responden a preguntas diferentes.
6.2 Relaciones fundamentales
Las relaciones comunes incluyen:
-
Asociación
-
Agregación
-
Composición
-
Generalización
-
Dependencia
-
Realización
Utilice las relaciones con cuidado. En muchos casos, una asociación simple es más clara que una distinción elaborada entre agregación y composición.
Ejemplo:

@startuml
class Customer {
+id: CustomerId
+name: String
+email: EmailAddress
}
class Order {
+id: OrderId
+status: OrderStatus
+total(): Money
+submit()
}
class OrderLine {
+quantity: int
+unitPrice: Money
+lineTotal(): Money
}
class Product {
+sku: String
+name: String
}
Customer "1" -- "0..*" Order : places
Order "1" *-- "1..*" OrderLine : contains
OrderLine "*" --> "1" Product : refers to
@enduml
6.3 La multiplicidad es importante
La multiplicidad expresa restricciones:
-
1— exactamente uno -
0..1— opcional -
*— muchos -
1..*— uno o más
Por ejemplo:
Customer "1" -- "0..*" Order
significa que cada pedido pertenece a un cliente, mientras que un cliente puede tener cero o más pedidos.
6.4 Modelar responsabilidades, no solo campos de datos
Un diagrama de clases debe ayudar a explicar dónde pertenece el comportamiento. Un objeto de dominio con operaciones significativas suele ser más informativo que un conjunto de clases que contienen solo getters y setters.
Por ejemplo:
Order.submit()
Order.cancel()
Order.calculateTotal()
Payment.authorize()
Las operaciones exactas dependen del enfoque de diseño, pero el principio es consistente:
Coloque las responsabilidades empresariales importantes cerca de los conceptos que las poseen.
6.5 Evite convertir diagramas de clases en esquemas de base de datos
Un diagrama de clases no es automáticamente un esquema relacional. No agregue cada columna de base de datos a menos que el propósito sea específicamente el diseño de persistencia.
Una distinción útil es:
-
Modelo de dominio: Conceptos y reglas empresariales
-
Modelo de diseño: Clases de software y responsabilidades
-
Modelo de datos: Tablas, claves, índices y restricciones
Estos pueden estar relacionados, pero no deben confundirse.
7. Diagramas de componentes: Mostrando límites arquitectónicos
Los diagramas de componentes describen las partes principales reemplazables o desplegables de un sistema y las interfaces a través de las cuales interactúan.
Son útiles para responder:
-
¿Cuáles son los subsistemas principales?
-
¿Qué componente posee una responsabilidad?
-
¿Qué proporciona cada componente?
-
¿Qué requiere cada componente?
-
¿Dónde están los límites de integración?
-
¿Qué dependencias son estables o riesgosas?
Ejemplo:

@startuml
component "Aplicación Web" as Web
component "Servicio de Pedidos" as Order
component "Adaptador de Pago" as Payment
component "Servicio de Inventario" as Inventory
database "Base de datos de Pedidos" as DB
cloud "Proveedor de Pago Externo" as Provider
Web --> Order : API REST
Order --> Payment : Interfaz de pago
Order --> Inventory : API de inventario
Order --> DB : Persistencia
Payment --> Provider : API del proveedor
@enduml
7.1 Los diagramas de componentes no son diagramas de paquetes
Un diagrama de paquetes agrupa elementos del modelo, a menudo para organización. Un diagrama de componentes describe unidades arquitectónicas que proporcionan y consumen funcionalidad.
Un componente podría ser:
-
Un servicio desplegable
-
Una aplicación web
-
Una aplicación móvil
-
Una biblioteca
-
Un intermediario de mensajes
-
Una plataforma externa
-
Una base de datos
-
Una integración de terceros
El nivel adecuado depende de la arquitectura.
7.2 Mostrar interfaces donde aclaren los contratos
Las interfaces hacen que las dependencias sean más explícitas:

@startuml
interface PaymentGateway
component "Order Service" as Order
component "Payment Adapter" as Adapter
Order ..> PaymentGateway
Adapter - PaymentGateway
@enduml
Esto comunica que el servicio de pedidos depende de una abstracción en lugar de un proveedor en particular.
7.3 Utilizar diagramas de componentes para respaldar decisiones arquitectónicas
Un diagrama de componentes se vuelve más valioso cuando se acompaña de notas de diseño breves:
-
¿Por qué está presente este límite?
-
¿Quién es el propietario de los datos?
-
¿La interacción es síncrona o asíncrona?
-
¿Qué sucede cuando falla la dependencia?
-
¿Es el componente desplegable de forma independiente?
-
¿Qué límite de seguridad representa?
-
¿Qué garantías de consistencia existen?
El diagrama no debería necesitar contener todas las respuestas, pero debería dirigir la atención hacia las importantes.
8. Diagramas de implementación: Conectando el software con la infraestructura
Los diagramas de implementación muestran el entorno físico o virtual donde se ejecutan los artefactos de software.
Ayudan a responder:
-
¿Dónde se ejecuta cada aplicación?
-
¿Qué nodos se comunican?
-
¿Dónde se encuentran las bases de datos?
-
¿Qué servicios son accesibles externamente?
-
¿Qué límites de red existen?
-
¿Cómo está distribuido el sistema?
-
¿Qué decisiones de infraestructura afectan la confiabilidad o el rendimiento?
Ejemplo:

@startuml
node "Dispositivo de usuario" as Device {
artifact "Navegador" as Browser
}
node "Región de nube" as Cloud {
node "Capa web" as WebTier {
artifact "Aplicación web" as WebApp
}
node "Capa de aplicación" as AppTier {
artifact "Servicio de pedidos" as OrderSvc
artifact "Adaptador de pago" as PaymentSvc
}
database "Base de datos de pedidos" as DB
}
cloud "Proveedor de pagos" as Provider
Browser --> WebApp : HTTPS
WebApp --> OrderSvc : HTTPS
OrderSvc --> DB : TLS
OrderSvc --> PaymentSvc
PaymentSvc --> Provider : HTTPS
@enduml
8.1 Distinguir nodos, artefactos y entornos
-
Un nodo es un entorno de ejecución, como un servidor, contenedor, dispositivo, máquina virtual o plataforma gestionada.
-
Un artefacto es una unidad de software desplegable, como un binario, imagen de contenedor, paquete o aplicación.
-
Un entorno puede representar desarrollo, pruebas, preproducción o producción.
8.2 Incluir detalles operativamente importantes
Según el propósito, los diagramas de despliegue pueden mostrar:
-
Balanceadores de carga
-
Firewalls
-
Zonas de red
-
Clústeres de contenedores
-
Zonas de disponibilidad
-
Bases de datos y réplicas
-
Cachés
-
Intermediarios de mensajes
-
Almacenamiento de objetos
-
Servicios externos
-
Sistemas de monitoreo y registro
No agregue detalles de infraestructura que no tengan efecto en la decisión que se está documentando.
8.3 Utilice diagramas de implementación para el análisis de riesgos
La modelización de la implementación puede revelar:
-
Un punto único de fallo
-
Una base de datos expuesta
-
Un límite de red ausente
-
Tráfico excesivo entre regiones
-
Una dependencia sin estrategia de conmutación por error
-
Separación inadecuada entre entornos
-
Una conexión no cifrada
-
Una suposición de escalado poco realista
9. Diagramas de máquinas de estado: Modelado de ciclos de vida
Los diagramas de máquinas de estado describen cómo una entidad responde a eventos moviéndose entre estados.
Son valiosos cuando el comportamiento de un objeto depende fuertemente de su estado actual.
Los ejemplos comunes incluyen:
-
Pedido
-
Pago
-
Envío
-
Ticket de soporte
-
Cuenta de usuario
-
Solicitud de flujo de trabajo
-
Suscripción
-
Documento
-
Dispositivo
-
Ejecución de trabajo
Ejemplo:

@startuml
[*] --> Borrador
Borrador --> PagoPendiente : enviar
PagoPendiente --> Pagado : pago aprobado
PagoPendiente --> PagoFallido : pago rechazado
PagoFallido --> PagoPendiente : reintentar pago
Pagado --> Procesando : iniciar cumplimiento
Procesando --> Enviado : despachar
Enviado --> Entregado : confirmar entrega
Pagado --> Cancelado : cancelar
Procesando --> Cancelado : cancelar si está permitido
Entregado --> [*]
Cancelado --> [*]
@enduml
9.1 Defina los estados con cuidado
Un estado debe representar una condición significativa, no simplemente una acción.
Buenos estados:
-
Pendiente de aprobación
-
Aprobado
-
Rechazado
-
Pago fallido
-
Enviado
Estados débiles:
-
Hacer clic en el botón
-
Llamar al servicio
-
Ejecutar método
Las acciones son eventos o transiciones. Los estados son condiciones que persisten.
9.2 Incluya reglas de transición
Una transición puede incluir:
-
Evento
-
Condición de guarda
-
Acción
Por ejemplo:
Pendiente de aprobación -- aprobar [gerente autorizado] / registrarAprobación --> Aprobado
Esto hace que las reglas de negocio sean visibles y comprobables.
9.3 Use máquinas de estados para derivar pruebas
Cada transición sugiere casos de prueba:
-
Transición válida
-
Transición inválida
-
Fallo de guarda
-
Evento repetido
-
Tiempo de espera agotado
-
Reintentar
-
Cancelación
-
Recuperación
Para un ciclo de vida de pedido, las pruebas podrían verificar:
-
Un pedido borrador puede ser enviado
-
Un pedido entregado no puede ser cancelado
-
Un fallo de pago permite un reintento
-
Un pedido cancelado no puede volver a estado pagado
10. Cómo trabajan juntos los siete diagramas
Los diagramas deberían formar un modelo coherente en lugar de siete ilustraciones desconectadas.
Considere una capacidad de “Enviar informe de gastos”.

Caso de uso
-
El empleado envía el informe de gastos
-
El gerente aprueba el informe de gastos
-
El oficial de finanzas procesa el reembolso
Actividad
-
Introducir gastos
-
Adjuntar recibos
-
Validar datos
-
Enviar informe
-
Enrutar al gerente
-
Aprobar o rechazar
-
Enviar a finanzas
Secuencia
-
La interfaz del empleado llama al servicio de gastos
-
El servicio de gastos valida el informe
-
El servicio de recibos almacena los archivos adjuntos
-
El servicio de flujo de trabajo asigna al gerente
-
El servicio de notificaciones envía alertas
Clase
-
Empleado -
Informe de gastos -
Ítem de gasto -
Recibo -
Aprobación -
Reembolso
Componente
-
Aplicación web
-
Servicio de gastos
-
Almacenamiento de recibos
-
Servicio de flujo de trabajo
-
Servicio de notificaciones
-
Integración financiera
Despliegue
-
Navegador
-
Capa web
-
Clúster de aplicaciones
-
Almacenamiento de objetos
-
Base de datos relacional
-
Plataforma financiera
Máquina de estados
Borrador → Enviado → En revisión → Aprobado → Reembolsado
↓
Rechazado
Cada diagrama añade una perspectiva diferente sin duplicar todas las demás.
11. Elegir qué diagramas crear
Un proceso de selección práctico es preguntar qué tipo de incertidumbre tiene el equipo.

| Incertidumbre | Diagrama útil |
|---|---|
| El alcance del sistema no está claro | Caso de uso |
| El proceso de negocio no está claro | Actividad |
| La colaboración o integración no está clara | Secuencia |
| Los conceptos del dominio no están claros | Clase |
| Los límites arquitectónicos no están claros | Componente |
| La topología de infraestructura o de red no está clara | Despliegue |
| Las reglas del ciclo de vida no están claras | Máquina de estados |
No necesitas cada diagrama para cada funcionalidad.
Una regla de decisión ligera
Crea un diagrama cuando al menos una de las siguientes condiciones sea verdadera:
-
Múltiples partes interesadas interpretan el requisito de manera diferente.
-
Un proceso tiene un comportamiento de ramificación o paralelo importante.
-
Un escenario cruza varios límites del sistema.
-
Un objeto de dominio tiene reglas no triviales.
-
Una decisión de arquitectura necesita ser comunicada.
-
La topología de despliegue afecta la fiabilidad, la seguridad o el rendimiento.
-
Las reglas del ciclo de vida son difíciles de explicar en prosa.
-
El diagrama se reutilizará para la implementación, revisión, pruebas o operaciones.
Evita crear un diagrama simplemente porque una plantilla indica que se espera uno.
12. Niveles de detalle
Una buena práctica de modelado utiliza múltiples niveles de abstracción.
Nivel de contexto
Muestra el sistema y los principales actores o sistemas externos.
Útil para:
-
Alcance
-
Comunicación con las partes interesadas
-
Límites del sistema
Nivel de contenedor o subsistema
Muestra aplicaciones, servicios, bases de datos e integraciones principales.
Útil para:
-
Arquitectura
-
Propiedad
-
Planificación del despliegue
Nivel de componente
Muestra partes internas de la arquitectura e interfaces.
Útil para:
-
Diseño detallado
-
Revisión de dependencias
-
Límites del equipo
Nivel de código
Muestra clases, métodos y dependencias de implementación.
Útil para:
-
Trabajo del desarrollador
-
Refactorización
-
Depuración
No coloque todos los niveles en un solo diagrama. Un diagrama de contexto no debe contener todas las clases, y un diagrama de clases no debe intentar representar toda la red de producción.
13. Visual Paradigm UML
Visual Paradigm es muy adecuado para equipos que prefieren el modelado gráfico y la documentación integrada.

Puede ser útil para:
-
Dibujar diagramas UML de forma interactiva
-
Mantener un repositorio de modelos
-
Vincular diagramas a los requisitos
-
Crear relaciones de trazabilidad
-
Generación de documentación
-
Colaboración a través de un entorno de modelado compartido
-
Generación o ingeniería inversa de artefactos seleccionados
-
Gestión de modelos grandes con funciones de navegación y organización
13.1 Fortalezas
Las herramientas gráficas de UML son particularmente útiles cuando:
-
Los analistas y los no desarrolladores necesitan editar diagramas
-
Los interesados prefieren la manipulación visual
-
Un proyecto requiere una organización formal del modelo
-
La trazabilidad es importante
-
El equipo mantiene un repositorio central
-
La documentación debe generarse de manera consistente
13.2 Uso recomendado
Utilice Visual Paradigm para las vistas del modelo que se benefician de:
-
Diseño interactivo
-
Anotaciones ricas
-
Navegación entre diagramas
-
Gestión formal del repositorio
-
Trazabilidad
-
Talleres con interesados
No permita que la herramienta determine la estrategia de modelado. Primero decida:
-
Qué decisión apoya el diagrama
-
Quién lo leerá
-
Qué nivel de detalle es apropiado
-
Cómo se mantendrá
-
Si el modelo necesita conectarse a requisitos o código
13.3 Disciplina del repositorio
Un repositorio de modelo compartido se beneficia de las mismas prácticas que el control de fuentes:
-
Establezca convenciones de nomenclatura
-
Asigne la propiedad de las áreas principales del modelo
-
Revisar cambios significativos
-
Evitar diagramas duplicados innecesarios
-
Archivar vistas obsoletas
-
Registrar el propósito de los diagramas importantes
-
Mantener los elementos del modelo con nombres consistentes
14. VPasCode y modelado basado en texto
VPasCode respalda un enfoque orientado al texto para el modelado dentro de un ecosistema de Visual Paradigm. Este estilo es útil para equipos que desean que los diagramas se comporten más como artefactos de código fuente.

Los diagramas basados en texto pueden ofrecer:
-
Compatibilidad con control de versiones
-
Revisión de código
-
Ramas y fusiones
-
Generación automatizada
-
Compilaciones repetibles
-
Actualizaciones por lotes más fáciles
-
Proximidad al código fuente y la documentación
Un modelo basado en texto podría verse así:
actor Cliente
usecase "Realizar Pedido" como PlaceOrder
Cliente --> PlaceOrder
La sintaxis exacta depende de la herramienta y el flujo de trabajo, pero la ventaja más amplia es que el diagrama se representa como texto editable en lugar de solo como un archivo gráfico.
14.1 Cuándo funciona bien el modelado basado en texto
Use diagramas basados en texto cuando:
-
Los desarrolladores mantienen los modelos
-
Los diagramas cambian con frecuencia
-
El equipo utiliza Git u otro sistema de control de versiones
-
Los revisores quieren inspeccionar cambios textuales
-
Los diagramas se generan como parte de la documentación
-
Múltiples ramas necesitan evolucionar de forma independiente
14.2 Limitaciones potenciales
El modelado basado en texto puede ser menos conveniente cuando:
-
Las partes interesadas del negocio necesitan editar los diagramas directamente
-
El diseño debe optimizarse manualmente
-
El modelo contiene anotaciones visuales ricas
-
El equipo no está familiarizado con la sintaxis de los diagramas
-
Un repositorio requiere una navegación visual sofisticada
Un enfoque híbrido suele ser efectivo: utilice diagramas basados en texto para la arquitectura orientada al código y herramientas gráficas para el análisis dirigido a las partes interesadas.
15. PlantUML
PlantUML es un enfoque de diagramación basado en texto muy popular que puede generar diagramas UML y diagramas arquitectónicos relacionados a partir de texto plano.
Ejemplo:

@startuml
actor Usuario
participante "Aplicación Web" como Web
participante "Servicio de Aplicación" como App
database Database
Usuario -> Web : Solicitud
Web -> App : Ejecutar operación
App -> Database : Leer/escritura de datos
Database --> App : Resultado
App --> Web : Respuesta
Web --> Usuario : Mostrar resultado
@enduml
15.1 Beneficios
PlantUML es valioso porque los diagramas pueden:
-
Almacenarse junto al código fuente
-
Revisarse en solicitudes de extracción (pull requests)
-
Generarse automáticamente
-
Actualizarse con ediciones de texto simples
-
Incluirse en flujos de trabajo de Markdown o documentación
-
Producirse de manera consistente en todos los entornos
15.2 Organización de archivos PlantUML
Una estructura de repositorio práctica podría ser:
docs/
arquitectura/
contexto-sistema.puml
componentes.puml
despliegue.puml
flujos-de-trabajo/
realizar-pedido.puml
reembolso-pago.puml
dominio/
modelo-pedido.puml
ciclo-vida-pedido.puml
Utilice nombres descriptivos y organice los diagramas por propósito en lugar de por herramienta.
15.3 Mantenga las imágenes generadas fuera de la fuente de verdad
Cuando sea posible:
-
Almacene
.pumlarchivos como la fuente autoritativa -
Genere archivos PNG, SVG o PDF durante la construcción de la documentación
-
Evite editar manualmente las imágenes generadas
-
Validar que los diagramas se rendericen correctamente en la automatización
15.4 Utilice un estilo consistente
Defina un vocabulario visual pequeño:
-
Un color para sistemas externos
-
Un color para servicios internos
-
Un color para bases de datos
-
Una notación para mensajería asíncrona
-
Una convención de nombres para interfaces
-
Una forma de representar límites de seguridad
La consistencia es más valiosa que la decoración.
16. Modelado UML asistido por IA
La IA puede acelerar el modelado, pero debe tratarse como un asistente de modelado en lugar de una autoridad.

La IA es útil para:
-
Convertir requisitos en casos de uso candidatos
-
Extraer actores y objetivos
-
Proponer flujos de actividad
-
Generar PlantUML
-
Sugerir participantes de secuencia
-
Identificar entidades del dominio
-
Detectar rutas alternativas faltantes
-
Revisar la consistencia de los diagramas
-
Producir documentación a partir de diagramas
-
Traducir entre representaciones gráficas y textuales
-
Generar ideas de prueba a partir de transiciones de estado
16.1 Un flujo de trabajo productivo con IA
Un flujo de trabajo confiable es:
-
Proporcione los requisitos, las restricciones y el contexto del sistema.
-
Pida a la IA que identifique suposiciones y ambigüedades.
-
Genere un diagrama candidato.
-
Revise el diagrama en función de los requisitos reales.
-
Compárelo con la implementación y la infraestructura.
-
Corrija los detalles inexactos o inventados.
-
Genere y revise visualmente el resultado.
-
Obtenga una revisión de las partes interesadas relevantes.
-
Almacene el modelo aprobado en el repositorio del proyecto.
-
Actualícelo cuando el sistema cambie.
16.2 Indique restricciones a la IA
Indicación débil:
Cree un diagrama UML para un sistema de pedidos.

Indicación más fuerte:

Cree un diagrama de secuencia PlantUML para enviar un pedido.
Participantes:
- Cliente
- Aplicación web
- Servicio de pedidos
- Proveedor de pagos
- Servicio de inventario
- Base de datos de pedidos
Restricciones:
- El pago debe autorizarse antes de confirmar el pedido.
- La reserva de inventario puede ocurrir en paralelo con la autorización del pago.
- Un pago rechazado debe dejar el pedido en el estado PagoFallido.
- Un tiempo de espera debe reintentarse una vez.
- Muestre las rutas de éxito, rechazo y tiempo de espera.
- No invente servicios que no estén listados aquí.

Cuanto más claramente se expresen las restricciones, menos probable será que el resultado contenga una arquitectura no soportada.
16.3 Pida a la IA una crítica, no solo generación
Las indicaciones útiles para la revisión incluyen:
-
¿Qué requisitos no están representados?
-
¿Qué ramas faltan?
-
¿Este diagrama de secuencia contradice la máquina de estados?
-
¿Hay alguna dependencia sin explicar?
-
¿Hay responsabilidades asignadas al componente incorrecto?
-
¿El modelo de implementación soporta el requisito de disponibilidad?
-
¿Qué transiciones deberían convertirse en casos de prueba?
-
¿Qué suposiciones necesitan confirmación?
16.4 Fallos comunes en el modelado con IA
Los modelos generados por IA pueden:
-
Inventar actores o servicios
-
Confundir roles de negocio con componentes técnicos
-
Añadir tablas de base de datos no soportadas
-
Asumir comunicación sincrónica
-
Omitir rutas de fallo
-
Representar incorrectamente la propiedad
-
Usar relaciones UML incorrectamente
-
Producir diagramas que sean sintácticamente válidos pero semánticamente incorrectos
-
Mezclar niveles de abstracción
-
Tratar suposiciones como requisitos
El principio clave es:
La IA puede generar un borrador rápidamente, pero solo la revisión de dominio y técnica puede establecer si el borrador es correcto.
17. Validación de UML frente a la realidad
Un diagrama solo es valioso si permanece alineado con el sistema.
17.1 Validar frente a los requisitos
Verificar:
-
¿Aparece cada requisito importante en uno o más modelos?
-
¿Son correctos los actores y los objetivos?
-
¿Están representadas las reglas de negocio?
-
¿Están incluidas las excepciones?
-
¿Se reflejan los requisitos no funcionales donde sea relevante?
17.2 Validar frente a la implementación
Verificar:
-
¿Coinciden los límites de los componentes con el código?
-
¿Existen los participantes de la secuencia?
-
¿Son precisas las interfaces y los mensajes?
-
¿Son realistas las responsabilidades de las clases?
-
¿Se muestran correctamente las operaciones asíncronas?
-
¿Son aplicadas las transiciones de estado por la implementación?
17.3 Validar frente a las operaciones
Verificar:
-
¿Puede el diagrama de despliegue ser implementado realmente?
-
¿Son realistas las conexiones de red?
-
¿Están representados los sistemas externos?
-
¿Están incluidas las bases de datos, colas, cachés y almacenamiento donde sea importante?
-
¿Son plausibles las suposiciones de fallo y escalado?
17.4 Validar entre diagramas
Busque contradicciones como:
-
Un caso de uso nombra un actor ausente del contexto del sistema
-
Un diagrama de secuencia llama a un componente no mostrado en la arquitectura
-
Una máquina de estados permite una transición no soportada por las reglas de negocio
-
Un diagrama de clases muestra uno a muchos mientras que la base de datos impone uno a uno
-
Un diagrama de despliegue omite un servicio requerido por los diagramas de secuencia
-
Un diagrama de actividad muestra operaciones paralelas mientras que la implementación es estrictamente secuencial
La consistencia entre diagramas suele ser más importante que la calidad artística de cualquier diagrama individual.
18. Trazabilidad
La trazabilidad vincula los modelos con los requisitos, el código, las pruebas y los artefactos operativos.
Una cadena de trazabilidad simple podría ser:
Requisito
→ Caso de uso
→ Flujo de actividad
→ Escenario de secuencia
→ Componente
→ Implementación
→ Prueba automatizada
Para un objeto de dominio con estado:
Regla de negocio
→ Transición de estado
→ Condición de guarda
→ Caso de prueba
La trazabilidad no requiere conectar cada elemento con todo lo demás. Enfóquese en relaciones de alto valor:
-
Comportamiento crítico para la seguridad
-
Requisitos regulatorios
-
Controles de seguridad
-
Integraciones importantes
-
Reglas de negocio complejas
-
Decisiones arquitectónicas de alto riesgo
19. Control de versiones y mantenimiento de modelos
Un diagrama es documentación, y la documentación se vuelve poco fiable cuando no se mantiene.
19.1 Almacenar los modelos cerca del trabajo que describen
Los enfoques posibles incluyen:
-
Archivos UML en el repositorio de origen
-
Repositorios de documentación de arquitectura
-
Un repositorio de modelado compartido
-
Diagramas generados publicados junto con la documentación técnica
-
Vinculaciones entre requisitos y elementos del modelo
19.2 Revisar diagramas con el código
Para cambios de arquitectura o comportamiento, incluya la actualización del diagrama relevante en el mismo cambio que la implementación, cuando sea práctico.
Los revisores pueden entonces evaluar:
-
Si la implementación coincide con el diseño previsto
-
Si el cambio de diseño está completo
-
Si las dependencias han cambiado
-
Si existen nuevas rutas de fallo
-
Si se consideraron las implicaciones de implementación
19.3 Preferir menos diagramas autoritativos
Múltiples diagramas contradictorios son peores que un diagrama incompleto. Establezca qué diagramo es autoritativo para cada preocupación.
Por ejemplo:
-
Diagrama de componentes: autoritativo para los límites principales de los servicios
-
Diagrama de despliegue: autoritativo para la topología de producción
-
Máquina de estados: autoritativa para el ciclo de vida del pedido
-
Diagrama de clases: autoritativo para las relaciones del dominio
20. Errores comunes de modelado

Modelar todo
Más diagramas no producen automáticamente más comprensión. Modele los riesgos y las decisiones que importan.
Mezclar niveles de abstracción
No coloque roles de negocio, clases de programación, infraestructura en la nube y columnas de base de datos en un solo diagrama indiferenciado.
Usar nombres vagos
Nombres como «Procesar datos» o «Gestionar solicitud» ocultan la intención. Prefiera nombres que identifiquen un objetivo, una responsabilidad o un evento significativo.
Omitir el comportamiento de fallo
Los modelos de solo éxito crean expectativas poco realistas. Incluya excepciones importantes, reintentos, tiempos de espera y estados rechazados.
Tratar los diagramas como permanentes
La arquitectura evoluciona. Un diagrama debe tener un responsable y una expectativa de mantenimiento.
Abusar de las relaciones UML
Una simple asociación suele ser mejor que un conjunto técnicamente preciso pero confuso de tipos de relación.
Hacer los diagramas ilegibles
Utilice múltiples vistas enfocadas en lugar de un único diagrama enorme. Divida los modelos grandes por escenario, subsistema, ciclo de vida o límite de implementación.
Permitir que las herramientas impulsen el diseño
Una herramienta puede facilitar el dibujo de diagramas, pero no puede decidir qué debe modelarse ni si el modelo es correcto.
21. Un flujo de trabajo de modelado práctico
Un equipo puede adoptar el siguiente flujo de trabajo para una característica o sistema.
Paso 1: Establecer el alcance
Cree una vista de contexto ligera e identifique:
-
Límite del sistema
-
Usuarios principales
-
Sistemas externos
-
Objetivos principales
Paso 2: Identificar casos de uso
Escriba los casos de uso como objetivos del actor. Agrupe la funcionalidad relacionada e identifique los escenarios más importantes.
Paso 3: Modelar el flujo de trabajo principal
Utilice un diagrama de actividades para mostrar:
-
Flujo normal
-
Decisiones
-
Responsabilidades
-
Trabajo en paralelo
-
Excepciones
Paso 4: Seleccionar escenarios críticos
Cree diagramas de secuencia para las interacciones que sean importantes, complejas, riesgosas o con alta dependencia de integración.
Paso 5: Definir la estructura del dominio
Cree un diagrama de clases a nivel conceptual o de diseño para los conceptos involucrados en esos escenarios.
Paso 6: Establecer límites arquitectónicos
Utilice un diagrama de componentes para mostrar:
-
Módulos o servicios principales
-
Interfaces
-
Dependencias
-
Propiedad
-
Puntos de integración
Paso 7: Implementación del modelo
Cree un diagrama de implementación cuando la infraestructura, la seguridad, la escalabilidad, la disponibilidad o las operaciones sean preocupaciones significativas.
Paso 8: Ciclos de vida del modelo
Cree diagramas de máquina de estados para entidades cuyo comportamiento depende del estado o de las transiciones permitidas.
Paso 9: Validar
Compare los modelos con:
-
Requisitos
-
Código existente
-
Pruebas
-
Estructuras de datos
-
Infraestructura
-
Restricciones operativas
Paso 10: Mantener
Actualice los diagramas afectados cuando cambien el comportamiento, las interfaces, la propiedad o la implementación.
22. Un entregable mínimo para un sistema típico
Para una aplicación de tamaño mediano, una base práctica podría ser:
-
Una vista de contexto del sistema o de casos de uso
-
De dos a cinco diagramas de actividad para procesos comerciales importantes
-
De dos a cinco diagramas de secuencia para escenarios críticos
-
Un diagrama de clases del dominio
-
Un diagrama de componentes
-
Un diagrama de implementación de producción
-
Diagramas de máquina de estados para entidades clave del ciclo de vida
Esto no es una cuota obligatoria. Algunos sistemas pueden necesitar menos diagramas; otros pueden necesitar más. El número adecuado depende de la complejidad, el riesgo, el tamaño del equipo, la regulación y el costo de la mala interpretación.
23. Estrategia de selección de herramientas
Diferentes herramientas satisfacen diferentes necesidades de modelado.
| Necesidad | Enfoque adecuado |
|---|---|
| Talleres con partes interesadas | Herramienta gráfica de UML |
| Repositorio formal y trazabilidad | Plataforma de modelado visual |
| Documentación de arquitectura gestionada por desarrolladores | PlantUML o VPasCode |
| Diagramas revisados en solicitudes de extracción | Diagramas basados en texto |
| Borrador inicial rápido | Generación asistida por IA |
| Topología operativa de alta fidelidad | Modelado gráfico o consciente de la infraestructura |
| Documentación de larga duración | Fuente controlada por versiones más renderizado automatizado |
| Modelado exploratorio | Pizarra blanca o diagramación ligera |
Un equipo no necesita seleccionar una sola herramienta para cada situación. Un enfoque mixto puede funcionar bien si la fuente de la verdad y las responsabilidades de mantenimiento están claras.
Conclusión
Una estrategia práctica de UML no se trata de usar todos los tipos de diagramas. Se trata de seleccionar el conjunto más pequeño de vistas que haga el sistema comprensible.
El núcleo de siete diagramas proporciona una cobertura amplia:
-
Los diagramas de casos de uso explican los objetivos y el alcance.
-
Los diagramas de actividad explican los flujos de trabajo y las responsabilidades.
-
Los diagramas de secuencia explican la colaboración y la temporización.
-
Los diagramas de clases explican la estructura y los conceptos del dominio.
-
Los diagramas de componentes explican los límites arquitectónicos.
-
Los diagramas de despliegue explican la ubicación en tiempo de ejecución y la infraestructura.
-
Los diagramas de máquinas de estado explican las reglas del ciclo de vida.
Visual Paradigm puede soportar modelado gráfico, trazabilidad y colaboración basada en repositorios. VPasCode y PlantUML hacen que los diagramas sean más fáciles de versionar, revisar, generar y mantener con el código fuente. La IA puede acelerar el borrado, la transformación y la revisión, pero su salida debe verificarse contra los requisitos reales, la implementación actual y las restricciones operativas.
La práctica de modelado más sólida es disciplinada en lugar de exhaustiva:
-
Modela las decisiones, riesgos y comportamientos que importan.
-
Elige el tipo de diagrama que mejor responda a la pregunta.
-
Mantenga cada diagrama enfocado en un solo nivel de abstracción.
-
Conecte los diagramas relacionados mediante nombres consistentes y trazabilidad.
-
Valide los modelos frente a los requisitos, el código, las pruebas y el despliegue.
-
Almacene y revise los diagramas como artefactos de proyecto mantenibles.
-
Elimine los diagramas que ya no aportan valor.
La eficacia de UML no se mide por la cantidad de diagramas producidos. Se mide por si los modelos ayudan a las personas a construir, probar, operar y modificar el sistema con mayor confianza.
Referencia
- VPasCode: Diagramas como código asistidos por IA con PlantUML, Mermaid y Graphviz: Guía oficial que cubre el motor de texto a diagrama de VPasCode, las mejores prácticas de sintaxis y los flujos de trabajo de modificación asistidos por IA.
- De “Tareas de dibujo” a “Articulación”: Visión general del chatbot de IA: Explica cómo el chatbot de IA de Visual Paradigm convierte el lenguaje natural en UML y otros diagramas que cumplen con los estándares.
- Potencie el chatbot de IA de Visual Paradigm con la base de conocimientos de NotesKeep: Muestra cómo conectar repositorios de NotesKeep como fuente de conocimiento para la generación de diagramas impulsada por IA y la síntesis de requisitos.
- Revolutionice su modelado UML en Mac con Visual Paradigm: Visión general del soporte de UML 2.x de Visual Paradigm, la ingeniería de código y la trazabilidad de modelos en macOS.
- Presentación del chatbot AI VPP en Visual Paradigm 18.1: Anuncio de lanzamiento del chatbot AI VPP que permite a los usuarios consultar archivos de proyecto .vpp mediante lenguaje natural.
- Planes y precios de VPasCode: Precios y comparación de funciones para la capa gratuita de VPasCode y su integración con las ediciones Online y de escritorio de Visual Paradigm.
- Bienvenido a Visual Paradigm VPasCode: El cambio hacia diagramas como código: Presenta el flujo de trabajo de diagramas como código y el entorno de renderizado unificado para PlantUML, Mermaid y Graphviz.
- Generación nativa de diagramas con IA en Visual Paradigm VPasCode: Detalla la IA integrada de VPasCode que genera y modifica diagramas de PlantUML/Mermaid/Graphviz directamente dentro del editor.


