# Diagramas UML - Sistema de Registro de Estudiantes

Diagramas de arquitectura y diseño del sistema, creados con PlantUML siguiendo el estándar UML 2.5.

## Diagramas Disponibles

| # | Diagrama | Archivo | Descripción |
|---|----------|---------|-------------|
| 1 | Casos de Uso | [01-use-cases](./01-use-cases.svg) | Funcionalidades del sistema desde perspectiva del estudiante |
| 2 | Modelo de Dominio | [02-domain-model](./02-domain-model.svg) | Entidades, Value Objects y servicios de dominio |
| 3 | Secuencia: Inscripción | [03-sequence-enrollment](./03-sequence-enrollment.svg) | Flujo completo del proceso de inscripción |
| 4 | Componentes | [04-components](./04-components.svg) | Arquitectura de componentes frontend y backend |
| 5 | Entidad-Relación | [05-entity-relationship](./05-entity-relationship.svg) | Modelo de base de datos |
| 6 | Estados: Inscripción | [06-state-enrollment](./06-state-enrollment.svg) | Estados del estudiante según créditos |
| 7 | Despliegue | [07-deployment](./07-deployment.svg) | Infraestructura Docker |
| 8 | C4 Contexto | [08-c4-context](./08-c4-context.svg) | Vista de alto nivel del sistema |

## Regenerar Diagramas

Los archivos `.puml` son la fuente. Para regenerar los SVG:

```bash
cd docs/architecture/diagrams

# Regenerar todos
for f in *.puml; do
  cat "$f" | plantuml -tsvg -pipe > "${f%.puml}.svg"
done

# O uno específico
cat 01-use-cases.puml | plantuml -tsvg -pipe > 01-use-cases.svg
```

## Requisitos

- [PlantUML](https://plantuml.com/) instalado
- Java Runtime (requerido por PlantUML)

```bash
# Ubuntu/Debian
sudo apt install plantuml

# Verificar instalación
plantuml -version
```
