costos del software

3,148 views

Published on

ESTIMACIÓN DE COSTOS DEL SOFTWARE

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,148
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
167
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

costos del software

  1. 1. ESTIMACION DE COSTE DEL SOFTWARE
  2. 2. INTRODUCCIÓN FUNCIÓN–1.1. ¿Qué es un proyecto de Sistema o Software? RENDIMIENTO Es el Proceso de gestión para la creación de un Sistema o RESTRICCIONES ÁMBITO DEL software, la cual encierra un conjunto de actividades, una SOFTWARE de las cuales es la estimación. INTERFACES FIABILIDAD– 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 EXPERIENCIA EXPERIENCIA ESTIMACIÓN RIESGO DATOS DATOS HISTÓRICOS HISTÓRICOS
  3. 3. 2.- FACTORES EN EL COSTO DEL SOFTWARE2.1 Capacidad del programador2.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. 4. 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 Algunas molestias menor 0.75 Baja Las perdidas son fáciles de recuperar 0.88 Nominal Dificultad relativa en la recuperación 1.00 Alta Gran perdida financiera 1.15 Muy Alta Riesgo de una vida 1.40
  5. 5. 2.6 Nivel Tecnológico El nivel de tecnología empleado en un proyecto de programación se refleja en el lenguaje utilizado3.- 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. 6. 3.1.- Estimación LDC (LOC es la sigla de la expresióninglesa 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. 7. Ejemplo de LOCHay que desarrollar un software CAD que aceptará datos geométricos de 2 o 3 dimensiones por parte del ingeniero. Éste controlará el sistemaCAD por medio de una interfaz que debe tener un diseño de buena calidad.2 o 3 base de datos CAD contiene todos los datos geométricos y la Hay que desarrollar un software CAD que aceptará datos geométricos de Una dimensiones por parte del ingeniero. Éste controlará el sistemainformación de soporte. Se desarrollarán módulos de análisis buena calidad. Una basela salida requerida que se va a los datos geométricos y la CAD por medio de una interfaz que debe tener un diseño de de diseño para producir de datos CAD contiene todos visualizar en varios 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 variosdispositivos gráficos. 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. 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: Funciones identificadas: Estimación en LDC de AG3D: descomposición interfaz de usuario yy facilidades de control (IUFC) Estimación en LDC de AG3D: interfaz de usuario facilidades de control (IUFC) descomposición de funciones optimista: 4600 de funciones análisis geométrico de dos dimensiones (AG2D) optimista: 4600 análisis geométrico de dos dimensiones (AG2D) más probable: 6900 análisis geométrico de tres dimensiones (AG3D) más probable: 6900 análisis geométrico de tres dimensiones (AG3D) pesimista: 8600 gestión de base de datos (GBD) pesimista: 8600 gestión de base de datos (GBD) facilidades de la interfaz gráfica (FIG) facilidades de la interfaz gráfica (FIG) control periféricos (CP) control periféricos (CP) módulos de análisis del diseño (MAD) VE ==(Sopt ++4Sm ++Spes)/6 módulos de análisis del diseño (MAD) VE (Sopt 4Sm Spes)/6 Datos históricos: Datos históricos: productividad media de la organización en métricas de Función LDC estimada anteriores productividad media de la organización en proyectos métricas de Función LDC estimada anteriores proyectos similares: 620 LDC/pm proyectos proyectos similares: 620 LDC/pm IUFC 2300 Tarifa laboral: 8000 $$ /mes IUFC 2300 Tarifa laboral: 8000 /mes AG2D AG2D 5300 5300 AG3D 6800 Coste LDC: 13 $$ AG3D 6800 Coste LDC: 13 GBD 3350 GBD 3350 FIG 4950 FIG 4950 CP 2100 CP 2100 MAD 8400 MAD 8400 Total 33200 Total 33200 Coste total proyecto: 431000 $$ Coste total proyecto: 431000 Esfuerzo estimado: 54 personas- Esfuerzo estimado: 54 personas- mes mes
  8. 8. Puntos de función: relación empírica basada en medidas cuantitativas deldominio de información del software y valoraciones subjetivas acerca de lacomplejidad del software3.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. 9. Calcular PuntosAnalizar el dominiode la informació n de la Función Establecer el conteo para cada dominioaplicaciò n y desarrollar de entrada e interfaces de sistemael conteoPesar cada conteo porevaluació n de la Asignar el nivel de complejidad o pesocomplejidad para cada conteoevaluar la influencia defactores globales que Grado de importancia de factores externosafecten la aplicació n Fi tales como reuso, concurrencia, SO,... Puntos funció n = Σ (conteo x peso) x CCalcular puntosfunció n donde: Factor de complejidad: C = (0.65 + 0.01 x N) Grado de influencia: N = Σ Fi
  10. 10. Analizar el Dominio de la Informaciónponderació n conteo factor de simple prom. complejopará metro de medida# 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-totalfactor de complejidadpuntos funció n
  11. 11. Considerar laLos factores Complejidad se tasan en una escala0 (sin importancia) – 5 (muy importante)comunicaciones de datos actualizació n en líneafunciones distribuidas procesamiento complejoconfiguració n pesada facilidad de instalació ntasa de transacció n facilidad operacionalentrada de datos en lìnea sites mú ltipleseficiencia para el usuario facilidad de cambios
  12. 12. Ejemplo FP Valor dominio Opt. Probable Pesimista Cuenta Peso Cuenta información est PF Num. entradas 20 24 30 24 4 96 Num. salidas 12 15 22 16 5 80 Num. peticiones 16 22 28 22 4 88 Num. archivos 4 4 5 4 10 40 Num. interfaces ext. 2 2 3 2 7 14 Cuenta total 318 Copia de seguridad y recuperación 4 Copia de seguridad y recuperación Comunicaciones 24 Comunicaciones Proceso distribuido 02 Proceso distribuido Rendimiento crítico 40 PF estimado == cuenta total x (0,65 + 0,01 x Suma (Fi) PF estimado cuenta total x (0,65 + 0,01 x Suma (Fi) Rendimiento crítico Entorno operativo existente 34 Entorno operativo existente Entrada de datos online 43 Entrada de datos online Transacciones entrada en varias pant. 54 Transacciones entrada en varias pant. Archivos maestros actualizados online 35 Complejidad valores actualizados online Archivos maestros dominio información 53 Complejidad valores dominio información Complejidad procesamiento interno 55 Complejidad procesamiento interno Código diseñado para reutilización 45 PF estimado ==372 PF estimado 372 Conversión en diseño reutilización Código diseñado para 34 Instalaciones en diseño Conversión múltiples 53 Instalaciones múltiples Aplicación diseñada para cambios 55 Aplicación diseñada para cambios 5 Coste total proyecto: 457000 $$ Coste total proyecto: 457000 Datos históricos: Esfuerzo estimado: 58 personas- Datos históricos: Esfuerzo estimado: 58 personas- productividad media de la organización en mes métricas de anteriores productividad media de la organización en proyectos mesmétricas deanteriores proyectos similares: 6,5 PF/pm proyectos proyectos similares: 6,5 PF/pm Tarifa laboral: 8000 $$ /mes Tarifa laboral: 8000 /mes Coste por PF: 1.230 $$ Coste por PF: 1.230
  13. 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 Lenguaje LDC/PF (media) LDC/PF (media) Ensamblador Ensamblador 320 320 CC 128 128 Cobol Cobol 105 105 Fortran Fortran 105 105 Pascal Pascal 90 90 Ada Ada 70 70 Lenguajes OO Lenguajes OO 30 30 L4G L4G 20 20 Lenguajes visuales Lenguajes visuales 44 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. 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 éstos4.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. 15. 4.3 Tipos de Técnicas de Estimación de costos.-Técnica Descripción Se desarrolla un modelo utilizando información histórica de costos queModelado del algoritmo de relaciona alguna métrica de software (por lo general, su tamaño) con costos el costo del proyecto. Se consultan varios expertos en las técnicas de desarrollo de software propuestas y en el dominio de aplicación. Cada uno de ellos estimaOpinión de expertos el costo del proyecto. Estas estimaciones se comparan y discuten. El proceso de estimación se itera hasta que se acuerda una estimación. Esta técnica es aplicable cuando otros proyectos en el mismo dominio deEstimación por analogía aplicación se han completado. Se estima el costo de un nuevo proyecto por analogía con estos proyectos completados. La Ley de Parkinson establece que el trabajo se extiende para llenar elLey de Parkinson tiempo disponible. El costo se determina por los recursos disponibles más que por los objetivos logrados. El costo del software se estima dependiendo de lo que el cliente estéAsignar costos para ganar dispuesto a pagar por el proyecto. El esfuerzo estimado depende del presupuesto del cliente y no de la funcionalidad del software
  16. 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 grupos5.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. 17. COCOMO (MEDELO CONSTRUCTIVO DE COSTE) • Tres tipos de proyectos: MODELO 1 (COCOMO básico) MODELO 1 (COCOMO básico) – Orgánicos: relativamente pequeños y sencillos, calcula el esfuerzo y el coste del desarrollo en calcula el esfuerzo y el coste del desarrollo en función del tamaño estimado del programa (LDC). en los que trabajan pequeños equipos con función del tamaño estimado del programa (LDC). Se utiliza para una aproximación rápida al principio Se utiliza para una aproximación rápida al principio experiencia, sobre un conjunto de requisitos del ciclo de vida. del ciclo de vida. poco rígidos. ESFUERZO: EE = ab KLDC ESFUERZO: = ab KLDCbb bb – Semiacoplados: proyectos intermedios (en TIEMPO: D == cb E D c Edbdb TIEMPO: b tamaño y complejidad) en los que participan equipos con variados niveles de experiencia, y que deben satisfacer requisitos poco o medio rígidos. MODELO 2 (COCOMO intermedio) – Empotrados: proyectos que deben serMODELO 2 (COCOMO intermedio) calcula el esfuerzo y el coste en función del tamañocalcula el esfuerzo y el coste en función del tamaño desarrollados en un conjunto de hardware, estimado del programa y de un conjunto de “guíasestimado del programa y de un conjunto de “guías de coste” que incluyen una evaluación software y restricciones operativas muyde coste” que incluyen una evaluación subjetiva del producto, hardware, personal y atributossubjetiva del producto, hardware, personal y atributos restringido. del productodel productoESFUERZO: EE = aKLDCbi xx FAE (factor ESFUERZO: = ai i KLDC FAE (factor bi MODELO COCOMO BÁSICO MODELO COCOMO BÁSICO de ajuste del esfuerzo)de ajuste del esfuerzo) Proyecto Proyecto aa b bb b cc b dd b b b b b Orgánico Orgánico 2,4 1,05 2,4 1,05 2,5 2,5 0,38 0,38 MODELO 3 (COCOMO avanzado) MODELO 3 (COCOMO avanzado) incorpora las características del mod. 2 y evalúa el incorpora las características del mod. 2 y evalúa el Semiacoplado 3,0 Semiacoplado 3,0 1,12 1,12 2,5 2,5 0,35 0,35 impacto de los FAE en cada fase del desarrollo. impacto de los FAE en cada fase del desarrollo. Empotrado Empotrado 3,6 3,6 1,20 1,20 2,5 2,5 0,32 0,32
  18. 18. Ejemplo COCOMO Por ejemplo, si sabemos que en el proyecto se trabajará con un nivel alto deutilizació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ónde 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 1.350 _/mes Si aplicamos COCOMO, podemos ver que el esfuerzo estimado será: Esfuerzo nominal = 3,2 x (30)1,05 = 113,79 personas-mes.
  19. 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. 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 51.3 Mayor eficiencia 4.0 Mejor documentación 5.5 Mejoras para el usuario 41.8 Adaptación 23.6 Datos de entrada y archivos 17.4 Equipo y sistema operativo 6.2 Correcciones 21.7 Arreglos de emergencia 12.4 Arreglos programados 9.3 Otros 3.4
  21. 21. Ejemplos de posibles riesgos en el desarrollo de software riesgo tipo de riesgo descripción proyecto, producto personal con experiencia abandona el proyecto antes de querotación de personal y negocio finalice cambio de cambio de administración organizativa con diferentes proyecto administración prioridadesno disponibilidad del proyecto el hardware necesario para el proyecto no se recibe a tiempo hardware cambios de proyecto y existencia de más cambios de requerimientos de los previstos requerimientos producto inicialmente retrasos en la proyecto y retrasos en las especificaciones de interfaces esenciales especificación producto subestimación del proyecto y el tamaño del sistema se ha subestimado tamaño productobajo rendimiento de las herramientas CASE que ayudan al proyecto no tienen el la herramienta producto rendimiento y las funcionalidades esperadas CASE cambio de la tecnología fundamental sobre la que se está construyendo el negocio tecnología sistema es sustituida por una nueva competencia del un producto competitivo se pone en venta antes de que el negocio producto sistema se complete
  22. 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. 23. Cualquier cosas que necesitescuantificar debe ser medidoy de alguna forma es superiora no medirlo del todo Tom Gilb

×