Proyecto módulo “Programación” Segundo trimestre Debes implementar una pequeña aplicación en Java para llevar la gestión de empleados y nóminas de una Pyme. Los datos de la Pyme que debes recoger son: ● NIF de la empresa. ● Razón social de la empresa. ● Dirección postal. ● Teléfono. ● Correo electrónico. ● Plantilla: será un ArrayList con los empleados de la empresa. En cuanto a los datos de los empleados, serán los siguientes: ● Código de empleado: será único para cada empleado y se obtendrá automáticamente. Además, una vez establecido no será posible modificarlo. ● NIF del empleado. ● Nombre del empleado. ● Apellidos del empleado. ● Dirección postal. ● Teléfono fijo. ● Teléfono móvil. ● Correo electrónico. Además, la clase empleado tiene un método (además de los getters y setters correspondientes) llamado sueldoMensual() que devuelve el sueldo del empleado en euros. Será un método abstracto, ya que su implementación dependerá del tipo de empleado de que se trate, según las clases que veremos a continuación. Habrá un tipo de empleado, “EmpleadoFijo”, que tendrá los siguientes atributos: ● Categoría profesional: que será un enumerado con los valores BAJA, MEDIA y ALTA. Además, la clase EmpleadoFijo tendrá 3 constantes con el coeficiente de cada categoría profesional a la hora de calcular el sueldo mensual. Para la categoría BAJA, el coeficiente será 1, para MEDIA 1,25 y para ALTA 1,5. ● Fecha de contrato. ● Horas semanales que figuran en su contrato. El sueldo mensual de un empleado fijo se calculará multiplicando el salario base (constante de la clase Pyme) por el coeficiente de la categoría profesional del empleado. Además, se sumará a la cantidad obtenida el resultado de multiplicar 100€ por el número de trienios del trabajador. Para calcular los trienios puedes implementar un método privado. Otro tipo de empleados serán los empleados temporales, que tendrán los siguientes datos: ● Fecha de inicio del contrato. ● Fecha de fin del contrato. ● Horas semanales. ● Tarifa por hora. Para calcular el sueldo de un EmpleadoTemporal se multiplicarán las horas semanales por la tarifa por hora y por 4 semanas. Por último, están los empleados en prácticas (EmpleadoPracticas), cuyos atributos serán: ● Centro de formación al que pertenecen. ● Complemento a la beca. Su salario se calculará sumando al salario base el complemento. Tareas a realizar En primer lugar, debes diseñar e implementar la jerarquía de clases anteriormente descrita. Debes tener en cuenta las relaciones de herencia entre clases, la definición de constantes y de métodos abstractos, etc. Una vez diseñada la jerarquía crea una pequeña aplicación en Java para gestionar una pyme y sus empleados. Con la aplicación podremos ver y modificar los datos de la empresa, también se podrán listar, borrar, añadir y modificar los empleados de la pyme. Por último, también tendremos la posibilidad de listar las nóminas mensuales de cada empleado, utilizando los métodos descritos anteriormente. IMPORTANTE! en esta funcionalidad debes hacer uso del polimorfismo que permite Java. Puedes desarrollarla en modo texto o en modo gráfico, pero la máxima nota únicamente la obtendrás si la implementas en modo gráfico. Además, la aplicación debe tener persistencia de datos, ya sea mediante el interfaz Serializable o mediante alguna base de datos. Al igual que en el apartado anterior, si la persistencia se hace mediante base de datos la nota será mayor. Evaluación del proyecto Para la evaluación del proyecto se realizará una entrevista con el profesor en la que se mostrará el funcionamiento de la aplicación, el código de la misma y se deberá responder de manera razonada a las cuestiones planteadas. La fecha estimada para la entrega y realización de la entrevista será la semana del 17 de febrero.