Diagrama de clases¶
El diagrama de clases muestra las clases principales del sistema, sus atributos, métodos y relaciones. Incluye operaciones principales del comportamiento esperado.
classDiagram
class Usuario {
-int idUsuario
-String nombre
-String correo
-String contrasena
-String estado
+iniciarSesion()
+cerrarSesion()
+modificarDatos()
+consultarDatos()
}
class Administrador {
+registrarUsuario()
+modificarUsuario()
+desactivarUsuario()
+asignarRol()
+consultarAuditoria()
}
class Rol {
-int idRol
-String nombre
-String descripcion
+crearRol()
+modificarRol()
+asignarPermiso()
}
class Aspirante {
-int idAspirante
-String nombre
-String correo
-String tipo
+registrarse()
+crearSolicitud()
+cargarDocumento()
+consultarEstadoSolicitud()
}
class Estudiante {
-int idEstudiante
-String codigo
-String estadoAcademico
+consultarExpediente()
+consultarCalificaciones()
+consultarAsistencia()
+solicitarEvaluacionFinal()
+descargarCertificado()
}
class ProgramaPosgrado {
-int idPrograma
-String titulo
-String tipo
-String modalidad
-int horasTotales
-int creditos
-String estado
+registrarPrograma()
+calcularCreditos()
+enviarRevision()
+aprobarPrograma()
}
class EdicionPrograma {
-int idEdicion
-int numeroEdicion
-Date fechaInicio
-Date fechaFin
-int capacidad
+crearEdicion()
+cerrarEdicion()
+consultarMatricula()
}
class Convocatoria {
-int idConvocatoria
-Date fechaPublicacion
-String requisitos
-String estado
+publicar()
+cerrar()
+consultarRequisitos()
}
class SolicitudMatricula {
-int idSolicitud
-Date fechaSolicitud
-String estado
-String observaciones
+guardarBorrador()
+enviarSolicitud()
+validarDocumentos()
+aprobar()
+rechazar()
}
class Documento {
-int idDocumento
-String tipo
-String nombreArchivo
-String estadoValidacion
+cargar()
+validar()
+rechazar()
+descargar()
}
class ExpedienteDigital {
-int idExpediente
-Date fechaApertura
-String estado
+abrir()
+agregarDocumento()
+registrarNovedad()
+exportar()
}
class Matricula {
-int idMatricula
-Date fechaMatricula
-String estado
+registrar()
+cancelar()
+consultar()
}
class Calificacion {
-int idCalificacion
-String valor
-Date fecha
+registrar()
+modificar()
+consultar()
}
class Asistencia {
-int idAsistencia
-Date fecha
-Boolean presente
+registrar()
+modificar()
+consultar()
}
class EvaluacionFinal {
-int idEvaluacionFinal
-Date fechaDefensa
-String resultado
+programarDefensa()
+registrarResultado()
+generarActa()
}
class Reporte {
-int idReporte
-String tipo
-Date fechaGeneracion
+generar()
+exportarPDF()
+exportarExcel()
+exportarXML()
}
Usuario <|-- Administrador
Usuario <|-- Aspirante
Aspirante <|-- Estudiante
Usuario "1" --> "1..*" Rol
ProgramaPosgrado "1" --> "0..*" EdicionPrograma
EdicionPrograma "1" --> "0..1" Convocatoria
Convocatoria "1" --> "0..*" SolicitudMatricula
SolicitudMatricula "1" --> "1..*" Documento
SolicitudMatricula "0..1" --> "1" Matricula
Matricula "1" --> "1" Estudiante
Estudiante "1" --> "1" ExpedienteDigital
ExpedienteDigital "1" --> "0..*" Calificacion
ExpedienteDigital "1" --> "0..*" Asistencia
ExpedienteDigital "1" --> "0..1" EvaluacionFinal
Reporte ..> Matricula
Reporte ..> Calificacion