Diagrama del dominio - HGM-submissions/gestion-de-personal-docs GitHub Wiki
Mermaid
classDiagram
class Empleado {
+int id
+string nombre
+string apellido
+string email
+string telefono
+date fechaNacimiento
+date fechaContratacion
+string direccion
+Documento[] documentos
+Certificacion[] certificaciones
+Turno[] turnos
+Rol rol
+Departamento departamento
+actualizarDatos()
+subirDocumento()
+solicitarCambioTurno()
}
class Departamento {
+int id
+string nombre
+Empleado[] empleados
}
class Turno {
+int id
+date fecha
+time horaInicio
+time horaFin
+Empleado asignado
}
class Rol {
+int id
+string nombre
+Permiso[] permisos
+asignarPermiso()
+modificarPermiso()
}
class Permiso {
+int id
+string nombre
+string descripcion
}
class Certificacion {
+int id
+string descripcion
+date fechaObtencion
+date fechaCaducidad
}
class Documento {
+int id
+string tipo
+string nombre
+byte[] contenido
}
class RegistroAuditoria {
+int id
+date fechaCambio
+string detalleCambio
+Empleado empleado
}
class Especialidad {
+int id
+string nombre
}
Empleado "1" -- "*" Departamento : contiene
Empleado "1" -- "*" Turno : asignado
Empleado "1" -- "*" Rol : tiene
Empleado "1" -- "*" Certificacion : posee
Empleado "1" -- "*" Documento : adjunta
Empleado "1" -- "*" RegistroAuditoria : audita
Rol "1" -- "*" Permiso : otorga
Departamento "1" -- "*" Especialidad : agrupa
PlantUML
<¬ Volver a Diseño del Sistema