Clase Usuario
En primer lugar, definimos la clase Usuario, de la cual luego se derivarán Administrador, Especialista de Mantenimiento, Psicopedagogo, Funcionario UTEC y Estudiante. Las clases con las que el usuario interactuará serán: Instancia, Recordatorio, Incidencia, Reporte y Historial de Cambio.
En Usuario tenemos los atributos: CI, Nombre, Mail, Contraseña, Rol y un booleano que indica si está activo. Sus métodos son: get y set de CI, Nombre, Mail, Actividad y Rol, así como validarMail, ..set y cambiarContraseña. [Todas las clases derivadas de Usuario] (heredarán sus métodos y atributos,) y tendrán permisos específicos. También incluirán métodos set y get de permisos, para acceder y editar información clasificada. (La única clase que contiene algo adicional es Usuario,) [que tendrá una lista de instancias en las que ha participado].
Debe presentar un constructor con la informacion minima para crear el usuario (nombre, cedula, mail), a su vez, la contraseña y el nombre de usuario seran la cedula del usuario.