ESTIMACION DE COSTOS Expositores: José Alejandro Benítez A. - 0126277 Sandra Milena Ruiz. -...

60
ESTIMACION DE ESTIMACION DE COSTOS COSTOS Expositores: Expositores: José Alejandro Benítez A. - 0126277 José Alejandro Benítez A. - 0126277 Sandra Milena Ruiz. - 0210905 Sandra Milena Ruiz. - 0210905 Catherine Ramírez C. - 0232029 Catherine Ramírez C. - 0232029 Rosa Marcela Viteri. - 0235425 Rosa Marcela Viteri. - 0235425 Claudia Patricia Martínez S. - Claudia Patricia Martínez S. - 0228359 0228359 rrollo de Software II – Universidad del Valle 2005 rrollo de Software II – Universidad del Valle 2005

Transcript of ESTIMACION DE COSTOS Expositores: José Alejandro Benítez A. - 0126277 Sandra Milena Ruiz. -...

Page 1: ESTIMACION DE COSTOS Expositores: José Alejandro Benítez A. - 0126277 Sandra Milena Ruiz. - 0210905 Catherine Ramírez C. - 0232029 Rosa Marcela Viteri.

ESTIMACION DE ESTIMACION DE COSTOSCOSTOS

Expositores:Expositores:

José Alejandro Benítez A. - 0126277José Alejandro Benítez A. - 0126277

Sandra Milena Ruiz. - 0210905Sandra Milena Ruiz. - 0210905

Catherine Ramírez C. - 0232029Catherine Ramírez C. - 0232029

Rosa Marcela Viteri. - 0235425Rosa Marcela Viteri. - 0235425

Claudia Patricia Martínez S. - 0228359Claudia Patricia Martínez S. - 0228359

Desarrollo de Software II – Universidad del Valle 2005Desarrollo de Software II – Universidad del Valle 2005

Page 2: ESTIMACION DE COSTOS Expositores: José Alejandro Benítez A. - 0126277 Sandra Milena Ruiz. - 0210905 Catherine Ramírez C. - 0232029 Rosa Marcela Viteri.

INTRODUCCIONINTRODUCCION

Al principio el costo del software constituía un Al principio el costo del software constituía un pequeño porcentaje del costo total de los pequeño porcentaje del costo total de los sistemas basados en computadoras.sistemas basados en computadoras.

Hoy en día, el software es el elemento más caro Hoy en día, el software es el elemento más caro de la mayoría de los sistemas informáticos.de la mayoría de los sistemas informáticos.

El costo de un proyecto es de interés continuo y El costo de un proyecto es de interés continuo y vital para los integrantes, se han desarrollado vital para los integrantes, se han desarrollado varios métodos que han encontrado aceptación varios métodos que han encontrado aceptación comercial.comercial.

Desarrollo de Software II – Universidad del Valle 2005Desarrollo de Software II – Universidad del Valle 2005

Page 3: ESTIMACION DE COSTOS Expositores: José Alejandro Benítez A. - 0126277 Sandra Milena Ruiz. - 0210905 Catherine Ramírez C. - 0232029 Rosa Marcela Viteri.

ESTIMACION DE COSTOSESTIMACION DE COSTOS

Para realizar estimaciones seguras de costos y Para realizar estimaciones seguras de costos y esfuerzos se tienen varias opciones posibles :esfuerzos se tienen varias opciones posibles :

* Dejar la estimación para más adelante.* Dejar la estimación para más adelante.

* Basar las estimaciones en proyectos similares ya * Basar las estimaciones en proyectos similares ya terminados.terminados.

* Utilizar “técnicas de descomposición” relativamente * Utilizar “técnicas de descomposición” relativamente sencillas para generar la estimación de costo.sencillas para generar la estimación de costo.

* Desarrollar un modelo empírico.* Desarrollar un modelo empírico.

Desarrollo de Software II – Universidad del Valle 2005Desarrollo de Software II – Universidad del Valle 2005

Page 4: ESTIMACION DE COSTOS Expositores: José Alejandro Benítez A. - 0126277 Sandra Milena Ruiz. - 0210905 Catherine Ramírez C. - 0232029 Rosa Marcela Viteri.

ESTIMACION DE COSTOSESTIMACION DE COSTOSEl proceso de estimar los costos se realizan con el fin de El proceso de estimar los costos se realizan con el fin de evaluar las capacidades del grupo desarrollador, control evaluar las capacidades del grupo desarrollador, control de calidad y programaciones fijas.de calidad y programaciones fijas.

Los modelos de estimación actual (COCOMO) , solo Los modelos de estimación actual (COCOMO) , solo consideran modelos clásicos de desarrollo de software consideran modelos clásicos de desarrollo de software propietario, cuyas diferencias con los software libres propietario, cuyas diferencias con los software libres radica en:radica en:

* Proceso continuo de distribuciones.* Proceso continuo de distribuciones.

* Control y solución de errores.* Control y solución de errores.

* Reutlización, evolución e intercambio del código.* Reutlización, evolución e intercambio del código.

* Modelo de desarrollo distribuido.* Modelo de desarrollo distribuido.

Desarrollo de Software II – Universidad del Valle 2005Desarrollo de Software II – Universidad del Valle 2005

Page 5: ESTIMACION DE COSTOS Expositores: José Alejandro Benítez A. - 0126277 Sandra Milena Ruiz. - 0210905 Catherine Ramírez C. - 0232029 Rosa Marcela Viteri.

MODELO EMPIRICOMODELO EMPIRICO

Es necesario contar con registros de proyectos Es necesario contar con registros de proyectos concluidos, con sus tamaños estimados en puntos de concluidos, con sus tamaños estimados en puntos de función para estimación temprana y el esfuerzo de función para estimación temprana y el esfuerzo de desarrollo.desarrollo.

Método de Método de regresión linealregresión linealCosto = f (tamaño del software)Costo = f (tamaño del software)

Así, el costo Así, el costo E E es función del tamaño es función del tamaño T, T, de la forma:de la forma:

E = a + b . TE = a + b . T

Desarrollo de Software II – Universidad del Valle 2005Desarrollo de Software II – Universidad del Valle 2005

Page 6: ESTIMACION DE COSTOS Expositores: José Alejandro Benítez A. - 0126277 Sandra Milena Ruiz. - 0210905 Catherine Ramírez C. - 0232029 Rosa Marcela Viteri.

RECURSOS A TENER EN CUENTA EN LA RECURSOS A TENER EN CUENTA EN LA ESTIMACION DE COSTOS DE UN ESTIMACION DE COSTOS DE UN

PROYECTOPROYECTO

El software al ser intangible, no tener peso, ni volumen, El software al ser intangible, no tener peso, ni volumen, ni superficie, etc. Se mide a través de diversos ni superficie, etc. Se mide a través de diversos aspectos claves en el desarrollo como:aspectos claves en el desarrollo como:

* Recursos Humanos.* Recursos Humanos.

* Recursos de software reutilizables.* Recursos de software reutilizables.

* Recursos de entorno.* Recursos de entorno.

* Materiales.* Materiales.

* Misceláneos* Misceláneos

* Licencias* Licencias

Desarrollo de Software II – Universidad del Valle 2005Desarrollo de Software II – Universidad del Valle 2005

Page 7: ESTIMACION DE COSTOS Expositores: José Alejandro Benítez A. - 0126277 Sandra Milena Ruiz. - 0210905 Catherine Ramírez C. - 0232029 Rosa Marcela Viteri.

RECURSOS HUMANOSRECURSOS HUMANOS

La cantidad de personas requeridas para el desarrollo de un La cantidad de personas requeridas para el desarrollo de un proyecto de software, se determina :proyecto de software, se determina :

* Después de hacer una estimación de esfuerzo de desarrollo.* Después de hacer una estimación de esfuerzo de desarrollo.

* Seleccionar la posición dentro de la organización.* Seleccionar la posición dentro de la organización.

* Costos que la empresa de software efectúa directa o * Costos que la empresa de software efectúa directa o indirectamente al personal, ya sea a través de su salario, indirectamente al personal, ya sea a través de su salario, honorarios, servicios temporales, etc.honorarios, servicios temporales, etc.

Desarrollo de Software II – Universidad del Valle 2005Desarrollo de Software II – Universidad del Valle 2005

Page 8: ESTIMACION DE COSTOS Expositores: José Alejandro Benítez A. - 0126277 Sandra Milena Ruiz. - 0210905 Catherine Ramírez C. - 0232029 Rosa Marcela Viteri.

RECURSOS HUMANOSRECURSOS HUMANOS

Desarrollo de Software II – Universidad del Valle 2005Desarrollo de Software II – Universidad del Valle 2005

Page 9: ESTIMACION DE COSTOS Expositores: José Alejandro Benítez A. - 0126277 Sandra Milena Ruiz. - 0210905 Catherine Ramírez C. - 0232029 Rosa Marcela Viteri.

RECURSOS DE SOFTWARE RECURSOS DE SOFTWARE REUTILIZABLESREUTILIZABLES

Para un estudio completo de estimación de costos se Para un estudio completo de estimación de costos se hace necesario estudiar la reutilización de bloques de hace necesario estudiar la reutilización de bloques de construcción construcción de software. de software.

Se debe tener en cuenta:Se debe tener en cuenta: Componentes ya desarrollados.Componentes ya desarrollados. Componentes ya experimentados.Componentes ya experimentados. Componentes con experiencia Parcial.Componentes con experiencia Parcial. Componentes nuevos.Componentes nuevos.

Desarrollo de Software II – Universidad del Valle 2005Desarrollo de Software II – Universidad del Valle 2005

Page 10: ESTIMACION DE COSTOS Expositores: José Alejandro Benítez A. - 0126277 Sandra Milena Ruiz. - 0210905 Catherine Ramírez C. - 0232029 Rosa Marcela Viteri.

RECURSOS DE ENTORNORECURSOS DE ENTORNO

El entorno es donde se apoya el proyecto de El entorno es donde se apoya el proyecto de software, llamado a menudo entorno de ingeniería de software, llamado a menudo entorno de ingeniería de software.software.

Incorpora:Incorpora:

El hardware El hardware El softwareEl software

El líder del proyecto debe verificar que estos El líder del proyecto debe verificar que estos recursos estén disponibles y especificar cada recursos estén disponibles y especificar cada elemento de hardware necesarios.elemento de hardware necesarios.

Desarrollo de Software II – Universidad del Valle 2005Desarrollo de Software II – Universidad del Valle 2005

Page 11: ESTIMACION DE COSTOS Expositores: José Alejandro Benítez A. - 0126277 Sandra Milena Ruiz. - 0210905 Catherine Ramírez C. - 0232029 Rosa Marcela Viteri.

RECURSOS MATERIALESRECURSOS MATERIALES

Materiales que son utilizados por la empresa de Materiales que son utilizados por la empresa de desarrollo de software para la iniciación, operación y desarrollo de software para la iniciación, operación y mejora de la eficiencia en la prestación de los mejora de la eficiencia en la prestación de los servicios.servicios.

Algunos de los recursos materiales son :Algunos de los recursos materiales son :

Útiles de escritorio y papelería.Útiles de escritorio y papelería.

Equipos de computo.Equipos de computo.

Muebles y enseresMuebles y enseres

Vehículos, etc.Vehículos, etc.

Desarrollo de Software II – Universidad del Valle 2005Desarrollo de Software II – Universidad del Valle 2005

Page 12: ESTIMACION DE COSTOS Expositores: José Alejandro Benítez A. - 0126277 Sandra Milena Ruiz. - 0210905 Catherine Ramírez C. - 0232029 Rosa Marcela Viteri.

RECURSOS MICELANEOSRECURSOS MICELANEOS

Recursos que no han sido clasificados en los grupos Recursos que no han sido clasificados en los grupos anteriores (personal, materiales, entorno y anteriores (personal, materiales, entorno y componente de software reutilizable).componente de software reutilizable).

Desarrollo de Software II – Universidad del Valle 2005Desarrollo de Software II – Universidad del Valle 2005

Page 13: ESTIMACION DE COSTOS Expositores: José Alejandro Benítez A. - 0126277 Sandra Milena Ruiz. - 0210905 Catherine Ramírez C. - 0232029 Rosa Marcela Viteri.

• La métrica del software es un factor realmente importante en el La métrica del software es un factor realmente importante en el análisis de un proyecto. A continuación hablaremos de las análisis de un proyecto. A continuación hablaremos de las métricas utilizadas para la estimación de costos de software estas métricas utilizadas para la estimación de costos de software estas son:son:

Las métricas orientadas a tamañoLas métricas orientadas a tamaño

• Las métricas orientadas al tamaño proporcionan medidas Las métricas orientadas al tamaño proporcionan medidas directas del software y del proceso por el cual se desarrolla. directas del software y del proceso por el cual se desarrolla. Algunas de las mas utilizadas son: Algunas de las mas utilizadas son:

• LOC (LINE OF CODE) LOC (LINE OF CODE)

• El fundamento de la medida LOC es que la longitud del El fundamento de la medida LOC es que la longitud del programa se puede utilizar como pronostico de las características programa se puede utilizar como pronostico de las características del programa tal como el esfuerzo y la facilidad del del programa tal como el esfuerzo y la facilidad del mantenimiento. La medida del LOC se utiliza para medir el mantenimiento. La medida del LOC se utiliza para medir el tamaño del software.tamaño del software.

Las ventajas del LOC son:Las ventajas del LOC son:

1. simple para medir1. simple para medir

METRICASMETRICAS

Desarrollo de Software II – Universidad del Valle 2005Desarrollo de Software II – Universidad del Valle 2005

Page 14: ESTIMACION DE COSTOS Expositores: José Alejandro Benítez A. - 0126277 Sandra Milena Ruiz. - 0210905 Catherine Ramírez C. - 0232029 Rosa Marcela Viteri.

Las desventajas del LOC son:Las desventajas del LOC son:

1.1. se define en código. Por ejemplo no puede medir tamaño se define en código. Por ejemplo no puede medir tamaño de especificaciónde especificación

2. caracteriza solamente una vista especifica del tamaño, no 2. caracteriza solamente una vista especifica del tamaño, no tiene en cuenta la funcionalidad o la complejidadtiene en cuenta la funcionalidad o la complejidad

3. el mal diseño del software puede causar líneas excesivas de 3. el mal diseño del software puede causar líneas excesivas de códigocódigo

4. es dependiente de la lengua4. es dependiente de la lengua

5. los usuarios no pueden entenderlo fácilmente5. los usuarios no pueden entenderlo fácilmente

• Se han propuesto multitud de unidades de medida del Se han propuesto multitud de unidades de medida del volumen, cada una de las cuales define a su vez un volumen, cada una de las cuales define a su vez un procedimiento para medir el sistema.procedimiento para medir el sistema.

• Entre las más difundidas se encuentran (vamos a emplear Entre las más difundidas se encuentran (vamos a emplear sus siglas en inglés, ya que son más conocidas) : sus siglas en inglés, ya que son más conocidas) :

Desarrollo de Software II – Universidad del Valle 2005Desarrollo de Software II – Universidad del Valle 2005

Page 15: ESTIMACION DE COSTOS Expositores: José Alejandro Benítez A. - 0126277 Sandra Milena Ruiz. - 0210905 Catherine Ramírez C. - 0232029 Rosa Marcela Viteri.

• Los Bytes Los Bytes necesarios para almacenar el código fuente (Bytes necesarios para almacenar el código fuente (Bytes de ocho bits) de ocho bits)

• Las líneas de código fuente SLOC (Source Lines Of Code)Las líneas de código fuente SLOC (Source Lines Of Code)

existe una herramienta para medir el SLOC la cual es llamada existe una herramienta para medir el SLOC la cual es llamada SloccountSloccount, que tiene una definición propia de “líneas de código , que tiene una definición propia de “líneas de código fuente físicas”, por lo tanto se puede decir que se contabiliza un fuente físicas”, por lo tanto se puede decir que se contabiliza un SLOC cuando esta herramienta lo hace, si bien SLOC cuando esta herramienta lo hace, si bien sloccountsloccount ha ha sido cuidadosamente diseñado para responder a la definición sido cuidadosamente diseñado para responder a la definición habitual de SLOC físicas: habitual de SLOC físicas:

" una línea física de código fuente es una línea que acaba en un " una línea física de código fuente es una línea que acaba en un marcador de nueva línea o de fin de fichero, y que contiene al marcador de nueva línea o de fin de fichero, y que contiene al menos un carácter que no es un espacio en blanco ni un menos un carácter que no es un espacio en blanco ni un comentario."comentario."

• Líneas de código fuente sin comentarios (NCSLOC, Non Líneas de código fuente sin comentarios (NCSLOC, Non Comentary Source Lines Of CodeComentary Source Lines Of Code))

• SIZE1SIZE1= Es una variación de la tradicional LOC (Líneas de = Es una variación de la tradicional LOC (Líneas de Código) Código)

• SIZE2SIZE2 = número de atributos + número de métodos locales. = número de atributos + número de métodos locales.

Desarrollo de Software II – Universidad del Valle 2005Desarrollo de Software II – Universidad del Valle 2005

Page 16: ESTIMACION DE COSTOS Expositores: José Alejandro Benítez A. - 0126277 Sandra Milena Ruiz. - 0210905 Catherine Ramírez C. - 0232029 Rosa Marcela Viteri.

• Métrica Basada en la FuncionalidadMétrica Basada en la Funcionalidad

El tamaño del SW podría medirse en términos de los El tamaño del SW podría medirse en términos de los bytes bytes que ocupa en el disco, el número de que ocupa en el disco, el número de programas, el número de líneas de código, la funcionalidad que proporciona, o simplemente el número programas, el número de líneas de código, la funcionalidad que proporciona, o simplemente el número de pantallas o reportes que tiene.de pantallas o reportes que tiene.

A simple vista podríamos intuir que algunas de estas propuestas son mejores que otras si queremos A simple vista podríamos intuir que algunas de estas propuestas son mejores que otras si queremos medir el tamaño de una forma que tenga más correlación con el esfuerzo. Pero antes de seleccionar medir el tamaño de una forma que tenga más correlación con el esfuerzo. Pero antes de seleccionar alguna, hagamos otras consideraciones.alguna, hagamos otras consideraciones.

Una aplicación de software es un conjunto de líneas de código que se ejecutan en una computadora. Sin Una aplicación de software es un conjunto de líneas de código que se ejecutan en una computadora. Sin embargo mucho del costo de producir ese SW no está directamente relacionado con la codificación, que embargo mucho del costo de producir ese SW no está directamente relacionado con la codificación, que es entre el 20 y 25% del costo total. es entre el 20 y 25% del costo total.

Elementos como la administración del proyecto, el nivel de detalle de la documentación técnica o la Elementos como la administración del proyecto, el nivel de detalle de la documentación técnica o la documentación de pruebas, y las pruebas por sí mismas también deben considerarse.documentación de pruebas, y las pruebas por sí mismas también deben considerarse.

Por otro lado, hoy en día hay una amplia gama de lenguajes y herramientas para producir SW, lo que ha Por otro lado, hoy en día hay una amplia gama de lenguajes y herramientas para producir SW, lo que ha provocado que pueda generarse la misma funcionalidad con lenguajes de programación distintos. Y provocado que pueda generarse la misma funcionalidad con lenguajes de programación distintos. Y esto con un número de líneas de código distintos y, lo que es más impactante, con un esfuerzo distinto.esto con un número de líneas de código distintos y, lo que es más impactante, con un esfuerzo distinto.

Desarrollo de Software II – Universidad del Valle 2005Desarrollo de Software II – Universidad del Valle 2005

Page 17: ESTIMACION DE COSTOS Expositores: José Alejandro Benítez A. - 0126277 Sandra Milena Ruiz. - 0210905 Catherine Ramírez C. - 0232029 Rosa Marcela Viteri.

Métrica Basada en la FuncionalidadMétrica Basada en la Funcionalidad (cont.)(cont.)

Veamos un poco más a detalle las implicaciones del enunciado anterior mediante un ejemplo Veamos un poco más a detalle las implicaciones del enunciado anterior mediante un ejemplo sencillo. sencillo.

Supongamos que yo requiero de cierta funcionalidad en una aplicación de SW y tengo la Supongamos que yo requiero de cierta funcionalidad en una aplicación de SW y tengo la opción de hacerlo con dos empresas. La empresa A utiliza un lenguaje que requeriría 8 mil opción de hacerlo con dos empresas. La empresa A utiliza un lenguaje que requeriría 8 mil líneas de código. La empresa B utiliza otro lenguaje que requeriría aproximadamente 5 mil líneas de código. La empresa B utiliza otro lenguaje que requeriría aproximadamente 5 mil líneas de código. A simple vista parecería que con la empresa A tendría “más” trabajo y con la líneas de código. A simple vista parecería que con la empresa A tendría “más” trabajo y con la empresa B me podría salir más barato, dado que tienen que hacer menos líneas de código. Pero empresa B me podría salir más barato, dado que tienen que hacer menos líneas de código. Pero la comparación se complica si los programadores de ambas empresas producen a distintas la comparación se complica si los programadores de ambas empresas producen a distintas velocidades. Es decir, los de la compañía A producen casi el doble de código por día que los de velocidades. Es decir, los de la compañía A producen casi el doble de código por día que los de la compañía B. la compañía B.

Como resultado de lo anterior, tendría que la línea de código de la empresa A podría costar Como resultado de lo anterior, tendría que la línea de código de la empresa A podría costar mucho menos que la de la compañía B. Entonces parecería que debería comprarle a la empresa mucho menos que la de la compañía B. Entonces parecería que debería comprarle a la empresa A dado que cuesta menos cada línea de código, pero también podría comprarle a la empresa B A dado que cuesta menos cada línea de código, pero también podría comprarle a la empresa B dado que tiene que producir menos líneas de código, y por lo tanto el costo total sería menor o dado que tiene que producir menos líneas de código, y por lo tanto el costo total sería menor o podría tener menos posibilidad de errores.podría tener menos posibilidad de errores.

Desarrollo de Software II – Universidad del Valle 2005Desarrollo de Software II – Universidad del Valle 2005

Page 18: ESTIMACION DE COSTOS Expositores: José Alejandro Benítez A. - 0126277 Sandra Milena Ruiz. - 0210905 Catherine Ramírez C. - 0232029 Rosa Marcela Viteri.

Métrica Basada en la FuncionalidadMétrica Basada en la Funcionalidad (cont.)(cont.)

Ciertamente esta secuencia de análisis puede ser engañosa. Si retomamos los conceptos mencionados Ciertamente esta secuencia de análisis puede ser engañosa. Si retomamos los conceptos mencionados previamente, entonces una mejor métrica para establecer el tamaño es la basada en los requerimientos previamente, entonces una mejor métrica para establecer el tamaño es la basada en los requerimientos del usuario y no en la tecnología que se va a utilizar; una métrica basada en la funcionalidad. del usuario y no en la tecnología que se va a utilizar; una métrica basada en la funcionalidad.

Características de una métrica funcionalCaracterísticas de una métrica funcional

A continuación mencionaré las características principales de una métrica funcional que nos ayudarán a A continuación mencionaré las características principales de una métrica funcional que nos ayudarán a entender mejor los beneficios de este tipo de métrica.entender mejor los beneficios de este tipo de métrica.

• INDEPENDIENTE DE LA TECNOLOGÍA INDEPENDIENTE DE LA TECNOLOGÍA • SIMPLESIMPLE• ENFOQUE EN LA FUNCIONALIDAD PROPORCIONADA ENFOQUE EN LA FUNCIONALIDAD PROPORCIONADA • BASADA EN LOS REQUERIMIENTOS DEL USUARIO BASADA EN LOS REQUERIMIENTOS DEL USUARIO • CONSISTENCIA CONSISTENCIA

Usos de una Métrica Funcional EstándarUsos de una Métrica Funcional Estándar

Una vez que tengo el tamaño de un SW, entonces puedo utilizar ese dato para distintos propósitos. La Una vez que tengo el tamaño de un SW, entonces puedo utilizar ese dato para distintos propósitos. La siguiente lista es más enunciativa que limitativa.siguiente lista es más enunciativa que limitativa.

Desarrollo de Software II – Universidad del Valle 2005Desarrollo de Software II – Universidad del Valle 2005

Page 19: ESTIMACION DE COSTOS Expositores: José Alejandro Benítez A. - 0126277 Sandra Milena Ruiz. - 0210905 Catherine Ramírez C. - 0232029 Rosa Marcela Viteri.

Usos de una Métrica Funcional Estándar Usos de una Métrica Funcional Estándar (cont.)(cont.) • Administrar la productividad Administrar la productividad • Administración de calidad Administración de calidad • ComparabilidadComparabilidad• Administración de proyectos Administración de proyectos • Administrar los cambios en el alcance Administrar los cambios en el alcance • Estimar la adecuación de un paqueteEstimar la adecuación de un paquete• Valuar el SW de una organización Valuar el SW de una organización • Estimar los recursos para un proyecto Estimar los recursos para un proyecto • Presupuestar el mantenimiento Presupuestar el mantenimiento • Administrar contratosAdministrar contratos

Desarrollo de Software II – Universidad del Valle 2005Desarrollo de Software II – Universidad del Valle 2005

Page 20: ESTIMACION DE COSTOS Expositores: José Alejandro Benítez A. - 0126277 Sandra Milena Ruiz. - 0210905 Catherine Ramírez C. - 0232029 Rosa Marcela Viteri.

CATEGORIA DE UN PROYECTOCATEGORIA DE UN PROYECTO

Grandes SOGrandes SO100k – 1M100k – 1M4 – 54 – 5

AñosAños

100 - 1000100 - 1000MuyMuy

GrandeGrande

Sistema deSistema de

DistribuciónDistribución> 1M> 1M5 – 105 – 10

añosaños

1000 - 50001000 - 5000GiganteGigante

SO pequeñoSO pequeño50k – 100k50k – 100k2 – 32 – 3

añosaños

5 - 205 - 20GrandeGrande

Compilador de Compilador de CC

3k – 50k3k – 50k½½ - 2 - 2

añosaños

2 - 52 - 5MediaMedia

Biblioteca de Biblioteca de funcionesfunciones

1k – 3k1k – 3k1 – 61 – 6

MesesMeses

11PequeñoPequeño

Utilidad de Utilidad de ordenaciónordenación

< 1k< 1k0 – 40 – 4

semanassemanas

11TrivialTrivial

EjemploEjemploLíneas deLíneas de

CódigoCódigo

DuraciónDuraciónProgramadoresProgramadoresCategoríaCategoría

Desarrollo de Software II – Universidad del Valle 2005Desarrollo de Software II – Universidad del Valle 2005

Page 21: ESTIMACION DE COSTOS Expositores: José Alejandro Benítez A. - 0126277 Sandra Milena Ruiz. - 0210905 Catherine Ramírez C. - 0232029 Rosa Marcela Viteri.

CARACTERISTICAS QUE DEBE POSEER UN CARACTERISTICAS QUE DEBE POSEER UN MODELO DE ESTIMACIONMODELO DE ESTIMACION

a.a. Poder adaptarse a la productividad de la Poder adaptarse a la productividad de la organización.organización.

b.b. Considerar el costo de comunicación entre Considerar el costo de comunicación entre personas. personas.

c.c. Incorporar guías útiles para estimar aquellos Incorporar guías útiles para estimar aquellos parámetros que son subjetivos o no se deducen parámetros que son subjetivos o no se deducen en forma explícita a partir del modelo. en forma explícita a partir del modelo.

d.d. Usable. Usable.

Desarrollo de Software II – Universidad del Valle 2005Desarrollo de Software II – Universidad del Valle 2005

Page 22: ESTIMACION DE COSTOS Expositores: José Alejandro Benítez A. - 0126277 Sandra Milena Ruiz. - 0210905 Catherine Ramírez C. - 0232029 Rosa Marcela Viteri.

e. Constar de etapas simples de entender y e. Constar de etapas simples de entender y definidas en forma precisa. definidas en forma precisa.

f. Objetivo. f. Objetivo.

g. Costo efectivo. g. Costo efectivo.

h. Proveer medios para adaptarse a cambios en el h. Proveer medios para adaptarse a cambios en el ambiente de desarrollo. ambiente de desarrollo.

i. Permitir una estimación temprana, disminuyendo i. Permitir una estimación temprana, disminuyendo el costo de obtener registros de proyectos el costo de obtener registros de proyectos terminados en la organización.terminados en la organización.

Desarrollo de Software II – Universidad del Valle 2005Desarrollo de Software II – Universidad del Valle 2005

Page 23: ESTIMACION DE COSTOS Expositores: José Alejandro Benítez A. - 0126277 Sandra Milena Ruiz. - 0210905 Catherine Ramírez C. - 0232029 Rosa Marcela Viteri.

ESTIMACION JERARQUICAESTIMACION JERARQUICAHACIA ARRIBAHACIA ARRIBA

Estima los costos globales a partir de los de las Estima los costos globales a partir de los de las partespartes

Ejemplo:Ejemplo: Un proyecto de un juego se compara con Un proyecto de un juego se compara con una simulación hecha anteriormenteuna simulación hecha anteriormente

Simulación: tiene una cola de 120 a 400 líneasSimulación: tiene una cola de 120 a 400 líneas

Nuestro Juego: tiene de 4 a 15 colas de este tipoNuestro Juego: tiene de 4 a 15 colas de este tipo

Desarrollo de Software II – Universidad del Valle 2005Desarrollo de Software II – Universidad del Valle 2005

Page 24: ESTIMACION DE COSTOS Expositores: José Alejandro Benítez A. - 0126277 Sandra Milena Ruiz. - 0210905 Catherine Ramírez C. - 0232029 Rosa Marcela Viteri.

ESTIMACION JERARQUICAESTIMACION JERARQUICAHACIA ABAJOHACIA ABAJO

Estima los costos de las partes a partir de Estima los costos de las partes a partir de los costos globales.los costos globales.

Ejemplo: Nuestro juego se compara con otro Ejemplo: Nuestro juego se compara con otro juego muy buenojuego muy bueno

Desarrollo de Software II – Universidad del Valle 2005Desarrollo de Software II – Universidad del Valle 2005

Page 25: ESTIMACION DE COSTOS Expositores: José Alejandro Benítez A. - 0126277 Sandra Milena Ruiz. - 0210905 Catherine Ramírez C. - 0232029 Rosa Marcela Viteri.

MODELO COCOMOMODELO COCOMO

Constructive Cost Model, desarrollado por Constructive Cost Model, desarrollado por BoehmBoehm

Usa el número de líneas de código (LDC) Usa el número de líneas de código (LDC) para estimar la mano de obra y la duración para estimar la mano de obra y la duración de desarrollo.de desarrollo.

Un producto se debe comparar con otros Un producto se debe comparar con otros para estimar el numero de líneas de código.para estimar el numero de líneas de código.

Desarrollo de Software II – Universidad del Valle 2005Desarrollo de Software II – Universidad del Valle 2005

Page 26: ESTIMACION DE COSTOS Expositores: José Alejandro Benítez A. - 0126277 Sandra Milena Ruiz. - 0210905 Catherine Ramírez C. - 0232029 Rosa Marcela Viteri.

JERARQUIA DE MODELOS JERARQUIA DE MODELOS COCOMOCOCOMO

Básico, Intermedio y avanzado.Básico, Intermedio y avanzado.

Se aplica a tres diferentes tipos de software:Se aplica a tres diferentes tipos de software:

Orgánico : proyectos sencillosOrgánico : proyectos sencillos

Semiacoplado: proyectos intermediosSemiacoplado: proyectos intermedios

Empotrado: proyectos bastante complejosEmpotrado: proyectos bastante complejos

Desarrollo de Software II – Universidad del Valle 2005Desarrollo de Software II – Universidad del Valle 2005

Page 27: ESTIMACION DE COSTOS Expositores: José Alejandro Benítez A. - 0126277 Sandra Milena Ruiz. - 0210905 Catherine Ramírez C. - 0232029 Rosa Marcela Viteri.

MODELO BASICOMODELO BASICO

Estimar de manera rápida y sencilla proyectos Estimar de manera rápida y sencilla proyectos pequeños y medianospequeños y medianos

E = Esfuerzo = a KLDC personas-mesE = Esfuerzo = a KLDC personas-mes

T = Tiempo de duración de desarrollo = c E T = Tiempo de duración de desarrollo = c E

b

d

0,320,322,52,51,201,203,63,6EmpotradoEmpotrado

0,350,352,52,51,121,123,03,0SemiacopladoSemiacoplado

0,380,382,52,51,051,052,42,4OrgánicoOrgánico

ddcc

aaProyecto de softwareProyecto de software b

Desarrollo de Software II – Universidad del Valle 2005Desarrollo de Software II – Universidad del Valle 2005

Page 28: ESTIMACION DE COSTOS Expositores: José Alejandro Benítez A. - 0126277 Sandra Milena Ruiz. - 0210905 Catherine Ramírez C. - 0232029 Rosa Marcela Viteri.

MODELO INTERMEDIOMODELO INTERMEDIO

Calcula el esfuerzo de desarrollo de software en Calcula el esfuerzo de desarrollo de software en función del tamaño del programa y de los función del tamaño del programa y de los atributos del proyecto.atributos del proyecto.

Se tienen 15 atributos de costo para tener en Se tienen 15 atributos de costo para tener en cuenta el entorno de trabajocuenta el entorno de trabajo

E = Esfuerzo = a KLDC m(x) personas-mesE = Esfuerzo = a KLDC m(x) personas-mes

m(x) es un multiplicador que depende de los 15 atributosm(x) es un multiplicador que depende de los 15 atributos

b

Desarrollo de Software II – Universidad del Valle 2005Desarrollo de Software II – Universidad del Valle 2005

Page 29: ESTIMACION DE COSTOS Expositores: José Alejandro Benítez A. - 0126277 Sandra Milena Ruiz. - 0210905 Catherine Ramírez C. - 0232029 Rosa Marcela Viteri.

Para los tres modos: Para los tres modos: Orgánico, Semiacoplado y Empotrado Orgánico, Semiacoplado y Empotrado

se utilizan las mismas ecuaciones que en el se utilizan las mismas ecuaciones que en el modelo básico pero variando los coeficientes a modelo básico pero variando los coeficientes a y b:y b:

Según la Tabla:Según la Tabla:

1,201,202,82,8EmpotradoEmpotrado

1,121,123,03,0SemiacopladoSemiacoplado

1,051,053,23,2OrgánicoOrgánico

aaProyecto de softwareProyecto de software b

Desarrollo de Software II – Universidad del Valle 2005Desarrollo de Software II – Universidad del Valle 2005

Page 30: ESTIMACION DE COSTOS Expositores: José Alejandro Benítez A. - 0126277 Sandra Milena Ruiz. - 0210905 Catherine Ramírez C. - 0232029 Rosa Marcela Viteri.

Los 15 atributos de costo son:Los 15 atributos de costo son:Cada atributo se cuantifica para un entorno de proyecto la escala es:Cada atributo se cuantifica para un entorno de proyecto la escala es:Muy bajo – bajo – nominal – alto – muy alto – extremadamente altoMuy bajo – bajo – nominal – alto – muy alto – extremadamente alto

Atributos del Producto:Atributos del Producto:RELYRELY: Garantía de funcionamiento requerida al software: Garantía de funcionamiento requerida al software

DATA:DATA: Tamaño de la base de datos Tamaño de la base de datos

CPLX:CPLX: Complejidad del Producto Complejidad del Producto

Atributos del Ordenador:Atributos del Ordenador:TIME:TIME: Restricción de tiempo de ejecución Restricción de tiempo de ejecución

STOR:STOR: Restricción del almacenamiento principal Restricción del almacenamiento principal

VIRT:VIRT: Volatilidad de la maquina virtual Volatilidad de la maquina virtual

TURN:TURN: Tiempo de respuesta del ordenador Tiempo de respuesta del ordenador

Desarrollo de Software II – Universidad del Valle 2005Desarrollo de Software II – Universidad del Valle 2005

Page 31: ESTIMACION DE COSTOS Expositores: José Alejandro Benítez A. - 0126277 Sandra Milena Ruiz. - 0210905 Catherine Ramírez C. - 0232029 Rosa Marcela Viteri.

Atributos del Personal:Atributos del Personal:ACAP: ACAP: Capacidad del analistaCapacidad del analista

AEXP: AEXP: Experiencia de la aplicaciónExperiencia de la aplicación

PCAP: PCAP: Capacidad del programadorCapacidad del programador

VEXP: VEXP: Experiencia de maquina virtualExperiencia de maquina virtual

LEXP: LEXP: Experiencia en el lenguaje de programaciónExperiencia en el lenguaje de programación

Atributos del ProyectoAtributos del Proyecto::

MODP:MODP: Prácticas de programación modernas Prácticas de programación modernas

TOOL:TOOL: Utilización de herramientas del software Utilización de herramientas del software

SCED:SCED: Plan de desarrollo requerido - tiempo Plan de desarrollo requerido - tiempo

Desarrollo de Software II – Universidad del Valle 2005Desarrollo de Software II – Universidad del Valle 2005

Page 32: ESTIMACION DE COSTOS Expositores: José Alejandro Benítez A. - 0126277 Sandra Milena Ruiz. - 0210905 Catherine Ramírez C. - 0232029 Rosa Marcela Viteri.

MODELO AVANZADOMODELO AVANZADOTiene las características del modelo Tiene las características del modelo intermedio y evalúa en cada etapa de intermedio y evalúa en cada etapa de desarrollo los atributos.desarrollo los atributos.

Tiene 2 características:Tiene 2 características:

Multiplicadores de esfuerzo de acuerdo a la Multiplicadores de esfuerzo de acuerdo a la fasefase

Jerarquía del producto a tres niveles: Jerarquía del producto a tres niveles: modulo, subsistema y sistema.modulo, subsistema y sistema.

Desarrollo de Software II – Universidad del Valle 2005Desarrollo de Software II – Universidad del Valle 2005

Page 33: ESTIMACION DE COSTOS Expositores: José Alejandro Benítez A. - 0126277 Sandra Milena Ruiz. - 0210905 Catherine Ramírez C. - 0232029 Rosa Marcela Viteri.

Las 4 fases de desarrollo son:Las 4 fases de desarrollo son:Requerimientos: Requerimientos:

consume : 6 % al 8 % de Econsume : 6 % al 8 % de E Y dura: 10 % al 40 % de TY dura: 10 % al 40 % de T

Diseño:Diseño:consume : 16 % al 18 % de Econsume : 16 % al 18 % de E

Y dura: 19 % al 38 % de TY dura: 19 % al 38 % de T

Codificación:Codificación:consume : 48 % al 68 % de Econsume : 48 % al 68 % de E

Y dura: 24 % al 64 % de TY dura: 24 % al 64 % de T

Pruebas:Pruebas:consume : 16 % al 34 % de Econsume : 16 % al 34 % de E

Y dura: 18 % al 34 % de TY dura: 18 % al 34 % de T

Desarrollo de Software II – Universidad del Valle 2005Desarrollo de Software II – Universidad del Valle 2005

Page 34: ESTIMACION DE COSTOS Expositores: José Alejandro Benítez A. - 0126277 Sandra Milena Ruiz. - 0210905 Catherine Ramírez C. - 0232029 Rosa Marcela Viteri.

El Esfuerzo se obtieneEl Esfuerzo se obtiene

A través de:A través de:

Seleccionar los valores apropiados de los Seleccionar los valores apropiados de los atributos de costo para cada faseatributos de costo para cada fase

2. Multiplicar los atributos de costo para cada 2. Multiplicar los atributos de costo para cada modulo o fase.modulo o fase.

3. Multiplicar los atributos globales por el 3. Multiplicar los atributos globales por el esfuerzo nominalesfuerzo nominal

Desarrollo de Software II – Universidad del Valle 2005Desarrollo de Software II – Universidad del Valle 2005

Page 35: ESTIMACION DE COSTOS Expositores: José Alejandro Benítez A. - 0126277 Sandra Milena Ruiz. - 0210905 Catherine Ramírez C. - 0232029 Rosa Marcela Viteri.

La Métrica de Puntos FunciónLa Métrica de Puntos Función Esta métrica se define como una métrica funcional, Esta métrica se define como una métrica funcional, dado que se enfoca a la funcionalidad que el SW dado que se enfoca a la funcionalidad que el SW proporciona al usuario.proporciona al usuario.

Es una métrica para establecer el tamaño y complejidad Es una métrica para establecer el tamaño y complejidad de los sistemas informáticos basada en la cantidad de de los sistemas informáticos basada en la cantidad de funcionalidad requerida y entregada a los usuarios. funcionalidad requerida y entregada a los usuarios.

Los Puntos Función miden el tamaño lógico o funcional Los Puntos Función miden el tamaño lógico o funcional de los proyectos o aplicaciones de software basados en de los proyectos o aplicaciones de software basados en los requerimientos funcionales del usuariolos requerimientos funcionales del usuario..

FUNCIONALIDAD – se refiere a la capacidad del SW para que un usuario pueda realizar FUNCIONALIDAD – se refiere a la capacidad del SW para que un usuario pueda realizar transacciones (lectura, escritura, etc.) y el guardar datos. Si analizamos a detalle, con estos transacciones (lectura, escritura, etc.) y el guardar datos. Si analizamos a detalle, con estos elementos podemos describir cualquier sistema elementos podemos describir cualquier sistema

Desarrollo de Software II – Universidad del Valle 2005Desarrollo de Software II – Universidad del Valle 2005

Page 36: ESTIMACION DE COSTOS Expositores: José Alejandro Benítez A. - 0126277 Sandra Milena Ruiz. - 0210905 Catherine Ramírez C. - 0232029 Rosa Marcela Viteri.

Estándar Internacional ISOEstándar Internacional ISO

La medición de la funcionalidad con la que cuenta un La medición de la funcionalidad con la que cuenta un sistema informático ha sido desde hace años una sistema informático ha sido desde hace años una preocupación de la industria. preocupación de la industria.

No es suficiente contar con una métrica, sino que sea No es suficiente contar con una métrica, sino que sea estándar para así poderla usar entre empresas o para estándar para así poderla usar entre empresas o para tener indicadores a nivel industria que todos puedan tener indicadores a nivel industria que todos puedan entender y operar. entender y operar.

El poder comparar la productividad (Puntos Función por El poder comparar la productividad (Puntos Función por Persona Mes) de una empresa con los datos de la Persona Mes) de una empresa con los datos de la industria, es fundamental en los planes de mejora.industria, es fundamental en los planes de mejora.

Desarrollo de Software II – Universidad del Valle 2005Desarrollo de Software II – Universidad del Valle 2005

Page 37: ESTIMACION DE COSTOS Expositores: José Alejandro Benítez A. - 0126277 Sandra Milena Ruiz. - 0210905 Catherine Ramírez C. - 0232029 Rosa Marcela Viteri.

ISO/IEC 14143 ISO/IEC 14143 – – Information Technology – Software Information Technology – Software Measurement – Functional Size MeasurementMeasurement – Functional Size Measurement. .

Este estándar define los conceptos de una métrica de tamaño Este estándar define los conceptos de una métrica de tamaño basada en la funcionalidad y las características que debe cumplir basada en la funcionalidad y las características que debe cumplir un método para poder estar homologado al estándar y ser un método para poder estar homologado al estándar y ser considerado una medida del tamaño de la funcionalidad.considerado una medida del tamaño de la funcionalidad.

Para poder establecer la cantidad de puntos función que tiene una Para poder establecer la cantidad de puntos función que tiene una aplicación, existen varios métodos de conteo. aplicación, existen varios métodos de conteo.

En general todos estos métodos establecen un conteo basado en la En general todos estos métodos establecen un conteo basado en la identificación del tipo de funciones que tiene la aplicación, y a cada identificación del tipo de funciones que tiene la aplicación, y a cada una le asocia un número de puntos función tomando en cuenta su una le asocia un número de puntos función tomando en cuenta su complejidad. complejidad.

Un sistema en tiempo real tiene una complejidad muy distinta a un Un sistema en tiempo real tiene una complejidad muy distinta a un sistema tradicional de negocio, o a un sistema operativo o a una sistema tradicional de negocio, o a un sistema operativo o a una aplicación científica que realiza muchos cálculos, pero el resultado aplicación científica que realiza muchos cálculos, pero el resultado puede ser un solo dato. puede ser un solo dato.

Desarrollo de Software II – Universidad del Valle 2005Desarrollo de Software II – Universidad del Valle 2005

Page 38: ESTIMACION DE COSTOS Expositores: José Alejandro Benítez A. - 0126277 Sandra Milena Ruiz. - 0210905 Catherine Ramírez C. - 0232029 Rosa Marcela Viteri.

ISO 14143 ISO 14143 ISO/IEC 20926:2003 ISO/IEC 20926:2003

IFPUG IFPUG 4.1 Unadjusted functional size measurement 4.1 Unadjusted functional size measurement methodmethod. “. “Metodo de medida de tamaño funcional sin Metodo de medida de tamaño funcional sin ajustar.”ajustar.”

Este método ha sido definido por el Este método ha sido definido por el International International Function Point Users Group Function Point Users Group (IFPUG13) y evolucionado (IFPUG13) y evolucionado es el más conocido y más utilizado, sobre todo en es el más conocido y más utilizado, sobre todo en Estados Unidos que es el mercado más grande de SW. Estados Unidos que es el mercado más grande de SW.

Esto es muy importante porque se está convirtiendo Esto es muy importante porque se está convirtiendo de de facto facto en el estándar de la industria. en el estándar de la industria.

Desarrollo de Software II – Universidad del Valle 2005Desarrollo de Software II – Universidad del Valle 2005

Page 39: ESTIMACION DE COSTOS Expositores: José Alejandro Benítez A. - 0126277 Sandra Milena Ruiz. - 0210905 Catherine Ramírez C. - 0232029 Rosa Marcela Viteri.

NESMA NESMA -- Function Point Analysis-- Function Point Analysis. . Análisis Análisis de Punto de funciónde Punto de función

Estándar definido por la Estándar definido por la Netherlands Netherlands Software Metrics Users AssociationSoftware Metrics Users Association..

Esta es una pequeña variante del método del Esta es una pequeña variante del método del IFPUG.IFPUG.

ISO 14143 ISO 14143 ISO/IEC 24570ISO/IEC 24570

Desarrollo de Software II – Universidad del Valle 2005Desarrollo de Software II – Universidad del Valle 2005

Page 40: ESTIMACION DE COSTOS Expositores: José Alejandro Benítez A. - 0126277 Sandra Milena Ruiz. - 0210905 Catherine Ramírez C. - 0232029 Rosa Marcela Viteri.

ISO 14143 ISO 14143 ISO/IEC 20968:2002ISO/IEC 20968:2002

Mk II Mk II Function Point AnalysisFunction Point Analysis. . II Análisis de II Análisis de Punto de Función. Punto de Función.

Este método ha sido desarrollado por la Este método ha sido desarrollado por la United United Kingdom Software Metrics Association.Kingdom Software Metrics Association.

Simplificando el método y haciéndolo compatible Simplificando el método y haciéndolo compatible con ideas de análisis y diseño estructurado. con ideas de análisis y diseño estructurado.

Desarrollo de Software II – Universidad del Valle 2005Desarrollo de Software II – Universidad del Valle 2005

Page 41: ESTIMACION DE COSTOS Expositores: José Alejandro Benítez A. - 0126277 Sandra Milena Ruiz. - 0210905 Catherine Ramírez C. - 0232029 Rosa Marcela Viteri.

ISO 14143 ISO 14143 ISO/IEC 19761:2003ISO/IEC 19761:2003

COSMIC-FFP COSMIC-FFP -- A functional size measurement method-- A functional size measurement method. . Un método de medida de tamaño funcional.Un método de medida de tamaño funcional.

Este método ha sido definido por el Common Software Este método ha sido definido por el Common Software Measurement International Consortium, integrado por Measurement International Consortium, integrado por expertos de Australia, Canadá, Finlandia, Alemania, expertos de Australia, Canadá, Finlandia, Alemania, Irlanda, Italia Japón, Holanda y el Reino Unido.Irlanda, Italia Japón, Holanda y el Reino Unido.

La idea principal es adecuarse mejor a la medición de La idea principal es adecuarse mejor a la medición de sistemas en tiempo real.sistemas en tiempo real.

Desarrollo de Software II – Universidad del Valle 2005Desarrollo de Software II – Universidad del Valle 2005

Page 42: ESTIMACION DE COSTOS Expositores: José Alejandro Benítez A. - 0126277 Sandra Milena Ruiz. - 0210905 Catherine Ramírez C. - 0232029 Rosa Marcela Viteri.

El Método Estándar Análisis de El Método Estándar Análisis de Puntos FunciónPuntos Función

El método que se está convirtiendo en el estándar de El método que se está convirtiendo en el estándar de la industria es el definido por el IFPUG.la industria es el definido por el IFPUG.

Este método utiliza como unidad de medida puntos Este método utiliza como unidad de medida puntos función y su versión actual es la 4.1.1.función y su versión actual es la 4.1.1.

El método se basa principalmente en la identificación El método se basa principalmente en la identificación de los componentes del sistema informático en de los componentes del sistema informático en términos de transacciones y grupos de datos lógicos términos de transacciones y grupos de datos lógicos que son relevantes para el usuario en su negocio. que son relevantes para el usuario en su negocio.

Desarrollo de Software II – Universidad del Valle 2005Desarrollo de Software II – Universidad del Valle 2005

Page 43: ESTIMACION DE COSTOS Expositores: José Alejandro Benítez A. - 0126277 Sandra Milena Ruiz. - 0210905 Catherine Ramírez C. - 0232029 Rosa Marcela Viteri.

ProcedimientoProcedimiento

Paso 1. Determinar el tipo de conteoPaso 1. Determinar el tipo de conteoEste paso consiste en definir el tipo de conteo entre Este paso consiste en definir el tipo de conteo entre desarrollo, mantenimiento o de una aplicación ya desarrollo, mantenimiento o de una aplicación ya instalada. instalada.

Desarrollo de Software II – Universidad del Valle 2005Desarrollo de Software II – Universidad del Valle 2005

Page 44: ESTIMACION DE COSTOS Expositores: José Alejandro Benítez A. - 0126277 Sandra Milena Ruiz. - 0210905 Catherine Ramírez C. - 0232029 Rosa Marcela Viteri.

ProcedimientoProcedimientoPaso 2. Identificar los alcances de la medición y los Paso 2. Identificar los alcances de la medición y los

límites de la aplicación.límites de la aplicación.• El propósito de una medición consiste en dar una El propósito de una medición consiste en dar una

respuesta a un problema de negocio. respuesta a un problema de negocio.

Desarrollo de Software II – Universidad del Valle 2005Desarrollo de Software II – Universidad del Valle 2005

Page 45: ESTIMACION DE COSTOS Expositores: José Alejandro Benítez A. - 0126277 Sandra Milena Ruiz. - 0210905 Catherine Ramírez C. - 0232029 Rosa Marcela Viteri.

ProcedimientoProcedimientoPaso 3. Contar las funciones de datosPaso 3. Contar las funciones de datos● Este paso consiste en identificar y contar la capacidad de Este paso consiste en identificar y contar la capacidad de

almacenamiento de los datos. almacenamiento de los datos.

Paso 4. Contar las funciones transaccionales.Paso 4. Contar las funciones transaccionales.● Este paso consiste en identificar y contar la capacidad de Este paso consiste en identificar y contar la capacidad de

realizar operaciones.realizar operaciones.

Desarrollo de Software II – Universidad del Valle 2005Desarrollo de Software II – Universidad del Valle 2005

Page 46: ESTIMACION DE COSTOS Expositores: José Alejandro Benítez A. - 0126277 Sandra Milena Ruiz. - 0210905 Catherine Ramírez C. - 0232029 Rosa Marcela Viteri.

ProcedimientoProcedimientoPaso 5. Determinar los puntos de función no ajustados.Paso 5. Determinar los puntos de función no ajustados.

Este paso consiste en sumar el número de componentes de Este paso consiste en sumar el número de componentes de cada tipo conforme a la complejidad asignada y utilizar la cada tipo conforme a la complejidad asignada y utilizar la siguiente tabla para obtener el total.siguiente tabla para obtener el total.

Desarrollo de Software II – Universidad del Valle 2005Desarrollo de Software II – Universidad del Valle 2005

Page 47: ESTIMACION DE COSTOS Expositores: José Alejandro Benítez A. - 0126277 Sandra Milena Ruiz. - 0210905 Catherine Ramírez C. - 0232029 Rosa Marcela Viteri.

ProcedimientoProcedimiento

Paso 6. Determinar el valor del factor de ajuste.Paso 6. Determinar el valor del factor de ajuste.El factor de ajuste se obtiene sumando 0.65 a la El factor de ajuste se obtiene sumando 0.65 a la sumatoria de los grados de influencia de las 14 sumatoria de los grados de influencia de las 14 características generales del sistema, multiplicado por características generales del sistema, multiplicado por 0.01. 0.01.

Paso 7. Determinar los puntos función ajustados.Paso 7. Determinar los puntos función ajustados.

Para determinar los puntos función ajustados se Para determinar los puntos función ajustados se consideran los puntos función no ajustados por el consideran los puntos función no ajustados por el factor de ajuste.factor de ajuste.

Desarrollo de Software II – Universidad del Valle 2005Desarrollo de Software II – Universidad del Valle 2005

Page 48: ESTIMACION DE COSTOS Expositores: José Alejandro Benítez A. - 0126277 Sandra Milena Ruiz. - 0210905 Catherine Ramírez C. - 0232029 Rosa Marcela Viteri.

El alcance de la métricaEl alcance de la métricaCualquier métrica tiene un ámbito de acción y Cualquier métrica tiene un ámbito de acción y alcance definido que hay que entender pasa alcance definido que hay que entender pasa usarla correctamente. usarla correctamente.

Así por ejemplo, Así por ejemplo, el metro lineal no es lo mejor para el metro lineal no es lo mejor para medir grandes distancias en el marmedir grandes distancias en el mar..

Puntos Función, está enfocado a medir sistemas Puntos Función, está enfocado a medir sistemas informáticos completos, no programas.informáticos completos, no programas.

En este sentido no tiene un nivel de precisión suficiente En este sentido no tiene un nivel de precisión suficiente para medir el tamaño de programas individuales.para medir el tamaño de programas individuales.

Desarrollo de Software II – Universidad del Valle 2005Desarrollo de Software II – Universidad del Valle 2005

Page 49: ESTIMACION DE COSTOS Expositores: José Alejandro Benítez A. - 0126277 Sandra Milena Ruiz. - 0210905 Catherine Ramírez C. - 0232029 Rosa Marcela Viteri.

El alcance de la métricaEl alcance de la métrica

Un punto que se le ha criticado a las métricas funcionales es que Un punto que se le ha criticado a las métricas funcionales es que requieren que alguien “identifique” la funcionalidad y “evalúe” la requieren que alguien “identifique” la funcionalidad y “evalúe” la complejidad basándose en los criterios y reglas establecidas; no complejidad basándose en los criterios y reglas establecidas; no puedo hacer un programa que cuente automáticamente. puedo hacer un programa que cuente automáticamente.

Debido a esto, distintas personas podrían llegar a un conteo diferente.Debido a esto, distintas personas podrían llegar a un conteo diferente.

En la industria del SW tanto desarrolladores como compradores, En la industria del SW tanto desarrolladores como compradores, requiere mejores prácticas. Las métricas son un elemento requiere mejores prácticas. Las métricas son un elemento fundamental de control en cualquier ingeniería y aquí no son la fundamental de control en cualquier ingeniería y aquí no son la excepción.excepción.

El tamaño del SW es un determinante fundamental en el esfuerzo de un El tamaño del SW es un determinante fundamental en el esfuerzo de un proyecto de desarrollo de SW al igual que para la adquisición de un proyecto de desarrollo de SW al igual que para la adquisición de un paquete.paquete.

Desarrollo de Software II – Universidad del Valle 2005Desarrollo de Software II – Universidad del Valle 2005

Page 50: ESTIMACION DE COSTOS Expositores: José Alejandro Benítez A. - 0126277 Sandra Milena Ruiz. - 0210905 Catherine Ramírez C. - 0232029 Rosa Marcela Viteri.

Estimación Temprana del Tamaño del Estimación Temprana del Tamaño del SoftwareSoftware

Para realizar la planificación de un proyecto software, es Para realizar la planificación de un proyecto software, es necesario poseer una estimación certera del esfuerzo necesario necesario poseer una estimación certera del esfuerzo necesario para el desarrollo lo más temprano posible, idealmente, con para el desarrollo lo más temprano posible, idealmente, con sólo la etapa de especificación de requisitos cubierta.sólo la etapa de especificación de requisitos cubierta.

De una "buena" especificación de requisitos se pueden obtener De una "buena" especificación de requisitos se pueden obtener las características de la aplicación a desarrollar, antes de que las características de la aplicación a desarrollar, antes de que comience el desarrollo del software. Si a partir de estas comience el desarrollo del software. Si a partir de estas características se puede obtener una estimación del tamaño del características se puede obtener una estimación del tamaño del software, se tendría una estimación temprana del tamaño del software, se tendría una estimación temprana del tamaño del mismo. mismo.

Una estimación temprana sería útil para generar la Una estimación temprana sería útil para generar la planificación del proyecto, la cual podría corregirse con el planificación del proyecto, la cual podría corregirse con el apoyo de las técnicas basadas en los puntos de función o líneas apoyo de las técnicas basadas en los puntos de función o líneas de código en etapas más avanzadas del desarrollo. de código en etapas más avanzadas del desarrollo.

Desarrollo de Software II – Universidad del Valle 2005Desarrollo de Software II – Universidad del Valle 2005

Page 51: ESTIMACION DE COSTOS Expositores: José Alejandro Benítez A. - 0126277 Sandra Milena Ruiz. - 0210905 Catherine Ramírez C. - 0232029 Rosa Marcela Viteri.

Métrica para Estimación Temprana del Tamaño del Software.Métrica para Estimación Temprana del Tamaño del Software.

Para poder realizar una estimación temprana, se propone la Para poder realizar una estimación temprana, se propone la utilización de la utilización de la

métrica de puntos de función modificada. métrica de puntos de función modificada.

• Este método consiste en clasificar, listar y contar a partir de la Este método consiste en clasificar, listar y contar a partir de la especificación de requisitos todos los componentes, desagregados especificación de requisitos todos los componentes, desagregados en: en:

a.a. Entradas Externas. Entradas Externas. b. Salidas Externas b. Salidas Externas c. Archivos Lógicos c. Archivos Lógicos d. Consultas. d. Consultas.

• En el método original además se consideraba la clasificación En el método original además se consideraba la clasificación Archivos de Interfaces externos, los cuales son utilizados para la Archivos de Interfaces externos, los cuales son utilizados para la comunicación entre aplicaciones. Debido a que a esta altura del comunicación entre aplicaciones. Debido a que a esta altura del desarrollo difícilmente se puede contar con esta información, se desarrollo difícilmente se puede contar con esta información, se ha eliminado. En caso de ser obvia la necesidad de contar con un ha eliminado. En caso de ser obvia la necesidad de contar con un archivo de interfaces, éste debe cuantificarse como un archivo archivo de interfaces, éste debe cuantificarse como un archivo lógico más. lógico más.

Desarrollo de Software II – Universidad del Valle 2005Desarrollo de Software II – Universidad del Valle 2005

Page 52: ESTIMACION DE COSTOS Expositores: José Alejandro Benítez A. - 0126277 Sandra Milena Ruiz. - 0210905 Catherine Ramírez C. - 0232029 Rosa Marcela Viteri.

Métrica para Estimación Temprana del Tamaño del Software (cont.)Métrica para Estimación Temprana del Tamaño del Software (cont.)

Para resolver el problema de determinar la complejidad asociada a cada componente de la Para resolver el problema de determinar la complejidad asociada a cada componente de la aplicación (difícil de conocer en esta etapa), se ha optado por asignar a todos los componentes una aplicación (difícil de conocer en esta etapa), se ha optado por asignar a todos los componentes una complejidad promedio. Esta es una aproximación válida, debido a que normalmente "en media" complejidad promedio. Esta es una aproximación válida, debido a que normalmente "en media" las aplicaciones son de complejidad promedio, teniendo sólo unos pocos componentes de las aplicaciones son de complejidad promedio, teniendo sólo unos pocos componentes de

complejidad simple y otros complejos.complejidad simple y otros complejos.

De este modo, la fórmula para obtener los puntos de función para De este modo, la fórmula para obtener los puntos de función para estimación temprana (PFET) es la siguiente: estimación temprana (PFET) es la siguiente:

Donde Donde

PFET : Puntos de función para estimación temprana. PFET : Puntos de función para estimación temprana. IN : Número de Entradas Externas IN : Número de Entradas Externas OUT : Número de Salidas Externas OUT : Número de Salidas Externas INQ : Número de Consultas INQ : Número de Consultas FILE : Número de Archivos Lógicos FILE : Número de Archivos Lógicos ACP : Factor de Ajuste de Complejidad de Proceso ACP : Factor de Ajuste de Complejidad de Proceso

Desarrollo de Software II – Universidad del Valle 2005Desarrollo de Software II – Universidad del Valle 2005

Page 53: ESTIMACION DE COSTOS Expositores: José Alejandro Benítez A. - 0126277 Sandra Milena Ruiz. - 0210905 Catherine Ramírez C. - 0232029 Rosa Marcela Viteri.

Estimación basada en el ProcesoEstimación basada en el Proceso

Es la técnica más común para estimar un proyecto es basar la estimación en el 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 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 conjunto relativamente pequeño de actividades o tareas, y en el esfuerzo requerido para llevar a cabo la estimación de cada tarea.requerido para llevar a cabo la estimación de cada tarea.

Al igual que las técnicas basadas en problemas, la estimación basada en el Al igual que las técnicas basadas en problemas, la estimación basada en el proceso comienza en una delineación de las funciones del software obtenidas proceso comienza en una delineación de las funciones del software obtenidas a partir del ámbito del proyecto. Se mezclan las funciones del problema y las a partir del ámbito del proyecto. Se mezclan las funciones del problema y las actividades del proceso. actividades del proceso.

Como ultimo paso se calculan los costos y el esfuerzo de cada función y la Como ultimo paso se calculan los costos y el esfuerzo de cada función y la actividad del proceso de software.actividad del proceso de software.

Desarrollo de Software II – Universidad del Valle 2005Desarrollo de Software II – Universidad del Valle 2005

Page 54: ESTIMACION DE COSTOS Expositores: José Alejandro Benítez A. - 0126277 Sandra Milena Ruiz. - 0210905 Catherine Ramírez C. - 0232029 Rosa Marcela Viteri.

Método DelphiMétodo DelphiIntroducciónIntroducción

Las organizaciones tienen como objetivo, tanto obtenerLas organizaciones tienen como objetivo, tanto obtenerlos mayores beneficios económicos, como ser capaceslos mayores beneficios económicos, como ser capacesde existir el mayor tiempo posible. Para ello realizande existir el mayor tiempo posible. Para ello realizanun plan estratégico donde deben conocer el entorno un plan estratégico donde deben conocer el entorno en el que se desarrolla la actividad, los peligros que laen el que se desarrolla la actividad, los peligros que laamenazan y las oportunidades que aparecen.amenazan y las oportunidades que aparecen.

Para ello, los métodos de prospectiva estudian el futuroPara ello, los métodos de prospectiva estudian el futuroEn los que se refiere la evolución de los factoresEn los que se refiere la evolución de los factorestecno-socio-económico y las interacciones entre ellos.tecno-socio-económico y las interacciones entre ellos.

Desarrollo de Software II – Universidad del Valle 2005Desarrollo de Software II – Universidad del Valle 2005

Page 55: ESTIMACION DE COSTOS Expositores: José Alejandro Benítez A. - 0126277 Sandra Milena Ruiz. - 0210905 Catherine Ramírez C. - 0232029 Rosa Marcela Viteri.

Método DelphiMétodo Delphi

La técnica Delphi predice basada en la utilización de un La técnica Delphi predice basada en la utilización de un Juicio emitido por un grupo de expertos; quienes a través Juicio emitido por un grupo de expertos; quienes a través de cuestionarios manifiestan sus opiniones de una manera de cuestionarios manifiestan sus opiniones de una manera anónima. anónima.

El objetivo de los cuestionarios es “Disminuir El objetivo de los cuestionarios es “Disminuir el espacio intercuartil (desviación de la opinión del experto el espacio intercuartil (desviación de la opinión del experto de la opinión del conjunto), precisando la mediana, de las de la opinión del conjunto), precisando la mediana, de las respuestas obtenidas”respuestas obtenidas”

Desarrollo de Software II – Universidad del Valle 2005Desarrollo de Software II – Universidad del Valle 2005

Page 56: ESTIMACION DE COSTOS Expositores: José Alejandro Benítez A. - 0126277 Sandra Milena Ruiz. - 0210905 Catherine Ramírez C. - 0232029 Rosa Marcela Viteri.

De manera resumida los pasos que se llevan a caboDe manera resumida los pasos que se llevan a cabopara garantizar la calidad de los resultados, para para garantizar la calidad de los resultados, para lanzar y analizar la Delphi deberían ser los siguientes:lanzar y analizar la Delphi deberían ser los siguientes:

Fase 1: Fase 1: Formulación del problemaFormulación del problema

Fase 2: Fase 2: Elección de expertosElección de expertos

Fase 3: Fase 3: Elaboración y lanzamiento de cuestionariosElaboración y lanzamiento de cuestionarios

Fase 4: Fase 4: Desarrollo practico y explotación de resultadosDesarrollo practico y explotación de resultados

Desarrollo de Software II – Universidad del Valle 2005Desarrollo de Software II – Universidad del Valle 2005

Page 57: ESTIMACION DE COSTOS Expositores: José Alejandro Benítez A. - 0126277 Sandra Milena Ruiz. - 0210905 Catherine Ramírez C. - 0232029 Rosa Marcela Viteri.

Fase 1: Formulación del problemaFase 1: Formulación del problema

Se define el modelo de negocio que soporta la aplicación a Se define el modelo de negocio que soporta la aplicación a desarrollar. Generalmente se utiliza la documentación de desarrollar. Generalmente se utiliza la documentación de mercado, propuestas comerciales y procedimientos que mercado, propuestas comerciales y procedimientos que estandarizan el funcionamiento del negocio que se quiere estandarizan el funcionamiento del negocio que se quiere soportar con la aplicación.soportar con la aplicación.

Desarrollo de Software II – Universidad del Valle 2005Desarrollo de Software II – Universidad del Valle 2005

Page 58: ESTIMACION DE COSTOS Expositores: José Alejandro Benítez A. - 0126277 Sandra Milena Ruiz. - 0210905 Catherine Ramírez C. - 0232029 Rosa Marcela Viteri.

Fase 2: Elección de expertosFase 2: Elección de expertos

Se eligen las personas reconocidas por su participación Se eligen las personas reconocidas por su participación en la planeación y seguimiento de diversos proyectos de en la planeación y seguimiento de diversos proyectos de software, preferiblemente con conocimiento en el software, preferiblemente con conocimiento en el modelo de negocio que soportará la aplicación. modelo de negocio que soportará la aplicación.

Desarrollo de Software II – Universidad del Valle 2005Desarrollo de Software II – Universidad del Valle 2005

Page 59: ESTIMACION DE COSTOS Expositores: José Alejandro Benítez A. - 0126277 Sandra Milena Ruiz. - 0210905 Catherine Ramírez C. - 0232029 Rosa Marcela Viteri.

Fase 3: Elección y lanzamiento de cuestionariosFase 3: Elección y lanzamiento de cuestionarios

Se eligen y emiten cuestionarios con preguntas cuantificables, Se eligen y emiten cuestionarios con preguntas cuantificables, que permiten visualizar el esfuerzo estimado para el proyecto de que permiten visualizar el esfuerzo estimado para el proyecto de software. De acuerdo a las respuestas de dichos cuestionarios y a software. De acuerdo a las respuestas de dichos cuestionarios y a las desviaciones por ronda, el repositorio de cuestionarios se las desviaciones por ronda, el repositorio de cuestionarios se actualiza. Las preguntas aplicadas en la primera ronda, son actualiza. Las preguntas aplicadas en la primera ronda, son abiertas, las preguntas de la segunda y tercera ronda son cerrada abiertas, las preguntas de la segunda y tercera ronda son cerrada y ligadas directamente a las respuestas de la primera ronda.y ligadas directamente a las respuestas de la primera ronda.

Desarrollo de Software II – Universidad del Valle 2005Desarrollo de Software II – Universidad del Valle 2005

Page 60: ESTIMACION DE COSTOS Expositores: José Alejandro Benítez A. - 0126277 Sandra Milena Ruiz. - 0210905 Catherine Ramírez C. - 0232029 Rosa Marcela Viteri.

Fase 4: Desarrollo práctico y explotación de resultadosFase 4: Desarrollo práctico y explotación de resultados

Los expertos de forma independiente estiman el esfuerzo del Los expertos de forma independiente estiman el esfuerzo del proyecto. Se analizan los resultados de la primera estimación, se proyecto. Se analizan los resultados de la primera estimación, se calcula la mediana y la desviación; de igual forma se identifican calcula la mediana y la desviación; de igual forma se identifican los máximos y mínimos de los resultados.los máximos y mínimos de los resultados.Posteriormente se realiza una 2ª Consulta, donde se informa a Posteriormente se realiza una 2ª Consulta, donde se informa a los expertos sobre los resultados de la 1ª consulta, generando los expertos sobre los resultados de la 1ª consulta, generando una nueva estimación. una nueva estimación. En la 3ª Consulta, cada experto justifica los casos en que su En la 3ª Consulta, cada experto justifica los casos en que su respuesta sea muy divergente de los demás.respuesta sea muy divergente de los demás.

Desarrollo de Software II – Universidad del Valle 2005Desarrollo de Software II – Universidad del Valle 2005