Documentos de Académico
Documentos de Profesional
Documentos de Cultura
IMPORTANTE
● DURACIÓN 2 HORAS Y MEDIA.
● SIN MATERIAL.
● Escribir con letra clara.
● Todos los diagramas deben ser completos, prolijos y claros, incluyendo todos aquellos adornos UML,
para asegurar la correctitud y no ambigüedad.
● Documente cualquier supuesto que realice al momento de responder las preguntas.
● Responda cada pregunta por separado. No combine respuestas a distintas preguntas ya que esto dificulta
la corrección.
● La ausencia de cualquiera de los puntos anteriores puede implicar la quita de puntos.
Usted se encuentra trabajando para un estudio de arquitectos, dónde se van tomando proyectos de
edificios de apartamentos para diferentes clientes los cuales comienzan con la entrega de una maqueta.
Cada maqueta se va realizando digitalmente utilizando un software que realizó un desarrollador que
trabajó hace unos años para la empresa. En el mismo los arquitectos van armando las maquetas de
forma progresiva, especificando las diferentes partes que aplican a los apartamentos que se van
construyendo.
Luego de examinar exhaustivamente el código de dicha aplicación, usted identifica que hay una
enormidad de código repetido en la UI de la aplicación, dependiendo de qué especificación de
apartamento se esté intentando maquetar. Esto se debe a que un apartamento puede tener N número
de pisos, terraza principal, puede tener cocheras, puede tener subsuelo, puede tener gimnasio, piscina,
jardín, etc. Dependiendo entonces de los parámetros que el cliente haya solicitado, un edificio se puede
ir maquetando con alguna configuración o con otra, omitiendo o pasando parámetros según
corresponda. Y usted encontró que la UI llama enormes constructores donde va asignando estos
parámetros de forma opcional. Así se ve el constructor principal de la clase Apartamento:
PLAN 2013
1
Escuela de Ingeniería
Examen de: Diseño de Aplicaciones 2 (PLAN 2013) Código de materia:
Fecha: 27-Octubre-2020 Hoja 2 de 5
a) (10 puntos) ¿Qué patrón o patrones de diseño podría utilizar para resolver el problema
anteriormente planteado? Justifique y realice un diagrama de clases de su solución.
b) (5 puntos) ¿Qué principios de diseño estaría cumpliendo ahora el sistema al aplicar la solución de
la parte anterior? Justifique.
PLAN 2013
2
Escuela de Ingeniería
Examen de: Diseño de Aplicaciones 2 (PLAN 2013) Código de materia:
Fecha: 27-Octubre-2020 Hoja 3 de 5
a) (10 puntos) Plantee algún patrón de diseño que permita calcular el costo total de un pedido de
forma sencilla, sin distinguir entre los tipos de productos y/o paquetes. Justifique y realice un
diagrama de clases para la solución planteada.
b) (7 puntos) Realice un diagrama de secuencia que muestre el cálculo total de un pedido
aplicando el o los patrones de diseño utilizados en la parte anterior.
c) (3 puntos) ¿Qué principios SOLID está haciendo que su solución cumpla gracias a lo planteado
en la parte (a)?
PLAN 2013
3
Escuela de Ingeniería
Examen de: Diseño de Aplicaciones 2 (PLAN 2013) Código de materia:
Fecha: 27-Octubre-2020 Hoja 4 de 5
PLAN 2013
4
Escuela de Ingeniería
Examen de: Diseño de Aplicaciones 2 (PLAN 2013) Código de materia:
Fecha: 27-Octubre-2020 Hoja 5 de 5
Se pide que:
I. (4 puntos) Enumere cuales son los endpoints junto con el verbo HTTP y una descripción.
Suponga que la api esta hosteada en vidly.com
II. (3 puntos) ¿Qué errores encuentra en los diferentes endpoints?
III. (5 puntos) Escriba nuevamente el controller sin errores
IV. (3 puntos) Menciona los bounds principales que conoce y el objetivo de los mismos
V. (2 puntos) ¿Qué sucede si no uso el bound FromRoute?
VI. (3 puntos) ¿Qué es y cual es el objetivo de la característica respuesta parcial de REST?
PLAN 2013
5