MODELOS EMPÍRICOS DE ESTIMACIÓN

Slides:



Advertisements
Presentaciones similares
¿ Que es una muestra?.
Advertisements

Unida III Software para la administración de proyectos
Metrica de Estimación COCOMO
Unidad 2. Planificación del sistema
Gestión de Proyectos Informáticos
MÉTODOS DE ESTIMACIÓN Y GESTIÓN DEL RIESGO
MEDICIONES DE SOFTWARE
Fundamentos de Diseño de Software INFT.1
ESTIMACIÓN DEL ESFUERZO EN EL DESARROLLO DE SOFTWARE
Ing. Francisco Rodríguez Novoa
ANÁLISIS DE REQUERIMIENTOS
ESTIMACION: TIPOS, TECNICAS Y METODOS MODELO COCOMO
Modelo Cocomo DicK Flores Quiroz.
Herramientas Automáticas de Estimación
METRICAS DE PROCESO Y PROYECTO
Gestión de proyectos Es la primera etapa de Ingeniería del Software.
Otros métodos de Diseño de Sistemas...
Herramientas CASE.
Métricas en Proyectos de Software Prof. A/S: Diego Gutiérrez Gerenciamiento y Dirección de TI.
Métricas de Software Medimos para mejorar cuando recogemos la información cuantitativa que nos ayuda a identificar obstáculos, problemas de raíz, ineficiencias.
Guia Diseño Robert Echeverria
FUNDACIÓN UNIVERSITARIA AUTÓNOMA DE LAS AMÉRICAS
Ingeniería del Software
Ingeniería del Software
HERRAMIENTAS CASE.
ESTIMACION DE COSTE DEL SOFTWARE
Métricas de productividad y calidad
TEMA 4. ESTIMACIÓN DEL ESFUERZO EN EL DESARROLLO DE SOFTWARE
ESTIMACIÓN DEL PROYECTO
Ciclo de Vida del Software Paradigmas de Desarrollo
Redes II M. C. Nancy Aguas García. Redes Planeación Análisis y Diseño Instalación Evaluación Administración de software Mantenimiento de hardware.
M.C. Juan Carlos Olivares Rojas
Métricas de calidad de software
Medición y Métricas del Software
Ingeniería de Software
Conceptos de Gestión y Planificación de Proyectos Software
Planificación Temporal y Seguimiento del Proyecto
Modelos Empíricos de Estimación
Ingeniería de Software
COCOMO María Barajas López Víctor Chico Rodríguez Ángela Jiménez Sáez
Estimación Al principio, el coste del software constituía un pequeño porcentaje del coste total de los sistemas informáticos. Hoy el software es el elemento.
Modelos Empíricos de Estimación ISF5501 Ingeniería de Software Semana 10.
Construcción de Software
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
Planificación de Proyectos de Software
Técnicas de Estimación de Esfuerzo
Ámbito y Estimaciones de Proyecto ISF5501 Ingeniería de Software Semana 7/1.
Ámbito y Estimaciones de Proyecto
1 ESTIMACIÓN DEL ESFUERZO EN EL DESARROLLO DE SOFTWARE Victoria Coronado Karen Zorro Alejandra Rayo Diana Leiva Seminario de Grado 3.
INGENIERÍA DEL SOFTWARE GESTIÓN DE PROYECTOS
Medición y Métricas del Software
Introducción a las Ingenierías de la Información
Factores y Métricas que determinan la Calidad de un producto
Métricas de calidad de software
Ejercicio 2 Diagramas PERT y CPM. Ejercicio 2 Descripci ó nTareaDebe seguir a Tiempo esperado en D í as Trazar flujo de datosPNinguna9 Trazar á rbol de.
Estimación de proyectos de software
PROCESOS DE DESARROLLO DE SOFTWARE
Especialidad en Administración de Proyectos
problemas de la calidad del software
UNIDAD 2: “Características del Modelado UML” CONTENDIDO Elaborado por: Ingeniero Harold Cabrera Meza Actualizado por: Ingeniero Nilson Albeiro Ferreira.
Tecnicas del Mantenimiento del Software
Proceso de desarrollo de Software
PARADIGMA Es un marco de referencia que impone reglas sobre cómo se deben hacer las cosas. CONCEPTO DE PARADIGMA DE PROGRAMACION colección de modelos conceptuales.
El proceso del Software y Métricas del proyecto
REPUBLICA BOLIVARIANA DE VENEZUELA. MINISTERIO DEL PODER POPULAR PARA LA EDUCACION UNIVERSITARIA. UNIVERSIDAD POLITECNICA TERRITORIAL DEL NORTE DE MONAGAS.
ANALISIS DE SISTEMAS PROFESOR HECTOR ARCIA.
Modelo de procesos de software
El diseño de la interfaz de usuario requiere el estudio de las personas y el conocimiento tecnológico adecuado.
PROGRAMA DE FORTALECIMIENTO INSTITUCIONAL LOCAL ESCUELAS DE LIDERAZGO Y/O GOBIERNO NIVEL 5 - MÓDULO 3 MARCO LÓGICO.
Verificación y Validación del Software
Transcripción de la presentación:

MODELOS EMPÍRICOS DE ESTIMACIÓN  Un modelo empírico de estimación para el software de computadora utiliza fórmulas derivadas empíricamente para predecir los datos que se requieren en el paso de planificación del proyecto de software. Los datos empíricos que soportan la mayoría de los modelos se obtienen de una muestra de proyectos limitada. Por esta razón, un mismo modelo de estimación no es adecuado para todas las clases de software ni para todos los entornos de desarrollo. Por lo tanto, los resultados obtenidos de los modelos deben utilizarse de forma sensata. Los Modelos de recursos consisten en una o varias ecuaciones obtenidas empíricamente que predicen el esfuerzo (en personas/mes), la duración del proyecto (en meses cronológicos) y otros datos relativos al proyecto. Basili describe cuatro clases de modelos de recursos: modelos univariable estáticos, modelos multivariable estáticos, modelos multivariable dinámicos y modelos teóricos.  

MODELOS EMPÍRICOS DE ESTIMACIÓN Un univariable estático toma la Forma: Recurso = c1 x (característica estimada) c2 Donde el recurso podría ser el esfuerzo, la duración del proyecto, la cantidad de personal o las líneas requeridas de documentación del software. Las constates c1 y c2 se derivan de los datos recopilados de anteriores proyectos. La característica estimada puede ser la cantidad de líneas de código fuente, el esfuerzo (si ya está estimado) u otra característica del software. Se pueden derivar modelos con la forma recién descrita para un entorno local si hay suficientes datos históricos disponibles. La versión básica del modelo de coste constructivo o COCOMO es un ejemplo de modelo univariable estático.    

MODELOS EMPÍRICOS DE ESTIMACIÓN  Los modelos multivariable estáticos, como sus análogos univariable estáticos, usan los datos históricos para obtener relaciones empíricas. Un modelo típico de esta categoría toma la forma: Recurso = c11e1 + c21e2 + ... Donde ei es la característica i-ésima del software y ci1, ci2 son constantes obtenidas empíricamente para la característica i-ésima. Un modelo multivariable dinámico proyecta los requisitos de recursos como una función del tiempo. Si se obtiene empíricamente el modelo, los recursos se definen en una serie de pasos consecutivos en el tiempo que asignan cierto porcentaje de esfuerzo (o de otro recurso) a cada etapa del proceso de ingeniería del software. Cada paso puede ser además subdividido en tareas. El enfoque teórico de la modelización multivariable dinámica incluye una "curva continua de utilización del recurso" como hipótesis y, a partir de ella, obtiene ecuaciones que modelizan el comportamiento del recurso.    

COCOMO COCOMO (Constructive Cost Model, modelo constructivo de coste), es una jerarquía de modelos de estimación para el software. Dicha jerarquía se compone de la siguiente manera: Modelo 1. El modelo COCOMO básico es un modelo univariable estático que calcula el esfuerzo (y el coste) del desarrollo de software en función del tamaño del programa, expresado en líneas de código (LDC) estimadas. Modelo 2. El modelo COCOMO intermedio calcula el esfuerzo del desarrollo de software en función del tamaño del programa y de un conjunto de "conductores de coste", que incluyen la evaluación subjetiva del producto, del hardware, del personal y de los atributos del proyecto. Modelo 3. El modelo COCOMO avanzado incorpora todas las características de la versión intermedia y lleva a cabo una evaluación del impacto de los conductores de coste en cada fase (análisis, diseño, etc.) del proceso de ingeniería del software.

COCOMO E = ab (KLDC) exp(bb) D = cb (E) exp(db) Para ilustrar el modelo COCOMO, se presenta a continuación una visión general de las versiones básica e intermedia. Los modelos COCOMO están definidos para tres tipos de proyectos de software: (1) modo orgánico —proyectos de software relativamente pequeños y sencillos en los que trabajan pequeños equipos, con buena experiencia en la aplicación, sobre un conjunto de requisitos poco rígidos; (2) modo semi-acopIado —proyectos de software intermedios (en tamaño y complejidad) en los que equipos, con variados niveles de experiencia, deben satisfacer requisitos poco o medio rígidos; (3) modo empotrado —proyectos de software que deben ser desarrollados en un conjunto de hardware, software y restricciones operativas muy restringido. Las ecuaciones del COCOMO básico tienen la siguiente forma: E = ab (KLDC) exp(bb) D = cb (E) exp(db)     donde E es el esfuerzo aplicado en personas-mes, D es el tiempo de desarrollo en meses cronológicos y KLDC es el número estimado de líneas de código distribuidas (en miles) para el proyecto. Los coeficientes ab y cb y los exponentes bb y db se muestran en la tabla    

COCOMO Proyecto de Software ab bb cb db Orgánico 2.4 1.05 2.5 0.38 Semiacoplado 3.0 1.12 0.35 Empotrado 3.6 1.20 0.32

Atributos del producto El modelo básico se amplía para considerar un conjunto de "atributos conductores de coste" que pueden agruparse en cuatro categorías principales: Atributos del producto Fiabilidad del software requerida Tamaño de la base de datos de la aplicación Complejidad del producto Atributos del hardware Restricciones de rendimiento en tiempo de ejecución Restricciones de memoria Volatilidad del entorno de la máquina virtual Tiempo de espera requerido Atributos del personal Capacidad de análisis Capacidad del ingeniero de software Experiencia en aplicaciones Experiencia con la máquina virtual Experiencia con el lenguaje de programación          

Atributos del proyecto a. Utilización de herramientas de software b. Aplicación de métodos de ingeniería del software c. Planificación temporal del desarrollo requerida. Cada uno de los 15 atributos es valorado en una escala de 6 puntos que va desde "muy bajo" hasta "extra alto" (en importancia o valor). De acuerdo con la evaluación, se determina un multiplicador de esfuerzo y, con el producto de todos los multiplicadores de esfuerzo, se obtiene un factor de ajuste del esfuerzo (FAE). Los valores típicos para el FAE van de 0.9 a 1,4. La ecuación del modelo COCOMO intermedio toma la forma: E = ai (KLDC) exp(bi) x FAE donde E es el esfuerzo aplicado en personas-mes y LDC es el número estimado de líneas de código distribuidas para el proyecto. El coeficiente ai y el exponente bise muestran en la Tabla              

Proyecto de Software ai bi Orgánico 3.2 1.05 Semiacoplado 3.0 1.12 Empotrado 2.8 1.20

Modelo de estimación de Putnam El modelo de estimación de Putnam es un modelo multivariable dinámico que asume una distribución específica del esfuerzo a lo largo de la vida de un proyecto de desarrollo de software. El modelo se ha obtenido a partir de distribuciones de mano de obra en grandes proyectos (esfuerzo total de 30 personas-año o más). Sin embargo, se puede extrapolar a proyectos más pequeños. La distribución del esfuerzo en grandes proyectos de software puede ser caracterizada como muestra el grafico de Curva de Rayleigh-Norden . Las curvas de la figura toman una forma descrita analíticamente por Lord Rayleigh. Para desarrollar las curvas se han utilizado los datos empíricos de desarrollos de sistemas recopilados por Norden.  

Modelo de estimación de Putnam Se puede utilizar la curva de Rayleigh-Norden para obtener una "ecuación del software" que relaciona el número de líneas de código esperadas(sentencias fuente) con el esfuerzo y el tiempo de desarrollo: L = Ck K 1/3 td 4/3 donde Ck es una constante del estado de la tecnología y refleja las "restricciones intrínsecas que frenan el progreso del programador". Valores típicos pueden ser: Ck = 2000 para un entorno pobre de desarrollo de software (sin metodología, con una documentación v unas revisiones pobres. un modo de ejecución no interactivo). Ck = 8000 para un buen entorno de desarrollo de software (con una buena metodología, adecuadas documentación y revisiones, modo de ejecución interactivo); Ck = 11000 para un entorno "excelente" (con herramientas y técnicas automáticas).

Modelo de estimación de Putnam Se puede obtener la constante Ck correspondiente al entorno propio a partir de los datos históricos recopilados sobre anteriores esfuerzos de desarrollo. Reorganizando la ecuación del software (anterior); podemos llegar a una expresión para el esfuerzo de desarrollo K:   K = L3 /  Ck 3 td donde K es el esfuerzo empleado (en personas-año) durante el ciclo de vida completo de desarrollo y de mantenimiento del software, y td es el tiempo de desarrollo en años. Se puede relacionar la ecuación para el esfuerzo de desarrollo con el coste de desarrollo, incluyendo el factor de tarificación laboral gravada ($/persona-año). Dadas las potencias de alto orden que aparecen en la ecuación del software, se puede demostrar que, postergando ligeramente la fecha de entrega, se puede obtener un sustancial ahorro en el esfuerzo humano aplicado al proyecto. Dicho de otro modo, la relación entre el esfuerzo aplicado y el tiempo cronológico para la entrega es altamente no lineal.    

Modelo de estimación de Putnam