Final del 02/03/2009 (Ingeniería I)

De Cuba-Wiki

Requerimientos

1. Explique la diferencia entre objetivos de comportamiento y objetivos blandos.

2. En el contexto del modelo de objetivos explique qué es un requerimiento pertinente.

Rta.

1. Los objetivos de comportamiento son aquellos que describen el comportamiento requerido del sistema. Recortan el espacio de comportamientos requeridos y su comprobacion arroja un resultado binario. Tienen un correlato con modelos operacionales de comportamiento. Los objetivos blandos denotan preferencia de comportamientos. Permiten razonar sobre sistemas alternativos. Su satisfaccion no puede establecerse mirando un sistema o una traza, deben compararse dos sistemas/trazas. Son dificil de comparar con modelos de comportamiento. La principal diferencia es que mientras el objetivo de comportamiento es algo que es deseado que el sistema cumpla, en cambio, el objetivo blando describe el comportamiento preferido de una parte del sistema.

2.

Especificación

3. Qué significa que un lenguaje de especificación tenga semántica de "prunning" o de recorte?

4. Describa los tres tipos básicos de relaciones entre entidades en un modelo conceptual. Indique sus diferencias.

Rta.

3. Semántica de prunning o de recorte: a medida que agregamos especificación recortamos las interpretaciones válidas de la especificación.

4. Asociacion: Una asociación es una abstracción de la relación existente en los enlaces entre los objetos.

Agregacion: Es una asociación especial, una relación del tipo “todo/parte” dentro de la cual una o más clases son partes de un conjunto.

Composicion: La composición es una forma ‘fuerte’ de agregación. Se diferencian en: – En la composición tanto el todo como las partes tienen el mismo ciclo de vida. – Un objeto puede pertenecer solamente a una composición.

Herencia: Herencia: a una relación entre una clase general (superclase o padre) y una versión más específica de dicha clase (subclase o hija).

Verificación y Testing

5. Qué es y para qué sirve el def-use graph?

6. Qué es un oráculo y cómo se usa en testing?

Diseño

7. Explique qué es la programación orientada a interfaces. Dé un ejemplo de diseño donde este principio resulte útil.

8. Explique la diferencia entre módulos y componentes.