Pág: 1/6 Ingeniería del Software III de Gestión · Prueba Parcial · 6 de junio de 2005 Apellidos y nombre D.N.I. o pasaporte Reservado Test (1 Pto): Indique en cada apartado cuál es la afirmación válida. Cada respuesta correcta sumará 0.2 puntos y cada respuesta errónea o en blanco no será evaluada. No puede haber más de una respuesta válida por pregunta. En caso de error, manifieste nítidamente cual es su respuesta final, tachando completamente las demás. - RUP es: Un proceso de desarrollo de software libre. Un método de desarrollo de aplicaciones web. Un lenguaje de modelado. Un marco de referencia de procesos. - RUP viene caracterizado por un ciclo de vida: Iterativo e incremental. Secuencial. En cascada. Ninguna de las anteriores. - Las pruebas unitarias permiten: Validar el software. Verificar formalmente el software. Inspeccionar el código para descubrir errores. Ninguna de las anteriores. - El objetivo último de gestión de la configuración es: Identificar los artefactos susceptibles de versionado. Validar que se realizan las peticiones de cambio según los procesos y procedimientos definidos. Aseguramiento de la calidad. Ninguna de las anteriores. - CVS (Concurrent Version System) es una herramienta para: Dar soporte a todas las actividades en gestión de la configuración. El control de versiones del código fuente. La definición de esquemas de identificación del código fuente. Ninguna de las anteriores. NO OLVIDE INDICAR SU NOMBRE COMPLETO, SIN INICIALES O ABREVIATURAS. GRAPE O UNA POR LA ESQUINA LOS FOLIOS CORRESPONDIENTES A CADA EJERCICIO. RESPONDA A CADA EJERCICIO EN EL ESPACIO ASIGNADO. NO ADJUNTE HOJAS EXTRA. Ingeniería del Software III de Gestión (parcial) 2/6 EJERCICIO 1 (2 Ptos): Responda a las siguientes cuestiones de forma concisa y razonada. 1. ¿Qué se entiende por validación de la arquitectura software en RUP? 2. ¿Cuáles son las características más importantes de RUP? 3. Según la definición de prueba unitaria vista en clase, ¿por qué entran en conflicto las pruebas unitarias con las pruebas funcionales? 4. En que consiste una auditoría de gestión de la configuración. Pág: 3/6 Ingeniería del Software III de Gestión · Prueba Parcial · 6 de junio de 2005 Apellidos y nombre D.N.I. o pasaporte Reservado EJERCICIO 2 (5 Ptos): A continuación se muestra el diagrama de clases de diseño asociado a una aplicación que gestiona un catálogo de libros. Diseñe el modelo físico de datos, el diagrama de clases de la capa de acceso a datos (haciendo uso del patrón DAO), e implemente en Java dos métodos cualesquiera de la clase BookStore. -- [MODELO FÍSICO DE DATOS] -------------------------------------------------------------------------------- NO OLVIDE INDICAR SU NOMBRE COMPLETO, SIN INICIALES O ABREVIATURAS. GRAPE O UNA POR LA ESQUINA LOS FOLIOS CORRESPONDIENTES A CADA EJERCICIO. RESPONDA A CADA EJERCICIO EN EL ESPACIO ASIGNADO. NO ADJUNTE HOJAS EXTRA. Ingeniería del Software III de Gestión (parcial) 4/6 -- [MODELO DE OBJETOS DE LA CAPA DE ACCESO A DATOS] ---------------------------------- -- [MÉTODOS DE BookStore] ------------------------------------------------------------------------------------- Pág: 5/6 Ingeniería del Software III de Gestión · Prueba Parcial · 6 de junio de 2005 Apellidos y nombre D.N.I. o pasaporte Reservado EJERCICIO 3 (2 Ptos): A continuación se muestra la implementación del tipo abstracto de datos pila a partir de una lista. import java.util.ArrayList; import java.util.EmptyStackException; public class Stack { private ArrayList stack = new ArrayList(); // Añade el objeto `o’ a la cima de la pila public void push(Object o) { stack.add(o); } // Devuelve el elemento que se encuentra en la cima (eliminándolo de la pila) public Object pop() { if (stack.isEmpty()) throw new EmptyStackException(); return stack.remove(stack.size() - 1); } // Devuelve el número de elementos en la Pila public int size() { return stack.size(); } // Devuelve el elemento que se encuentra en la cima (sin eliminarlo) public Object peek() { if (stack.isEmpty()) throw new EmptyStackException(); return stack.get(stack.size() - 1); } } Defina las pruebas unitarias (tantas como sean necesarias) para probar los métodos push y pop. NO OLVIDE INDICAR SU NOMBRE COMPLETO, SIN INICIALES O ABREVIATURAS. GRAPE O UNA POR LA ESQUINA LOS FOLIOS CORRESPONDIENTES A CADA EJERCICIO. RESPONDA A CADA EJERCICIO EN EL ESPACIO ASIGNADO. NO ADJUNTE HOJAS EXTRA. Ingeniería del Software III de Gestión (parcial) 6/6