César Manríquez - 2730020-0
Alejandra Flores - 2630013-4
Marcelo Gutiérrez - 2630012-6
Braulio Fernandois - 2730023-5
En el mundo moderno, la alimentación y la nutrición a pasado a ser un tema de gran importancia, ya que cada vez son mayores los índices de obesidad y se necesita mantener un control sobre la alimentación, para de esta forma no caer en enfermedades que derivan de falta de nutrientes o también, el otro extremo, tener exedentes de nutrientes en el cuerpo. La dieta de cada persona depende de su edad, sexo, actividad, peso, altura y otros factores, para ello se declaran distintos niveles de proteinas, carbohidratos y grasas en general. En Chile, por una parte, existen pocos casos de desnutrición, pero en cambio, la obesidad infantil crece cada día más.
Es importante que uno mismo pueda mantener el control sobre sus comidas y de esta manera autocontrolarse. Esto es importante para no exeder en nutrientes durante la comida ni consumirlos en cantidades que no le hacen del todo bien a nuestro cuerpo. Las personas para ello deben ir a un nutricionista a asesorarse y analizar su estado. Con este fin se a realizado este proyecto, para poder entregar una herramienta para controlar de manera bastante acertada las comidas a traves de un Applet conectado a una base de datos que contiene todos los alimentos con los nutrientes especificados.
El usuario tendra a su disposicion una herramienta que a traves de sus datos: edad, estatura, sexo, actividad fisica y alimentacion, tendra un sistema que comparara si situacion de alimentacion actual, con una normal promedio a seguir(el ideal), esto con el fin de que el usuario pueda mantener control sobre sus comidas, “testear” posibles dietas según alimentos que el ingiera, consuma los nutrientes necesarios y a la vez pueda ver en que estadio nutricional se encuentra.
Definir sistema y relación entre los entes que actuan
- Actividad Fisica Sedentaria: Se le aplica a la persona que realiza menos de 30 minutos de actividad fisica diarios, 3 veces por semana.
- Actividad Fisica Moderada: Se le aplica a la persona que realiza 30 minutos de actividad fisica diarios, 3 o mas dias a la semana.
-Actividad Fisica Intensa: Se le aplica a la persona que realiza aproximadamente el doble o mas de la actividad fisica moderada(simplificaremos para no entrar en terminos mas espeficicos de la nutrición)
-IMC (Indice de Masa Corporal): Es una medida entre el peso y talla de un individuo. El valor no es constante sino que varía con la edad y el sexo, y también depende de otros factores, como las proporciones de tejidos muscular y adiposo. En el caso de los adultos se utiliza para evaluar su estado nutricional.
Una de las dificultades que se encontró durante el desarrollo de la aplicación fue la forma de crear iconos trasparentes para poder realizar el efecto de selección cuando se elegía un alimento, para lograr el efecto trasparente se crea un objeto grafico y se cambia la composición de la siguiente manera
Graphics2D g2d = (Graphics2D) g;
AlphaComposite newComposite = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, .15f);
g2d.setComposite(newComposite);
Donde se le pasa como parámetro .15f ,que es cuan trasparente mientras mas cercano a 0 es más trasparente.
Otra dificultad fue mantener la comunicación entre pestañas(Datos Usuarios,Selección de alimentos,Resultados), es decir, paso de datos del usuario de una pestaña a otra e impedir o permitir el paso entre pestañas posteriores.
Solución: se creó la clase Manager, la cual esta encargada de administrar las 3 pestañas. Capura los datos del usuario entre pestañas y de acuerdo a ciertos casos permite o no el acceso a alguna de estas.
Dificultades Base de Datos y Tablas
La principal dificultad con la base de datos fue conectar el applet y la base de datos. Se soluciono mediante el uso de la libreria externa para java de mySQL. Esto más la investigación del uso de la librería en internet.
Con las tablas la principal dificultad fue el hecho de agregar 2 veces el mismo alimento cuando usuario cometia un error al momento de ingresar la cantidad de porciones. Se solucionó mediante la verificacion del nombre y la cantidad de porciones de los alimentos ingresado por el usuario cada vez que sucedía el evento del boton Agregar. Si el alimento ya se había ingresado, entonces se verificaba si la porción había cambiado, si era efectivo el cambio entonces se elimina el item anterior para agregar el nuevo alimento con el nuevo valor de la porción.