UTNianos

Versión completa: Final DDS 13/12/2014
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Dejo por acá el final que tomaron este sábado 13/12/2014 en diseño de sistemas, no le pude sacar una foto pero se los redacto como me acuerdo para que tengan una idea:


Eran 2 hojas

Enunciado: Explicaba cual era la problemática (Pagina web en la que profesores subían exámenes con sus preguntas y la pagina calculaba la nota, en grandes rasgos). Después había un diagrama de clases como solución propuesta y el pseudo código de los métodos.

Modelaje de datos: Pedian hacer el DER, identificar PK FK, aplicar alguna técnica de mapeo para la herencia de ser necesario , que los atributos estuvieran normalizados y justificar las decisiones tomadas.
(Este punto no era tan complicado)

Diseño: Agregaban 3 nuevos requerimientos al modelo y pedían aplicar los cambios necesarios para incorporarlos al diagrama de clases, aplicar algún patrón de ser necesario, justificar porque esa solucion.
(2 eran faciles y 1 habia que pensarlo)

Teorico:
Eran dos expresiones y te pedia dar tu opinion (Afirmar o refutar):
1) Hacia referencia sobre que estando en desarrollo y si nuestro driver del proyecto es el testing (TDD) esto es mejor para concentrarnos a los requerimientos actuales
2) "Esta bueno poder tener una metodología iterativa, ya que podemos esconderle los errores al cliente"
(No son textualmente como estaban)
(Estas dos tampoco eran difíciles, la primera conteste que si y la otra que no, bien redactado por supuesto!!)

En fin no me pareció muy difícil pero tampoco estaba regalado, estudie de los apuntes de la pagina de diseño (algunos sirven y otros no tanto).

Dato: Mi examen lo corrigió el profe de mi cursada, la hice el año pasado.

Espero que sirva de algo este aporte !!
[attachment=10357]
Buenas!
Gente acá dejo el enunciado y de paso un par de dudas, si alguno me da una mano con alguna se agradece...
1)En el punto 1, en estrategia de mapeo de herencia usaría SINGLE TABLE ya que hay pocos atributos diferentes entre las tres clases y me da otras ventajas... la duda es como hago con la clase Máximo, debería usar otra tabla en la cual vayan los registros de los criterios q conoce , por ejemplo asi quedarían algunos regitros de la tabla que agregaría:
Id_CriterioPadre (FK), id_CriterioHijo (con ambos campos como PK)
1, 2
1, 3
4, 5
[attachment=10356]
Estaría bien o hay una alternativa mejor?

2)En el punto 2.3, no estoy seguro de lo q estoy haciendo, pero usaría el patron Adapter ya que es necesario crear una clase reusable que evalue respuestas y coopera con clases no relacionadas, es decir, los componentes
de testeo que no tienen interfaces iguales. Cuando se ejecuten los test que tienen diferentes interfaces,
la clase EvaluacionDeRespuesta, actua como interfaz entrante al sistema.
[attachment=10358]
Saludos!!
juancho_manri yo el 1) lo pense como una unica tabla asi:

ENUNCIADO
id_enunciado (Pk)
tipo_criterio
n
id_criteriopadre(fk)

de esa forma si tenes por ej. un enunciado que tiene el tipo_criterio = 'máximo' vas a tener un id_enunciado =1 y el resto de los campos en null

ahora ponele que hay un tipo_criterio= 'reglade3' que es parte de ese combo de máximo, va a tener por ej id_enunciado=2 y id_criteriopadre=1 (ese 1 es porque referencia al enunciado padre, seria una relación en la misma tabla) y el resto en nulls

(no se si estara bien pero me base mas que nada en la resolución de un parcial aca:
https://docs.google.com/document/d/10yEh...ao3KI/edit
https://docs.google.com/document/d/1VVar...OabaU/edit
)
Gracias!! si la verdad q con una tabla es más fácil y nada más se agrega un campo nulleable...
URLs de referencia