1. Ingeniería de Software – Qué es la Ingeniería de Software? Práctica 1
1. Dé un ejemplo de problema que se puede expresar como subproblemas simples de resolver y para el que
la dificultad en la solución radica en las interconexiones entre los componentes que permiten resolver esos
subproblemas.
2. ¿Qué relación hay entre Correctitud, Confiabilidad (Reliability)y Robustez.
3. Clasifique los siguientes factores de calidad como internos, externos, del producto y del proceso:
Correctitud, Confiabilidad, Robustez, Mantenibilidad, Portabilidad, Interoperabilidad,Visibilidad.
4. Discuta la importancia relativa de las cualidades "robustez", "amigabilidad de la interfaz con el usuario",
"desempeño" para cada una de las áreas de aplicación siguientes:
a) juego
b) cajero automático
c) facturación de una empresa de distribución de electricidad
5. Discuta brevemente las relaciones entre los principios siguientes:
a) generalidad y anticipación del cambio
b) generalidad y abstracción.
6. Explique la diferencia entre error, falta y falla. Dé ejemplos de errores que dan origen respectivamente a
una falta en los requerimientos, el diseño, el código. Dé ejemplos de:
a) una falta en los requerimientos que da origen a una falla
b) una falta en el diseño que origina una falla
c) una falta en los datos de prueba que origina una falla.
7. ¿Por qué la cuenta de faltas identificadas durante el desarrollo de un producto de software puede resultar
un indicador inadecuado de la calidad de un producto?
8. Muchos desarrolladores consideran que la calidad técnica de un producto es lo mismo que la calidad global
de un producto. Dé un ejemplo de un producto con alta calidad técnica pero que el usuario no lo considera
como un producto de alta calidad.
Un caso muy famoso de fallas de software es el de la máquina de radioterapia Therac-25, que causó la
muerte de numerosos pacientes. Los diseñadores del software no anticiparon el uso de varias teclas de
forma no estándar con lo que el software mantuvo niveles altos de radiación cuando el operario pretendía
asignar una dosis baja.
¿Habrá alguna implicancia ética en restringir el alcance de la calidad para sólo incluir los aspectos
técnicos?
9. Muchas organizaciones compran software comercial (COTS – Commercial Off The Shelf) pensando que es
más barato que desarrollar y mantener software en casa. Describa las ventajas y desventajas de utilizar
COTS. Por ejemplo ¿qué pasa si el vendedor nos brinda más soporte de un producto COTS? ¿Qué deben
anticipar el cliente, usuario y desarrollador al diseñar un sistema importante que incluye COTS?
10. ¿Cuáles son las implicancias legales y éticas de utilizar software COTS? ¿Y de que la organización
encargada del desarrollo subcontrate parte de este? Por ejemplo ¿quién es responsable por corregir el
problema cuando el sistema del que forma parte un COTS falla debido a una falla en ese componente?
¿Quién es el responsable cuando esa falla causa daño a usuarios (tanto directo como indirecto). ¿Qué
controles y evaluaciones se precisan para asegurar la calidad de un COTS antes de integrarlo en un
sistema mayor?
Página 1 de 1