estimation models, cocomo family

16
Curso: DPGI-MECLI-1 Métricas y Calidad de Software 2013 Integrantes: Nelson Yáñez Mario León Álvaro Peralta Tarea: 003 - Trabajo de Investigación Esta tarea debe ser desarrollada por los grupos de hasta 3 personas indicados en cada tema A cada grupo se le asignó un tema y debe desarrollar un breve informe técnico de 10 páginas como máximo sobre el tema desde la perspectiva de este curso ( Dim ensionamiento, Productividad, Calidad) y además hacer una breve presentación (5 minutos) al curso. Tema asignado: Estimation Models, COCOMO Family (León M., Peralta,Yáñez)

Upload: pimleon

Post on 28-Sep-2015

28 views

Category:

Documents


9 download

DESCRIPTION

Los Modelos para Dimensionar se usan para estimar el Tamaño, Productividad y Calidaddel software.• Antes de construir el software, se construyen prototipos y se aprenden de ellos.• Antes de comprometer el dinero y los recursos, los ejecutivos necesitaninformación del costo.

TRANSCRIPT

  • Curso: DPGI-MECLI-1 Mtricas y Calidad de Software 2013

    Integrantes: Nelson YezMario Lenlvaro Peralta

    Tarea: 003 - Trabajo de Investigacin

    Esta tarea debe ser desarrollada por los grupos de hasta 3 personas indicados en cada tema

    A cada grupo se le asign un tema y debe desarrollar un breve informe tcnico de 10

    pginas como mximo sobre el tema desde la perspectiva de este curso (Dimensionamiento,

    Productividad, Calidad) y adems hacer una breve presentacin (5 minutos) al curso.

    Tema asignado:

    Estimation Models, COCOMO Family (Len M., Peralta,Yez)

  • INDICE

    1. MODELOS DE DIMENSIONAMIENTO

    2. MODELOS DE ESTIMACIN

    3. FAMILIA COCOMO

    4. METRICAS DE PRODUCTIVIDAD

    5. METRICAS DE CALIDAD

    6. BIBLIOGRAFIA

  • 1. MODELOS DE DIMENSIONAMIENTO

    Los Modelos para Dimensionar se usan para estimar el Tamao, Productividad y Calidad

    del software.

    Antes de construir el software, se construyen prototipos y se aprenden de ellos.

    Antes de comprometer el dinero y los recursos, los ejecutivos necesitan

    informacin del costo.

    Caractersticas de un modelo

    Comprensible

    Preciso

    Predictivo

    Barato

    Sencillo

    Realista

    Ventajas de Usar Modelos

    Ayudar a entender un problema complejo.

    Investigar y comparar soluciones alternativas.

    Comunicar idas acerca de un problema o una solucin.

    Demonstrar al cliente que el sistema es viable.

    Detectar errores y omisiones en el diseo.

    Generar un plan de implementacin.

    Negociar cambios al sistema y cuantificar los impactos econmicos.

  • 2. MODELOS DE ESTIMACIN

    Los Modelos de Estimacin son mtricas que se aplican al Proceso de desarrollo de

    software, estos determinan el tiempo de desarrollo y esfuerzo a emplear.

    Usa tcnicas tales como:

    Basada en Opinin de Expertos, que estar soportada por la experiencia

    profesional, esta el mtodo Puro y el de Wideband Delphi.

    Analogas, comparacin directa con proyectos pasados exitosos.

    Mtodo basado exclusivamente en los Recursos: Parkinson.

    En la estimacin consiste en ver de cuanto personal y durante cuanto tiempo se

    dispone de el, haciendo esa estimacin. En la realizacin, El trabajo se expande

    hasta consumir todos los recursos disponibles (Ley de Parkinson).

    Mtodo basado exclusivamente en el Mercado: Precio para Vender.

    Lo importante es conseguir el contrato, el precio se fija en funcin de lo que

    creemos que esta dispuesto a pagar el cliente.

    Mtodo basado en los Componentes del Producto, es fragmentar el producto en

    sus partes, la estimacin global es la suma de las estimaciones de los

    componentes.

    Esta el mtodo Bottom-up en el cual se descompone el proyecto en las unidades lo

    menores posibles, se estima cada unidad y se calcula el coste total.

    Esta el mtodo Top-Down, en el cual se ve todo el proyecto, se descompone en

    grandes bloques o fases, se estima el coste de cada componente.

    Modelos de Estimacin basados en Modelos Estadsticos, Teoras y Modelos

    Compuestos, se basan en la utilizacin de frmulas que aplicadas sobre modelos

    top-down o bottom-up producen una estimacin de costo del proyecto.

    El costo se estima como una funcin matemtica de los atributos del personal,

    producto, proyecto y plataforma.

    Tienen la siguiente estructura:

    Esfuerzo = A + B x Tamao C x M

    A, B y C son constantes que se obtienen empricamente.

  • M es un multiplicador que refleja los atributos del personal, producto,

    proyecto y plataforma.

    Tamao es la variable de estimacin (LDC o PF) .

    Entre los Modelos orientados a LDC propuestos se tienen:

    Modelo de Walston-Felix : E = 5.2 x (KLDC)0.91

    Modelo de Bailey-Basisli : E = 5.5 + 0.73 x (KLDC)1.16

    Modelo de Doty: E = 5.288 x (KLDC)1.047

    Modelo simple de Boehm : E = 3.2 x (KLDC)1.05

    Entre los modelos orientados a PF se tienen:

    Modelo de Albretch y Gaffney : E = -13.39 + 0.054 x PF

    Modelo de Kemerer : E = 60.62 x 7.728 x 10-8

    x PF3

    Modelo de Matson, Barnett y Mellichamp : E = 585.7 + 15.12 x PF

    Un buen modelo de estimacin debe poseer capacidades predictivas, no slo ser

    descriptivo o explicativo. La validez de los modelos de estimacin se establece

    comparando la coincidencia entre los datos empricos y experimentales.

    Modelo de Estimacin basados en Modelos Estadsticos

    C.E Walson y P.C. Felix, de IBM utilizaron datos de 60 proyectos terminados para

    desarrollar un modelo simple del calculo del esfuerzo de desarrollo de Software.

    Se encontr que una relacin de la forma era la mas representativa:

    E = a L b [meses / personas]

    donde L es la variable nmero de lneas de cdigo (LOC), en miles y E es el esfuerzo total

    requerido en meses / personas.

    Mediante una anlisis de regresin lineal se determinaron los valores de a y b. La ecuacin

    resultante es:

    E = 5.2 L 0.91

  • La productividad nominal de programacin en LOC por persona/mes, puede ser calculada

    como L/E.

    Modelos de Estimacin en basados en Teoras

    El modelo ms importante es el de Putnam o SLIM. Este modelo asume una distribucin

    especfica del esfuerzo a lo largo de la vida de un proyecto de desarrollo de Software. El

    modelo se ha obtenido partir de distribuciones de mano de obra de grandes proyectos. Sin

    embargo, se puede extrapolar a proyectos ms pequeos.

    Est basado en la curva de Rayleigh, que describe la necesidad de personal al desarrollar

    proyectos complejos.

    Putnam desarroll la siguiente relacin entre el tamao del Software y el tiempo de

    desarrollo.

    E = L3

    / (C3

    T4

    )

    Donde:

    L = Nmero de instrucciones producidas (ESLOC). (Effective Source Lines of Code)

    E = Esfuerzo durante todo el ciclo de vida en aos / personas.

    C = Constante dependiente de la tecnologa.

    2000 para un entorno pobre de desarrollo de software (sin metodologa,

    con una documentacin y revisiones pobres).

    0 2 4 6 8 10 12

    0

    10

    20

    30

    40

    50

    60C.E Walson y P.C. Felix de IBM

    60 Proyectos Terminados Exitosamente

    L - Nmero de lneas de cdigo [KLOC]E -

    Es

    fue

    rzo

    tota

    l re

    qu

    erid

    o [m

    es

    es

    / p

    ers

    on

    as

    ]

  • 8000 para un buen entorno de desarrollo de Software (con una buena

    tecnologa adecuada, documentacin y revisiones).

    11000 para un entorno excelente (con herramientas y tcnicas

    automticas).

    T = Tiempo de desarrollo en aos.

    Se aprecia que el esfuerzo es proporcional a la cuarta potencia del tiempo necesario para

    la entrega. As, si queremos entregar el trabajo en la mitad de tiempo, el esfuerzo

    necesario en personas-ao se multiplicar por 16.

    Modelos de Estimacin en basados en Modelos Compuestos

    Son modelos que utilizan una combinacin del Anlisis Estadstico y Juicio de Expertos.

    Basado en la experiencia de proyectos reales

    Modelo Independiente: No est ligado a un vendedor de software especfico

    COCOMO 81 y II de Boehm, es el ms conocido y slidamente documentado.

    COCOMO II se explicar ms adelante.

  • SOFCOST de Trausworthe, del Laboratorio de Propulsin, intent desarrollar una

    estimacin de costo del Software utilizando elementos de los modelos con ms

    xito disponibles. Este modelo requiere 68 parmetros de entrada, cuyos valores se

    deducen a partir de las respuestas del usuario a 47 preguntas acerca del proyecto.

    SPQR de Capers Jones, ha desarrollado un modelo de estimacin de costos llamado

    Software Productivity, Quality and Reliability.

    El enfoque del problema es similar al de Boehm en su modelo COCOMO. Est basado en

    20 factores que influyen razonablemente en el costo y productividad del desarrollo del

    software y que estn bien definidos y otros 25 factores que no estn tan bien definidos.

    SPQR requiere responder a ms de 100 preguntas relacionadas con el proyecto para

    formular los parmetros de entrada necesarios en el calculo de los costos y los planes.

    Jones seala que con este modelo es posible proporcionar estimaciones de costo que

    estarn el 90% de las veces dentro del valor real con una desviacin del 15%.

    COPMO de Thebaut, propone un modelo de desarrollo de Software que intenta

    contabilizar el esfuerzo requerido cuando los equipos de programacin estn involucrados

    en grandes proyectos. La ecuacin general de calculo de esfuerzo es:

    E = a + b S + c P d

    Donde, a,b,c,d, son constantes a ser determinadas a partir de datos empricos mediante

    anlisis de regresin.

    S = Tamao del programa en miles de LOC

    P = Promedio de personal durante el ciclo de vida del proyecto

    Desafortunadamente, este modelo requiere dos parmetros cuyos valores no son

    conocidos hasta la terminacin del proyecto. Adems, las constantes b y c dependientes

    de la complejidad del Software no son fcilmente determinables.

  • 3. FAMILIA COCOMO

    Constructive Cost Model (COCOMO), es un modelo matemtico de base emprica utilizado

    para estimacin de costos de software.

    Desarrollado a finales de los aos 70 hasta 1981 por el Dr. Barry Boehm en UCLA, es el

    modelo de estimacin de costos ms utilizado, en el ao 2000 se public la versin

    COCOMO II.

    Incluye tres sub-modelos, cada uno ofrece un nivel de detalle y aproximacin, cada vez

    mayor, a medida que avanza el proceso de desarrollo del software: Bsico, Intermedio y

    Detallado.

    Evolucin de la Familia COCOMO

    Caractersticas Generales COCOMO II

    Permite estimar el esfuerzo, costo y duracin de cualquier proyecto de software.

    Es un modelo algortmico basado en una serie de frmulas matemticas que producen una

    estimacin en funcin de un conjunto de variables (x1, x2, , xn):

    Lneas de cdigo, Tamao del software a realizar (lneas: KLSI) o puntos de funcin.

    Capacidad de analistas y programadores.

  • Complejidad del producto.

    Duracin del proyecto: Unidad de tiempo (meses del calendario).

    Restricciones de tiempo de ejecucin, memoria, equipos de trabajo, etc.

    El parmetro principal para la estimacin de costo es Software Lines of Code LOC,

    tambin puede usar Puntos de Funcin y estos se convierten a LOC.

    La estimacin cubre nicamente las fases:

    Incepcin

    Elaboracin

    Construccin

    Transicin

    Incluye todos los costos directos del proyecto, pero no los indirectos.

    El esfuerzo se mide en Personas - Mes.

    Concepto Operacional COCOMO II

  • Proceso de Estimacin con COCOMO II

    Modelos COCOMO II

    Diseo Preliminar

    Est indicado para estimar en proyectos antes de que la arquitectura est

    completa.

    La medida de tamao se hace en Puntos de Funcin que luego se transforman en

    KLSI para su entrada en las frmulas.

    Tiene cinco factores de escala con seis rangos cada uno.

    Diseo Post-Arquitectura

    Est indicado para proyectos en los que la arquitectura ha sido completada.

    Toma como entrada KLOC.

    Tiene 17 atributos de costo y 7 de diseo preliminar.

    Personal con experiencia intermedia, algunos tienen experiencia y otros no.

    Algunas interfaces muy rigurosas otras flexibles.

    Tamao mximo 300 KLSI.

    Diseo de Composicin de Aplicaciones

    Esta indicado para: Proyectos construidos con herramientas, Re-utilizacin del

    software y Construccin de Interfaces.

    Toma como entrada Tamao en puntos objeto.

  • Clculo del Esfuerzo (MM), Tamao (Size) y Tiempo de Desarrollo (TDEV) COCOMO II

    Esfuerzo, sin ajustar, Diseo Preliminar y Post- Arquitectura.

    MMsin ajustar = a(q)* Size B

    a(q), depende del calibrado (2.94 COCOMO II, 2000), obtenido a travs de

    resultados de proyectos anteriores.

    Size es el Tamao del software.

    B = 0.91 + 0.01 * j=1..5 SF j

    Si B es:

    B < 1 Proyecto presenta ahorro de escala.

    B = 1 Los ahorros de escala y los gastos estn equilibrados.

    B > 1 El proyecto presenta gasto de escala.

    Los Factores de Escala SF son:

    Modelo de Composicin de

    Aplicacin

    Modelo de Diseo

    Preliminar

    Modelo de Reutilizacin

    Modelo Post Arquitectura

    Nmeros de Puntos de Aplicacin

    Numero de Puntos de Funcin

    Numero de lneas de Cdigo de Reutilizacin

    o Generadas

    Numero de Lneas de

    Cdigo Fuente

    Sistemas desarrollados usando lenguajes dinmicos,

    programacin DB, etc.

    Estimacin de esfuerzo inicial basado en requerimientos del sistema y opciones de diseo

    Esfuerzo para integrar componentes de reutilizacin

    o cdigo generado automticamente

    Esfuerzo de desarrollo basado en especificacin de diseo del

    sistema

    Con base en Usado por

    Con base en

    Con base en

    Con base en

    Usado por

    Usado por

    Usado por

  • SF1 = PRE, precedentes.

    SF2 = FLEX, Flexibilidad de desarrollo.

    SF3 = RESL, Arquitectura /resolucin de riesgos.

    SF4 = TEAM, Cohesin del equipo.

    SF5 = MAT, Madurez del proceso.

    Esfuerzo Ajustado, Diseo Preliminar y Post- Arquitectura lo define como:

    MM = MMsin ajustar * Xi

    Donde Xi son los diferentes Atributos o Drivers, 7 para el caso del modelo Diseo

    Preliminar y 17 para el modelo post arquitectura, se han calibrado sobre 198

    proyectos.

    Atributos de Producto

    RELY: Confiabilidad requerida

    DATA: Tamao de la base de datos

    DOCU: Documentacin necesaria

    CPLX: Complejidad del producto

    RUSE: Reusabilidad requerida

    Atributos de Plataforma

    TIME: Restricciones de tiempo de ejecucin

    STOR: Restricciones de almacenamiento

    PVOL: Cambio de plataforma

    Atributos de Personal

    ACAP: Capacidad de los analistas

    AEXP: Experiencia de los analistas

  • PCAP: Habilidad de los programadores

    PEXP: Experiencia en este tipo de plataforma

    LEXP: Experiencia con el lenguaje de software

    PCON: Continuidad de personal

    Atributos de Proyecto

    TOOL: Herramientas que soportan las actividades de anlisis y diseo

    SITE: Coordinacin entre sitios

    SCED: Compresin o extensin de la duracin del proyecto

    Tamao, sin ajustar, Diseo Preliminar y Post- Arquitectura

    Size = Size * (1 + BRAK/100)

    El porcentaje de rotura de BRAK es para ajustar el tamao eficaz del producto, esto

    refleja la volatilidad de los requisitos.

    Tiempo de Desarrollo, Diseo Preliminar y Post- Arquitectura

    TDEV = 3,67 * MMexp

    * ( SCED/100)

    exp = 0,28 + 0,2 * (E - 0.91)

    Limitaciones de COCOMO II

    Factores cualitativos son difciles de modelar.

    Calibracin utilizando proyectos exitosos.

    Es fcil manipular el modelo para obtener resultados deseados.

    Los resultados no son proporcionales a las tareas de gestin ya que no tiene en cuenta los

    recursos necesarios para realizarlas.

    Se puede desviar de la realidad si se indica mal el porcentaje de lneas de comentarios en

    el cdigo fuente.

  • Es un tanto subjetivo, puesto que est basado en estimaciones y parmetros que pueden

    ser "vistos" de distinta manera por distintos analistas que usen el mtodo.

    Se miden los costos del producto, de acuerdo a su tamao y otras caractersticas, pero no

    la productividad.

    La medicin por lneas de cdigo no es vlida para desarrollos en programacin orientados

    a objetos (OOP).

    Utilizar este modelo puede resultar complicado, en comparacin con otros mtodos.

    4. METRICAS DE PRODUCTIVIDAD

    Las Mtricas de Productividad se centran en el rendimiento de las funciones del desarrollo

    de software, para obtener:

    Tamao de la cartera de aplicaciones (Nmero de Puntos Funcin).

    Las tendencias del crecimiento de dicha cartera (Nmero de Puntos Funcin en

    Perodos de Tiempo).

    Ratio de Productividad de un proyecto (Tamao, Nmero de Puntos Funcin /

    Esfuerzo), se conoce cuando se finaliza el proyecto.

    Ratio de duracin del desarrollo de un proyecto (Nmero de Puntos Funcin /

    Tiempo transcurrido).

    Productividad global de una empresa (Nmero de Puntos Funcin / Esfuerzo total

    de la empresa).

    Entre 10 y 10.000 Puntos Funcin la Productividad es difcilmente comparable.

  • 5. METRICAS DE CALIDAD

    Las mtricas de calidad proporcionan una indicacin de cmo se ajusta el software a los

    requisitos implcitos y explcitos del usuario :

    Ratio de estabilidad (Nmero de cambios / Nmero de Puntos Funcin).

    Ratio de defectos (Nmero de defectos / Nmero de Puntos Funcin

    Ratio de suficiencia, en la Fase de Pruebas (Nmero de defectos / Nmero de

    Puntos Funcin de lo que se prueba).

    Tiempo medios de correccin (Tiempo transcurrido / Nmero de problemas).

    Fiabilidad (Fallo de la aplicacin / Nmero de Puntos Funcin de la aplicacin).

    6. BIBLIOGRAFIA

    Wikipedia, COCOMO II.

    Mtricas, Estimacin de tamao y recursos, Desarrollo de Sistemas de Informacin

    Corporativos, Departamento de Informtica, Universidad Carlos II de Madrid.

    Estimacin de Costos de Proyectos de Software, Dr. Ricardo Valerdi, CIMAT Septiembre

    2007, MIT.

    COCOMO II, Model Definition Manual, 2000 Center for Software Engineering, USC.

    Estimacin de Costes del Software, Carlos Castillo Diestra, Universidad Privada del Norte.

    Modelos de Estimacin COCOMO, Ingeniera de software 9, SOMMERVILLE.