Trabajo Práctico 1 — Java Algoritmos y Programación
Enviado por manueltorres1234 • 25 de Junio de 2022 • Documentos de Investigación • 1.372 Palabras (6 Páginas) • 85 Visitas
Trabajo Práctico 1 — Java
[7507/9502] Algoritmos y Programación III
Curso 1
Segundo cuatrimestre de 2017
Alumno: del Mazo, Federico
Número de padrón: 100029
Email: federicodelmazo@hotmail.com
TP1 Java - Federico del Mazo Algoritmos y Programación III - FIUBA
Índice
1. Introducción 2
2. Supuestos 2
3. Modelo de dominio 2
4. Diagramas de clase 3
5. Detalles de implementación 3
5.1. AlgoBay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
5.2. Compra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
5.3. Modificadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
6. Excepciones 5
7. Diagramas de secuencia 5
1
TP1 Java - Federico del Mazo Algoritmos y Programación III - FIUBA
1. Introducción
El presente informe reúne la documentación de la solución del trabajo práctico de la materia
Algoritmos y Programación III que consiste en desarrollar una aplicación de un sistema de comercio
electrónico en Java utilizando los conceptos del paradigma de la orientación a objetos vistos hasta
ahora en el curso.
2. Supuestos
El mayor supuesto encontrado es a la hora de modificar el precio de una compra. ¿Cuál es la
mejor forma de modelar que una compra pueda ser modificada por distintos conceptos? Para cubrir
tanto compras con envío como compras con garantías como compras con cupones, lo ideado es
que la compra creada tenga distintos atributos que vayan manejando estos valores. De esta forma,
una compra puede tener bajo el atributo adicionables un envío y una garantía definida como no
tenerlos, mientras que bajo el atributo cupón contenga un cupón (este cupón es único ya que,
bajo el contexto, siempre una compra mantiene el mayor cupón recibido). Pero, de no contenerlos
(o en terminos técnicos también teniendolos con valor nulo), la compra debe comportarse con la
forma esperada, sin crear nunca una compra de clase distinta, o haciendo operaciones fuera de lo
normal. Una compra, con o sin atributos, debe tener su precio, y este debe ser calculable, no más
que eso.
Por otro lado, y tambien respecto a la clase compra, es importante ver que una vez que el
mercado le mande un mensaje a la compra con que productos contendrá, ya no es importante
especificamente el nombre del producto, si no que solo es importante el precio de esta. La sumatoria
de estos precios será lo que lleve a un precio en bruto de la compra, y sobre esto se aplicarán los
atributos mencionados anteriormente.
3. Modelo de dominio
AlgoBay La clase principal del trabajo modela un mercado y tiene como responsabilidad ser la
intermediaria entre todo objeto presente. Si se crea un producto, una compra, un cupón o demás, estos tienen que pasar por esta clase. De esta forma, por ejemplo, se tiene un registro de
cuanto cuesta cada producto en vez de tenerlos a todos estos trabajando independientemente
sin moderador.
Producto Los productos son los bienes que van a ser comprados por las compras, dentro de los
mercados.
Compra Ya con un mercado creado con productos dentro, todo precio de un bien que yo vaya a
comprar tiene que ser situado en el objeto compra para poder finalizar la transacción. Luego,
esta compra puede tener también modificadores, en el nombre de adicionables o cupones,
que harán que varie el precio total de la compra.
Adicionable Actuando como interfaz de modificadores de precios de una compra, estos adicionables hacen que la compra disminuye o aumente su precio total. En el contexto dado, hay
dos adicionables:
Envío: El cobro por envío de las compras adiciona un valor a la compra.
Garantía: El cobro de una garantía adicionará un porcentaje de la compra a esta.
Cupón Un cupón de descuento disminuirá en un porcentaje de la compra cuanto es el valor de
esta misma
2
TP1 Java - Federico del Mazo Algoritmos y Programación III - FIUBA
4. Diagramas de clase
En el diagrama de clase se muestra como todo pasa por la clase AlgoBay, la moderadora del
resto de los objetos. Crear una compra es en contexto de un mercado, crear un producto y agregarlo
a la compra también. Por otro lado tenemos las dos clases que implementan de Adicionable,
referenciados en la clase compra, según lo requiera AlgoBay a la hora de crearla, y la clase cupón
que actua también como modificadora del precio de la compra.
Figura 1: Diagrama conciso del programa.
5. Detalles de implementación
5.1. AlgoBay
AlgoBay, al actuar como moderadora, tiene una implementación bastante directa y sin
...