Diagrama de clases:
- Existen dos tipos de objetos usuario, que heredan de la clase Usuario. Las instancias de la clase UsuarioBaja se crearán desde el método bajaUsuario de Usuario. Este método elimina el UsuarioAlta correspondiente y genera un UsuarioBaja, además actualiza la instancia unidad familiar vinculada al Usuario cambiando su estado a baja. Por otra parte por ley de protección de datos se eliminan todos los datos personales del Usuario (en el futuro esto podría depurarse para permitir mantener algunos datos a efectos de cumplimiento de deber legal pero queda fuera del alcance del proyecto)
- La generación en el front de una unidad familiar implica su asignación inmediata al usuario correspondiente. Esto evita que existan unidades familiares vacías. La unidad familiar sólo se puede crear desde el método set UnidadFamiliar de Usuario. Este método debe asegurarse de crear la unidad familiar si no existe y de asignarla al Usuario desde la que se está creando ( esto supone que inicialmente la unidad familiar de un Usuario puede estar vacía.). El método setUnidadFamiliar también permite modificar la unidad familiar. En este caso si la unidad anterior se queda sin miembros este método debe eliminar la instancia.
- Los estado de unidad familiar pueden ser Alta o Baja.
- El estado de un compromiso puede ser pendiente asiste o no asiste.
Modelo de datos: