Hola gente,
Estoy estudiando ingenieria en telematica y por ende aprendiendo programacion en Java, ahora me encuentro dandole a la programacion orientada a objetos, concepto que al principio me causo dificultades por el nivel de abstraccion pero que ya manejo, junto con la mayoria de las herramientas, desde, yo que se, las operaciones bases, constructores, getters y setters hasta polimorfismos, packages, herencia entre otros. Como el titulo lo indica, tengo un problema llevando la letra de un problema a la realidad, me gustaria saber si tienen tips para darme, para lograr esto de mejor y mas eficiente manera, y sobretodo si me pueden ayudar con este problema en especifico que no logro entender la realidad del problema me gustaria pensar que fue mal escrito en parte, pero pense que con experiencia, uno de ustedes podria quizas hacerme entender de que trata:
Se desea realizar un sistema que asista a los pequeños comercios en la definición de sus listas de precios y promociones que brindan a sus clientes finales.
Para ello se deberá realizar una aplicación que permita administrar artículos de los cuales interesa conocer un código (que lo identifica), una descripción y precio de costo.
A su vez es de interés definir listas de precios de los cuales interesa conocer un código que la identifica como también la definición de los precios para cada uno de los artículos.
Por último los comercios ofrecen promociones puntuales, que por distintas razones ofrecen un descuento en el precio de un artículo (como por ejemplo por recambio de stock). Estas promociones tendrían que poder gestionarse de igual manera que el resto de las entidades y interesa conocer un nombre, articulo que aplica y un porcentaje de descuento.
Con el fin de poder realizar una validación de la correcta definición de precios, se solicita disponer de una funcionalidad que permita simular la generación de un ticket de venta. Para ello se deberá tener una funcionalidad que permita ingresar código de articulo y su respectiva cantidad, tantas veces como artículos se desee tener en el ticket de venta y disponer de una acción de simular. Esta simulación debería brindar como resultado el precio individual de cada artículo, el precio total del ticket y por último la ganancia generada de esta venta.
La ganancia es deducida a partir de la suma de los precio finales de venta de un articulo – su costo.
Las funcionalidades se deberán presentar con un menú a través de la consola de comandos. Tendrá que tener un loop un su clase principal el cual soportará las siguientes acciones desplegadas de la siguiente forma:
a. Alta de producto
En esta opción se deberá solicitar la información de un producto y registrarlo dentro del sistema.
b. Alta de lista de precios
En esta opción se deberá solicitar la información de una lista de precios. Para ello obligatoriamente se deberá indicar un precio para cada producto dentro del sistema.
c. Alta de promoción
En esta opción se deberá solicitar la información de una promoción, para ello se indicará un código de articulo y un % de descuento.
d. Simular venta
En esta opción se deberá solicitar códigos de artículos y cantidades hasta que se desee totalizan. Un ejemplo de interacción para este flujo sería el siguiente:
Programación 1
Ingrese Producto: 234
Ingrese Cantidad:2
Desea ingresar un articulo más: Si.
Ingrese producto:456
Ingrese Cantidad: 1
Desea ingresar un articulo más: No
Resultado de simulación :
Producto 234 x 2 $U 360
Producto 456 x 1 $U 300
===================
Total $U 660
Ganancia obtenida: $U 40
La definición de artículos y listas de precios para obtener este resultado es:
Artículos:
1.
• Código: 234
• Descripción: Producto 234
• Costo: 180
2.
• Código: 456
• Descripción: Producto 456
• Costo: 260
Lista de precios:
• Lista de precios
o Articulo: 234, Precio: 200
o Articulo: 456, Precio: 300
Promoción:
• Promoción 1
o Articulo: 234, descuento: 10%
Lo que yo doy por entendido es que se debe crear un programa al cual uno puede dar de alta articulos que contaran con tres atributos: costo (no al cliente, al comerciante), descripcion y un codigo de indentificacion.
No entiendo la necesidad de una lista de precios, porque no tener los precios en los articulos? Si tenemos muchos articulos dar de alta la lista cada ves que usamos el programa es engorroso, claramente no estoy entendiendo bien que se me pide.
Y finalmente la promocion seria simplemente agarrar un articulo y modificarle el precio dado un porcentaje que provee el usuario, o almenos eso supongo.
Que creen ustedes? Muchas gracias desde ya por la ayuda.