Medición de Software CURSOS DE VERANO DE LA UNIVERSIDAD DE CANTABRIA XI CURSOS DE VERANO DE SANTANDER



Documentos relacionados
GESTION DE PROCESOS SOFTWARE: LA IMPORTANCIA DE LA MEDICIÓN Francisco J. Pino

Metodología básica de gestión de proyectos. Octubre de 2003

CMMI (Capability Maturity Model Integrated)

Gestión y Desarrollo de Requisitos en Proyectos Software

Unidad VI: Supervisión y Revisión del proyecto

Introducción. Por lo que existe una creciente preocupación por lograr que los productos software cumplan con ciertos criterios de calidad.

Los procesos de software. Un proceso de software se define como un:

SW-CMM Capability Maturity Model for Software

CMM - Capability Maturity Model. Estructura de CMM... Componentes de CMM. Estructura de CMM

Elementos requeridos para crearlos (ejemplo: el compilador)

Procesos Críticos en el Desarrollo de Software

ISO 9000 Escuela de Ingeniería de Sistemas y Computación Desarrol o de Software II Agosto Diciembre 2007

Seguimiento y evaluación

Administración de proyectos. Organizar, planificar y programar los proyectos de software

Capítulo 4. GESTIÓN DE LA INTEGRACIÓN DEL PROYECTO

Qué es el Modelo CMMI?

MODELOS DE CALIDAD EN EL DESARROLLO DE SOFTWARE

Data Mining Técnicas y herramientas

Estándares para planes de calidad de software. Escuela de Ingeniería de Sistemas y Computación Desarrollo de Software II Agosto Diciembre 2008

Universidad de Tarapacá Investigación de Mercados Internacionales

EVALUACIÓN Y MEJORA DE PROCESOS

Curso. Introducción a la Administracion de Proyectos

CAPÍTULO 4. FORMA DE EVALUACIÓN CMM. 4.1 Evolución de los métodos de valoración del SEI

Preguntas más frecuentes sobre PROPS

Unidad 1. Fundamentos en Gestión de Riesgos

PRODUCTIVIDAD DE PROYECTOS DE DESARROLLO DE SOFTWARE: FACTORES DETERMINANTES E INDICADORES

DESARROLLO DE SOFTWARE DEFINICIÓN GENERAL DEL PROCESO GABY LORENA GUERRERO LEYDI ROCIO ERAZO PABLO FELIPE MIRANDA WALTER ALEXIS ANTE

PRESENTACIÓN CMMI: (CAPABILITY MATURITY MODEL INTEGRATION)

Área Académica: Licenciatura Sistemas Computacionales. Profesor: Lic. Virginia Arguelles Pascual

PROCEDIMIENTO DE AUDITORÍAS INTERNAS DEL SISTEMA DE GESTIÓN DE CALIDAD

Parte I: Introducción

E a v l a ua u c a i c ón ó n de d l e Pr P oc o e c s e o s o de d Ing n e g n e i n er e ía a de d e So S f o twa w r a e

Calidad de Software - CMM

ANEXO : PERFILES. Guía de Comunicación Digital para la Administración General del Estado. ANEXO PERFILES

Introducción a la Gerencia de Proyectos. Resumen. Introducción.

Taller: Planificación Estratégica. Centro de Iniciativas Comunitarias y Base de Fe

ITIL FOUNDATION V3 2011

CALIDAD Y AUDITORÍA (MÁSTER EN INGENIERÍA INFORMÁTICA)

2.1 Planificación del Alcance

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

3. GESTIÓN DE CONFIGURACIÓN DE SOFTWARE

Planificación de Sistemas de Información

Enginyeria del Software III

Planificación de Sistemas de Información

Universidad acional Experimental Del Táchira Decanato de Docencia Departamento de Ingeniería en Informática

ANÁLISIS DE RIESGOS EN LA GESTIÓN DE PROYECTOS. Los riesgos son eventos o condiciones inciertas que, si se producen, tienen un

Diplomado Gestión de proyectos TI

ESQUEMA PARA EL PROYECTO SOCIO TECNOLÓGICO DEL TRAYECTO IV (GESTIÓN DE PROYECTOS) FASE II.

4. Casos de Estudio 4a El Proceso de Medición Software

ITZOFT, una metodología de desarrollo de sistemas basada en el Proceso Unificado de Rational. Resumen

PROYECTO GESTIÓN POR PROCESOS: INFORME DE AUTOEVALUACIÓN MEDIANTE CUESTIONARIO

Implantación y Aceptación del Sistema

Gestión de Requisitos ULPGC

Mantenimiento del Software

Gestión de la Configuración

Mantenimiento del Software

Sede Escazú, Plaza Tempo

Prof. Juan José Díaz Nerio. Foro de Tecnología : Gestión de la Calidad del Software. Domingo 16 Noviembre 2014

Geolocalización de Sitios de Interés Para Aplicaciones Móviles G-SIAM. Plan de Aseguramiento de Calidad del Software SQAP

GESTION OPERATIVA. Niveles de gestión

Proceso Unificado de Rational PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes:

Planeación del Proyecto de Software:

Norma UNE :2000 ISO 10006:1997. Directrices para la calidad en la gestión de proyectos

Parte 7: Análisis de los datos

Desarrollo de un ciclo de mejora Construcción de un método de diagnóstico

Mantenimiento de Sistemas de Información


UNIVERSIDAD DE PAMPLONA ANALISIS Y DISEÑO DE SISTEMAS DE INFORMACION - GRUPO BR DOCENTE: ESP. ALEXIS OLVANY TORRES CH. PMBOK

Calidad de Sistemas de Información

Planificación, Gestión y Desarrollo de Proyectos

Norma ISO Francisco D Angelo Douglas García Claudia Herrera Luis Laviosa

Programa de Formación Certificación PMP alineada con el PMBOK 5th y, Gestión de Proyectos con Microsoft Project 2010

COMPILACION BIBLIOGRAFICA PMBOK, OPM3 JHON FREDY GIRALDO. Docente: Carlos Hernán Gomez Asignatura: Auditoria de Sistemas

Figure 7-1: Phase A: Architecture Vision

Directrices para la auto- evaluación A.l Introducción

Sistema de Gestión de Prevención de Riesgos Laborales. Auditorías de Prevención

ACTIVIDADES DEL OBSERVATORIO DE LA ESCUELA DE NEGOCIOS

INFORME FINAL EVALUACIÓN PARA RENOVACIÓN DE LA ACREDITACIÓN

Normas chilenas de la serie ISO 9000

Calidad. Preparado por: Amelia Soriano. Referencias. Rational Unified Process Version Copyright Rational Software Corporation

Calidad Escuela de Ingeniería de Sistemas y Computación Desarrol o de Software II Agosto Diciembre 2007

Conceptos articuladores para el desarrollo de los proyectos del programa de Estudio. 1. Formulación de la situación problema.

COBIT o COBIT enfatiza el cumplimiento regulatorio, ayuda a las organizaciones a

LISTA DE MEJORAS PARA MEJORAR LOS RESULTADOS DE LA EVALUACIÓN

MANUAL DE SEGUIMIENTO Y EVALUACIÓN

Guía de Planificación Estratégica de la Informática Educativa

Norma ISO 14001: 2015

Sistema Interno de Garantía de Calidad de la UIMP. Máster Universitario en Enseñanza del Español como Lengua Extranjera

O jeto de apre r ndizaje

GUÍA TÉCNICA PARA LA DEFINICIÓN DE COMPROMISOS DE CALIDAD Y SUS INDICADORES

EVALUACIÓN DE LA SOLICITUD DE ACREDITACIÓN DE TÍTULO OFICIAL

Test de Idioma Francés. Manual del evaluador

Contenidos. Parte I - Introducción Capítulo 1 - Evolución. Capítulo 2 Condiciones de trabajo en el Desarrollo de Software

ADMINISTRACION DE CENTROS DE COMPUTO

4.1.1_Reunión de Planificación de Sprint (Sprint Planning Meeting) 4.1.2_Objetivo del Sprint (Sprint Goal) 4.1.4_Revisión de Sprint (Sprint Review)

CUESTIONARIO AUDITORIAS ISO

ARQUITECTURA TÉCNICA ASIGNATURA: MATERIALES DE CONSTRUCCIÓN II CURSO: APUNTES TEMA 1: CONTROL DE CALIDAD

ISO 9001:2015 Cuestionario de autoevaluación

C O N T E N I D O. 1. Propósito. 2. Alcance. 3. Responsabilidad y autoridad. 4. Normatividad aplicable. 5. Políticas

Transcripción:

CURSOS DE VERANO DE LA UNIVERSIDAD DE CANTABRIA XI CURSOS DE VERANO DE SANTANDER Medición de Software Félix García Grupo Alarcos Escuela Superior de Informática Universidad de Castilla-La Mancha

Medición del Software Indice de Contenidos Introducción Conceptos Básicos Ontología de la Medición del Software Métricas Clasificación Métricas de Proceso, Proyecto, Producto El Proceso de Medición del Software 2

Introducción Cuando puedas medir lo que estás diciendo y expresarlo en números, sabrás algo acerca de eso; pero cuando no puedes medirlo, cuando no puedes expresarlo en números, tus conocimientos serán escasos y no satisfactorios Lord Kelvin Lo que no sea medible, hazlo medible Galileo Galilei No se puede controlar lo que no se puede medir Tom De Marco No se puede predecir lo que no se puede medir Norman Fenton 3

Introducción La Medición Software Una de las razones principales del incremento masivo en el interés en la medición software ha sido la percepción de que las métricas son necesarias para la mejora de la calidad del proceso (Fenton, 2001). Para poder asegurar que un proceso o sus productos resultantes son de calidad o poder compararlos, es necesario asignar valores, descriptores, indicadores o algún otro mecanismo mediante el cual se pueda llevar a cabo dicha comparación. Para ello, es necesario llevar a cabo un proceso de medición del software cuyos objetivos fundamentales son (Fenton y Pfleeger, 1997): ayudarnos a entender que ocurre durante el desarrollo y el mantenimiento permitirnos controlar que es lo que ocurre en nuestros proyectos poder mejorar nuestros procesos y nuestros productos 4

Medición del Software Indice de Contenidos Introducción Conceptos Básicos Ontología de la Medición del Software Métricas Clasificación Métricas de Proceso, Proyecto, Producto El Proceso de Medición del Software 5

Conceptos Básicos (i) Ontología de la Medición del Software Todo proceso de medición del software tiene como objetivo fundamental satisfacer necesidades de información. Un proceso de medición no puede obtener resultados útiles si éstos no satisfacen alguna necesidad de información detectada en la empresa en la que se lleva a cabo. A partir de las necesidades de información se deben identificar las entidades y los atributos de dichas entidades que son candidatos a ser medidos. Una vez identificados los atributos objeto de la medición se deben definir las medidas necesarias. En la definición general de una medida se deben especificar aspectos como la unidad en la que se expresa, la escala a la que pertenece, el atributo o atributos para los que se define, etc. 6

Caracterización y Objetivos de la Medición Conceptos Básicos (ii) Ontología de la Medición del Software Necesidad de Información Modelo de calidad clase * evalúa 1..* 1..* 1..* está relacionado con 1 Concepto Medible 1..* 0..* 0..* sub-concepto Medible incluye definido para relaciona 0..* 1 1..* Categoría de Entidad tiene Atributo 0..* 1..* 1 1..* pertenece a 0..* 0..* Entidad compuesta de 7

Conceptos Básicos (iii) Ontología de la Medición del Software Medidas Software Atributo (from Caracterización y Objetivos) se define para 1..* expresada en 0..1 Unidad de Medición se transforma en 0..* 0..* 0..* Medida 1..* 1..* tiene 1 Escala 1..* pertenece a 1 Tipo de Escala Medida Base Medida Derivada Indicador 8

Conceptos Básicos (iv) Ontología de la Medición del Software La definición de las medidas se debe realizar a distintos niveles o alcances, ya que resultaría excesivamente complejo definir de forma directa métricas a partir de las cuales se satisfagan las necesidades de información. Es fundamental definir en primer lugar medidas que se aplican directamente sobre las características de una entidad para evaluar un determinado atributo Medidas Directas o Base A partir de estas medidas directas se pueden definir Medidas Indirectas o Derivadas y Finalmente se podrían definir Indicadores con el objetivo de proporcionar información útil para la toma de decisiones, y por lo tanto, más cercanas a satisfacer las necesidades de información. 9

Formas de Medir: Medida (from Medidas Software) Conceptos Básicos (v) Ontología de la Medición del Software 1..* Necesidad de Información (from Caracterización y Objetivos) 0..* satisface 1..* usa Medida Base (from Medidas Software) Medida Derivada (from Medidas Software) Indicador (from Medidas Software) 1..* 0..* usa 1 Método de Medición usa 0..* 0..* 1..* usa calculada con 0..* 1 Función de Cálculo 1..* calculado con 1 Modelo de Análisis 0..* 1..* usa Forma de Medir (from Acción de Medir) 1..* Criterio de Decisión 10

Acción de Medir: Conceptos Básicos (vi) Ontología de la Medición del Software Finalmente se lleva a cabo el proceso de medición a partir de la definición de las medidas y de la caracterización de los atributos de las entidades objeto de la medición, mediante la realización de mediciones que como resultado obtienen resultados de medición Entidad (from Caracterización y Objetivos) Atributo (from Caracterización y Objetivos) 1 1 se realiza sobre se realiza sobre Forma de Medir 1 ejecuta * * Medición instantetemporal * * 1 usa produce 1 Medida (from Medidas Software) 1 Resultado de la Medición valor 11

Conceptos Básicos (vii) Ejemplo Supongamos una organización que lleva a cabo el proyecto A de desarrollo de un software. En un determinado momento el responsable del proyecto necesita saber si la productividad es adecuada, es decir, la necesidad de información es conocer el nivel de productividad de los programadores del proyecto en comparación con lo habitual en otros proyectos en la organización. 12

Conceptos Básicos (viii) Medidas Directas/Base: Ejemplo LCF (líneas de código fuente escritas). Método de medición: contar las líneas utilizando como instrumento una herramienta CASE. HPD (horas-programador diarias). Método de medición: el responsable del proyecto anota cada día las horas dedicadas por los programadores al proyecto. CHP (coste por hora-programador, en unidades monetarias). Método de medición: consultar el plan del proyecto, donde se tuvo que indicar este valor, previa consulta a un responsable de personal. 13

Conceptos Básicos (ix) Medidas Indirectas/Derivadas: Ejemplo HPT (horas-programador totales). Función de cálculo: Sumatorio de las HPD de cada día: LCFH (líneas de código fuente por hora de programador). Función de cálculo: LCFH = LCF / HPT CTP (coste total actual del proyecto, en unidades monetarias). Función de cálculo: CTP = CHP * HPT CLCF (coste por línea de código fuente). Función de cálculo: CLCF = LCF/CTP. 14

Indicadores: PROD (productividad de los programadores). Conceptos Básicos (y x) El modelo de análisis utiliza los valores de las métricas LCF, HPT, LCFH y CTP para establecer un valor cualitativo de la productividad de los programadores en este proyecto. Ejemplo Se basa en extraer de una base histórica de proyectos de la organización los valores medios de LCF, HPT, LCFH (LCFHvm) y CTP del subconjunto de proyectos similares (aquellos que tienen LCF entre el 80% y el 120% ). Los criterios de decisión establecidos son: LCFH/LCFHvm < 0 70 => PROD= muy baja. 0 70 LCFH/LCFHvm < 0 90 => PROD= baja. 0 90 LCFH/LCFHvm < 1 10 => PROD= normal. 1 10 LCFH/LCFHvm < 1 30 => PROD= alta. 1 30 LCFH/LCFHvm => PROD= muy alta. 15

Software Measurement Modeling Language http://alarcos.esi.uclm.es/smf/smml/ 16

Medición del Software Indice de Contenidos Introducción Conceptos Básicos Ontología de la Medición del Software Medidas Clasificación Medidas de Proceso, Proyecto, Producto El Proceso de Medición del Software 17

Medidas Software (i) Qué medir? Tipos de Entidades Software y Medidas: Medidas de Proceso - Objetivo: Proporcionar Indicadores para la Mejora de Procesos - Basada en Análisis Global de Métricas de Proyecto a lo largo de un periodo de tiempo Medidas Proyecto Medidas Proyecto - Objetivo: Control de Proyectos Reducir costes y tiempos - Aplicado fundamentalmente en la fase de Estimación -Estimación Tamaño Puntos Función (Albretch, 1979) Medidas Producto Medidas Producto Medidas Producto Medidas Producto - Objetivo: Evaluación de los Artefactos obtenidos - Gran Cantidad y Diversidad de Medidas 18

Niveles de Madurez y Medición Requerida en cada nivel según CMM (Capability Maturity Model) (Pfleeger, 1996) Medidas Software (ii) Medición y Madurez del Proceso Software 19

Medidas Software (iii) Medidas de Producto 20

Ejemplos Métricas Clásicas Producto: LOC Complejidad Ciclomática de McCabe Medidas Software (iv) Medidas de Producto V(G) = A N + 2, siendo A el número de arcos del grafo y N el número de nodos. V (G) = r, siendo r el número de regiones cerradas del grafo. V(G) = c + 1, siendo c el número de nodos de condición. x x x Secuencia Si x entonces... (If x then...else...) Hacer... hasta x (Do...until x) Mientras x hacer (While x do...) 21

Medidas Software (iv) Medidas de Producto 22

Sistemas OO: Chidamber y Kemerer Métodos Ponderados por Clase (WMC) Profundidad del Árbol de Herencia de una Clase (DIT) Número de Hijos (NOC) Medidas Software (v) WMC Medidas de Producto n = i = 1 C i WMC(Persona) = 8 DIT(Persona) = 0 DIT(Empleado Fijo)= 2 NOC(Persona) = 2 NOC (Empleado) =2 23

Medidas Software (vi) Sistemas OO: Chidamber y Kemerer Acoplamiento entre Objetos (CBO) Medidas de Producto Cuenta numerocuenta : string saldo : integer Fechacreacioncuenta : date tiene * 1 Cliente numerocliente : string 1 CBO(Cuenta) = 0 CBO(Cliente) = 2 asociada a * Tarjetacredito numerotarjeta : string nombrebanco : string tiene AutorizacionTarjeta contraseña : string limite : integer Respuesta para una Clase (RFC) RFC(A)=10 Clase A con cuatro métodos: A::f1( ) invoca B::f1( ), B::f2( ) y C::f3( ) A::f2( ) invoca B::f1( ) A::f3( ) invoca A::f4( ), B::f 3( ), C::f1( ) y C::f 2( ) A::f4( ) No llama a otros métodos Entonces RS= { A::f1, A::f2, A::f3, A::f4 } U {B::f1, B::f2, C::f3 } U (B::f1} U {A::f4, B::f3, C::f1, C::f2 } = = {A::f1, A::f2, A::f3, A::F4, B::f1, B::f2, B::f3, C::f1, C::f2, C::f3} 24

Medidas Software (vii) Mínimo número de aspectos a medir (Five Core Metrics, Putnam y Myers, 2003): Cantidad de Funcionalidad Tamaño (LOC, Puntos Función, etc..) Productividad Medidas de Proyecto Relación entre funcionalidad producida en el tiempo y el esfuerzo dedicado Tiempo / Calendario Duración del proyecto (usualmente en meses de calendario) Esfuerzo Cantidad de trabajo en Personas/Mes Fiabilidad Expresada en ratio de defectos (o su métrica recíproca MTTD Tiempo Promedio entre defectos, Mean Time to Defect) 25

Medidas Software (viii) Medidas de Proyecto Esfuerzo Energía Tamaño Necesidades Comienzo Proceso de Desarrollo Software Duración Consumo Tamaño Fin Software Defectos 26

Medidas Software (y ix) Medidas de Proceso Basada en Control de Procesos a partir de los datos recogidos de los Proyectos: Técnicas que se pueden aplicar: Control Estadístico de Procesos 27

Medición del Software Indice de Contenidos Introducción Conceptos Básicos Ontología de la Medición del Software Medidas Clasificación Medidas de Proceso, Proyecto, Producto El Proceso de Medición del Software 28

El Proceso de Medición del Software (i) Visión General Cada vez mayor coordinación entre las distintas propuestas y estándares Practical Software Measurement (PSM) ISO/IEC 15939, Proceso de Medición Software CMMI Medición y Análisis Estándares ISO/IEC SC7 12207 (revisión- procesos de soporte) 15288 (Conceptos de medición) 9126 (terminología coordinada) 14598 (terminología coordinada) ISO 90003:2004 (objetivos) 29

El Proceso de Medición del Software (ii) Utilización de los Métodos de Medición en la Industria Informe del SEI (Software Engineering Institute) en 2006 CMMI 1045 (55.9%) Sin método Goal-Driven Sw Measurement 432 (21.2%) 383 (20.5%) GQM Otros PSP/TSP PSM ISO 15939 354 219 (11.7%) 210 (11.2%) 171 (9.2%) 139 (7.4%) (19%) 0 200 400 600 800 1000 1200 Frecuencia 30

El Proceso de Medición del Software (ii) CMMI (Capability Maturity Model Integration): CMMI Alinear las Actividades de Análisis de la Medición Establecer los Objetivos de la Medición Especificar Medidas Especificar Procedimientos de Recogida y Almacenamiento Especificar Procedimientos de Análisis Personal de Medición Objetivos de la Medición Indicadores de la Medición Repositorio de la Medición Procedimientos, Herramientas Proporcionar los resultados de la Medición Comunicar los Resultados Almacenar los Datos y los Resultados Analizar los Datos de la Medición Recoger Datos de la Medición 31

El Proceso de Medición del Software (iii) Goal Question Metric Originariamente definido por Basili y Weiss (1984) y extendido posteriormente por Rombach (1990) como resultado de muchos años de experiencia práctica e investigación académica. Principio básico: la medición debe ser realizada, siempre, orientada a un objetivo. GQM define un objetivo, refina este objetivo en preguntas y define métricas que intentan dar información para responder a estas preguntas. 32

El Proceso de Medición del Software (iv) Goal Question Metric El método GQM se lleva a cabo en las siguientes fases (van Solingen y Berghout 1999): Planificación, se selecciona, define, caracteriza y planifica un proyecto para la aplicación de la medición obteniéndose como resultado un plan de proyecto. Definición, se define y documenta el programa de la medición (objetivos, preguntas, métricas e hipótesis). Recopilación de Datos, se recogen los datos reales de la medición. Interpretación, se procesan los datos recopilados para obtener respuestas a las preguntas definidas, a partir de las cuales se puede evaluar el logro del objetivo planteado 33

El Proceso de Medición del Software (v) Goal Question Metric Fases GQM: Objetivo Logro de Objetivo Pregunta Respuesta Plan del Proyecto Definición Métrica Medición Interpretación Datos Recogidos Planificación Recogida de Datos 34

El Proceso de Medición del Software (vi) Goal Question Metric Planificación: 1. Establecer el Equipo GQM Cualidades: independientes del equipo del proyecto no especial interés en los resultados de la medición suficiente conocimiento previo sobre los objetos de la medición mentalidad de orientación a la mejora, incluso sobre sí mismos entusiastas para motivar a los miembros del proyecto. Roles: Manager, Coach (experto en GQM), Support Engineer Actividades planificar los programas de medición (contexto proyectos desarrollo) actividades de definición de la medición y desarrollo de los entregables QGM comprobar los datos recogidos por el equipo del proyecto y los datos proceso preparar la interpretación de los datos de la medición informar sobre el progreso del equipo de proyecto y de gestión comunicar los resultados. 35

El Proceso de Medición del Software (vii) Goal Question Metric Planificación: 2. Seleccionar las áreas de mejora De productos o procesos Basada en los objetivos de negocio (costes, tiempo, riesgos, calidad) 3. Seleccionar el proyecto de aplicación y establecer un equipo del proyecto Éxito programa medición: voluntad, motivación y entusiasmo de los miembros del equipo del proyecto El equipo GQM debe alinear los objetivos de medición con las ideas de mejora del equipo del proyecto 4. Crear el Plan del Proyecto Elementos: Resumen Gestión, Introducción, Calendario, Organización, Procesos de Gestión, Plan de Formación y Promoción 36

Planificación: 5. Formación y Promoción: El Proceso de Medición del Software (viii) Goal Question Metric Equipo GQM debe organizar sesiones frecuentes de formación y promoción en las que se presenten de forma clara los objetivos de medición propuestos, los beneficios del programa de medición, el impacto del programa de medición en las actividades diarias del equipo de proyecto y las experiencias en otros proyectos u organizaciones. El objetivo es motivar y formar a los miembros del equipo del proyecto en la realización del programa de medición. 37

Definición: 1. Definir los Objetivos de la Medición El Proceso de Medición del Software (ix) Goal Question Metric Se consideran los objetivos de mejora del plan del proyecto definidos en la fase anterior. Como resultado se obtiene una definición bien estructurada de los objetivos: Analizar Con el propósito de Con respecto a Desde el punto de vista de En el contexto de el objeto bajo medición entender, controlar, o mejorar el objeto el enfoque de calidad del objeto en el que se centra la medición las personas que miden el objeto el entorno en el que la medición tiene lugar 38

Definición: El Proceso de Medición del Software (x) 2. Revisar o producir los modelos de proceso software. Soporte a la definición de las mediciones. Goal Question Metric Si existen previamente deben ser revisados y mejorados (si procede) Si no existen, los modelos de procesos deben ser definidos por el equipo GQM y aprobados por el equipo del proyecto. 3. Realizar entrevistas GQM de forma que los miembros del equipo GQM puedan extraer de los miembros del equipo del proyecto toda la información relevante en relación a los objetivos de la medición. Cuáles son las métricas para medir el objeto asociado a un determinado objetivo, de acuerdo a los miembros del proyecto? Cuál es el conocimiento actual del miembro del proyecto respecto a estas métricas? Qué factores externos pueden influenciar las métricas y de qué modo? 39

Definición: 4. Definir Preguntas e Hipótesis. El Proceso de Medición del Software (xi) Con la respuesta a las preguntas planteadas, se debería poder concluir si se cumple un determinado objetivo. Para cada pregunta, las respuestas esperadas son formuladas como hipótesis que son comparadas en la fase de interpretación con los resultados reales de la medición. 5. Revisar Preguntas e Hipótesis 6. Definir las Métricas Goal Question Metric deben proporcionar la información cuantitativa que permita responder las preguntas planteadas de una forma satisfactoria 7. Comprobar consistencia y completitud de las métricas la definición de los objetivos preguntas y métricas debe ser consistente y completa con respecto al objeto sujeto a medición 40

Definición: 8. Producir el Plan GQM El Proceso de Medición del Software (xii) Objetivos, Preguntas y Métricas de un determinado programa de medición para facilitar la interpretación de los datos y los posteriores planes de medición y análisis 9. Producir el Plan de Medición Goal Question Metric Definición formal, descripción textual y todos los resultados o valores posibles de las métricas directas así como la persona responsable de recoger dichos valores Momento de tiempo en el que se debe recoger el valor de cada métrica directa y el medio (herramienta o formulario) a usar 10. Producir el Plan de Análisis Debe facilitar la interpretación de los resultados por el equipo proyecto 11. Revisar los Planes 41

El Proceso de Medición del Software (xiii) Goal Question Metric Definición: Objetivo Interpretación Modelos Implícitos Preguntas P1 P2 P3 P4 Métricas Definición M1 M2 M3 M4 M5 M6 M7 42

El Proceso de Medición del Software (xiv) Definición: Ejemplo Métricas para BBDD Relacionales: Objetivo GQM Analizar Con el propósito de Con respecto a Desde el punto de vista de En el contexto de Goal Question Metric BBDD Relacionales Asegurar la Mantenibilidad los Diseñadores de BBDD Desarrollo y Mantenimiento de BBDD Preguntas: Pregunta 1. Cómo influye la complejidad de las tablas en la mantenibilidad de las bases de datos relacionales? Pregunta 2. Cómo influye la complejidad entre tablas en la mantenibilidad de las bases de datos relacionales? 43

El Proceso de Medición del Software (xv) Goal Question Metric Definición: Ejemplo Métricas para BBDD Relacionales: Métricas: Pregunta 1 NA(T) - NÚMERO DE ATRIBUTOS DE UNA TABLA NFK(T) - NÚMERO DE CLAVES AJENAS RFK(T) - RATIO DE CLAVES AJENAS DE UNA TABLA Pregunta 2 NT - NÚMERO DE TABLAS NA - NÚMERO DE ATRIBUTOS RFK ( T ) = NFK - NÚMERO DE CLAVES AJENAS (NFK) NFK NA ( T ) ( T ) 44

El Proceso de Medición del Software (xvi) Goal Question Metric Recogida de Datos: 1. Formación y Arranque de la Recogida de Datos Periodo Hold Trial, periodo de prueba antes de comenzar la recogida real de datos en el que se definen y prueban los procedimientos de recogida de datos así como las herramientas y formularios Sesión Kick off, se debe llegar a un acuerdo con el equipo del proyecto para el comienzo de la recogida de datos de la medición y se instruye a sus miembros en los procedimientos de recogida de datos, herramientas y formularios. Recogida de datos, se rellenan los formularios y se entregan de forma frecuente al equipo GQM que los evalúa 45

El Proceso de Medición del Software (xvii) Goal Question Metric Recogida de Datos: 2. Construcción del Sistema de Soporte a la Medición Measurement Support System (MSS) Base: Herramientas Genéricas (hojas de cálculo, herramientas estadísticas, aplicaciones de bases de datos, herramientas de presentación) Debe dar soporte a todas las actividades de medición (recogida, almacenamiento, procesamiento, presentación y empaquetamiento de los datos de medición) Tres partes básicas: Base de Métricas MSS Hojas de Análisis MSS Diapositivas de Análisis MSS 46

Interpretación: El Proceso de Medición del Software (xviii) 1. Preparación de las Sesiones de Realimentación el equipo GQM prepara el material necesario (diapositivas, hojas de análisis, etc.) 2. Sesiones de Realimentación Goal Question Metric Se debaten los resultados de la medición (reuniones de 1 hora aprox. cada 6, 8 semanas) Los miembros del equipo del proyecto (como expertos del objeto bajo medición) deben obtener conclusiones y acciones a realizar 3. Generación de informes de interpretación de los resultados de la medición. el equipo GQM escribe un informe en el que se incluyen todas las observaciones, interpretaciones, conclusiones y puntos de acción relevantes formulados. 47

Interpretación: El Proceso de Medición del Software (xix) 4. Análisis de Costes y Beneficios de un programa de medición Costes Tiempo empleado por el equipo GQM en preparar un programa de medición (salario y gastos generales) Tiempo empleado por el equipo del proyecto en reuniones Tiempo empleado por el equipo del proyecto en cumplimentar formularios Tiempo empleado para desarrollar el MSS Compra de hardware y software adicional para dar soporte al programa de medición Tiempo empleado por el equipo GQM para procesar los datos de la medición y preparar las sesiones de realimentación Goal Question Metric Beneficios Ventas adicionales derivadas de la mejora de calidad Evitar decrecimiento en ventas debido a la mejora de calidad Ahorro de tiempo y esfuerzo en el desarrollo de software debido a un mejor entendimiento de los procesos de desarrollo Ahorro de tiempo debido a una mejor gestión de los recursos Evitar costes debido a una mejor gestión de recursos 48

El Proceso de Medición del Software (xx) GQ(I)M y Goal-Driven-Measurement La metodología GQ(I)M identifica y define medidas software: que dan soporte al negocio de la empresa, la mejora de sus procesos y los objetivos de sus proyectos asegurando la relevancia y trazabilidad de los objetivos respecto a los datos recogidos GQ(I)M comparte muchas similitudes con la metodología GQM, salvo en el aspecto de que añade soporte explícito a los indicadores Plantilla de Indicadores quién, qué, dónde, cuándo, porqué y cómo de un indicador alineamiento del indicador con los objetivos de la organización. colección consistente de métricas a la hora de construir un indicador elementos adicionales para asegurar una interpretación consistente del propio indicador 49

El Proceso de Medición del Software (xxi) GQ(I)M se integra en el proceso en diez pasos propuesto por el SEI en su enfoque Goal-Driven Software Measurement Identificación de Objetivos: 1. Identificar los Objetivos de Negocio 2. Identificar lo que se quiere conocer o aprender 3. Identificar los sub-objetivos GQ(I)M y Goal-Driven-Measurement 4. Identificar las entidades y atributos relacionados con los sub-objetivos 5. Formalizar los objetivos de negocio 50

El Proceso de Medición del Software (xxii) GQ(I)M y Goal-Driven-Measurement Identificación de Objetivos: Paso 1 Objetivos de Negocio Modelo Mental Qué quiero lograr? recibe El Proceso consiste en produce Para hacer esto, necesitaré... Paso 2 tiene Qué necesito saber? Entidades Entidades Paso 4 Entidades Paso 3 Sub-Objetivos Paso 5 Atributos Atributos Atributos Objetivos de Medición O1 O2 51

Definición de Indicadores: El Proceso de Medición del Software (xxiii) GQ(I)M y Goal-Driven-Measurement 6. Identificar preguntas cuantificables y los indicadores relacionados a partir de cada uno de los objetivos de medición planteados. Los indicadores representan los productos obtenidos en las actividades de medición y son utilizados por los directores de proyectos y profesionales como fuente de información de soporte para la toma de decisiones. Aspectos a considerar en el diseño de indicadores: como la frecuencia de recogida de datos, el tiempo requerido para generar el indicador, la necesidad de datos históricos, etc 7. Identificar los elementos de datos 8. Definir las métricas 52

Definición de Indicadores: El Proceso de Medición del Software (xxiv) GQ(I)M y Goal-Driven-Measurement Objetivos de Medición Preguntas I1 Indicadores P1 O1 P2 O2 P2 I2 I3 I4 Paso 6 Paso 7 Objetivos Negocio- SubObjetivos - Medición Preguntas Qué quiero saber o aprender? Indicadores Plantilla de Definición de Indicadores Objetivo Preguntas Perspectiva Algoritmo Suposiciones Interpretación Métricas M1 M2 M3 Paso 8 Definiciones Listas de Comprobación Definición de Métricas SLOC - Esfuerzo - Informes de Problemas 53

El Proceso de Medición del Software (xxv) GQ(I)M y Goal-Driven-Measurement Crear un plan de acción 9. Identificar las acciones a implementar. Analizar la situación actual en la organización con respecto a las necesidades de información planteadas. Identificar las fuentes de información existentes en la organización Análisis los datos que son necesarios y no están disponibles en la organización Priorizar los datos respecto a los indicadores de los que dependen. 10. Preparar un plan de acción. Definir el plan en el que se incluyan las acciones concretas a llevar a cabo para satisfacer las necesidades de información planteadas. 54

El Proceso de Medición del Software (xxvi) GQ(I)M y Goal-Driven-Measurement Plantilla para la definición de indicadores. Campos: Objetivo del indicador Preguntas Representación Gráfica del indicador. Perspectiva o punto de vista Entradas Algoritmos Suposiciones Información de recogida de datos Información de generación de informes de datos Análisis e Interpretación de los resultados 55

El Proceso de Medición del Software (xxvii) PSM (Practical Software Measurement) Se basa en la experiencia obtenida por las organizaciones para saber cuál es la mejor manera de implementar un programa de medición de software con garantías de éxito. Incluye líneas guía para ajustar los marcos de trabajo de la medición y las prácticas a la situación de cada proyecto en cada organización Objetivos y Tareas PROCESOS TÉCNICOS Y DE GESTIÓN Núcleo de las actividades de medición Realimentación de los usuarios Análisis de Resultados Establecer y Mantener el compromiso de medición Planificar el proceso Plan de Medida Nuevas Tareas Realizar las mediciones Acciones de Mejora Evaluación Análisis de Resultados y de la Realización de la Medida Ámbito de PSM 56

El Proceso de Medición del Software (xxviii) PSM (Practical Software Measurement) Para facilitar la toma de decisiones incorpora un Modelo de Información de la Medición: Relación entre entidades, medidas y necesidades de información Constructor de Medición Atributo Medida Base Medida Derivada Indicador Producto de Información 57

El Proceso de Medición del Software (xxix) ISO/IEC 15939 Requerimientos de Medición PROCESOS TÉCNICOS Y DE GESTIÓN Necesidades de Información Productos Informativos Realimentación de los usuarios Establecer y Mantener el compromiso de medición Compromiso Núcleo del Proceso de medición Planificar el proceso Información de planificación Realizar las mediciones Productos Informativos y Resultados de Medidas Evaluación Ámbito de ISO/IEC 15939 Base de experiencias de Medición acciones de mejora Productos Informativos y Resultados de evaluación 58

Actividad Establecer y Mantener el Compromiso de Medición Planificar el Proceso de Medición Realizar el Proceso de Medición Evaluar la Medición Tareas El Proceso de Medición del Software (xxx) ISO/IEC 15939 Aceptar los requisitos de la medición Asignar recursos Obtener las características de la organización Identificar las necesidades de información Seleccionar las medidas Definir los procedimientos de recolección de datos, análisis e informes Definir criterios evaluación de los productos de información y el proceso de medición Revisar, aprobar y proporcionar recursos para las tareas de medición Adquirir y utilizar tecnologías de apoyo Integrar los procedimientos Recoger los datos Analizar los datos y desarrollar productos de información Comunicar los resultados Evaluar los productos de información y el proceso de medición Identificar las mejoras potenciales 59

Lecturas Recomendadas Piattini, M., García, F., Garzás, J., Genero, M. (2008). Medición y Estimación del Software: Técnicas y Métodos para Mejorar la Calidad y Productividad. Ra-Ma. Piattini, M., García, F., Caballero, I. (2006). Calidad de los Sistemas Informáticos. Ra-Ma van Solingen, R. y Berghout, E. (1999). The Goal/Question/Metric Method, A Practical Guide for Quality Improvement of Software Development. London, England: McGraw-Hill International (UK), ISBN 007 709553 7, 1999. UCLM-TSI. Curso Doctorado PSGC. Parte 4a - El Proceso de Medición Software 60

Lecturas Recomendadas Park, R., Goethert, W., Florac, W. (1996). Goal-Driven Software Measurement - A Guidebook. Handbook CMU/SEI-96-HB-002, Software Engineering Institute, Agosto 1996. Goethert, W. y Siviy, J. (2004). Applications of the Indicador Template for Measurement and Analysis. Technical Note CMU/SEI-2004-TN-024. Software Engineering Institute, Septiembre 2004. McGarry, J., Card, D., Jones, C., Layman, B., Clark, E., Dean, J. y Hall, F. (2002). Practical Software Measurement. Objective Information for Decision Makers. Addison-Wesley. ISO/IEC. (2002). ISO 15939: Software Engineering - Software Measurement Process. UCLM-TSI. Curso Doctorado PSGC. Parte 4a - El Proceso de Medición Software 61

CURSOS DE VERANO DE LA UNIVERSIDAD DE CANTABRIA XI CURSOS DE VERANO DE SANTANDER Medición de Software Félix García Felix.Garcia@uclm.es