93 lines
2.4 KiB
Plaintext
93 lines
2.4 KiB
Plaintext
@startuml use-cases
|
|
!theme plain
|
|
skinparam actorStyle awesome
|
|
skinparam packageStyle rectangle
|
|
skinparam usecaseBackgroundColor #F8F9FA
|
|
skinparam usecaseBorderColor #495057
|
|
skinparam actorBackgroundColor #007AFF
|
|
|
|
title Sistema de Registro de Estudiantes - Diagrama de Casos de Uso
|
|
|
|
actor "Estudiante" as student
|
|
actor "Administrador" as admin
|
|
|
|
rectangle "Sistema de Inscripción Académica" {
|
|
' Autenticación (ambos actores)
|
|
usecase "Iniciar sesión" as UC_LOGIN
|
|
usecase "Recuperar contraseña" as UC_RECOVER
|
|
|
|
' Solo estudiantes
|
|
usecase "Registrarse" as UC_REGISTER
|
|
usecase "Activar cuenta" as UC_ACTIVATE
|
|
usecase "Ver dashboard personal" as UC_DASHBOARD
|
|
usecase "Ver materias disponibles" as UC_SUBJECTS
|
|
usecase "Inscribirse en materia" as UC_ENROLL
|
|
usecase "Cancelar inscripción" as UC_UNENROLL
|
|
usecase "Ver mis inscripciones" as UC_MY_ENROLL
|
|
usecase "Ver compañeros de clase" as UC_CLASSMATES
|
|
|
|
' Solo administrador
|
|
usecase "Gestionar estudiantes\n(CRUD)" as UC_CRUD
|
|
usecase "Ver todos los estudiantes" as UC_LIST
|
|
usecase "Crear estudiante" as UC_CREATE
|
|
usecase "Editar estudiante" as UC_EDIT
|
|
usecase "Eliminar estudiante" as UC_DELETE
|
|
|
|
' Validaciones (includes)
|
|
usecase "Validar límite de créditos\n(máx 9 créditos)" as UC_VAL_CREDITS
|
|
usecase "Validar restricción de profesor\n(no repetir profesor)" as UC_VAL_PROF
|
|
}
|
|
|
|
' Relaciones Estudiante
|
|
student --> UC_REGISTER
|
|
student --> UC_LOGIN
|
|
student --> UC_ACTIVATE
|
|
student --> UC_RECOVER
|
|
student --> UC_DASHBOARD
|
|
student --> UC_SUBJECTS
|
|
student --> UC_ENROLL
|
|
student --> UC_UNENROLL
|
|
student --> UC_MY_ENROLL
|
|
student --> UC_CLASSMATES
|
|
|
|
' Relaciones Admin
|
|
admin --> UC_LOGIN
|
|
admin --> UC_RECOVER
|
|
admin --> UC_CRUD
|
|
admin --> UC_LIST
|
|
|
|
' Extensiones CRUD
|
|
UC_CRUD ..> UC_CREATE : <<include>>
|
|
UC_CRUD ..> UC_EDIT : <<include>>
|
|
UC_CRUD ..> UC_DELETE : <<include>>
|
|
|
|
' Validaciones inscripción
|
|
UC_ENROLL ..> UC_VAL_CREDITS : <<include>>
|
|
UC_ENROLL ..> UC_VAL_PROF : <<include>>
|
|
|
|
note right of UC_ENROLL
|
|
Reglas de negocio:
|
|
- Máximo 3 materias (9 créditos)
|
|
- No puede tener 2 materias
|
|
del mismo profesor
|
|
- Requiere cuenta activada
|
|
end note
|
|
|
|
note right of UC_CLASSMATES
|
|
Solo muestra nombres
|
|
de compañeros por materia
|
|
end note
|
|
|
|
note right of UC_ACTIVATE
|
|
El estudiante recibe
|
|
código de activación
|
|
al registrarse
|
|
end note
|
|
|
|
note bottom of admin
|
|
Acceso completo al
|
|
CRUD de estudiantes
|
|
end note
|
|
|
|
@enduml
|