Skip to content

Fabian-Martinez-Rincon/Orientacion-a-Objetos1

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

contributions welcome GitHub stars GitHub repo size in bytes

Contenido del APREF

La profe dijo que supuestamente cambiaron la forma de evaluar y que ahora no vamos tener un parcial normal sino que va a ser un codigo con errores y nosotros vamos a tener que corregir segun las euristicas dadas.

Mercado Libre

Enunciado

Pedidos de compra

Resolución

Sistema
    public class Sistema{

    }
Usuario
Producto

UML


Pedidos de Compra

Enunciado

Veterinaria

Veterinariua

Enunciado

MercadoOnLine


Parcial Cursada

Una distribuidora brinda la posibilidad de registrar los pedidos de compra de sus clientes. Cada cliente puede realizar pedidos en los cuales se especifican los productos deseados, incluyendo las cantidades necesarias.

El sistema debe permitir

  • Registrar Cliente: Dado el nombre y e-mail, se crea y retorna el cliente con la fecha actual, como fecha de alta.
  • Registrar producto nacional Dado el nombre, el costo unitario y descripción, se registra y retorna el producto.
  • Registrar producto importado Dado el nombre, el costo unitario, descripción y el país de origen, se registra el producto y se retorna.
  • Registrar un pedido para un cliente: Dado un cliente se registra un pedido nuevo con la fecha actual como fecha de pedido y se lo retorna.
  • Agregar un item para un pedido: Dado un pedido y un producto junto con la cantidad necesaria del mismo, se registra el ítem en el pedido.
  • Calcular la cantidad total solicitada de un producto: Dado un producto, determinar la cantidad todal de unidades solicitadas de ese producto, calculada como la suma de las cantidades pedidas de dicho producto en todos los pedidos registrados para todos los clientes.
  • Calcular el costo total de los pedidos de un cliente en un período Dado un cliente, una fecha de inicio y una fecha de fin, se debe calcular el costo que tiene por sus pedidos realizados en dicho período, según la siguiente especificación:
  • Cada pedido tiene como costo, la suma de los costos totales de sus items.
  • El costo total de cada item se calcula multiplicando el costo unitario del producto por la cantidad y sumando el impuesto.
  • El impuesto se calcula a partir de las siguientes reglas:
    • Si el producto es nacional el impuesto depende de la cantidad pedida. Hasta 10 unidades, se debe pagar el 5% del costo unitario. En caso contrario se exceptúa del pago de impuesto.
    • Si el producto es importado, el impuesto varía de acuerdo al país de origen y la cantidad de unidades. Si el pais pertenece al Mercosur (Brazil, Paraguay o Uruguay) y son más de 50 unidades, corresponde pagar 8%. De lo contrario, el impuesto es 21%.
  • Retornar los clientes del "top 5" de los últimos 30 dias: se deben retornar los 5 clientes con mayor costo total en pedidos realizados en los últimos 30 dias.

Su tarea es diseñar y programar en Java lo que sea necesario para ofreceer la funcionalidad antes descrita. Se espera que entregue lo siguiente:

  • 1) Diseño de su solución en un diagrama de clases UML.
  • 2) Implementación en Java de la funcionalidad requerida
  • 3) Diseño de los casos de Prueba: Enfocándose en la funcionalidad que permite "calcular el costo total de los pedidos de un cliente en un periodo" (es decir, todos los métodos de todas las clases involucradas en conseguir esa funcionalidad), determine y enumero qué métodos, de qué clases, testear y con qué casos de prueba para cada método (teniendo en cuenta los conceptos de valores borded y particiones equivalentes)
    • Ejemplo: Clase CajaAhorro - Metodo Extraer(monto:double)
    • Casos de prueba identificados: saldo igual al monto, saldo menor al monto y saldo mayor al monto.
  • 4) Un ejemplo de código Java necesario para realizar el sistema, registrar un producto nacional, registrar un cliente, agregarle un pedido al cliente con un item para ese producto.

Tenga en cuenta que los 4 items anteriores son requeridos para aprobar



Final Objetos

About

☕ Orientación a Objetos 1, vemos unit test, streams y la distribución de objetos de manera equilibrada

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published