Calidad del Software. Ejercicios sobre medición. 1. Defina los objetivos de un experimento utilizando el modelo GQM. Determine además a) Las variables dependientes e independientes b) Los factores de riesgo c) El diseño del experimento d) Las hipótesis estadísticas. 2. ¿Tiene sentido utilizar métricas que no cumplen la teoría representacional representacional de la medición? Justifique la respuesta. 3. Elija una métrica de proceso, otra de producto y otra de recurso y construya para cada una asertos, unos que tengan sentido y otros que no. 4. ¿Qué ventajas e inconvenientes tienen los PFA? 5. Clasifique las siguientes especificaciones desde la perspectiva de los puntos de función: a. Solicitud del estado de cuentas actual a través de un cajero que solicita el DNI. Si éste es correcto proporciona el saldo y si no, lo pide de nuevo, hasta 4 veces máximo. Si la 4º vez no es correcto se queda con la tarjeta. b. Solicitud de movimientos de una cuenta corriente en el último mes a través de un cajero que solicita el DNI. Si es correcto, proporciona un listado de los movimientos en el último mes y si no lo es lo pide de nuevo, hasta 4 veces máximo. Si la 4º vez no es correcto se queda con la tarjeta. c. Entrada en un Cajero para realizar una consulta de saldo, sacar dinero, ingresar dinero u obtener un resumen de movimientos, previa introducción de la clave que identifica al usuario. Si la clave se marca incorrectamente incorrectamente mas de 4 veces seguidas el cajero se queda con la tarjeta, en otro caso muestra una pantalla para que elija la transacción a realizar. 6.
Una aplicación proporciona, entre otras, las siguientes informaciones, informaciones, procedentes de un fichero de ventas -FVentas- secuencial y ordenado por identificación del cliente (identcli). Cada registro de FVentas contiene ident-cli, nombre, dirección, ident-pieza, nº de piezas, importe/unidad importe/unidad a. Informe de N páginas 132 columnas máximo. En cada página una cabecera al principio (Informe de Ventas )y una línea al final con el nº de página. Las líneas pueden ser además: Línea detalle: nombre-cliente nº de piezas preciomedio/pieza preciototal Línea total de página: “ Total de página =” total_de _pagina Línea total general : “ precio medio/unidad = “ precio “ Total =” Total b. Informe en pantalla de 80 columnas, con la misma información información anterior. Calcular el peso con el que contribuyen dichas informaciones a la métrica de PF desajustados.
7.
Una aplicación utiliza un fichero maestro FM para elaborar determinados informes. A él se puede acceder por dos claves diferentes. Cada registro contiene además de las dos claves otros 10 campos, de los cuales se utilizan 4 cuando se accede por cada clave. Calcular el peso con el que contribuye este fichero a la métrica de PF desajustados si: a) Se actualizan 2 campos ( por la clave 1) y 1 campo ( por la clave 2 ) b) No se actualiza ningún campo
8.
¿Qué relación existe entre las inspecciones en las primeras fases del desarrollo, antes de la fase de pruebas y la fiabilidad de un producto? Justifique la respuesta apoyándose en modelos de comportamiento del software.
9.
El equipo de gestión de una empresa planifica ampliar en un 10% el tiempo de desarrollo mínimo estimado. Explique las repercusiones de esa decisión en la fiabilidad del producto, en el esfuerzo de desarrollo y en el coste. Justifique la respuesta apoyándose en modelos de comportamiento del desarrollo de software.
10.
Los responsables de la planificación de la fase de prueba de unidades tienen que realizar pruebas de caja blanca, pues forman parte de las actividades de V&V del proyecto ¿Que métrica puede darles información sobre el nº de casos de prueba que necesitarán? Justificar la respuesta.
11.
Considerar el atributo “Cantidad de errores encontrados” en una inspección. Definir una medida del mismo y estudiar su escala. Defina a partir de esta medida otra para la eficacia de una inspección ¿Qué escala tiene?
En la tabla 1 se recoge la información, de 17 componentes, relativa a tamaño en decenas de LDC, nº de fallos encontrados en las pruebas y caminos linealmente independientes del flujo de control. El objetivo del estudio es analizar las componentes para caracterizarlas con respecto a la calidad desde el punto de vista del desarrollador, en el contexto de una empresa determinada. Cómo hipótesis detalladas de este estudio se plantearon las relativas a la relación entre tamaño y fallos y entre caminos y fallos. Especifique estas hipótesis, y haga los tests estadísticos adecuados para contrastarlas, al nivel 0,05. 12.
Tabla 1 Tama 29 ño Fallo 0 s Cami 4 nos 13.
29
32
33
37
41
55
64
69 1
10 1 5
12 0 6
16 4 11
20 5 11
23 2 11
23 6 12
27 0 17
54 9 16
2
1
1
1
4
2
0
4
2
4
16
14
12
14
8
12
22
22 1
59
46
38
80
12 4
Los resultados de un proceso para la detección y eliminación de defectos en un producto de software se encuentran resumidos en la tabla 2. a. Contrastar la efectividad de las inspecciones frente a los tests. Si la categoría "otros" corresponde a las pruebas realizadas después de la instalación del producto y de su funcionamiento durante 50hr de cpu. b. ¿Cual es la estimación de la fiabilidad por hr. de cpu., si suponemos que el proceso es de Poisson homogéneo?
Tabla 2 Origen Inspecciones Detección Tests Otros
Tests Inspecciones 75,00
Otros
70,00
2045,00 1234,00 40,00
Nota : Estimar el nº medio de fallos por hr de cpu. Utilizando dicha estimación como media esperada de fallos en una hora, la fiabilidad se puede estimar como la probabilidad de cero fallos en una hora, para una distribución de Poisson.
Cuestiones 1.
(0,5) Explique la diferencia que hay entre control de calidad y aseguramiento de la calidad.
2.
(0.5) ¿Cuáles son las principales causas de la aleatoriedad en los modelos de fiabilidad del software? ¿Cuáles son las más difíciles de modelar? 3.
(0,75) Defina un experimento, utilizando el patrón GQM, que permita evaluar la eficacia de una herramienta de diseño. Especifique cuales podrían ser las variables dependientes e independientes del mismo y la escala de las mismas. 4.
[0.5] Suponga que puede eliminar un 50% de los defectos de un sistema de software. ¿que mejora se puede esperar en la fiabilidad del sistema? Razone la respuesta. 5.
[0.5) ¿Qué utilidad tienen las métricas internas en Ingeniería del Software?
6.
(0.75) ¿Que métodos de control de calidad se pueden utilizar en la fase de diseño? Descríbalos señalando similitudes y diferencias. 7.
[0.50] Explique el significado del perfil de riesgos del Plan de Aseguramiento de la Calidad (figura 1) de un proyecto que se lleva a cabo en un Ministerio y las acciones a las que daría lugar.
Problemas
1. (2)Los defectos de un producto software se han clasificado por la fase en que se originaron y fase en la que se detectaron. Los resultados se muestran en la tabla 1.
1 ¿Son igual de efectivos las inspecciones y los test? Trabajar con α = 0.05. 2 En la empresa se trabaja con límites de control de 0.3 desviaciones estándar, y la efectividad de los test e inspecciones están calibradas en 0.85 y 0.95, respectivamente. Teniendo esto en cuenta ¿ Se debían haber hecho más inspecciones y/o test?. Justifique la respuesta. 2. (1) Demuestre cuales de las propiedades de Weyuker cumple la métrica de Chidamber y Kemerer NHI (nº de clases inmediatamente subordinadas a una dada), asumiendo como operación interna en el conjunto de las clases la „+‟ la definida por Bunge.
Cuestiones 1.
(0,5) Explique que se entiende por calidad 6s de un producto software.
(1,75) Los gestores de una empresa quieren planificar el desarrollo de un proyecto asignando gran cantidad de personal en las etapas primeras, pensando que así se acabará antes. El jefe del proyecto debe convencerlos de que eso no es así. ¿Qué argumentos podría utilizar? Utilizar modelos de desarrollo para argumentar la respuesta. Si tuviera que desarrollar un producto en 1/3 más del tiempo mínimo estimado ¿Cuánto cambiaría el esfuerzo de desarrollo? Especifique las unidades. 2.
(0.5) ¿Como podría estimar el tamaño de un producto software en las primeras fases del desarrollo? Plantee, al menos, dos formas diferentes. 3.
[0.75] Plantee el objetivo de una investigación en Ingeniería del Software utilizando el patrón del GQM. 4.
[0.5] ¿Qué métrica de las que conoce se podría utilizar en la fase de diseño de alto nivel? Comente las ventajas e inconvenientes de dicha métrica. 5.
(0.5) Calcular la fiabilidad que debe tener la componente X de la figura 1 para que la fiabilidad total del sistema sea de 0.95, si la fiabilidad de las demás componentes es la que se indica en la figura. Interpretar en una línea el resultado 6.
[0.75] Clasifique las siguientes especificaciones, en orden a calcular los puntos de función que proporcionarían, razonando la repuesta: A. Solicitud del nº de convocatorias consumidas en una asignatura a través de un terminal de consulta. El terminal solicita el DNI, si es correcto, proporciona la información y si no lo es lo pide de nuevo, hasta 4 veces máximo. Si la 4º vez no es correcto se queda con la tarjeta. 7.
B. Solicitud del estado ( apto/no apto) d e todas las asignaturas en las q ue se ha matriculado el último cuatrimestre, a través de un terminal de consulta que solicita el DNI, si es correcto proporciona un listado con la información, en otro caso solicita de nuevo el DNI, hasta 4 veces máximo. Si la 4º vez no es correcto se queda con la tarjeta. Problemas
1. (2)Los defectos de un producto software se han clasificado por fase en que se originaron y fase en la que se detectaron. Los resultados se muestran en la tabla 1.
1 ¿Son igual de efectivos las inspecciones y los test? Trabajar con a = 0.05. 2 En la empresa se trabaja con límites de control de 0.1 desviaciones estándar, y la efectividad de test e inspecciones están calibradas en 0.85 y 0.75, respectivamente. Teniendo esto en cuenta ¿Se debían haber hecho más inspecciones y/o test?. Justifique la respuesta. 2. (1.75) Una de las líneas directrices de la planificación de un proyecto software es que el test de una componente se da por finalizado cuando la fiabilidad de la misma, S(t), cumpla que S(t) 0,95 ¿Qué decisión se debe tomar al cabo de 10 horas de ejecución admitiendo el modelo logarítmico?. Considerar los datos de la figura 2
CUESTIONES
1. (0,75) Una medida muy utilizada, en la industria de calidad del software, es la tasa de defectos por KLDC. Compare la utilidad de esta medida para desarrolladores y usuarios. Enumere algunos problemas de la misma. 2. (0,50) Enuncie 3 asertos sobre métricas que tengan sentido, y 3 asertos que no lo tengan, especificando el porqué en cada caso. 3. (0,50) Si se aumenta el tiempo de desarrollo en 0.75 con respecto al mínimo estimado por el modelo SLIM: a. ¿Que repercusión podemos tener en la fiabilidad del producto? b. ¿Cuanto variará el esfuerzo del desarrollo? 4. (0,50) Compare las inspecciones con los test, indicando los documentos que se generan en una inspección. 5. (0,75) Diga tres atributos internos que pueden estar relacionados con la fiabilidad del software y explique como se podría investigar si esa relación existe o no. 6. (1,00) Se ha definido una operación en el conjunto de programas fuente de un lenguaje imperativo (por ejemplo Pascal) de la siguiente forma P1 + P2 = P donde P es un nuevo programa con la cabecera correspondiente, seguido de las declaraciones de tipo, subprogramas, constantes y variables de P1 y P2, y c on un cuerpo de programa en el que aparecen todas las líneas de P1 y seguidas las de P2. Demostrar que propiedades de Weyuker cumple la métrica de tamaño que mide el recuento de Líneas De Código (LDC), entendiendo por LDC toda línea que no sea comentario o blanco. 7. (0,75) Clasifique las siguientes especificaciones, en orden a calcular los puntos de función que proporcionarían, razonando la repuesta: A. Solicitud del nº de convocatorias consumidas en una asignatura a través de una terminal. Para ello se debe introducir por pantalla el DNI, si es correcto proporciona la información, en otro caso lo pide de nuevo, hasta 4 veces máximo. Si la 4º vez no es correcto se queda con la tarjeta. B. Solicitud del estado (retrasado/en pista/anulado/pendiente) de todos los vuelos a Paris en el día de fecha actual, que se mostrará por pantalla.
C. (0.75) ¿Como podría estimar el tamaño de un producto software en las primeras fases del desarrollo? Plantee, al menos, tres formas diferentes y compárelas señalando ventajas e inconvenientes.
01- Como se puede hacer converger la calidad percibida con la realizada? a- Formando al personal de la empresa b- Incrementando la calidad programada c- Incrementando la información hacia el cliente d- Haciendo coincidir la calidad necesaria con la programada 02- Un sistema de gestión de calidad se debe centrar mas en… a- Prevenir errores b- Detectar errores c- Corregir errores d- Ignorar errores 03- Cual de las siguientes NO es una regla de estimación de De Marco? a- Las estimaciones deben ser formuladas por un experto. b- Estimas no es repetir c- Estimar no es negociar d- Las estimaciones no admiten regateos. 04- La experiencia del personal implicado en la producción de software: a- Incrementa la madurez de la medida de software. b- Es un atributo directo de los recursos c- Se considera una entidad de entrada del proceso d- Es un factor de coste del modelo SLIM 05- Para establecer la calidad a nivel de empresa es necesario implantar el llamado: a- Sistema de Control b- Sistema de Certificación c- Sistema de calidad d- Sistema de inspección 06- Según los estándares IEEE, el plan de aseguramiento de calidad del software: a- Define las políticas de calidad de la empresa. b- Garantiza la calidad de todo el software desarrollado por la empresa c- Es el paso previo obligatorio para la obtención del certificado de calidad d- Es especifico para cada proyecto 07- La norma que complementa a la familia ISO 9000 para su aplicación al desarrollo, suministro y mantenimiento