Sunteți pe pagina 1din 25

Ingeniería del Software - Modelos 01/11/2013

algorítmicos de costos

Estimación de
costos del software
Métodos empíricos de estimación
Ingeniería del Software
UTN- FRT

1
Ingeniería del Software - Modelos 01/11/2013
algorítmicos de costos

Contenidos de la materia
 Unidad 3: El proyecto de software y métricas el software

 Planificación y control de Proyectos: Conceptos sobre gestión de


proyectos – El espectro de la gestión: personal, problema y proceso
- Medidas, métricas e indicadores del proyecto – Integración de las
métricas dentro del proceso del software - Gestión de riesgos -
Estimación del proyecto de software- Técnicas de descomposición-
Métodos empíricos de estimación.

2
Ingeniería del Software - Modelos 01/11/2013
algorítmicos de costos

Bibliografía
[1] Sommerville Ian, Ingeniería del Software
7 ma Ed
 Cap. 26 “ Estimación de costes del software”

3
Ingeniería del Software - Modelos 01/11/2013
algorítmicos de costos

Agenda
 La estimación en los procesos del
software
 Conceptos sobre estimación
 Modelado algorítmico de costos
 COCOMO
 Nivel de diseño inicial
 Nivel de construcción de prototipos

4
Ingeniería del Software - Modelos 01/11/2013
algorítmicos de costos

Agenda
 La estimación en los procesos del
software
 Conceptos sobre estimación
 Modelado algorítmico de costos
 COCOMO
 Nivel de diseño inicial
 Nivel de construcción de prototipos

5
Ingeniería del Software - Modelos 01/11/2013
algorítmicos de costos

Actividades en el proceso de
software
 Actividades  Actividades  Actividades
de gestión de apoyo
desarrollo
Evaluación
Estimación
Especificación
Documentación
Planificación Desarrollo
Adquisición de
Gestión de versiones Validación información

Gestión de la
Gestión de calidad Evolución configuración

Procesos generales Procesos primarios Procesos de soporte


(Gestión del proyecto) (Ingeniería)

6
Ingeniería del Software - Modelos 01/11/2013
algorítmicos de costos

Estimación de costos
 La estimación es una predicción anticipada del costo
del proyecto
 La estimación se debe realizar en forma objetiva e
intentando predecir lo mejor posible
 En la estimación se tienen en cuenta los siguientes
factores:
 Organizacionales (Oportunidad de mercado)
 Económicos (Incertidumbre en la estimación de costos, salud
financiera)
 Políticos (Volatilidad de los requerimientos)
 Negocios (Términos contractuales)

7
Ingeniería del Software - Modelos 01/11/2013
algorítmicos de costos

Estimación de costos
 La estimación y la creación del calendario del proyecto
se llevan a cabo de forma conjunta
 En las primeras etapas del proyecto se requieren
estimaciones de costos antes de la planificación
detallada. Se inicia con la definición de los
requerimientos del sistema
 El costo total del proyecto está formado por:
 Los costos de hardware y software, incluye el
mantenimiento
 Los costos de viajes y capacitación
 Los costos del esfuerzo (pago a ingenieros)

8
Ingeniería del Software - Modelos 01/11/2013
algorítmicos de costos

Agenda
 La estimación en los procesos del
software
 Conceptos sobre estimación
 Modelado algorítmico de costos
 COCOMO
 Nivel de diseño inicial
 Nivel de construcción de prototipos

9
Ingeniería del Software - Modelos 01/11/2013
algorítmicos de costos

Modelado algorítmico de costos


El modelado algorítmico de costos utiliza una fórmula matemática
para predecir los costos del proyecto, las personas y otros factores
de proceso y del producto.

Esfuerzo = A x tamaño B x M

Esfuerzo: es la cantidad de trabajo necesario para realizar un proyecto


o algunos de los ítems del proyecto (PM)
A : factor constante. Depende de las prácticas organizacionales y del
tipo de software que se va ha desarrollar
Tamaño (size): es un indicador de la funcionalidad y complejidad del
software expresadas en puntos de función o en puntos objeto
B: componente exponencial valor entre 0.90 y 1.5
M: multiplicador generado al combinar atributos del producto de
desarrollo, experiencia del equipo de desarrollo

10
Ingeniería del Software - Modelos 01/11/2013
algorítmicos de costos

Modelado algorítmico de costos


Desventajas
 El tamaño es difícil de estimar en una primera
etapa del proyecto, porque el tamaño depende
de las decisiones de diseño y del lenguaje de
programación elegido
 Los valores de B y M son subjetivos. Varían
según el conocimiento y el experiencia.
 Las estimaciones producidas dependen de la
información disponible sobre el sistema.
Conforme avance el proyecto más información
estará disponible y las estimaciones pueden ser
más precisas

11
Ingeniería del Software - Modelos 01/11/2013
algorítmicos de costos

Modelado algorítmico de costos


Modelo constructivo de costos
El modelo COCOMO (COnstructive Cost MOdel)

 Desarrollado en 1981 por Barry Boehm (COCOMO 81)


 Es un modelo de estimación ampliamente utilizado
 En 1995 se publicó la versión COCOMO II, actualmente en
vigencia
 Con esa versión los autores (Center for Software Engineering,
Universit of Southern California) pretenden mejorar, ampliar y
adaptar el modelo anterior a las nuevas formas de desarrollar
software

12
Ingeniería del Software - Modelos 01/11/2013
algorítmicos de costos

Modelado algorítmico de costos


COCOMO II
 Cambios en el desarrollo del software

 Prototipos
 Modelos de desarrollo iterativos e incremental (modelo espiral)
 Se ensamblan componentes reutilizables y se los vincula
mediante scripts (secuencia de comandos)
 Los sistemas que hacen uso intensivo de datos utilizan el
lenguaje SQL y gestores de bases de datos
 Se aplica reingeniería sobre el software existente
 Se utilizan herramientas CASE como apoyo para el desarrollo

13
Ingeniería del Software - Modelos 01/11/2013
algorítmicos de costos

COCOMO II
Niveles

Nivel de construcción Esfuerzo = (NAP x (1- % reutilización / 100))/ Prod


de prototipos

Nivel de diseño inicial PM = A x tamaño B x M


PM = 2,94 x (PF x LOC)/1000) ΣSF x π EAF
SF: factores de escala (PREC FLEX,RESL,TEAM ,PMAT)
EAF: Multiplicadores del esfuerzo
(RCPX,RUSE,PDIF,PERS,PREX,SCED,FCIL)

Nivel de reutilización ASLOC x ESLOC


ASLOC x (1- AT)/100) x AMM

Nivel de postarquitectura PM = A x tamaño B x M

14
Ingeniería del Software - Modelos 01/11/2013
algorítmicos de costos

Niveles de COCOMO II
4x

2x Diseño
Early temprano –
Design
(13 Parámetros)
(13 parameters)
1.5x
1.25x
Relative
Size Range x

0.8x
Post-Architecture
Posarquitectura –
0.67x (23 parameters)
(23 Parámetros)

0.5x Applications
Prototipo inicial–
Composition
(3 Parámetros)
(3 parameters)
0.25x Product Detail
Concept of Rqts. Design Design Accepted
Operation Spec. Spec. Spec. Software

Feasibility Plans Product Detail Devel.


and Design Design and Test
Rqts.

Fases
Phases and eMilestones
Hitos
15

15
Ingeniería del Software - Modelos 01/11/2013
algorítmicos de costos

Nivel de diseño inicial


Nivel de diseño inicial PM = A x tamaño B x M
PM = 2,94 x (PF x LOC)/1000) ΣSF x [π EAFi ]
SF: factores de escala (PREC FLEX,RESL,TEAM ,PMAT)
EAF: Multiplicadores del esfuerzo
(RCPX,RUSE,PDIF,PERS,PREX,SCED,FCIL)

 El objetivo de este nivel es hacer una estimación aproximada sin


demasiado esfuerzo
 Se utiliza cuando se han acordado los requerimientos del usuario
y se han iniciado las primeras etapas del proceso de diseño
 No es necesario una arquitectura detallada del diseño
 Se asumen simplificaciones como el costo de integrar el código
reutilizable es cero

16
Ingeniería del Software - Modelos 01/11/2013
algorítmicos de costos

Nivel de diseño inicial


Nivel de diseño inicial PM = A x tamaño B x M
PM = 2,94 x (PF x LOC)/1000) ΣSF x [π EAFi ]
SF: factores de escala (PREC FLEX,RESL,TEAM ,PMAT)
EAF: Multiplicadores del esfuerzo
(RCPX,RUSE,PDIF,PERS,PREX,SCED,FCIL)

A : factor constante. El valor propuesto es 2.94


Tamaño (size): se expresa en K LOC . Se estiman los PF SA y se convierten en
LOC – Depende del lenguaje de programación -
B = SF: varía desde 0.90 hasta 1.24 . Depende de : novedad del proyecto,
flexibilidad de desarrollo, resolución de riesgos, cohesión del equipo, nivel
de madurez del proceso de la organización
M= EAF : fiabilidad y complejidad del producto, reutilización requerida, dificultad
de la plataforma, capacidad del personal, experiencia del personal, agenda y
facilidades de apoyo

17
Ingeniería del Software - Modelos 01/11/2013
algorítmicos de costos

Nivel de diseño inicial


Factores de escala
Precedentes Refleja la experiencia previa de la organización con este
tipo de proyectos.
Muy bajo significa sin experiencia previa;
Extra alto significa que la organización está
completamente familiarizada con este dominio de
aplicación

Flexibilidad Refleja el grado de flexibilidad en el proceso de


desarrollo.
Muy bajo significa que se utiliza un proceso prescrito;
Extra alto significa que el cliente establece sólo metas
generales

Resolución de la Refleja la amplitud del análisis de riesgo que se lleva a


cabo .
arquitectura/riesgo Muy bajo significa poco análisis;
Extra alto significa un análisis de riesgo completo y
detallado.

18
Ingeniería del Software - Modelos 01/11/2013
algorítmicos de costos

Nivel de diseño inicial


Factores de escala
Cohesión del Refleja qué tan bien se conocen entre ellos los miembros
del equipo de desarrollo y qué tan bien trabajan juntos.
equipo Muy bajo significa interacciones muy difíciles;
Extra alto significa un equipo integrado y efectivo sin
problemas de comunicación .

Madurez del Refleja la madurez del proceso de la organización.


El cálculo de este valor depende del Cuestionario de
Proceso Madurez del CMM pero se puede alcanzar una estimación
sustrayendo el nivel de madurez del proceso CMM de 5.

19
Ingeniería del Software - Modelos 01/11/2013
algorítmicos de costos

Factores de escala del Proyecto


 

= 2.94 (Size)(SF)   EM
 
PM  

estimado i i 






SF= 0.91+0.01
. w
i
Scale Factors Very Low Low Nominal High Very High Extra High
(Wi)
PREC Extremadamente Muy Nuevo Novedoso de
Familiar Muy familiar
Extremadamente
nuevo alguna manera familiar

FLEX Relajación Alguna


Conformidad
Alguna Metas
Riguroso relajación conformidad generales
ocasional General
RESL Poco 20% Algo 40%
A menudo Generalmente Casi siempre Siempre
60% 75% 90% 100%
TEAM Interacciones Interacciones Interacciones Bastante Altamente Alto nivel de
muy difíciles algo difíciles cooperativas cooperativas cooperativas interacción
básicas
PMAT Madurez estimada del proceso

20
Ingeniería del Software - Modelos 01/11/2013
algorítmicos de costos

Nivel de diseño inicial


Nivel de diseño inicial PM = A x tamaño B x M
PM = 2,94 x (PF x LOC)/1000) ΣSF x π EAF
SF: factores de escala (PREC FLEX,RESL,TEAM ,PMAT)
EAF: Multiplicadores del esfuerzo
(RCPX,RUSE,PDIF,PERS,PREX,SCED,FCIL)

A : factor constante. El valor propuesto es 2.94


Tamaño (size): se expresa en K LOC . Se estiman los PF SA y se convierten en
LOC – Depende del lenguaje de programación -
B = SF: varía desde 0.90 hasta 1.24 . Depende de : novedad del proyecto,
flexibilidad de desarrollo, resolución de riesgos, cohesión del equipo, nivel
de madurez del proceso de la organización
M= EAF : fiabilidad y complejidad del producto, reutilización requerida, dificultad
de la plataforma, capacidad del personal, experiencia del personal, agenda y
facilidades de apoyo

21
Ingeniería del Software - Modelos 01/11/2013
algorítmicos de costos

Agenda
 La estimación en los procesos del
software
 Conceptos sobre estimación
 Modelado algorítmico de costos
 COCOMO
 Nivel de diseño inicial
 Nivel de construcción de prototipos

22
Ingeniería del Software - Modelos 01/11/2013
algorítmicos de costos

COCOMO II
Nivel de construcción de prototipos
 Está basado en puntos de objeto o puntos de
aplicación

23
Ingeniería del Software - Modelos 01/11/2013
algorítmicos de costos

 Fin de la
presentación

24
Ingeniería del Software - Modelos 01/11/2013
algorítmicos de costos

Ejemplo
 Una organización trabaja un proyecto en el que se
tiene poca experiencia en el dominio. El cliente del
proyecto no ha definido el proceso a utilizar y no
proporciona suficiente tiempo en la calendarización
del proyecto para que se haga un análisis de
riesgos. Se tiene que formar un nuevo equipo de
desarrollo para implementar este sistema. La
organización ha puesto en proceso un programa de
mejoramiento y ha obtenido en Nivel 2 del modelo
CMM.

25

25

S-ar putea să vă placă și