Informe
proyecto de programacion orientada a Objetos:Generador de menús YoCocino
Fernando
Guerrero - Pablo Levin- Nicolás Smoilis
Descripcion del problema
Durante
la cuarentena una persona tiene restringidas sus salidas.Entonces tiene que planificar mejor sus
compras , y ser más creativo con la planificación de su alimentación.
Analisis del problema
Está
el sistema el cual es el generador de menús YoCocino.
Existen dos objetos importantes en este analisis los
cuales son los Ingredientes y las Recetas.
La
persona tiene varias necesidades: Tener un registro de los ingredientes que
tiene, tener un registro de las receta que conoce,
poder agregar elementos al registro y ver que recetas puede hacer con los
ingredientes disponibles.
Definicion de requerimientos
Hay
tres casos de uso principales en el programa:
● Agregar un ingrediente a la
base de datos
● Agregar una receta a la base
de datos
● Generar una lista de recetas
posibles y mostrarla
Otros
requerimientos son poder visualizar una lista de recetas existentes y una lista
de ingredientes existentes, y poder cambiar cantidades de ingredientes existentes..
Diseño
Diagrama
de clases:
Casos
de uso:
Nombre:
Agregar un ingrediente a la base de datos
Propósito:
El usuario agrega un ingrediente a la base de datos de la aplicación.
Pre-Condiciones:
La aplicacion debe estar ejecutada
Evento:
El usuario hace clic en el menu “Agregar Ingrediente”
Curso
normal de eventos:
Usuario |
Aplicación
YoCocino |
Hace
click en el menú "
Agregar Ingrediente" |
|
|
Muestra
la interfaz para agregar el ingrediente |
El
usuario escribe los datos del ingrediente y presiona el boton
agregar |
|
|
Genera
un objeto de la clase ingrediente y lo agrega a la lista |
Hace
click en el menú "
Guardar los cambios en la lista de ingredientes y la lista de recetas" |
|
|
Escribe
los archivos csv |
Nombre: Agregar una receta a la base de
datos
Propósito:
El usuario agrega una receta a la base de datos de la aplicación.
Pre-Condiciones:
La aplicacion debe estar ejecutada
Evento:
El usuario hace clic en el menu “Agregar Receta”
Curso
normal de eventos:
Usuario |
Aplicación
YoCocino |
Hace
click en el menú "
Agregar Receta" |
|
|
Muestra
la interfaz para agregar la receta |
El
usuario escribe los datos de la y presiona el boton
agregar |
|
|
Genera
un objeto de la clase Receta y lo agrega a la lista |
Hace
click en el menú "
Guardar los cambios en la lista de ingredientes y la lista de recetas" |
|
|
Escribe
los archivos csv |
Nombre:
Generar una lista de recetas con ingredientes disponibles
Propósito:
El usuario genera una lista de recetas con sus ingredientes a disposición.
Pre-Condiciones:
Los ingredientes disponibles y las recetas conocidas deben estar en la base de
datos
Evento:
El usuario hace clic en el menu “Generar lista de
recetas con ingredientes disponibles”
Curso
normal de eventos:
Usuario |
Aplicación
YoCocino |
Hace
clic en el boton "Generar lista de recetas con
ingredientes disponibles |
|
|
Itera
por la lista de recetas |
|
Usa
el metodo RecetaFlag que
itera por la lista de ingredientes y aplica el metodo
IngredienteFlag para verificar los ingredientes. |
|
Las
que estan disponibles son agregadas a una lista |
Hace
clic en el boton "Ver lista de recetas con
Ingredientes disponibles" |
|
|
Genera
la visualizacion y muestra la lista |
Pruebas
Ejemplo
agregar ingrediente:
Lista
de ingredientes inicial
Interfaz
agregar ingrediente:
Interfaz
lista de ingrediente despues de agregar el
ingrediente
El
principal problema que ha ocurrido, ha sido el manejo
de las recetas con los archivos csv, y nos dimos
cuenta que IDE distintas y terminales distintos manejan esto de forma
distintas. En un computador puede funcionar el programa, y en otro lanzar una excepcion.
Link proyecto:
https://drive.google.com/drive/folders/12zhKyUrhQw2j_0lXWGYe2IPfv0OwhcmA?usp=sharing