de Producto Nilda M. Pérez Otero Sistemas de Información II Cursada 2011 Facultad de Ingeniería - UNJu Fuentes: Ingeniería del Software. Un Enfoque Práctico 6ta. Ed. - Roger S. Pressmann - Capítulo 15 de Producto
Visión general La posibilidad de medir es el fundamento de las disciplinas científicas y de ingeniería. Sin poder medir es muy difícil evaluar y experimentar las técnicas y los métodos de ingeniería del software. No se puede controlar lo que no se puede medir (DeMarco, 1982) y no se puede predecir lo que no se puede medir (Fenton y Pfleeger, 1997). de Producto
Visión general (Cont.) Los ingenieros de sw las usan para asegurar la calidad del diseño y construcción del producto sw que construyen. Proveen una base sobre la cual conducir el análisis, diseño, codificación y pruebas de una manera más objetiva. Pasos del proceso: 1 Derivar las medidas y métricas apropiadas para el sw que se está considerando. 2 Reunir datos y calcular las métricas. 3 Comparar las métricas con directrices pre-establecidas y datos históricos. 4 Usar esos resultados para modificar los productos que surgen del análisis, diseño, codificación o pruebas. de Producto
Visión general (Cont.) La medición contribuye a superar algunos problemas habituales en el desarrollo del sw: de Producto
Calidad del sw Medida, Métrica, Medición, Indicador Factores de Calidad (McCall) Factores de Calidad (ISO9126) Beneficios Calidad del sw Calidad del sw es el cumplimiento: de los requisitos de funcionalidad y desempeño expĺıcitamente establecidos, de los estándares de desarrollo expĺıcitamente documentados y de las características impĺıcitas que se esperan de todo sw desarrollado profesionalmente de Producto
Calidad del sw Medida, Métrica, Medición, Indicador Factores de Calidad (McCall) Factores de Calidad (ISO9126) Beneficios Calidad del sw (Cont.) 1 La conformidad con los requisitos de sw es la base de las medidas de calidad. 2 Los estándares especificados definen un conjunto de criterios de desarrollo que guían la manera en la cual el producto es construido. 3 La calidad del sw se pone en duda cuando un producto cumple con los requisitos expĺıcitos pero falla al cumplir los requisitos impĺıcitos del cliente (por ejemplo, la facilidad de uso). de Producto
Calidad del sw Medida, Métrica, Medición, Indicador Factores de Calidad (McCall) Factores de Calidad (ISO9126) Beneficios Medida, Métrica, Medición, Indicador Medida: Proporciona una indicación cuantitativa de la extensión, cantidad, dimensión capacidad o tamaño de algún atributo de un producto o proceso. (Pressman, 2005) Métrica: Evaluación del grado en que un sistema, componente o proceso posee un atributo determinado (extensión, cantidad, dimensiones, capacidad o tamaño). (IEEE, 1993) Medición: Proceso objetivo y empírico por el que se asignan números o símbolos a atributos de entidades del mundo real con objeto de describirlas. (Fenton y Kitchenham, 1991) Indicador: Métrica o combinación de métricas que proporciona conocimientos acerca del proceso de sw, un proyecto de sw o el propio producto. (Pressman, 2005) de Producto
Calidad del sw Medida, Métrica, Medición, Indicador Factores de Calidad (McCall) Factores de Calidad (ISO9126) Beneficios Factores de Calidad (McCall) Directos: ej. defectos descubiertos en las pruebas. Indirectos: ej. facilidad de uso. (McCall, Richards y Walters, 1977) de Producto
Calidad del sw Medida, Métrica, Medición, Indicador Factores de Calidad (McCall) Factores de Calidad (ISO9126) Beneficios Factores de Calidad (ISO9126) Funcionalidad: Idoneidad, Exactitud, Interoperabilidad, Cumplimiento, Seguridad Confiabilidad: Madurez, Tolerancia a Fallos, Facilidad de Recuperación Facilidad de Uso: Facilidad de Comprensión, Facilidad de Aprendizaje, Operabilidad Eficiencia: Comportamiento en el Tiempo, Comportamiento de los Recursos Facilidad de Mantenimiento: Facilidad de Análisis, Facilidad de Cambio, Estabilidad, Facilidad de Prueba Portabilidad: Adaptabilidad, Facilidad para Instalarse, Cumplimiento, Facilidad para Reemplazarse de Producto
Calidad del sw Medida, Métrica, Medición, Indicador Factores de Calidad (McCall) Factores de Calidad (ISO9126) Beneficios Beneficios Ayudan en la evaluación de los modelos de análisis y diseño. Proveen una indicación de la complejidad del diseño procedural y la complejidad del código fuente. Facilitan el diseño de pruebas más efectivas de Producto
Proceso de medición Visión General Proceso de medición Principios de medición Validación y Caracterización Análisis y Recolección Atributos Medición del sw orientada a objetivos (GQM) Áreas de aplicación (Roche, 1994) de Producto
Principios de medición Visión General Proceso de medición Principios de medición Validación y Caracterización Análisis y Recolección Atributos Medición del sw orientada a objetivos (GQM) Áreas de aplicación Los objetivos de la medición deben establecerse antes de recopilar datos. Cada métrica de producto debe definirse de manera no ambigua. Las métricas deben basarse en una teoría válida para el dominio de aplicación. Las métricas deben ajustarse a productos y procesos específicos. de Producto
Validación y Caracterización Visión General Proceso de medición Principios de medición Validación y Caracterización Análisis y Recolección Atributos Medición del sw orientada a objetivos (GQM) Áreas de aplicación Una métrica debería tener propiedades matemáticas deseables. El valor de una métrica debería aumentar cuando representa un rasgo positivo del sw y disminuir cuando se encuentran rasgos negativos del sw. Cada métrica debe validarse empíricamente en varios contextos antes de poder usarse en la toma de decisiones. de Producto
Análisis y Recolección Visión General Proceso de medición Principios de medición Validación y Caracterización Análisis y Recolección Atributos Medición del sw orientada a objetivos (GQM) Áreas de aplicación Automatizar la recolección y análisis de datos en la medida de lo posible. Usar técnicas estadísticas válidas para establecer relaciones entre atributos internos del producto y características externas de calidad. Establecer directrices y recomendaciones para la interpretación de las métricas. de Producto
Atributos Visión General Proceso de medición Principios de medición Validación y Caracterización Análisis y Recolección Atributos Medición del sw orientada a objetivos (GQM) Áreas de aplicación Simples y calculables Empíricas e intuitivamente persuasivas Consistentes y objetivas Consistentes en el uso de unidades y medidas Independientes del lenguaje de programación Deben proveer un mecanismo efectivo para realimentación de calidad de Producto
Medición del orientada a objetivos (GQM) Proceso de medición Principios de medición Validación y Caracterización Análisis y Recolección Atributos Medición del sw orientada a objetivos (GQM) Áreas de aplicación GQM pone énfasis en la necesidad de: Establecer un objetivo de medición expĺıcito para la actividad del proceso o característica del producto que se está evaluando. Definir un conjunto de preguntas que deben responderse con el fin de alcanzar el objetivo. Identificar métricas bien formadas que ayuden a responder esas preguntas. Para definir cada objetivos de medición se puede utilizar una plantilla de definición de objetivos. de Producto
Medición del sw orientada a objetivos (Cont.) Proceso de medición Principios de medición Validación y Caracterización Análisis y Recolección Atributos Medición del sw orientada a objetivos (GQM) Áreas de aplicación Plantilla Analizar [el nombre de la actividad o el atributo que se medirá] con el propósito de [objetivo general del análisis] en relación con [el aspecto de la actividad o atributo que se considera] desde el punto de vista de [la gente que tiene interés en la medición] en el contexto de [el entorno en que tiene lugar la medición]. de Producto
Áreas de aplicación Visión General Proceso de medición Principios de medición Validación y Caracterización Análisis y Recolección Atributos Medición del sw orientada a objetivos (GQM) Áreas de aplicación Aspectos del modelo de análisis: funcionalidad entregada, tamaño del sistema, calidad de la especificación. Atributos del modelo de diseño: métricas de arquitectura, métricas al nivel de componentes, métricas especializadas del diseño OO. Características del código fuente: métricas de Halstead, métricas de complejidad, métricas de longitud. Pruebas: métricas de cobertura de sentencias y ramas, métricas relacionadas con los defectos, efectividad de la prueba, métricas en proceso. de Producto
basadas en la función: Puntos de función Puntos de función Puntos de función: Definiciones Puntos de función: Determinación de complejidad Puntos de función: Total de PF Puntos de función: Ajuste de PF para la calidad de especificación Punto de función Propuesta por Albretch (1979) Se basa en el uso de datos históricos para: 1 Estimar el costo o esfuerzo necesario para diseñar, codificar y probar el sw. 2 Predecir el n de errores que se encontrarán durante la prueba. 3 Pronosticar el tamaño del sistema implementado. de Producto
Puntos de función: Definiciones Puntos de función Puntos de función: Definiciones Puntos de función: Determinación de complejidad Puntos de función: Total de PF Puntos de función: Ajuste de PF para la calidad de especificación Frontera de la aplicación: marca el borde entre el proyecto o aplicación a ser medido y las aplicaciones externas o el dominio del usuario. Define qué es lo externo a la aplicación. Funciones de Datos: representan las funcionalidades brindadas al usuario para reunir los requerimientos de datos internos y externos a la frontera de la aplicación. Ficheros Lógicos Internos (FLI): grupo de datos relacionados lógicamente o información de control reconocida por el usuario y mantenida dentro de la frontera de la aplicación. Ficheros Lógicos Externos (FLE): grupo de datos relacionados lógicamente o información de control reconocida por el usuario y referenciada pero mantenida dentro de la frontera de otra aplicación. de Producto
Puntos de función: Definiciones (Cont.) Puntos de función Puntos de función: Definiciones Puntos de función: Determinación de complejidad Puntos de función: Total de PF Puntos de función: Ajuste de PF para la calidad de especificación Funciones de Transacciones: representan las funcionalidades que el sistema le brinda al usuario para procesar datos. Entrada externa (EE): proceso elemental o acción que procesa datos o información de control que viene desde afuera de la frontera de la aplicación hacia adentro. Los datos pueden venir desde otra aplicación o desde una pantalla de ingreso de datos. Salida Externa (SE): proceso elemental o acción que envía datos o información de control hacia fuera de la frontera de la aplicación. Consulta Externa (CE): proceso elemental o una acción que envía datos o información de control hacia fuera de la frontera de la aplicación. de Producto
Puntos de función: Determinación de complejidad Puntos de función Puntos de función: Definiciones Puntos de función: Determinación de complejidad Puntos de función: Total de PF Puntos de función: Ajuste de PF para la calidad de especificación Determinación de complejidad de los Ficheros Lógicos Se basa en la cuenta de DETs y RETs Tipo de Dato Elemental (DET): se cuenta un DET por cada uno de los campos reconocibles por el usuario que componen el fichero. Tipo de Registro Elemental (RET): se cuenta un RET por cada subgrupo de datos elementales reconocibles por el usuario. Una vez identificados los DETs y RETs de un fichero lógico, se utiliza la siguiente tabla para determinar su complejidad: de Producto
Puntos de función: Determinación de complejidad Puntos de función Puntos de función: Definiciones Puntos de función: Determinación de complejidad Puntos de función: Total de PF Puntos de función: Ajuste de PF para la calidad de especificación Determinación de complejidad de las Entradas Se basa en la cuenta de DETs y FTRs: Tipo de Dato Elemental (DET): se cuenta un DET por cada uno de los campos que cruzan las fronteras de la aplicación. Tipo de Fichero Referenciado (FTR): se cuenta un FTR por cada fichero (interno o externo) leído/mantenido por el proceso de la entrada. Una vez identificados los DETs y FTRs de un fichero lógico, se utiliza la siguiente tabla para determinar su complejidad: de Producto
Puntos de función: Determinación de complejidad Puntos de función Puntos de función: Definiciones Puntos de función: Determinación de complejidad Puntos de función: Total de PF Puntos de función: Ajuste de PF para la calidad de especificación Determinación de complejidad de las Salidas y Consultas Se basa en la cuenta de DETs y FTRs: Tipo de Dato Elemental (DET): se cuenta un DET por cada uno de los campos que cruzan las fronteras de la aplicación (tanto en la entrada como en la salida para el caso de las consultas). Tipo de Fichero Referenciado (FTR): se cuenta un FTR por cada fichero (interno o externo) leído por el proceso de la salida o consulta. Una vez identificados los DETs y FTRs de un fichero lógico, se utiliza la siguiente tabla para determinar su complejidad: de Producto
Puntos de función: Total de PF Puntos de función Puntos de función: Definiciones Puntos de función: Determinación de complejidad Puntos de función: Total de PF Puntos de función: Ajuste de PF para la calidad de especificación Se calculan en base a la cantidad de elementos identificados de cada tipo y de cada complejidad, utilizando la siguiente tabla: de Producto
Puntos de función: Total de PF (Cont.) Puntos de función Puntos de función: Definiciones Puntos de función: Determinación de complejidad Puntos de función: Total de PF Puntos de función: Ajuste de PF para la calidad de especificación de Producto
Puntos de función: Ajuste de PF Puntos de función Puntos de función: Definiciones Puntos de función: Determinación de complejidad Puntos de función: Total de PF Puntos de función: Ajuste de PF para la calidad de especificación de Producto
Puntos de función: Ajuste de PF (Cont.) Puntos de función Puntos de función: Definiciones Puntos de función: Determinación de complejidad Puntos de función: Total de PF Puntos de función: Ajuste de PF para la calidad de especificación Una vez obtenido el valor de los atributos y sumados se obtiene una cifra comprendida entre 0 y 70, a partir de la cual se obtendrá el factor de ajuste, según la fórmula: FA = 0,65 + (0,01 * SVA) Siendo: FA: Factor de ajuste SVA: Suma de los valores de los atributos. El valor calculado estará comprendido entre 0,65 y 1,35, por lo que el ajuste se realiza en ±35 %. de Producto
Puntos de función: Ajuste de PF (Cont.) Puntos de función Puntos de función: Definiciones Puntos de función: Determinación de complejidad Puntos de función: Total de PF Puntos de función: Ajuste de PF para la calidad de especificación Por último, se ajustan los Puntos Función mediante la siguiente fórmula: Siendo: PFA: Puntos Función ajustados PFNA: Puntos Función no ajustados PFA = PFNA * FA FA: Factor de ajuste (calculado anteriormente). de Producto
para la calidad de especificación Puntos de función Puntos de función: Definiciones Puntos de función: Determinación de complejidad Puntos de función: Total de PF Puntos de función: Ajuste de PF para la calidad de especificación Al medir características de la especificación es posible obtener un conocimiento cuantitativo de la especificidad y el grado de avance. Cantidad de requisitos: n r = n f + n nf Especificidad: Q 1 = n ui n r Grado de avance: Q 2 = n i n s Grado de validación de los requisitos Q 3 = n u n c n c + n nv de Producto