Seguimos buscando a Arshak. Ayudanos compartiendo!
Encuesta no oficial de docentes
Resultados de la encuesta no oficial de docentes
Probaste el SIGA Helper?

Donar $100 Donar $200 Donar $500 Donar mensualmente


Enviar respuesta 
 
Calificación:
  • 0 votos - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Buscar en el tema
[Pedido] Final 14/02/2015 - DDS
Autor Mensaje
reLlene Sin conexión
Profesor del Modulo A
...
*****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 307
Agradecimientos dados: 371
Agradecimientos: 63 en 35 posts
Registro en: Aug 2012
Mensaje: #1
[Pedido] Final 14/02/2015 - DDS Finales Diseño de Sistemas
Buenas, alguien que se haya presentado este sabado y que pueda acercar algo de lo que se tomó? En el site de la cátedra http://www.ddsutn.com.ar/material/reposi...e-examenes no lo subieron y me huele a que esa fecha lo preparo algún docente de la "vieja camada", la cursé con Dodino y escuché eso de que se "turnan" para preparar los finales :/

SaludoS!!
17-02-2015 17:19
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
agusbrand Sin conexión
Profesor del Modulo A
me recibiiiiiiiiiiiiiiiiiiiiii...
*****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 233
Agradecimientos dados: 121
Agradecimientos: 60 en 21 posts
Registro en: Dec 2010
Mensaje: #2
RE: [Pedido] Final 14/02/2015 - DDS
Me uno al pedido!
17-02-2015 17:29
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
DarkCrazy Sin conexión
Profesor del Modulo A
Howdy ho!
*****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 394
Agradecimientos dados: 461
Agradecimientos: 255 en 78 posts
Registro en: Mar 2011
Mensaje: #3
RE: [Pedido] Final 14/02/2015 - DDS
Yo también me sumo al pedido!
19-02-2015 00:06
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
matheu25 Sin conexión
Empleado de Fotocopiadora
Disfrutar el presente :)
**

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 34
Agradecimientos dados: 115
Agradecimientos: 21 en 9 posts
Registro en: Nov 2011
Facebook YouTube
Mensaje: #4
RE: [Pedido] Final 14/02/2015 - DDS
Revivo el post: ahora si lo subieron
https://docs.google.com/document/d/1IZ3U...dit?pli=1#


Alguien lo trato de encarar? Me esta costando bastante el tema de las reglas =P
25-05-2015 10:54
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
CarooLina Sin conexión
Colaborador

********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 3.743
Agradecimientos dados: 1.496
Agradecimientos: 1.683 en 547 posts
Registro en: Sep 2010
Mensaje: #5
RE: [Pedido] Final 14/02/2015 - DDS
Hola matheu25
Yo pensé directamente en una colección de condiciones. Donde antes de generar valide si esta todo en orden..
Si bien se parece mucho al observer, por que al validar haces algo como:
coleccion.each[i t.validar(...) ]
Pero una ventaja es que el observador esta desacoplado del observado y aca no, por que para seguir en algun momento le tiene que comunicar si se cumplio o no...por eso lo descarte.
Un decorador es imposible pq no puede agregar y quitar dinamicamente, es un problema quitar.
Y hay un strategy en el medio por que fijate que algunas condiciones dependen del tipo de préstamo.

love
25-05-2015 12:08
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
matheu25 Sin conexión
Empleado de Fotocopiadora
Disfrutar el presente :)
**

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 34
Agradecimientos dados: 115
Agradecimientos: 21 en 9 posts
Registro en: Nov 2011
Facebook YouTube
Mensaje: #6
RE: [Pedido] Final 14/02/2015 - DDS
Al principio pensé lo mismo! Pero despues me complique viendo como modelar la condicion. Como lo harias?

Despues pense y finalmente decidi agregar las validaciones comunes a todos los tipos de prestamo en la clase prestamo, y despues que cada tipo de prestamo redefina el validar haciendo obviamente un super.validar y ademas cumpliendo sus propias condiciones (una especie de template =P).

Edit: no se si es la mejor forma, pero yo creo que si explicas tanto virtudes como defectos de buena manera, y se cumple la funcionalidad, deberia estar mejor/peor, pero bien.
(Este mensaje fue modificado por última vez en: 25-05-2015 12:24 por matheu25.)
25-05-2015 12:22
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
CarooLina Sin conexión
Colaborador

********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 3.743
Agradecimientos dados: 1.496
Agradecimientos: 1.683 en 547 posts
Registro en: Sep 2010
Mensaje: #7
RE: [Pedido] Final 14/02/2015 - DDS
matheu25

Igual aca falta un diagrama de clases para ver como lo pensaste vos y todo eso.

Cita:Al principio pensé lo mismo! Pero despues me complique viendo como modelar la condicion. Como lo harias?

Ponele.. "que el monto de cada cuota no exceda los $ 10.000 (esto se calcula en base al monto a prestar * tasa de interés / cantidad de cuotas) "

Llega a ese momento que le da a validar a cada condicion. Ponele en

Spoiler: Mostrar
#monto
>>validar(unPlan)
unPlan.respetaMonto(..)

#Plan
>>respetaMonto(..)
prestamo.respetaMonto(self)

Acá es importante, que te des cuenta que es común a todos los prestamos y se tiene que cumplir que cuando el préstamo sea combinado tmb se respete.

#prestamoSimple
>>respetaMonto(unPlan)
...Y aca haces todo lo que dice ahi...

Cita:Despues pense y finalmente decidi agregar las validaciones comunes a todos los tipos de prestamo en la clase prestamo, y despues que cada tipo de prestamo redefina el validar haciendo obviamente un super.validar y ademas cumpliendo sus propias condiciones (una especie de template =P).

Y como hiciste con el combinado? Como resolviste eso? Aca es imp un diagrama =P asi quea bien claro. No seria al 100% un templated method, por que no se puede redefinir la operacion completa.. es solo una partecita.

A mi tambien me hace un poco de ruido solo usar condiciones, pero bueno con esos fundaments que te puse.. lo justificaria.
Hiciste algo mas? Rendis ahora el 27?

love
(Este mensaje fue modificado por última vez en: 25-05-2015 13:36 por CarooLina.)
25-05-2015 13:10
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
matheu25 Sin conexión
Empleado de Fotocopiadora
Disfrutar el presente :)
**

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 34
Agradecimientos dados: 115
Agradecimientos: 21 en 9 posts
Registro en: Nov 2011
Facebook YouTube
Mensaje: #8
RE: [Pedido] Final 14/02/2015 - DDS
Claro, pero al fin y al cabo la regla termina siendo un pasamanos y no quien tiene las condiciones a cumplir, o no?

Cita:Y como hiciste con el combinado? Como resolviste eso? Aca es imp un diagrama =P asi quea bien claro. No seria al 100% un templated method, por que no se puede redefinir la operacion completa.. es solo una partecita.

El combinado lo modele con una lista de otros prestamos, con lo cual se validaria el plan completo si se validan los planes de cada prestamo que compone al combinado. Es verdad que no es un template completo pero tiene un poco de la idea jajaja.

Cita:A mi tambien me hace un poco de ruido solo usar condiciones, pero bueno con esos fundaments que te puse.. lo justificaria.
Hiciste algo mas? Rendis ahora el 27?

Off-topic:

Asi es, doy el 27, vos? De este no hice nada mas jaja, pase a otro porque me pudri wall. Me puse a hacer el del 28/02
25-05-2015 14:07
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
CarooLina Sin conexión
Colaborador

********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 3.743
Agradecimientos dados: 1.496
Agradecimientos: 1.683 en 547 posts
Registro en: Sep 2010
Mensaje: #9
RE: [Pedido] Final 14/02/2015 - DDS
matheu25

Cita:Claro, pero al fin y al cabo la regla termina siendo un pasamanos y no quien tiene las condiciones a cumplir, o no?
No entiendo a que decis con pasamanos. Como te puse la de monto, hice todas asi

Cita:El combinado lo modele con una lista de otros prestamos, con lo cual se validaria el plan completo si se validan los planes de cada prestamo que compone al combinado. Es verdad que no es un template completo pero tiene un poco de la idea jajaja.

Yo acá tengo dudas, pq en realidad yo puse que el plan podría tener un préstamo simple y otro combinado.. pero no se como es que se distribuyen las cuotas y el monto, y esto se complica para los combinados.. asi que no se si estaría mejor, que en vez que plan conozca a prestamo como hice.. que préstamo conozca a plan.
Pero dude con "validar el plan de pagos de cada uno de los clientes" que dice el enunciado.

Nono, tengo muchas dudas.. la patie a julio. Si queres revisar algo mas, yo hice todos.. tengo mis dudas. TE paso mi mail por mp y seguimos ahi.

love
(Este mensaje fue modificado por última vez en: 25-05-2015 15:12 por CarooLina.)
25-05-2015 14:33
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
cuchodelosdecadentes Sin conexión
Campeon del cubo Rubik
soooomos los piratas ...
****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 195
Agradecimientos dados: 88
Agradecimientos: 6 en 6 posts
Registro en: Dec 2011
Mensaje: #10
RE: [Pedido] Final 14/02/2015 - DDS
CarooLina
matheu25

hola, alguno lo pudo terminar ?

les paso lo que tengo hasta ahora, pero no se bien como plantear esto:
Cita: "En el caso de los préstamos combinados, deben aceptar todas las combinaciones anteriores."

La persistencia la resolvi con mapeo tabla por clase concreta porque hay muchos atributos diferentes para cada uno de los prestamos simples

Otra cosa, me parece que deberia haber un "repositorio de condiciones" o algo por el estilo. de esa forma, es facil agregar/eliminar las condiciones que deberian los planes teniendo en cuenta cada tipo de prestamo. Los prestamos deberian acceder a ese singleton y traer las condiciones porque de otra forma, si cada prestamo tiene una coleccion de condiciones, entonces no siempre se valida igual.

Basicamente lo que hice en objetos es que cuando se crea un prestamo para un cliente, se le pasa el plan. el prestamo valida que el plan cumpla con todas las condiciones, y, si es asi, lo agrega como su plan.
dicho de otra forma, un prestamo se crea solo si el plan de pagos que se le pasa es valido.

Como lo terminaron de resolver ustedes ? Lo que mas me confunde es la parte de los prestamos combinados.

Edit: faltan algunos datos (atributos, operaciones) en el diagrama de clases, pero se entiende creo
edit2: lo que viene a continuacion esta mal en general

Persistencia:

Spoiler: Mostrar
[Imagen: Drawing8_Copy.png]

Objetos:

Spoiler: Mostrar
[Imagen: Class_Model2_Copy.png]

Codigo:

Spoiler: Mostrar


interface Condicion
metodo verifica(plan: Plan, prestamo: Personal)
metodo verifica(plan: Plan, prestamo: Prendario)
metodo verifica(plan: Plan, prestamo: Hipotecario)


clase MinMax implementa Condicion
metodo verifica(plan: Plan, prestamo: Prendario)
retornar plan.monto().lessThan(10000)
fin

metodo verifica(plan: Plan, prestamo: Hipotecario)
retornar plan.monto().greaterThan(150k)
fin

metodo verifica(plan: Plan, prestamo: Personal
retornar plan.monto().between(20k,40k)
fin

clase CuotasMenores implementa Condicion
atributo maximo

metodo cuotaMenorAMaximo(plan)
retornar plan.valorCuota().lessThan(maximo)
fin


metodo verifica(plan: Plan, prestamo: Prendario)
retornar cuotaMenorAMaximo(plan)
fin

metodo verifica(plan: Plan, prestamo: Hipotecario)
retornar cuotaMenorAMaximo(plan)
fin

metodo verifica(plan: Plan, prestamo: Personal)
retornar cuotaMenorAMaximo(plan)
fin


clase ValorNominalMenorAPorcentaje implementa Condicion
atributo porcentaje

/* implementar metodos */

clase TasaInteresNoExcedePorcentaje implementa Condicion
atributo porcentaje

/* implementar metodos */


clase MenosDeNCuotas implementa Condicion
atributo n: Numero

/* implementar metodos */


clase Prestamo
atributo _cliente: Cliente
atributo condiciones: Set<Condicion>
atributo planDePago: Plan

constructor Prestamo(cliente, plan)
actualizar _cliente = cliente
self.setPlan(plan)

metodo setPlan(plan: Plan)
if(planValido(plan))
actualizar planDePago = plan
else
lanzar nueva Exception("el plan no cumple con las condiciones")
fin

metodo planValido(plan: Plan)
retornar condiciones.allSatisfy[:cond | cond.verifica(plan,self)]
fin



clase Simple hereda Prestamo

clase Personal hereda Simple
clase Prendario hereda Simple
clase Hipotecario hereda Simple

clase Combinado hereda Prestamo
atributo prestamos: Coleccion<Simple>




(Este mensaje fue modificado por última vez en: 26-01-2016 22:53 por cuchodelosdecadentes.)
24-01-2016 01:15
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
CarooLina Sin conexión
Colaborador

********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 3.743
Agradecimientos dados: 1.496
Agradecimientos: 1.683 en 547 posts
Registro en: Sep 2010
Mensaje: #11
RE: [Pedido] Final 14/02/2015 - DDS
Lo de prestamos me quedan algunas dudas del dominio.
Sobretodo del plan, cada prestamo tiene su plan.. pero si es combinado? Cada prestamo simple tiene su plan no? (eso lo preguntaria) por que sino como diviids las cuotas, el monto..blabla.
Lo que tambien preguntaria respectoa eso que decis es que si se quiere que combinado tenga mas combinados (seria un composite) y nada mas.

La parte de prestamo la tengo igual. Por ahi me presentaban dudas entre la relacion cliente-plan-prestamo, vos pusiste que prestamo conoce a plan y no que prestamo simple conoce a plan, igual creo que esto es mas una duda de dominio.. como te dije arriba.

Esto no me gusta, vos tenes que usar polimorfismo.. sin importar que prestamo estes validando a todos hablarles de la misma manera, mañana te meten uno nuevo y tenes que toquetear todo. Los metodos de cada prestamo (para su validacion) a menos que sean comunes, los mandas a las clases concretas.

metodo verifica(plan: Plan, prestamo: Prendario)
retornar cuotaMenorAMaximo(plan)
fin

metodo verifica(plan: Plan, prestamo: Hipotecario)
retornar cuotaMenorAMaximo(plan)
fin

metodo verifica(plan: Plan, prestamo: Personal)
retornar cuotaMenorAMaximo(plan)
fin

Y el der, no podes usar eso por que vos queres hacer consultas polimorficas y la clase concreta no te lo permite. Esperaba que uses un joined o single table

love
24-01-2016 22:29
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
cuchodelosdecadentes Sin conexión
Campeon del cubo Rubik
soooomos los piratas ...
****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 195
Agradecimientos dados: 88
Agradecimientos: 6 en 6 posts
Registro en: Dec 2011
Mensaje: #12
RE: [Pedido] Final 14/02/2015 - DDS
coincido en casi todo, el dominio es muy confuso. lo que no se es si ese tipo de dudas se pueden preguntar en el final o te contestan la tipica "hace lo que entendiste y justifica"

en fin.. vos mas o menos como planteaste esta parte:

Cita:El usuario nos pidió que sea fácil incorporar o eliminar estas validaciones, ya que va a haber un período de evaluación de 2 años de este módulo y es probable que surjan varios cambios en las reglas de negocio que determinan los planes.

digo porque obviamente hay una coleccion de reglas de validacion por las que debe pasar el plan.
la pregunta es... en donde esta/vive esa coleccion ( en prestamo ? en prestamo simple ? en prestamo combinado ? en plan ? en otro objeto que no aparece a simple vista ? )

yo dudo que este en prestamo. porque si cada prestamo tiene su coleccion, yo podria tener cada prestamo con una coleccion distinta y entonces no todos los prestamos validan igual (si me olvido de cargar una de las reglas en un prestamo por ejemplo).

idem para plan; si cada plan tiene una coleccion y en uno de los planes me falto setear una regla ....

hacer un template method en prestamo tampoco puede ser porque ya deja de ser facil lo que querian que sea facil.

???? wall
25-01-2016 02:41
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
CarooLina Sin conexión
Colaborador

********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 3.743
Agradecimientos dados: 1.496
Agradecimientos: 1.683 en 547 posts
Registro en: Sep 2010
Mensaje: #13
RE: [Pedido] Final 14/02/2015 - DDS
Vas a seguir manteniendo esos metodos que te marque mas arriba?
Vos decis que cada prestamo tenga una coleccion de validaciones?

love
25-01-2016 10:02
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
cuchodelosdecadentes Sin conexión
Campeon del cubo Rubik
soooomos los piratas ...
****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 195
Agradecimientos dados: 88
Agradecimientos: 6 en 6 posts
Registro en: Dec 2011
Mensaje: #14
RE: [Pedido] Final 14/02/2015 - DDS
(25-01-2016 10:02)CarooLina escribió:  Vas a seguir manteniendo esos metodos que te marque mas arriba?
Vos decis que cada prestamo tenga una coleccion de validaciones?

no no, nada que ver. llegue a plantear eso. el tema es que estoy dudando con lo que pregunte. es decir, como hacer para que "sea facil agregar..." , y ademas, a que objeto perteneceria la coleccion de validaciones ( si es que coincidimos que en algun lugar hay una coleccion de validaciones, que creo que si )

necesito sacarme esas dudas para replantear todo de nuevo.

en general lo que mas me confunde del enunciado son las frases:

Cita:....y sirve para determinados tipos de préstamo.

Cita:En el caso de los préstamos combinados, deben aceptar todas las combinaciones anteriores.
25-01-2016 15:32
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
CarooLina Sin conexión
Colaborador

********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 3.743
Agradecimientos dados: 1.496
Agradecimientos: 1.683 en 547 posts
Registro en: Sep 2010
Mensaje: #15
RE: [Pedido] Final 14/02/2015 - DDS
cuchodelosdecadentes

Si eso si, lo de las validaciones coincidimos.
La duda que yo tengo del dominio es que si cada prestamo simple tiene su plan, por que si es combinado (que tiene varios simples) no tenes forma de saber cuantas cuotas son para cada uno o eso, no se si se entiende.. no me queda claro como harias las validaciones. Salvo que sea el mismo plan para todos los prestamos, el mismo monto, cuotas.. pero eso me suena raro. Esto es algo que se tiene que preguntar.

Y las validaciones, la colección.. depende de como hiciste vos la relacion plan-cliente-prestamo (ahora me fijo y te edito que hice yo)

Cita:....y sirve para determinados tipos de préstamo.
Los distintos modos que tiene.

Y lo otro es que vas a tener que validar cada préstamo en combiando, entonces tiene que aceptar todas. Y le hablaas a todas de la misma manera

No te olvides de eetiquetarme por que vi que comentaste hoy de casualidad! No me aparecio en el portal

love
(Este mensaje fue modificado por última vez en: 26-01-2016 11:20 por CarooLina.)
26-01-2016 11:20
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Buscar en el tema
Enviar respuesta 




Usuario(s) navegando en este tema: 1 invitado(s)