2026-01-08 04:00:56 +00:00
|
|
|
@startuml state-enrollment
|
|
|
|
|
!theme plain
|
|
|
|
|
skinparam stateBackgroundColor #F8F9FA
|
|
|
|
|
skinparam stateBorderColor #495057
|
|
|
|
|
|
2026-01-09 12:43:35 +00:00
|
|
|
title Estados del Estudiante y sus Inscripciones
|
2026-01-08 04:00:56 +00:00
|
|
|
|
2026-01-09 12:43:35 +00:00
|
|
|
[*] --> Registrado : Registro inicial
|
2026-01-08 04:00:56 +00:00
|
|
|
|
2026-01-09 12:43:35 +00:00
|
|
|
state "Cuenta" as cuenta {
|
|
|
|
|
state "Registrado\n(Pendiente Activación)" as Registrado
|
|
|
|
|
state "Activo" as Activo
|
2026-01-08 04:00:56 +00:00
|
|
|
|
2026-01-09 12:43:35 +00:00
|
|
|
Registrado --> Activo : activar(código)
|
|
|
|
|
Registrado --> Registrado : código expirado\n[regenerar código]
|
2026-01-08 04:00:56 +00:00
|
|
|
}
|
|
|
|
|
|
2026-01-09 12:43:35 +00:00
|
|
|
state "Inscripciones" as inscripciones {
|
|
|
|
|
state "Sin Materias" as SinMaterias {
|
|
|
|
|
state "0 créditos" as cred0
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
state "Inscripción Parcial" as Parcial {
|
|
|
|
|
state "3 créditos\n(1 materia)" as cred3
|
|
|
|
|
state "6 créditos\n(2 materias)" as cred6
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
state "Inscripción Completa" as Completa {
|
|
|
|
|
state "9 créditos\n(3 materias)" as cred9
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
SinMaterias --> Parcial : inscribir(materia)
|
|
|
|
|
Parcial --> Parcial : inscribir(materia)\n[créditos < 9]
|
|
|
|
|
Parcial --> Completa : inscribir(materia)\n[créditos = 6]
|
|
|
|
|
Completa --> Parcial : cancelar(inscripción)
|
|
|
|
|
Parcial --> SinMaterias : cancelar(inscripción)\n[única materia]
|
2026-01-08 04:00:56 +00:00
|
|
|
}
|
|
|
|
|
|
2026-01-09 12:43:35 +00:00
|
|
|
Activo --> SinMaterias : cuenta activa
|
|
|
|
|
|
|
|
|
|
state validacion <<choice>>
|
|
|
|
|
|
|
|
|
|
SinMaterias --> validacion : intenta inscribir
|
|
|
|
|
Parcial --> validacion : intenta inscribir
|
|
|
|
|
|
|
|
|
|
validacion --> Parcial : [válido y cuenta activa]
|
|
|
|
|
validacion --> [*] : [inválido]\nmuestra error
|
|
|
|
|
|
|
|
|
|
note right of Registrado
|
|
|
|
|
El estudiante recibe
|
|
|
|
|
código de activación
|
|
|
|
|
por email (24h validez)
|
|
|
|
|
end note
|
2026-01-08 04:00:56 +00:00
|
|
|
|
|
|
|
|
note right of Completa
|
|
|
|
|
No puede inscribir
|
|
|
|
|
más materias
|
|
|
|
|
end note
|
|
|
|
|
|
|
|
|
|
note left of Parcial
|
|
|
|
|
<b>Validaciones en cada inscripción:</b>
|
2026-01-09 12:43:35 +00:00
|
|
|
- Cuenta activa
|
2026-01-08 04:00:56 +00:00
|
|
|
- Límite de créditos
|
|
|
|
|
- No repetir profesor
|
|
|
|
|
- Materia no duplicada
|
|
|
|
|
end note
|
|
|
|
|
|
2026-01-09 12:43:35 +00:00
|
|
|
note bottom of validacion
|
|
|
|
|
Si la cuenta no está
|
|
|
|
|
activa, redirige a
|
|
|
|
|
página de activación
|
|
|
|
|
end note
|
2026-01-08 04:00:56 +00:00
|
|
|
|
|
|
|
|
@enduml
|