finales diciembre 2008
noticias, FinalesEn vista de las consultas recibidas, les acerco el temario de los exámenes finales diciembre 2008:
- 1.El producto
- 2. El proceso
- 3. Conceptos sobre gestión de proyectos
- 4. Proceso de software y métricas de proyectos
- 5: Planificación de proyectos de software.
- 6: Análisis y gestión del riesgo.
- 7: Planificación temporal y seguimiento del proyecto.
- 8. Garantía de calidad del software
- 9. Gestión de la configuración del software
- 17. Técnicas de prueba del software
- 18: Estrategias de prueba del software.
Los números corresponden a capítulos de la bibliografía principal usada en el curso:
Roger PRESSMAN, Ingeniería del software, un enfoque práctico, 5.a ed., Prentice Hall Hispanoamericana S.A.
Estrategias de prueba de software
pruebas1. Compare la actividad de diseño de una prueba con la de diseño de la estrategia de la pruebas. ¿A qué nivel se piensa el sistema en cada caso?
2. ¿Quién hace la estrategia de pruebas?
3. Defina verificación de software.
4. Defina validación de software.
5. ¿Se puede probar la existencia de calidad en el software?
6. ¿Cuáles son los problemas sicológicos que plantea el proceso de pruebas a los desarrolladores?
7. El grupo independiente de pruebas elimina conflictos de intereses. Indique cuáles son.
8. El proceso de prueba se puede ilustrar con un modelo en espiral. Explique.
9. ¿Cómo se determina que se han hecho las pruebas necesarias? ¿Cuándo termina el proceso de pruebas?
10. Cuando probamos un software completamente, ¿podemos estar seguros que no fallará?
11. Hacer las pruebas agrega calidad al software. Explique o discuta esa proposición.
12. ¿Qué pasos o puntos debemos abordar si deseamos implementar con éxito una estrategia de pruebas?
13. ¿Qué es una prueba de unidad? ¿Quién la escribe?
14. Enumere 5 errores de cálculo más comunes.
15. ¿Qué es el enfoque antipurgado de Yourdon?
16. Describa en sus palabras qué características debe satisfacer un mensaje de error.
17. Explique para qué sirve un controlador (driver) en una prueba de unidad.
18. Explique para qué sirve un resguardo (stub) en una prueba de unidad.
19. ¿Qué es una prueba de integración?
20. Explique cómo se realizan las pruebas de integración con un enfoque descendente (top-down).
21. Explique cómo se realizan las pruebas de integración con un enfoque ascendente (bottom-up).
22. Compare ventajas y desventajas entre la integración ascendente y la descendente.
23. ¿Qué es una prueba de regresión?
24. ¿Qué es una prueba de humo?
25. ¿Qué significa que se valida el software en la prueba de validación?
26. ¿Para qué sirve la revisión de la configuración?
27. ¿Dónde se realiza la prueba alfa? ¿Quién la realiza?
28. ¿Dónde se realiza la prueba beta? ¿Quién la realiza?
29.
Bienvenida, bienvenido
noticiasEste es el blog de la asignatura Ingeniería del Software II que se dicta en la Universidad Adventista del Plata.
Aquí encontrará novedades, fechas de eventos como entregas de trabajos prácticos y exámenes, y también la información más duradera como el Programa de estudios de la asignatura y la bibliografía.
Ejercicio para métricas y testing
ejerciciosEscriba un programa que indica cuántas figuras se solapan en un plano. La versión inicial será una en la cual se trabaja sólo con triángulos. El objetivo es contar la cantidad de triángulos equiláteros que son solapados por algún triángulo. Los triángulos tangentes no cuentan.
El programa pide por teclado un entero que indica la cantidad de triángulos. Luego, para cada triángulo, solicita las coordenadas cartesianas de sus tres vértices. Cuando termina el ingreso de datos se debe imprimir en la salida la cantidad de triángulos equiláteros que están solapados por algún otro triángulo.
Dispone de una función punto_interior(p, p1, p2, p3) que devuelve verdadero si el punto dado como primer argumento (p) es un punto interior al triángulo formado por los tres puntos restantes (p1, p2, p3).
Técnicas de prueba del software
pruebas1. ¿Qué es una prueba de software?
2. ¿Quíen la realiza?
3. ¿Qué debe probarse en un software?
4. Cuando termino de hacer las pruebas, ¿cuál es el producto que entrego?
5. Las pruebas ¿comportan una actividad constructiva o destructiva?
6. ¿Cuándo tiene éxito una prueba?
7. ¿Cuál es la diferencia entre un error y un defecto?
8. Enumere tres principios básicos de las pruebas del software.
9. ¿Qué significa incorporar la "facilidad de prueba" en un programa?
10. Explique qué es cada una de las características siguientes, que sirven para desarrollar un software fácil de probar:
- operativodad
- observabilidad
- controlabilidad
- capacidad de descomposición
- simplicidad
- estabilidad
- facilidad de comprensión
11. ¿Es mejor que haya pruebas redundantes?
12. ¿Es mejor que cada desarrollador pruebe los programas que hace? Explique.
13. ¿Es mejor separar cada caso de prueba o juntarlos en un solo caso que los englobe?
14. ¿Cuál es mejor: una prueba con alta probabilidad de encontrar un eror o una con baja probabilidad?
15. El software debe hacer lo previsto y no debe hacer lo no previsto. ¿Cómo realiza estas pruebas? ¿Caja negra o caja blanca?
16. Defina las pruebas de caja negra. ¿Qué usa como dato para contruirlas?
17. Defina las pruebas de caja blanca. ¿Qué usa como dato para contruirlas?
18. Se deben usar pruebas de caja negra y de caja blanca. Explique porqué y cómo las ventajas de una son debilidades de la otra.
19. ¿Es razonable ejercitar todos los caminos de un programa en una prueba de caja blanca?
20. Si todas las sentencias de nuestro programa están cubiertas por alguna prueba, ¿es eso suficiente para demostrar que funciona bien? Si lo es, muestre un ejemplo, si no lo es, dé un contraejemplo.
21. ¿Es factible usar todas las entradas posibles y las salidas para comprobar exhaustivamente un software?
22. Defina complejidad ciclomática. ¿Cómo se calcula?
23. ¿Qué es un camino independiente en un grafo de flujo?
24. ¿Cómo se obtienen los casos de prueba en la prueba de camino básico? Enumere los pasos que va a seguir o dé un ejemplo.
25. ¿Qué son las pruebas de condición?
26. Enumere los tipos de error de una condición.
27. Indique cómo se hace un prueba de ramificaciones.
28. Indique cómo se hace un prueba de dominio.
29. Indique cómo funciona la BRO: prueba del operador relacional y de ramificación.
30. ¿Cómo funciona el método de prueba de flujo de datos?
31. ¿Cómo se prueba un bucle simple?
32. ¿Cómo se prueban bucles anidados?
33. ¿Cómo se prueban bucles concatenados?
34. ¿Qué hay que hacer con los bucles no estructurados?
35. ¿Cuáles son las categorías de errores que permite encontrar las pruebas de caja negra?
36. ¿Para qué sirve el grafo de objetos en la prueba de caja negra? ¿Qué representan los vértices y las aristas?
37. ¿Cómo trabaja el método de prueba por partición equivalente? ¿Qué se usa como dato en este método?
38. Indique las clases de equivalencia del siguiente ejemplo:
Se debe ingresar el código ISBN de un libro para buscarlo en una biblioteca, luego la cantidad necesaria para dictar el curso y la fecha en la cual se usará. El sistema indica si hay suficientes o no.
39. Explique cómo funciona el análisis de valores límite.
40. ¿Cuándo se utiliza la prueba de comparación?
41. ¿Cuándo se utiliza la prueba de la tabla ortogonal? ¿Cuáles fallos detecta? ¿Cuáles aisla?
42. ¿Cuáles son las dificultades adicionales para la prueba de las interfaces gráficas?
43. ¿Cómo se hace para probar la documentación?
Cuestionario guía: Planificación de proyectos de software
planificacion1. ¿Cuál es el objetivo de la planificación del proyecto?
2. ¿Cuáles son los pasos necesarios para realizar la planificación?
3. ¿Qué se obtiene como resultado de la actividad de planificación?
4. ¿Cuáles características de un proyecto tienen mayor impacto sobre la incertidumbre de la planificación?
5. ¿Qué se estima como parte de la planificación?
6. ¿Cómo se obtiene el ámbito del software? ¿Qué debo definir?
7. ¿Qué es el estudio de viabilidad? ¿Porqué a veces se desestima? ¿Cuál es la consecuencia de este accionar?
8. La interfaz del software, ¿qué es?, ¿cómo afecta las estimaciones?
9. ¿Cómo se especifica la necesidad de un recurso dado?
10. ¿Cómo se calcula la cantidad de personas que trabajarán en un equipo de desarrollo de software?
11. ¿Cuáles son las categorías de recursos de software que se pueden utilizar en un proyecto de software?
12. ¿Qué son los recursos de entorno? Dé ejemplos.
13. ¿Cómo se realiza la estimación del tiempo y costo del software?
14. Pros y cons de utilizar estimaciones de proyectos similares.
15. Pros y cons de utilizar técnicas de descomposición.
16. Pros y cons de usar modelos empíricos.
17. Distinga entre estimación basada en el problema y estimación basada en el proceso.
18. Explique qué significa la frase "LDC/pm y PF/pm son métricas de productividad de línea base".
19. ¿Qué se tiene en cuenta para la descomposición por LDC?
20. ¿Qué se tiene en cuenta para la descomposición por PF?
21. ¿Cómo se calcula el valor de tres puntos?
22. Debe desarrollar una estimación por PF del siguiente enunciado: El sistema a desarrollar debe permitir la digitalización de libros cuyo derecho de copia así lo permite, y almacenarlos junto con la ficha bibliográfica y comentarios de los lectores. Se estima que habrá 50.000 libros, y el sistema funcionará a través de Internet, con 1500 usuarios. Escriba el resto del enunciado a medida que necesite llenar los detalles necesarios: justifique sus propuestas.
23. En el enunciado del ejercicio 22, hágalo mediante la estimación basada en el proceso.
24. Los diferentes modelos empíricos dan resultados distintos para un mismo esfuerzo de proyecto. Para cada uno de los modelos siguientes, investigue cuáles fueron los presupuestos que llevaron a su construcción, y evalúe si se pueden aplicar con éxito en la actualidad.
- Walston-Felix
- Bailey-Basili
- simple de Boehm
- Albretch y Gaffney
- Kemerer
- Matson, Barnett y Mellichamp
25. ¿Cómo construiría un modelo empírico para el grupo de desarrollo de la empresa en la cual trabaja? ¿Qué tomaría en cuenta?
26. ¿Cómo se calculan los punto objeto? ¿Cuál es la relación con la programación orientada a objetos?
27. Pros y cons de la subcontratación (outsourcing).




Loading....