La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

ESTIMACION DE COSTE DEL SOFTWARE

Presentaciones similares


Presentación del tema: "ESTIMACION DE COSTE DEL SOFTWARE"— Transcripción de la presentación:

1 ESTIMACION DE COSTE DEL SOFTWARE

2 INTRODUCCIÓN 1.1. ¿Qué es un proyecto de Sistema o Software?
ÁMBITO DEL SOFTWARE RENDIMIENTO RESTRICCIONES INTERFACES FIABILIDAD FUNCIÓN 1.1. ¿Qué es un proyecto de Sistema o Software? Es el Proceso de gestión para la creación de un Sistema o software, la cual encierra un conjunto de actividades, una de las cuales es la estimación. 1.2. Objetivos de la Planificación del Proyecto. El objetivo de la Planificación del proyecto de Software es proporcionar un marco de trabajo que permita al gestor hacer estimaciones razonables de recursos costos y planificación temporal. PLANIFICACIÓN ESTIMACIÓN RIESGO EXPERIENCIA DATOS HISTÓRICOS

3 2.- FACTORES EN EL COSTO DEL SOFTWARE
2.1 Capacidad del programador 2.2 Complejidad del producto (Software) - Programas de Aplicación (procesamiento de datos y programas de datos). - Programas de Apoyo (compiladores, ligadores y sistemas de inventarios). - Programas de Sistema (sistema de base de Datos, sistemas operativos y sistemas para tiempo real).

4 Consecuencia de la falla
2.3 Tamaño del Producto.- Un proyecto grande de programación es obviamente mas cara en su desarrollo que un o pequeño. 2.4 Tiempo Disponible.- El esfuerzo total del proyecto se relaciona con el calendario de trabajo asignado para la terminación del proyecto 2.5 Nivel de Confiabilidad Requerido.- La confiabilidad puede expresarse en términos de exactitud, firmeza, cobertura y consistencia de código fuente. Categoría Consecuencia de la falla Factor Muy Baja Baja Nominal Alta Muy Alta Algunas molestias menor Las perdidas son fáciles de recuperar Dificultad relativa en la recuperación Gran perdida financiera Riesgo de una vida 0.75 0.88 1.00 1.15 1.40

5 Normalización de las métricas
2.6 Nivel Tecnológico El nivel de tecnología empleado en un proyecto de programación se refleja en el lenguaje utilizado 3.- TÉCNICAS DE DESCOMPOSICIÓN Normalización de las métricas Los datos normalizados son utilizados para evaluar el proceso y el producto (pero nunca a los individuos) normalización orientada al tamaño —Por líneas de código normalización orientada a la función —Por puntos función

6 Problemas de la utilización de LDC
3.1.- Estimación LDC (LOC es la sigla de la expresión inglesa Lines of Code. ) La medida más utilizada para determinar el tamaño de un proyecto informático ha sido, durante mucho tiempo, la de las líneas de código del software final obtenido. Problemas de la utilización de LDC * no existe definición estándar de LDC (p.ej., ¿se consideran LDC los comentarios?) * líneas físicas o lógicas * contabilización del código reutilizable * aplicaciones en diferentes lenguajes * estilos individuales de programación

7 Ejemplo de LOC VE = (Sopt + 4Sm + Spes)/6 Funciones identificadas:
Hay que desarrollar un software CAD que aceptará datos geométricos de 2 o 3 dimensiones por parte del ingeniero. Éste controlará el sistema CAD por medio de una interfaz que debe tener un diseño de buena calidad. Una base de datos CAD contiene todos los datos geométricos y la información de soporte. Se desarrollarán módulos de análisis de diseño para producir la salida requerida que se va a visualizar en varios dispositivos gráficos. El software se diseñará para controlar e interconectar diversos periféricos, como un ratón, un digitalizador y una impresora láser. Funciones identificadas: interfaz de usuario y facilidades de control (IUFC) análisis geométrico de dos dimensiones (AG2D) análisis geométrico de tres dimensiones (AG3D) gestión de base de datos (GBD) facilidades de la interfaz gráfica (FIG) control periféricos (CP) módulos de análisis del diseño (MAD) Estimación en LDC de AG3D: optimista: más probable: 6900 pesimista: descomposición de funciones VE = (Sopt + 4Sm + Spes)/6 Datos históricos: productividad media de la organización en proyectos similares: 620 LDC/pm Tarifa laboral: 8000 $ /mes Coste LDC: 13 $ Función LDC estimada IUFC 2300 AG2D 5300 AG3D 6800 GBD 3350 FIG 4950 CP 2100 MAD 8400 Total 33200 métricas de proyectos anteriores Coste total proyecto: $ Esfuerzo estimado: 54 personas-mes

8 3.2 Estimación por PF (Expresión de Punto Función)
Puntos de función: relación empírica basada en medidas cuantitativas del dominio de información del software y valoraciones subjetivas acerca de la complejidad del software 3.2 Estimación por PF (Expresión de Punto Función) Determinación de los puntos de función El recuento de los puntos de función se elabora a partir de determinadas características funcionales, que pueden ser de datos o de transacción: ¿Por qué la preferencia a FP? independencia del lenguaje de programación utiliza inmediatamente características contables del “dominio de información” del problema no “penalizar” implementaciones que requieren menos LOCs que otras (vs. mantenimiento) facilitan el reuso y favorecen a las iniciativas orientadas a objetos

9 Calcular Puntos Función
Analizar el dominio de la información de la aplicaciòn y desarrollar el conteo Establecer el conteo para cada dominio de entrada e interfaces de sistema Pesar cada conteo por evaluación de la complejidad Asignar el nivel de complejidad o peso para cada conteo evaluar la influencia de factores globales que afecten la aplicación Grado de importancia de factores externos Fi tales como reuso, concurrencia, SO,... Puntos función =  (conteo x peso) x C Calcular puntos función donde: Factor de complejidad: C = ( x N) Grado de influencia: N =  Fi

10 Analizar el Dominio de la Información
factor de ponderación parámetro de medida conteo simple prom. complejo # de entradas de usuario X 3 4 6 = # de salidas de usuario X 4 5 7 = # de consultas X 3 4 6 = # de archivos X 7 10 15 = # of interfaces ext. X 5 7 10 = conteo-total factor de complejidad puntos función

11 Considerar la Complejidad
Los factores se tasan en una escala 0 (sin importancia) – 5 (muy importante) comunicaciones de datos funciones distribuidas configuración pesada tasa de transacción entrada de datos en lìnea eficiencia para el usuario actualización en línea procesamiento complejo facilidad de instalación facilidad operacional sites múltiples facilidad de cambios

12 Ejemplo FP PF estimado = 372
Copia de seguridad y recuperación 4 Comunicaciones 2 Proceso distribuido 0 Rendimiento crítico 4 Entorno operativo existente 3 Entrada de datos online 4 Transacciones entrada en varias pant. 5 Archivos maestros actualizados online 3 Complejidad valores dominio información 5 Complejidad procesamiento interno 5 Código diseñado para reutilización 4 Conversión en diseño 3 Instalaciones múltiples 5 Aplicación diseñada para cambios 5 PF estimado = cuenta total x (0,65 + 0,01 x Suma (Fi) PF estimado = 372 Coste total proyecto: $ Esfuerzo estimado: 58 personas-mes Datos históricos: productividad media de la organización en proyectos similares: 6,5 PF/pm Tarifa laboral: 8000 $ /mes Coste por PF: $ métricas de proyectos anteriores

13 3.3 Relación entre puntos de función y líneas de código
Aunque los puntos de función y las líneas de código sean diferentes, es posible encontrar una especie de equivalencia entre los unos y las otras relación entre LDC y PF: depende del lenguaje escogido Lenguaje LDC/PF (media) Ensamblador 320 C 128 Cobol 105 Fortran 105 Pascal 90 Ada 70 Lenguajes OO L4G 20 Lenguajes visuales 4.-TECNICAS DE ESTIMACION La estimación se utiliza para definir si el presupuesto del proyecto y el producto se ajusta para que las cifras del presupuesto se cumplan.

14 4.1 Estimación basada en el enfoque descendente o ascendente
Estos enfoques para la estimación del costo se pueden abordar utilizando enfoque descendente o ascendente Un enfoque descendente inicia en el nivel de sistema. La estimación comienza examinando la funcionalidad total del producto y cómo es que esa funcionalidad se propaga al interactuar con las subfunciones El enfoque ascendente, en contraste, inicia en el nivel de componente. El sistema se divide en componentes y se calcula el esfuerzo requerido para desarrollar cada uno de éstos 4.2 Estimación basada en el Proceso. Es la técnica más común para estimar un proyecto es basar la estimación en el proceso que se va a utilizar, es decir, el proceso se descompone en un conjunto relativamente pequeño de actividades o tareas, y en el esfuerzo requerido para llevar a cabo la estimación de cada tarea.

15 4.3 Tipos de Técnicas de Estimación de costos.-
Descripción Modelado del algoritmo de costos Se desarrolla un modelo utilizando información histórica de costos que relaciona alguna métrica de software (por lo general, su tamaño) con el costo del proyecto. Opinión de expertos Se consultan varios expertos en las técnicas de desarrollo de software propuestas y en el dominio de aplicación. Cada uno de ellos estima el costo del proyecto. Estas estimaciones se comparan y discuten. El proceso de estimación se itera hasta que se acuerda una estimación. Estimación por analogía Esta técnica es aplicable cuando otros proyectos en el mismo dominio de aplicación se han completado. Se estima el costo de un nuevo proyecto por analogía con estos proyectos completados. Ley de Parkinson La Ley de Parkinson establece que el trabajo se extiende para llenar el tiempo disponible. El costo se determina por los recursos disponibles más que por los objetivos logrados. Asignar costos para ganar El costo del software se estima dependiendo de lo que el cliente esté dispuesto a pagar por el proyecto. El esfuerzo estimado depende del presupuesto del cliente y no de la funcionalidad del software

16 5 TÉCNICAS DE ESTIMACIÓN DE COSTOS DEL SOFTWARE
5.1.- Estimación de Costos por la Técnica del Juicio Experto.- Se basa en la experiencia, como en el conocimiento anterior en el sentido comercial de uno o mas individuos dentro de la organización, su mayor ventaja es la experiencia la cual puede llegar a ser su debilidad 5.2. – Estimación del costo por la técnica DELFI La técnica DELFI fue desarrollada con el fin de tener el consenso de expertos, sin contar con los efectos negativos de las reuniones de grupos 5.3- MODELOS DE ESTIMACIÓN EMPÍRICA Donde los datos que soportan la mayoría de los modelos de estimación obtienen una muestra limitada de proyectos

17 COCOMO (MEDELO CONSTRUCTIVO DE COSTE)
Tres tipos de proyectos: Orgánicos: relativamente pequeños y sencillos, en los que trabajan pequeños equipos con experiencia, sobre un conjunto de requisitos poco rígidos. Semiacoplados: proyectos intermedios (en tamaño y complejidad) en los que participan equipos con variados niveles de experiencia, y que deben satisfacer requisitos poco o medio rígidos. Empotrados: proyectos que deben ser desarrollados en un conjunto de hardware, software y restricciones operativas muy restringido. MODELO 1 (COCOMO básico) calcula el esfuerzo y el coste del desarrollo en función del tamaño estimado del programa (LDC). Se utiliza para una aproximación rápida al principio del ciclo de vida. ESFUERZO: E = ab KLDCbb TIEMPO: D = cb Edb MODELO 2 (COCOMO intermedio) calcula el esfuerzo y el coste en función del tamaño estimado del programa y de un conjunto de “guías de coste” que incluyen una evaluación subjetiva del producto, hardware, personal y atributos del producto ESFUERZO: E = ai KLDCbi x FAE (factor de ajuste del esfuerzo) MODELO COCOMO BÁSICO Proyecto ab bb cb db Orgánico ,4 1,05 2,5 0,38 Semiacoplado 3,0 1,12 2,5 0,35 Empotrado ,6 1,20 2,5 0,32 MODELO 3 (COCOMO avanzado) incorpora las características del mod. 2 y evalúa el impacto de los FAE en cada fase del desarrollo.

18 Ejemplo COCOMO Por ejemplo, si sabemos que en el proyecto se trabajará con un nivel alto de utilización de herramientas de desarrollo, el factor de coste tendrá un valor de 0,91. •Por lo tanto, si el esfuerzo nominal calculado es de 40 personas-mes, la estimación de coste final (suponiendo el resto de factores a nivel medio) será E = 40x0,91 = 36,4 personas-mes • Se trata de estimar el esfuerzo de desarrollo de un sistema de comunicaciones de 30 KDLC, de alta complejidad. Afortunadamente podremos emplear personal de muy alta cualificación con una gran experiencia específica en este tipo de software. El coste del salario mensual de cada persona es de _/mes Si aplicamos COCOMO, podemos ver que el esfuerzo estimado será: Esfuerzo nominal = 3,2 x (30)1,05 = 113,79 personas-mes.

19 5.5.-Modelo de Estimación de Putnam
Es un modelo multivariable dinámico que asume una distribución especifica del esfuerzo a lo largo de la vida de un proyecto de desarrollo de Software. 5.6 Modelos del Punto Función Las métricas del software orientadas a la función son medidas indirectas del software y del proceso por el cual se desarrolla. Más que calcular las LDC las métricas orientadas a la función se centran en la funcionalidad o utilidad del programa 5.7 Modelo de estudio temporal En un nivel individual, el proceso de desarrollo del software se ve afectado por un numero n de gente interaccionando en el proyecto y por las características del entorno en el cual esa gente interacciona.

20 6 HERRAMIENTAS AUTOMÁTICAS DE ESTIMACIÓN.
Las herramientas automáticas de estimación permiten al planificador estimar costos y esfuerzos, así como llevar a cabo análisis del tipo, que pasa si, con importantes variables del proyecto, tales como la fecha de entrega o la selección del personal. 7.- ESTIMACIÓN DE LOS COSTOS DE MANTENIMIENTO DE SOFTWARE La mayor preocupación con respecto al mantenimiento durante la fase de plantación de un proyecto de programación es estimar el número de programadores de mantenimiento que se requerirán, así como especificar las facilidades necesarias para que se lleve acabo. Actividad % del esfuerzo Mejoras Mayor eficiencia Mejor documentación Mejoras para el usuario Adaptación Datos de entrada y archivos Equipo y sistema operativo Correcciones Arreglos de emergencia Arreglos programados Otros 51.3 4.0 5.5 41.8 23.6 17.4 6.2 21.7 12.4 9.3 3.4

21 proyecto, producto y negocio
Ejemplos de posibles riesgos en el desarrollo de software riesgo tipo de riesgo descripción rotación de personal proyecto, producto y negocio personal con experiencia abandona el proyecto antes de que finalice cambio de administración proyecto cambio de administración organizativa con diferentes prioridades no disponibilidad del hardware el hardware necesario para el proyecto no se recibe a tiempo cambios de requerimientos proyecto y producto existencia de más cambios de requerimientos de los previstos inicialmente retrasos en la especificación retrasos en las especificaciones de interfaces esenciales subestimación del tamaño el tamaño del sistema se ha subestimado bajo rendimiento de la herramienta CASE producto las herramientas CASE que ayudan al proyecto no tienen el rendimiento y las funcionalidades esperadas cambio de tecnología negocio la tecnología fundamental sobre la que se está construyendo el sistema es sustituida por una nueva competencia del producto un producto competitivo se pone en venta antes de que el sistema se complete

22 8 Conclusiones En conclusión la planificación del Proyecto de Software tiene que estimar tres cosas antes de que comience el proyecto: cuanto durara, cuanto esfuerzo requerirá y cuanta gente estará implicada. Además el planificador debe predecir los recursos de hardware y software que va a requerir y el riesgo implicado

23 Cualquier cosas que necesites
cuantificar debe ser medido y de alguna forma es superior a no medirlo del todo Tom Gilb


Descargar ppt "ESTIMACION DE COSTE DEL SOFTWARE"

Presentaciones similares


Anuncios Google