Este documento presenta un resumen de diferentes modelos empíricos de estimación de software. En particular, describe brevemente los siguientes modelos:
1) Modelos empíricos de estimación en general, que utilizan fórmulas derivadas empíricamente de una muestra limitada de proyectos para predecir el esfuerzo.
2) El modelo COCOMO, que predice el esfuerzo y duración en función del tamaño del proyecto (LOC) y factores de ajuste.
3) El modelo de Putnam, que describe el tiempo y esfuerzo
Este documento describe diferentes tipos de modelos de simulación. Explica que los modelos pueden ser estocásticos o determinísticos, de tiempo discreto o continuo, y estáticos o dinámicos. También describe la estructura básica de un modelo de simulación y cuándo es apropiado utilizar la simulación para estudiar un sistema.
Este documento describe las etapas clave de un estudio de viabilidad para un proyecto informático, incluyendo el análisis de los recursos técnicos, económicos y operativos. Se enfatiza la importancia de recopilar datos a través de entrevistas con diferentes partes interesadas para determinar si el proyecto es factible desde estas tres perspectivas. Además, se proveen lineamientos para la preparación y estructuración efectiva de las entrevistas con el fin de obtener información relevante para la toma de decisiones.
El documento describe el Modelo COCOMO (Constructive Cost Model), un modelo matemático utilizado para estimar los costos de desarrollo de software. Explica que COCOMO tiene tres submodelos de estimación (básico, intermedio y detallado) que ofrecen diferentes niveles de detalle. También describe los factores que se consideran en cada submodelo como el tamaño del programa, atributos del producto, hardware, personal y proyecto.
Este documento describe los pasos clave en la planificación de proyectos de software. Explica que la planificación incluye estimar el tiempo, esfuerzo y recursos necesarios para el proyecto. También cubre técnicas como COCOMO para estimar costos en base al tamaño del programa y factores adicionales. El objetivo final de la planificación es generar estimaciones razonables de los recursos, costos y cronograma para el proyecto de software.
Este documento presenta el proyecto de importación y comercialización de un agua superpremium. El objetivo es incorporar este nuevo producto a la canasta de bienes de la empresa para aumentar las ventas. Se detallan los entregables, requisitos, cronograma, presupuesto e interesados. El gerente de proyecto es Jorge Peñaranda y requiere la aprobación del directorio mediante un estudio de mercado y análisis económico que demuestre su rentabilidad.
El documento describe diferentes metodologías y ciclos de vida en ingeniería de software. Explica que las metodologías optimizan el proceso y producto de software al definir las fases, tareas, productos e inputs/outputs. Los ciclos de vida incluyen modelos como cascada, espiral e iterativos/incrementales, los cuales definen el orden de las fases y la transición entre ellas.
Este documento presenta una introducción a la ingeniería del software. Explica que mientras que el hardware ha experimentado un rápido avance gracias a la ley de Moore, el software ha sufrido una crisis caracterizada por altas tasas de fracaso de proyectos. También define la ingeniería del software como la aplicación de principios de ingeniería para desarrollar software eficiente y de calidad.
Este documento presenta los contenidos de una unidad sobre diseño de sistemas. Incluye introducciones a temas como el proceso de diseño, principios de diseño, documentación de diseño, análisis y diseño orientados a objetos, modelos de dominio y casos de uso, y el lenguaje UML. También presenta un caso de estudio de ejemplo sobre un videoclub y los primeros artefactos de análisis requeridos como la presentación general del sistema, descripción de clientes, metas, funciones y atributos.
Este documento describe diferentes tipos de modelos de simulación. Explica que los modelos pueden ser estocásticos o determinísticos, de tiempo discreto o continuo, y estáticos o dinámicos. También describe la estructura básica de un modelo de simulación y cuándo es apropiado utilizar la simulación para estudiar un sistema.
Este documento describe las etapas clave de un estudio de viabilidad para un proyecto informático, incluyendo el análisis de los recursos técnicos, económicos y operativos. Se enfatiza la importancia de recopilar datos a través de entrevistas con diferentes partes interesadas para determinar si el proyecto es factible desde estas tres perspectivas. Además, se proveen lineamientos para la preparación y estructuración efectiva de las entrevistas con el fin de obtener información relevante para la toma de decisiones.
El documento describe el Modelo COCOMO (Constructive Cost Model), un modelo matemático utilizado para estimar los costos de desarrollo de software. Explica que COCOMO tiene tres submodelos de estimación (básico, intermedio y detallado) que ofrecen diferentes niveles de detalle. También describe los factores que se consideran en cada submodelo como el tamaño del programa, atributos del producto, hardware, personal y proyecto.
Este documento describe los pasos clave en la planificación de proyectos de software. Explica que la planificación incluye estimar el tiempo, esfuerzo y recursos necesarios para el proyecto. También cubre técnicas como COCOMO para estimar costos en base al tamaño del programa y factores adicionales. El objetivo final de la planificación es generar estimaciones razonables de los recursos, costos y cronograma para el proyecto de software.
Este documento presenta el proyecto de importación y comercialización de un agua superpremium. El objetivo es incorporar este nuevo producto a la canasta de bienes de la empresa para aumentar las ventas. Se detallan los entregables, requisitos, cronograma, presupuesto e interesados. El gerente de proyecto es Jorge Peñaranda y requiere la aprobación del directorio mediante un estudio de mercado y análisis económico que demuestre su rentabilidad.
El documento describe diferentes metodologías y ciclos de vida en ingeniería de software. Explica que las metodologías optimizan el proceso y producto de software al definir las fases, tareas, productos e inputs/outputs. Los ciclos de vida incluyen modelos como cascada, espiral e iterativos/incrementales, los cuales definen el orden de las fases y la transición entre ellas.
Este documento presenta una introducción a la ingeniería del software. Explica que mientras que el hardware ha experimentado un rápido avance gracias a la ley de Moore, el software ha sufrido una crisis caracterizada por altas tasas de fracaso de proyectos. También define la ingeniería del software como la aplicación de principios de ingeniería para desarrollar software eficiente y de calidad.
Este documento presenta los contenidos de una unidad sobre diseño de sistemas. Incluye introducciones a temas como el proceso de diseño, principios de diseño, documentación de diseño, análisis y diseño orientados a objetos, modelos de dominio y casos de uso, y el lenguaje UML. También presenta un caso de estudio de ejemplo sobre un videoclub y los primeros artefactos de análisis requeridos como la presentación general del sistema, descripción de clientes, metas, funciones y atributos.
Este documento describe varias técnicas para estimar los costos de proyectos de software. Presenta métricas como líneas de código y puntos de función que pueden usarse para estimar el tamaño de un proyecto. También describe factores que afectan los costos como la capacidad de los programadores, la complejidad del producto y el tiempo disponible. Finalmente, resume técnicas como el juicio experto y Delphi para realizar estimaciones.
Este documento describe los atributos de calidad en el desarrollo de software. Explica que los atributos de calidad son las propiedades que una aplicación debe satisfacer y cómo se miden. Luego detalla diferentes tipos de atributos asociados a la funcionalidad, confiabilidad, utilidad, eficiencia, mantenibilidad y portabilidad. Finalmente, señala que los requisitos no funcionales definen características que pueden limitar un sistema y están relacionados con los atributos de calidad.
COCOMO II es un modelo que permite estimar el costo, esfuerzo y tiempo de proyectos de desarrollo de software en función del tamaño del proyecto y factores técnicos, ambientales y de escala. Posee tres modelos para estimaciones iniciales, de diseño y post-arquitectura adaptados a distintas etapas del ciclo de vida del software.
Análisis de riesgos de un proyecto de softwareAngel Reyes
Este documento describe el análisis de riesgos de un proyecto de software. Explica que el análisis de riesgos es un proceso para identificar los riesgos, su probabilidad de ocurrencia e impacto, y determinar los controles para mitigarlos. También define los tipos de riesgos como riesgos de proyecto, técnicos y de negocio, y métodos para identificarlos como listas de verificación. El objetivo final es cuantificar los riesgos y determinar acciones para controlarlos, eliminarlos, compartirlos o a
Este documento describe las métricas para la calidad de software. Explica que las métricas ayudan a medir tanto el proceso de desarrollo como el producto final para mejorar la calidad. Luego detalla algunas métricas comunes como aseguramiento de calidad, fiabilidad, productividad y modelos de ejecución. Finalmente, discute modelos para evaluar la calidad como ISO 9126 y el modelo de DROMEY, concluyendo que las métricas permiten evaluar la calidad de una aplicación web y la satisfacción de los clientes.
El documento describe los prototipos como visiones preliminares de sistemas futuros que se utilizan para recopilar rápidamente los requisitos de los usuarios. Explica que los prototipos deben crearse temprano y evolucionar de forma iterativa a bajo costo. También detalla diferentes tipos de prototipos, herramientas, estrategias y el papel de los usuarios en el desarrollo de prototipos.
El documento describe varios métodos para estimar proyectos de software, incluyendo estimaciones basadas en el tamaño, el problema, el proceso y modelos como COCOMO. COCOMO incluye un modelo básico, intermedio y avanzado que usan factores como la fiabilidad, complejidad y habilidades para calcular el esfuerzo requerido. Un ejemplo estima que un pequeño proyecto de Visual Basic requerirá un equipo de 6 personas trabajando durante 7 meses.
Este documento presenta varios modelos de desarrollo de software, incluyendo el modelo cascada, incremental, espiral, de componentes y ágiles como Scrum y Desarrollo Adaptativo de Software. Describe las fases, actividades, roles y características clave de cada modelo. El objetivo es proporcionar una introducción a los principales enfoques para el desarrollo de software.
El modelo incremental consiste en el desarrollo inicial de la arquitectura completa del sistema, seguido de sucesivos incrementos funcionales. Cada incremento tiene su propio ciclo de vida y se basa en el anterior, sin cambiar su funcionalidad ni sus interfaces. Una vez entregado un incremento, no se realizan cambios sobre el mismo, sino únicamente corrección de errores.
Este documento presenta el método de estimación de puntos de casos de uso para calcular el esfuerzo requerido para desarrollar un proyecto de software. Explica cómo calcular los puntos de casos de uso sin ajustar y ajustados considerando factores como los actores, casos de uso, complejidad técnica y ambiental. Finalmente, muestra cómo convertir los puntos de casos de uso ajustados a una estimación de horas-hombre requeridas para el desarrollo.
El documento introduce los conceptos básicos de la calidad del software, incluyendo su definición e importancia. Explica la evolución del pensamiento sobre la calidad del software a través de varias propuestas tempranas que categorizaron factores de calidad. Finalmente, discute cómo enfoques posteriores profundizaron la distinción entre atributos y requisitos de calidad.
Determinación del programa del proyecto: Tiempo
planeado para el inicio y la terminación de cada
actividad.
Ruta crítica: Es la trayectoria con el tiempo más
largo a través de la red.
Inicio más cercano (IC): El tiempo más cercano en el
que puede empezar una actividad, suponiendo que
todas las actividades precedentes ha sido
completadas.
Terminación más cercana (TC): El tiempo más
cercano en que una actividad puede terminar.
Inicio más lejano (IC): Tiempo más lejano en que
una actividad puede comenzar sin retrasar el
tiempo de terminación del proyecto.
Terminación más lejana (TL): Tiempo más lejano en
que una actividad puede terminar sin retrasar el
tiempo de terminación del proyecto.
Este documento presenta un plan de pruebas para el sistema de ventas y facturación de MEGAMAXI S.A. con el objetivo de verificar la funcionalidad de los módulos de clientes, inventario, facturación y reportes. Describe las técnicas y tipos de pruebas a realizar, incluyendo pruebas de integridad de datos, funcionalidad, interfaz de usuario, seguridad y recuperación. El plan detalla los criterios de entrada y salida, producibles, ambientes de prueba, roles, riesgos y procesos de gest
El documento describe el Modelo V, un método para el desarrollo de software. El Modelo V representa gráficamente las fases del ciclo de vida del desarrollo de sistemas en forma de V, incluyendo el análisis de requisitos, diseño, implementación, pruebas e integración. El modelo ayuda a definir las pruebas necesarias en cada fase y a identificar dónde volver si se encuentran errores. El propósito del modelo es regular el proceso de desarrollo de software y mejorar la calidad del proyecto.
Este documento describe los requerimientos funcionales y no funcionales para un sistema. Los requerimientos funcionales especifican las funciones que el sistema debe realizar, como la autenticación de usuarios, autorización de acceso y envío de archivos. Los requerimientos no funcionales se refieren a propiedades como el rendimiento, la seguridad y la usabilidad del sistema, en lugar de sus funciones específicas.
La auditoría evaluó la situación del centro de cómputo de una universidad, incluyendo la infraestructura, equipos, personal, software, seguridad y control de activos. Se encontró que el centro cuenta con los recursos necesarios pero se recomienda contratar seguros, establecer contraseñas de acceso y entrenar al personal para recuperar información ante desastres, almacenando respaldos de forma segura.
Un compilador es un programa que traduce código fuente escrito en un lenguaje de alto nivel a un lenguaje de bajo nivel como lenguaje de máquina. Los compiladores traducen todo el programa antes de ejecutarlo, lo que hace que los programas compilados se ejecuten más rápido que los interpretados. Los compiladores también informan de errores en el código fuente.
El documento describe un diagrama de flujo para determinar el valor mayor y menor de 3 valores ingresados. El diagrama compara los valores dos a dos para identificar el mayor, y luego identifica el menor de los dos valores restantes.
Este documento presenta una introducción a la programación orientada a objetos. Explica algunos conceptos clave como clase, objeto, atributos, métodos, estado de un objeto, interfaz e implementación. También cubre principios como modularidad, reusabilidad, alta cohesión y bajo acoplamiento. Finalmente, menciona características importantes de la POO como abstracción, encapsulamiento, herencia y polimorfismo.
El documento describe el modelo COCOMO (Constructive Cost Model) para la estimación de costos de software. COCOMO incluye tres submodelos (básico, intermedio y detallado) que ofrecen niveles crecientes de detalle y precisión. El modelo se basa en líneas de código, capacidad de analistas y programadores, y complejidad del producto. Barry Boehm desarrolló COCOMO en 1981 y COCOMO II en 2000 para estimar esfuerzo, costo y duración de proyectos de software.
Este documento describe varias técnicas para estimar los costos de proyectos de software. Presenta métricas como líneas de código y puntos de función que pueden usarse para estimar el tamaño de un proyecto. También describe factores que afectan los costos como la capacidad de los programadores, la complejidad del producto y el tiempo disponible. Finalmente, resume técnicas como el juicio experto y Delphi para realizar estimaciones.
Este documento describe los atributos de calidad en el desarrollo de software. Explica que los atributos de calidad son las propiedades que una aplicación debe satisfacer y cómo se miden. Luego detalla diferentes tipos de atributos asociados a la funcionalidad, confiabilidad, utilidad, eficiencia, mantenibilidad y portabilidad. Finalmente, señala que los requisitos no funcionales definen características que pueden limitar un sistema y están relacionados con los atributos de calidad.
COCOMO II es un modelo que permite estimar el costo, esfuerzo y tiempo de proyectos de desarrollo de software en función del tamaño del proyecto y factores técnicos, ambientales y de escala. Posee tres modelos para estimaciones iniciales, de diseño y post-arquitectura adaptados a distintas etapas del ciclo de vida del software.
Análisis de riesgos de un proyecto de softwareAngel Reyes
Este documento describe el análisis de riesgos de un proyecto de software. Explica que el análisis de riesgos es un proceso para identificar los riesgos, su probabilidad de ocurrencia e impacto, y determinar los controles para mitigarlos. También define los tipos de riesgos como riesgos de proyecto, técnicos y de negocio, y métodos para identificarlos como listas de verificación. El objetivo final es cuantificar los riesgos y determinar acciones para controlarlos, eliminarlos, compartirlos o a
Este documento describe las métricas para la calidad de software. Explica que las métricas ayudan a medir tanto el proceso de desarrollo como el producto final para mejorar la calidad. Luego detalla algunas métricas comunes como aseguramiento de calidad, fiabilidad, productividad y modelos de ejecución. Finalmente, discute modelos para evaluar la calidad como ISO 9126 y el modelo de DROMEY, concluyendo que las métricas permiten evaluar la calidad de una aplicación web y la satisfacción de los clientes.
El documento describe los prototipos como visiones preliminares de sistemas futuros que se utilizan para recopilar rápidamente los requisitos de los usuarios. Explica que los prototipos deben crearse temprano y evolucionar de forma iterativa a bajo costo. También detalla diferentes tipos de prototipos, herramientas, estrategias y el papel de los usuarios en el desarrollo de prototipos.
El documento describe varios métodos para estimar proyectos de software, incluyendo estimaciones basadas en el tamaño, el problema, el proceso y modelos como COCOMO. COCOMO incluye un modelo básico, intermedio y avanzado que usan factores como la fiabilidad, complejidad y habilidades para calcular el esfuerzo requerido. Un ejemplo estima que un pequeño proyecto de Visual Basic requerirá un equipo de 6 personas trabajando durante 7 meses.
Este documento presenta varios modelos de desarrollo de software, incluyendo el modelo cascada, incremental, espiral, de componentes y ágiles como Scrum y Desarrollo Adaptativo de Software. Describe las fases, actividades, roles y características clave de cada modelo. El objetivo es proporcionar una introducción a los principales enfoques para el desarrollo de software.
El modelo incremental consiste en el desarrollo inicial de la arquitectura completa del sistema, seguido de sucesivos incrementos funcionales. Cada incremento tiene su propio ciclo de vida y se basa en el anterior, sin cambiar su funcionalidad ni sus interfaces. Una vez entregado un incremento, no se realizan cambios sobre el mismo, sino únicamente corrección de errores.
Este documento presenta el método de estimación de puntos de casos de uso para calcular el esfuerzo requerido para desarrollar un proyecto de software. Explica cómo calcular los puntos de casos de uso sin ajustar y ajustados considerando factores como los actores, casos de uso, complejidad técnica y ambiental. Finalmente, muestra cómo convertir los puntos de casos de uso ajustados a una estimación de horas-hombre requeridas para el desarrollo.
El documento introduce los conceptos básicos de la calidad del software, incluyendo su definición e importancia. Explica la evolución del pensamiento sobre la calidad del software a través de varias propuestas tempranas que categorizaron factores de calidad. Finalmente, discute cómo enfoques posteriores profundizaron la distinción entre atributos y requisitos de calidad.
Determinación del programa del proyecto: Tiempo
planeado para el inicio y la terminación de cada
actividad.
Ruta crítica: Es la trayectoria con el tiempo más
largo a través de la red.
Inicio más cercano (IC): El tiempo más cercano en el
que puede empezar una actividad, suponiendo que
todas las actividades precedentes ha sido
completadas.
Terminación más cercana (TC): El tiempo más
cercano en que una actividad puede terminar.
Inicio más lejano (IC): Tiempo más lejano en que
una actividad puede comenzar sin retrasar el
tiempo de terminación del proyecto.
Terminación más lejana (TL): Tiempo más lejano en
que una actividad puede terminar sin retrasar el
tiempo de terminación del proyecto.
Este documento presenta un plan de pruebas para el sistema de ventas y facturación de MEGAMAXI S.A. con el objetivo de verificar la funcionalidad de los módulos de clientes, inventario, facturación y reportes. Describe las técnicas y tipos de pruebas a realizar, incluyendo pruebas de integridad de datos, funcionalidad, interfaz de usuario, seguridad y recuperación. El plan detalla los criterios de entrada y salida, producibles, ambientes de prueba, roles, riesgos y procesos de gest
El documento describe el Modelo V, un método para el desarrollo de software. El Modelo V representa gráficamente las fases del ciclo de vida del desarrollo de sistemas en forma de V, incluyendo el análisis de requisitos, diseño, implementación, pruebas e integración. El modelo ayuda a definir las pruebas necesarias en cada fase y a identificar dónde volver si se encuentran errores. El propósito del modelo es regular el proceso de desarrollo de software y mejorar la calidad del proyecto.
Este documento describe los requerimientos funcionales y no funcionales para un sistema. Los requerimientos funcionales especifican las funciones que el sistema debe realizar, como la autenticación de usuarios, autorización de acceso y envío de archivos. Los requerimientos no funcionales se refieren a propiedades como el rendimiento, la seguridad y la usabilidad del sistema, en lugar de sus funciones específicas.
La auditoría evaluó la situación del centro de cómputo de una universidad, incluyendo la infraestructura, equipos, personal, software, seguridad y control de activos. Se encontró que el centro cuenta con los recursos necesarios pero se recomienda contratar seguros, establecer contraseñas de acceso y entrenar al personal para recuperar información ante desastres, almacenando respaldos de forma segura.
Un compilador es un programa que traduce código fuente escrito en un lenguaje de alto nivel a un lenguaje de bajo nivel como lenguaje de máquina. Los compiladores traducen todo el programa antes de ejecutarlo, lo que hace que los programas compilados se ejecuten más rápido que los interpretados. Los compiladores también informan de errores en el código fuente.
El documento describe un diagrama de flujo para determinar el valor mayor y menor de 3 valores ingresados. El diagrama compara los valores dos a dos para identificar el mayor, y luego identifica el menor de los dos valores restantes.
Este documento presenta una introducción a la programación orientada a objetos. Explica algunos conceptos clave como clase, objeto, atributos, métodos, estado de un objeto, interfaz e implementación. También cubre principios como modularidad, reusabilidad, alta cohesión y bajo acoplamiento. Finalmente, menciona características importantes de la POO como abstracción, encapsulamiento, herencia y polimorfismo.
El documento describe el modelo COCOMO (Constructive Cost Model) para la estimación de costos de software. COCOMO incluye tres submodelos (básico, intermedio y detallado) que ofrecen niveles crecientes de detalle y precisión. El modelo se basa en líneas de código, capacidad de analistas y programadores, y complejidad del producto. Barry Boehm desarrolló COCOMO en 1981 y COCOMO II en 2000 para estimar esfuerzo, costo y duración de proyectos de software.
El documento describe el Modelo de Madurez y Capacidad (CMM), desarrollado originalmente para medir la madurez de los procesos de desarrollo de software. Explica que el CMM evalúa la calidad de productos y empresas según cinco niveles de madurez. Más tarde, el CMM evolucionó al CMMI para integrar varios modelos CMM relacionados y cubrir áreas adicionales como ingeniería y gestión de proyectos. El CMMI evalúa procesos organizados en cuatro categorías e identifica ventaj
Las herramientas CASE (Computer-Aided Software Engineering) son conjuntos de software que ayudan a ingenieros de software, analistas y programadores en las etapas del desarrollo de software. Proporcionan diagramación, modelado, prototipado, generación de código y documentación. Se clasifican según las fases del ciclo de vida que cubren y ofrecen ventajas como facilitar el desarrollo y revisión de aplicaciones.
El documento describe el rol del arquitecto de software. Un arquitecto de software es responsable del diseño de la arquitectura de un sistema para satisfacer sus requisitos y propósito. Un arquitecto debe entender el dominio, las necesidades de los usuarios y las tecnologías involucradas. Además de diseñar la arquitectura, un arquitecto también documenta, comunica y garantiza que la implementación siga el diseño arquitectónico.
Este documento describe diferentes tipos de métricas que se pueden aplicar al proceso y proyecto de desarrollo de software, incluyendo métricas orientadas al tamaño, función, objetos, casos de uso e ingeniería web. Explica que las métricas ayudan a medir la eficacia del proceso, calidad del producto y mejora continua, mientras que los indicadores proporcionan información sobre el estado y riesgos del proyecto.
Introducción a la Ingenieria de SoftwareSorey García
Este documento describe los conceptos fundamentales de la ingeniería de software. Explica que la ingeniería de software involucra todas las actividades para construir, liberar y evolucionar un producto de software desde la idea inicial hasta su implementación final. También describe los elementos clave del proceso de desarrollo de software como los roles, artefactos, actividades, métodos y herramientas. Finalmente, resalta que no existe un único proceso de desarrollo adecuado para todos los contextos, sino que existen diferentes metodologías.
El documento describe los principales factores que afectan la calidad de software, incluyendo la corrección, robustez, eficiencia, portabilidad, integridad, facilidad de uso, verificabilidad, compatibilidad, extensibilidad, reutilización y mantenimiento. Los factores internos afectan al desarrollador, mientras que los externos afectan al cliente usuario final. Un ejemplo describe un proyecto fallido de 125 millones de dólares para implementar un sistema de reservas global que resultó imposible de integrar.
El documento presenta métricas para la gestión de proyectos de software. Explica conceptos como métricas, estimación de esfuerzo, tamaño de proyecto, y factores como equipo, métodos, herramientas y riesgos. Incluye ejemplos de métricas como clases clave, soporte, totales, e instrucciones fuente y cómo calcular el esfuerzo de un proyecto usando estas métricas.
Este documento presenta una introducción a las métricas de proceso y proyecto en ingeniería de software. Explica conceptos clave como medida, medición, métrica e indicador. Detalla diferentes tipos de métricas como métricas orientadas al tamaño, función, objetos, casos de uso y métricas para medir la calidad del software. Finalmente, discute la importancia de integrar las métricas en el proceso de desarrollo de software y provee consideraciones para su implementación en organizaciones pequeñas.
El documento describe Six Sigma, incluyendo sus objetivos, orígenes, definiciones y aplicaciones. Six Sigma nació como un concepto en Motorola a finales de los 80 para medir la calidad de procesos. Se define como una métrica para medir errores por millón y una metodología para mejorar procesos mediante la reducción de variaciones. Al aplicar Six Sigma, las organizaciones pueden mejorar resultados al disminuir errores en procesos clave.
Este documento presenta una introducción a los modelos matemáticos y diferentes tipos de modelos como modelos lineales, cuadráticos, polinomiales, trigonométricos y exponenciales. Explica que un modelo matemático describe un fenómeno del mundo real y provee ejemplos. También describe el propósito y proceso de crear un modelo matemático, incluyendo formular el problema, crear el modelo, resolverlo, probarlo e interpretar los resultados.
Este documento presenta el modelo COCOMO (COnstructive COst MOdel) para estimar el esfuerzo, costo y duración de proyectos de desarrollo de software. COCOMO consiste en tres modelos de complejidad creciente: básico, intermedio y detallado. El modelo intermedio toma en cuenta factores como el tamaño del proyecto, la experiencia del equipo, herramientas utilizadas y calidad requerida para calcular el esfuerzo. Aplica fórmulas que involucran líneas de código, coeficientes y un
Este documento presenta los modelos empíricos de estimación, incluyendo el modelo COCOMO y COCOMO II. El modelo COCOMO utiliza fórmulas derivadas empíricamente para predecir el esfuerzo en función del tamaño del proyecto y factores de ajuste. COCOMO II mejora el modelo original al incluir tres submodelos para proyectos de diferentes tipos. El documento también resume que los métodos de estimación basados en esfuerzo proveen una aproximación de los recursos necesarios y que siempre se recomienda usar al menos dos técnicas de
Este documento describe el modelo COCOMO (Constructive Cost Model) básico para estimar el esfuerzo y costo del desarrollo de software basado en el tamaño del programa medido en líneas de código. Explica que los proyectos pueden ser orgánicos, semiacoplados o empotrados dependiendo de su complejidad y presenta las ecuaciones y coeficientes utilizados para realizar cálculos de esfuerzo, duración y número de personas requeridas. Además, muestra un ejemplo de cálculo para un proyecto orgánico
El documento habla sobre la estimación de proyectos de software. Explica que es importante hacer una estimación precisa del costo, tiempo y recursos necesarios antes de comenzar un proyecto. Describe diferentes técnicas para estimar el tamaño y complejidad del software como líneas de código, puntos de función o componentes estándar. También presenta el modelo COCOMO que utiliza factores como la fiabilidad, complejidad y experiencia del equipo para calcular el esfuerzo requerido.
Este documento describe varios modelos empíricos para estimar el esfuerzo requerido para desarrollar software. Explica que estos modelos utilizan fórmulas derivadas de datos de proyectos anteriores para predecir el esfuerzo en función de variables como líneas de código y puntos de función. También describe el modelo COCOMO de Boehm, el cual estima el esfuerzo en función del tamaño del proyecto y factores como la complejidad. Finalmente, advierte que estos modelos solo son aproximados y sus resultados deben usarse
Antes de comenzar un proyecto de software, el gerente de proyecto y el equipo deben estimar el trabajo requerido, los recursos necesarios y el tiempo de duración del proyecto. Se describen varias técnicas para estimar estos factores, incluidos los modelos COCOMO que utilizan líneas de código como variable de entrada para calcular meses-persona, tiempo de desarrollo y número de personas requeridas. También se mencionan otros atributos como la confiabilidad, el tamaño de la base de datos y la complejidad del product
Este documento describe varios modelos empíricos para estimar el esfuerzo de desarrollo de software. Explica el modelo COCOMO de Boehm, que estima el esfuerzo en función del tamaño del proyecto y factores de complejidad. También describe la ecuación del software de Fenton, que considera el tamaño, duración y productividad del proyecto. Por último, introduce el modelo CMM para evaluar la madurez del proceso de desarrollo de una organización en 5 niveles.
Este documento discute diferentes métodos para estimar el esfuerzo y costo en proyectos de desarrollo de software. Presenta cuatro enfoques comunes como juicio de expertos, estimación por analogía, descomposición del proyecto y modelos de estimación. También describe dos métodos basados en la funcionalidad del sistema: el método de puntos por función desarrollado por Albrecht y Gaffney y el método Mk-II FP mejorado por Symons. Ambos métodos calculan el tamaño del proyecto en términos de "puntos por
Este documento describe varios métodos para estimar el esfuerzo, costo y tiempo de proyectos de desarrollo de software, incluyendo los modelos COCOMO I y COCOMO II, la técnica Delphi y estimación por puntos de función. También explica conceptos como entradas, salidas, consultas de datos y archivos lógicos internos, los cuales son elementos clave considerados en el conteo de puntos de función.
El documento proporciona información sobre COCOMO, un modelo matemático utilizado para estimar los costos de desarrollo de software. Explica la historia y los diferentes modelos de COCOMO I y COCOMO II, incluidas las ecuaciones y factores utilizados. También describe los modos de desarrollo de software y ventajas y desventajas del modelo.
COCOMO es un modelo matemático de estimación de costos de software que incluye tres submodelos de diferente nivel de detalle. Los submodelos son básico, intermedio y detallado. El modelo básico utiliza ecuaciones que estiman el esfuerzo, tiempo de desarrollo y número de personas requeridas para un proyecto en función de líneas de código y atributos del proyecto. El modelo básico define constantes específicas para tres modos de desarrollo de software: orgánico, semilibre y rígido.
El documento describe el Modelo COCOMO (Constructive Cost Model), un modelo empírico de estimación de costos de desarrollo de software creado por Barry Boehm en 1981. Se compone de tres submodelos de creciente detalle: básico, intermedio y avanzado. También describe el Modelo COCOMO II, que mejora el original considerando factores adicionales y está compuesto por tres modelos: Composición de Aplicación, Diseño Temprano y Post-Arquitectura. En todos los modelos se utilizan fórmulas matemáticas que relacion
Los modelos de estimación describen tres modelos (básico, intermedio y detallado) para estimar el esfuerzo y tiempo requerido para proyectos de desarrollo de software. El modelo básico considera tres modos de desarrollo (orgánico, semiencajado y empotrado) y usa ecuaciones con constantes diferentes para cada modo. El modelo intermedio introduce 15 atributos relacionados con el producto, hardware, personal y proyecto para ajustar mejor las estimaciones. El modelo detallado mejora al intermedio al hacer las estimaciones sensibles a la f
Este documento describe varios modelos empíricos de estimación para proyectos de software. Explica que estos modelos utilizan fórmulas derivadas de proyectos anteriores para predecir el esfuerzo requerido en función de líneas de código o puntos de función. Luego presenta algunos modelos específicos como el Modelo de Walston-Felix y describe brevemente los modelos básico e intermedio, incluyendo sus ecuaciones para calcular el esfuerzo en diferentes modos de desarrollo.
El documento describe el método COCOMO para estimar los costos de desarrollo de software. COCOMO define tres modos de desarrollo (orgánico, semi-acoplado y empotrado) y tres modelos (básico, intermedio y avanzado). El modelo intermedio se usará aquí, que estima el esfuerzo basado en el tamaño del proyecto y factores subjetivos. Se calcula que el proyecto requerirá un equipo de 6 personas trabajando durante 3 meses, incluyendo un jefe de proyecto, 2 analistas, 2 program
El documento habla sobre la estimación de proyectos de software. Explica que la estimación es la primera actividad de planificación de un proyecto y que involucra determinar el tamaño, recursos y esfuerzo requeridos. También describe varias técnicas de estimación como descomposición basada en problemas, casos de uso y modelos como COCOMO. Concluye que usar múltiples técnicas y datos históricos puede mejorar la precisión de una estimación.
El Modelo Constructivo de Costes (COCOMO) es un modelo de estimación de costes y tiempo de desarrollo de software desarrollado por Barry Boehm que incluye submodelos básico, intermedio y detallado para estimar el esfuerzo requerido para proyectos de diferentes tamaños y complejidades.
El Modelo Constructivo de Costes (COCOMO) es un modelo de estimación de costes y tiempo de desarrollo de software desarrollado por Barry Boehm que incluye submodelos básico, intermedio y detallado para estimar el esfuerzo requerido para proyectos de diferentes tamaños y complejidades.
Este documento describe el modelo COCOMO (Constructive Cost Model) para estimar los costos de desarrollo de software. Explica la historia y evolución del modelo COCOMO original de 1981 al COCOMO II de 1995, el cual considera factores como reusabilidad, objetos y librerías. También resume los diferentes modos y fórmulas del COCOMO para calcular el esfuerzo requerido en función del tamaño y complejidad de un proyecto de software.
La Unidad Eudista de Espiritualidad se complace en poner a su disposición el siguiente Triduo Eudista, que tiene como propósito ofrecer tres breves meditaciones sobre Jesucristo Sumo y Eterno Sacerdote, el Sagrado Corazón de Jesús y el Inmaculado Corazón de María. En cada día encuentran una oración inicial, una meditación y una oración final.
Durante el período citado se sucedieron tres presidencias radicales a cargo de Hipólito Yrigoyen (1916-1922),
Marcelo T. de Alvear (1922-1928) y la segunda presidencia de Yrigoyen, a partir de 1928 la cual fue
interrumpida por el golpe de estado de 1930. Entre 1916 y 1922, el primer gobierno radical enfrentó el
desafío que significaba gobernar respetando las reglas del juego democrático e impulsando, al mismo
tiempo, las medidas que aseguraran la concreción de los intereses de los diferentes grupos sociales que
habían apoyado al radicalismo.
1. REPÚBLICA BOLIVARIANA DE VENEZUELA
MINISTERIO P.P. EDUCACIÓN UNIVERSITARIA
COLEGIO UNIVERSITARIO DE CARACAS
P. N. F. EN INFORMÁTICA
IV TRAYECTO – TRIMESTRE I
MODELOS EMPIRICOS DE ESTIMACI
IRICOS ESTIMACIÓN: LA ECUACIÓN DEL SOFTWARE
N
Integrantes:
José Zamora
Dany Mieres
Luis Pérez
Teodolinda Albarrán
Caracas, 8 de Febrero de 2012
2. Introducció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 vanas 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.
3. Método empírico-analítico
El método empírico es un modelo de investigación científica, que se
basa en la lógica empírica y que junto al método fenomenológico es el más
usado en el campo de las ciencias sociales y en las ciencias duras.
El término empírico deriva del griego antiguo (Aristóteles utilizaba la
reflexión analítica y el método empírico como métodos para construir el
conocimiento) de experiencia, έµπειρία, que a su vez deriva de έυ (en) y πεἳρα
(prueba): en pruebas, es decir, llevando a cabo el experimento. Por lo tanto los
datos empíricos son sacados de las pruebas acertadas y los errores, es decir,
de experiencia.
Su aporte al proceso de investigación es resultado fundamentalmente de
la experiencia. Estos métodos posibilitan revelar las relaciones esenciales y las
características fundamentales del objeto de estudio, accesibles a la detección
senso-perceptual, a través de procedimientos prácticos con el objeto y diversos
medios de estudio. Su utilidad destaca en la entrada en campos inexplorados o
en aquellos en los que destaca el estudio descriptivo.
Un modelo empírico de estimación:
• Utilizan fórmulas derivadas empíricamente de una muestra limitada de
proyectos para predecir el esfuerzo en función de LOC o PF.
• La estimación de los valores de LOC y PF se realizan utilizando las
técnicas de descomposición vistas con anterioridad.
• Los valores resultantes se aplican a la fórmula del modelo que se haya
escogido para obtener el esfuerzo en hombres-mes.
• Precisamente por venir de una muestra limitada, no son adecuados para
toda clase de software ni para todo medio ambiente de desarrollo.
4. Algunos modelos
E = 5.2 * KLOC0.91 Modelo de Walston-Felix
E = 5.5 + 0.73 * KLOC1.16 Modelo de Bailey-Basisli
E = 3.2 * KLOC1.05 Modelo simple de Boehm
E = 5.288 * KLOC1.047 Modelo Doty para KLOC > 9
E = -13.39 + 0.054 * PF Modelo de Albretch-Gaffney
E = 60.62 * 7.728 * 10-8 *
Modelo de Kemerer
PF3
Modelo de Matson-Barnett-
E = 585.7 + 15.12 * PF
Mellichamp
Metodología original de Albrecht
En los planes originales de Albrecht, esta medida servía como dato de
un estimador empírico. Hoy ya no se lo considera más así y la noción de
Puntos Funcionales se ha separado de toda metodología de estimación de
esfuerzo.
Albrecht buscaba un estimador empírico confiable.
Su metodología seguía el siguiente esquema:
Datos del proyecto
5 FUNCIONES BÁSICAS
PUNTOS FUNCIONALES SIN AJUSTAR
o 14 MODIFICADORES
PUNTOS FUNCIONALES AJUSTADOS
o ECUACIÓN EMPÍRICA
MESES-PERSONA NOMINALES
5. La ecuación empírica de Albrecht solamente valía para sistemas
realizados en COBOL. No cabe duda que sus ecuaciones continúan siendo
válidas hoy (excepto por algunas objeciones que analizaremos más adelante),
pero el éxito de la métrica sobrepasó por mucho a su ecuación empírica. Hoy,
la metodología de los Puntos Funcionales tiene gran vigencia y se procura que
no se mezcle con ecuaciones empíricas de estimación de esfuerzo.
El Modelo COCOMO
Creado por Barry Boehm en 1981. Su nombre significa COnstructive
COst MOdel (Modelo constructivo de costo) y se puede dividir en tres modelos.
• COCOMO básico. Calcula el esfuerzo y el costo del desarrollo en
función del tamaño del programa estimado en LOC.
• COCOMO intermedio. Calcula el esfuerzo del desarrollo en función del
tamaño del programa y un conjunto de conductores de costo que
incluyen la evaluación subjetiva del producto, del hardware, del personal
y de los atributos del proyecto.
• COCOMO detallado. Incorpora las características de la versión
intermedia y lleva a cabo una evaluación del impacto de los conductores
de costo en cada fase (análisis, desarrollo, etc.) del proceso.
Los modelos COCOMO están definidos para tres tipos de proyectos de
software:
• Orgánicos.
o Proyectos pequeños y sencillos.
o Equipos pequeños con experiencia en la aplicación.
o Requisitos poco rígidos.
• Semiacoplados.
o Proyectos de tamaño y complejidad intermedia.
o Equipos con variado niveles de experiencia.
o Requisitos poco o medio rígidos.
• Empotrados.
6. o Proyectos que deben ser desarrollados con un conjunto de
requisitos (hardware y software) muy restringidos.
COCOMO básico
Las ecuaciones del modelo COCOMO básico son de la forma:
E = a * KLOCb
D = c * Ed
Donde E es el esfuerzo aplicado en hombre-mes, D es el tiempo de
desarrollo en meses y KLOC es el número de miles de líneas de código
estimado para el proyecto. Los coeficientes a y c y los exponentes b y d se
obtienen de la siguiente tabla:
Tipo de proyecto a b c d
Orgánico 2.4 1.05 2.5 0.38
Semiacoplado 3.0 1.12 2.5 0.35
Empotrado 3.6 1.20 2.5 0.32
Aplicando el modelo COCOMO básico al ejemplo anterior y usando un
tipo de proyecto orgánico obtenemos una estimación para el esfuerzo:
E = 2.4 * KLOC1.05
= 2.4 * 7.41.05
= 20 hombre-mes
Para calcular la duración del proyecto usamos la estimación de esfuerzo:
D = 2.5 * E0.38
= 2.5 * 200.38
= 8 meses
7. El valor de la duración del proyecto permite al planificador recomendar
un número de personas N para el proyecto.
N=E/D
= 20 / 8
= 3 personas
Por supuesto que el planificador puede decidir emplear sólo una o dos
personas y ampliar por tanto la duración del proyecto.
COCOMO intermedio
En el COCOMO intermedio, la ecuación para calcular el tiempo de
desarrollo es la misma que la del COCOMO básico. La ecuación para calcular
el esfuerzo es:
E = a * KLOCb * EAF
Donde E es el esfuerzo en hombre-mes, KLOC es el número estimado
de miles de líneas de código. El coeficiente a y el exponente b están dados por
la tabla:
Tipo de proyecto a b
Orgánico 3.2 1.05
Semiacoplado 3.0 1.12
Empotrado 2.8 1.20
EAF es un factor de ajuste del esfuerzo que se calcula valorando en una
escala de muy bajo, bajo, nominal, alto y muy alto cada uno de los siguientes
15 atributos, agrupados en 4 categorías
• Atributos del producto. Son restricciones y requerimientos del proyecto
que va a ser desarrollado.
o Confiabilidad requerida.
8. o Tamaño de la base de datos.
o Complejidad del producto.
• Atributos de computadora. Son limitaciones puestas por el hardware y el
sistema operativo donde el proyecto va a correr.
o Restricciones de tiempo de ejecución.
o Restricciones de memoria principal.
o Volatilidad de la máquina virtual.
o Tiempo de respuesta de la computadora.
• Atributos de personal. Nivel de habilidades que tiene el personal. Son
habilidades profesionales generales, habilidad de programación,
experiencia con el medio ambiente de desarrollo y familiaridad con el
dominio del proyecto.
o Capacidad del analista.
o Experiencia en aplicaciones.
o Capacidad del programador.
o Experiencia con la máquina virtual.
o Experiencia con el lenguaje de programación.
• Atributos del proyecto. Restricciones y condiciones bajo las cuales el
proyecto se desarrolla.
o Prácticas modernas de programación
o Uso de herramientas de software.
o Calendario de desarrollo requerido.
A cada atributo se le asigna un número real de acuerdo a la tabla
siguiente:
Escala Número
muy bajo 0.75
bajo 0.88
nominal 1
alto 1.15
muy alto 1.40
9. El número indica el grado con el que cada factor puede influenciar la
productividad. Un valor menor que 1 indica que el factor puede decrementar el
calendario y el esfuerzo. Un valor mayor que 1 denota un factor que extiende el
calendario y el esfuerzo. Finalmente, un valor igual a 1 no extiende ni
decrementa el calendario y el esfuerzo (esta clase de factor se llama nominal).
Para obtener el EAF se multiplican cada uno de los 15 factores.
Se puede simplificar el cálculo del EAF porque hay una tendencia a
considerar los atributos marcados en negritas, como los más relevantes y que
deberían ser tomados más en cuenta.
Modelo COCOMO Avanzado
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 costo en cada fase (análisis, diseño,
etc.) del transcurso de ingeniería del software.
Las ecuaciones del COCOMO básico tienen la siguiente forma: [Norman
E. Fenton‘91] E = ab KLDCbb D = Cb Edb ) 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 a b y Cb y los exponentes db y bb , con valores
constantes.
La ecuación del modelo COCOMO intermedio toma la forma: E =
aiKLDCbi * FAE (5.11) 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 a i y el exponente b i.
10. Modelo de Putnam
Modelo de Putnam es un modelo empírico de la valoración del esfuerzo
del software. Como grupo, los modelos empíricos trabajan recogiendo datos del
proyecto del software (por ejemplo, esfuerzo y tamaño) y caber una curva a los
datos. Las estimaciones futuras del esfuerzo son hechas proporcionando
tamaño y calculando el esfuerzo asociado usando la ecuación que caben los
datos originales (generalmente con alguno error).
Creado por Lorenzo Putnam, Sr. Modelo de Putnam describe tiempo y
esfuerzo requerido para acabar un proyecto del software de especificado
tamaño. DELGADO (gerencia del ciclo de vida del software) es el nombre dado
por Putnam a la habitación propietaria de herramientas su compañía QSM, Inc.
se ha convertido basado en su modelo. Es uno del más temprana de estos
tipos de modelos desarrollados, y está entre el más ampliamente utilizado. Los
modelos de cerca relacionados son modelo constructivo del coste (COCOMO),
revisión paramétrica de la información para costar y evaluación - software
(PRECIOS), y evaluación del software y valoración de recursos - software que
estima el modelo (SEER-SEM).
Mientras que el manejo del R&D proyecta para el ejército y más adelante
en GE, Putnam notó que el software que proveía de personal perfiles siguió el
bien conocido Distribución de Rayleigh.
Putnam utilizó sus observaciones sobre niveles de la productividad para
derivar la ecuación del software, donde:
El tamaño es el tamaño del producto (cualquier estimación del tamaño es
utilizada por su organización es apropiada). Putnam utiliza ESLOC (eficaz
Líneas fuente del código) a través de sus libros.
• El β del término es un término del escalamiento y es una función del
tamaño del proyecto.
11. • La productividad es Productividad de proceso, la capacidad de una
organización particular del software al software del producto de un
tamaño dado en una tarifa particular del defecto.
• El esfuerzo es el esfuerzo total aplicado al proyecto en person-years.
• Tiempo es el horario total del proyecto en años.
En uso práctico, cuando la fabricación una estimación para una tarea del
software de la ecuación del software se soluciona para esfuerzo:
Un tamaño estimado del software en la terminación del proyecto y la
productividad de proceso de organización se utiliza. El trazar esfuerzo en
función de tiempo rinde Curva del Tiempo-Esfuerzo. Los puntos a lo largo de la
curva representan el esfuerzo total estimado de terminar el proyecto en alguno
tiempo. Una de las características que distinguen del modelo de Putnam es que
el esfuerzo total disminuye mientras que la época de terminar el proyecto es
extendida. Esto se representa normalmente en otros modelos paramétricos con
un parámetro de la relajación del horario.
Este método que estima es bastante sensible a la incertidumbre en
ambos tamaño y productividad de proceso. Abogados de Putnam que obtienen
productividad de proceso por la calibración:
Putnam hace una distinción aguda entre la “productividad convencional”:
tamaño / esfuerzo y productividad de proceso (cinco métricas de la base,
página 97).
Una de las ventajas dominantes a este modelo es la simplicidad con la
cual está calibrado. La mayoría de las organizaciones del software, sin importar
el nivel de la madurez puede recoger fácilmente tamaño, esfuerzo y duración
(tiempo) para los últimos proyectos. Productividad de proceso, siendo
exponencial en naturaleza se convierte típicamente a un linear índice de la
productividad una organización puede utilizar seguir sus propios cambios en
productividad y aplicarse en las estimaciones futuras del esfuerzo.
12. Método del punto de función
Es una medida sintética del tamaño del programa que se suele utilizar
en la definición del proyecto "1984 IBM Method" es la base del método actual
de IBM y de International Function Point Users Group (IFPUG).El número de
puntos de función se basa en el número y complejidad de cada uno de los
elementos siguientes:
o Entradas: Pantallas formularios, cuadros de diálogo, controles,
mensajes, a través de los cuales se pueden cambiar los datos del
programa
o Salidas: Pantalla, informes, gráficos, o mensajes que genera el
programa
o Consultas: Combinaciones de entrada/salida generalmente
contra BB.DD.
o Archivos lógicos internos: un archivo plano o una tabla de
BB.DD.
o Archivos de interfaz externos: archivos controlados por otros
programas con los que se interactúa
En la siguiente imagen se puede ver la valoración de la complejidad de
un proyecto.
13. La ecuación del software
La ecuación del software es un modelo multivariable 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 los datos de
productividad para unos 4,000 proyectos actuales de software. Un modelo de
estimación tiene esta forma:
E = (LOC * B0.333 / P)3 * (1 / t4)
donde E = esfuerzo en hombres-año.
t = duración del proyecto en años.
B = factor especial de estrezas. Para programas pequeños B vale 0.16,
para programas intermedios vale 0.28, para programas mayores vale
0.39.
P = parámetro de productividad, para un software de tiempo real, P vale
2,000, para comunicaciones vale 10,000, para software científico vale
12,000 y para aplicaciones comerciales de sistemas vale 28,000.
Para simplificar el proceso de estimación se sugiere un conjunto de
ecuaciones obtenidas de la ecuación del software.
Un tiempo mínimo de desarrollo de software se define como:
tmin = 8.14 * (LOC / P)0.43 para tmin > 6 meses.
E = 180 * B * t3 en hombres-mes para E >= 20 hombres-mes y t
representado en años
Aplicando las ecuaciones al ejemplo anterior, obtenemos:
tmin = 8.14 * (7,400 / 12,000)0.43
= 7 meses
E = 180 * 0.28 * 0.753
= 21 hombres-mes
14. El Parámetro de productividad
Se obtiene calibrando sistemas terminados. Por ejemplo, dado un
sistema de 30.000 líneas de Cobol, finalizado en 17 meses con un gasto de
recursos de 146 personas-mes, tenemos
Parámetro de productividad = (SLOC)/(Esfuerzo/B)(1/3) · Tiempo(4/3) =
= 30.000 /(12.17/0.28)(1/3) (1.42)(4/3).
El índice de productividad.
El índice de productividad (PI) es una escala de enteros asociada a los
valores del PP obtenidos para la base de datos QSM (Tabla 2.3). Este PI se
comporta exponencialmente (ver figura 2.2) siendo el valor factor multiplicador
de un índice al siguiente de 1.3.
Rango del índice.
El PI y el PP constituyen una macromedida del entorno general de
desarrollo. Valores bajos se asocian a entornos elementales y herramientas
inadecuadas, o a un alto grado de la complejidad del producto (como
microcódigo o firmware). Valores altos se asocian a buenos entornos, personal
experimentado o a productos de baja complejidad que se comprenden bien. El
PI medio se extiende desde 2 a 16 (para los 11 tipos de aplicación).
Valoración económica.
Dado que el PI representa el PP exponencial, una pequeña mejora en
este índice tiene gran importancia económica, como se muestra en la tabla 2.4
para el anterior sistema en Cobol. Otro ejemplo se muestra en la tabla 2.5.
15. Productividad convencional.
El PP tiene un significado más complejo que la medida de productividad
en SLOC (personas-mes) puesto que es la medida de la efectividad en el
desarrollo de software en una organización o proyecto.
Utilización de la Ecuación para Estimación.
La utilización básica es la de estimar tiempo y esfuerzo al comienzo de
un nuevo proyecto software. Se deben conocer el PI (y el PP) a través de
proyectos anteriores. Quedan dos incógnitas en la ecuación. Se puede resolver
como
• solución determinista
• simulación
• programación lineal
Solución determinista
Consisten en poner la ecuación como sigue
(esfuerzo/B)1/3 · tiempo4/3 = SLOC/PP
Y añadir una segunda ecuación basada en la "tasa de acumulación de esfuerzo
humano", y se expresa como el parámetro de acumulación del esfuerzo":
Esfuerzo total acumulado/tiempo3 = parámetro MBP.
Para un proyecto ya acabado es fácil obtener este parámetro calibrado.
El MBP (con su MBI asociado) permite establecer un "tiempo mínimo de
desarrollo"
16. Conclusión
La planificación de un proyecto se basa en una buena estimación del
esfuerzo requerido para realizarlo, y para apoyar esta difícil tarea, se han
desarrollado varios métodos que han encontrado aceptación comercial en
forma creciente en la planificación del desarrollo de software.
La mayoría de estos métodos incluyen modelos empíricos de estimación
y poseen como variable manejadora del costo principal el tamaño de la
aplicación a desarrollar, lo que es suficientemente difícil de estimar como para
que se justifique pensar en automatizar o apoyar fuertemente esta tarea con la
generación de un método fácil de usar.
Por otro lado, aquellos modelos que fueron desarrollados con base
empírica, pueden carecer de validez en ambientes de desarrollo distintos a
aquel del que se obtuvieron los datos.
Para el caso de los modelos basados en líneas de código, se puede
observar que en la actualidad, las herramientas de desarrollo proveen la
capacidad de disminuir substancialmente el esfuerzo de codificación, pues la
tendencia actual ya no es codificar, sino generar código. Por el lado de las
técnicas basadas en el enfoque de puntos de función, el problema radica en
que la estimación sólo puede realizarse con un diseño externo acabado de la
aplicación, y si consideramos la utilización de herramientas de generación de
código a la altura en que por fin se puede realizar la estimación ya se ha
consumido la mayor cantidad del esfuerzo del desarrollo (es decir, si antes el
esfuerzo se centraba en la fase de construcción vía codificación en algún
lenguaje de programación, hoy el esfuerzo se centra en las fases de diseño, ya
que la codificación se ve fuertemente asistida por herramientas automatizadas),
por lo que la estimación ya no es tan útil.
Todos los puntos mencionados anteriormente, dificultan que la utilización
de modelos de gestión sea una práctica generalizada en los administradores de
proyectos de desarrollo de software.