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