Sunteți pe pagina 1din 32

I no v a t e c

Integrantes:

Aguilar Njera Mariela


Camargo Linares Belem I.
Mora Haro Benjamn
Prez Ros Flix
e-mail: inovatec_is@yahoo.com.mx

INTRODUCCIN
La estimacin de costos de un producto de programacin es
una de las ms difciles y errticas tareas de la ingeniera de
software; es difcil hacer estimaciones exactas durante la fase
de planeacin de un desarrollo debido a la gran cantidad de
factores desconocidos en ese momento.
Reconociendo este problema, algunas organizaciones utilizan
una serie de estimadores de costos.
A continuacin se presentan los principales factores en los
costos de un producto de programacin.

Factores principales que influyen en el costo del software:


1. Capacidad del programador

2. Complejidad del producto

3. Tamao del programa

4. Tiempo disponible

5. Confiabilidad requerida

6. Nivel tecnolgico

1. Capacidad del programador.

Por numero de lneas que puede generar al mes. En


proyectos muy grandes, las diferencias individuales tienden a compensarse, pero en proyectos
de cinco programadores o menos la diferencia puede ser muy importante.

2.

Complejidad del producto

Programas de aplicacin

Programas de apoyo

Programas de sistema

Procesamiento de datos

* Compiladores

* Sistemas de base de datos

Programas cientficos

* Ligadores

* Sistemas operativos

* Sistemas de inventarios

* Sistemas de tiempo real

Esfuerzo total en meses del programador (PM):


KDSI (nmero de millares de instrucciones de cdigo fuente entregadas con el producto)

Programas de aplicacin:

PM= 2.4 * (KDSI)** 1.05

Programas de apoyo :

PM= 3.0 * (KDSI)** 1.12

Programas de sistema:

PM= 3.6 * (KDSI)** 1.20

Tiempo de desarrollo para un programa (TDEV) en meses:


Ya habiendo calculado PM

Programas de aplicacin:

TDEV= 2.5 * (PM)** 0.38

Programas de apoyo :

TDEV= 2.5 * (PM)** 0.35

Programas de sistema:

TDEV= 2.5 * (PM)** 0.32

Nivel promedio de contratacin (personas por proyecto):


Dado el nmero total de meses programador de un proyecto y el tiempo nominal de desarrollo requeridos

Programas de aplicacin:

176.6 PM / 17.85 MO = 9.9 programadores

Programas de apoyo :

294

Programas de sistema:

489.6 PM / 18.1 MO = 27 programadores

3. Tamao del producto

PM / 18.3 MO = 16 programadores

4. Tiempo Disponible
Es el esfuerzo total del proyecto que se relaciona con el calendario del trabajo asignado
para la terminacin
del proyecto , donde se estudia la cuestin del tiempo optimo de desarrollo.
En el cual se a estudiado el trabajo adaptado por

Boehm y Putman.

Donde para Boehm es muy importante las siguientes variables.


* Esfuerzo Relativo ( E/ E Nominal)
* Calendario Relativo T Deseado/ T Nominal.
Para Putman, el esfuerzo de un proyecto es inversamente proporcional al tiempo
desarrollo elevado
a la cuarta que se ve reflejado en una curva llamada curva de Putman
E = K/ /Td**4).

de

5. Confiabilidad requerida
La confiabilidad de un producto de programacin puede definirse como la probabilidad de que un
Programa desempee una funcin requerida bajo ciertas condiciones especificadas y durante cierto
Tiempo.
La confiabilidad puede expresarse

en trminos de los siguiente puntos:

Exactitud
Firmeza
Cobertura
Consistencia del cdigo fuente

Las caractersticas de la confiabilidad pueden instrumentarse en un producto de


programacin,
pero existe un costo asociado con los siguiente puntos:

Nivel de anlisis
Diseo
Instrumentacin
Esfuerzo de verificacin
Validacin

Factores multiplicadores de esfuerzo para ajustes por confiabilidad

Categora
Muy baja

Consecuencia de la falla
Alguna molestia menor

Factor
0.75

Baja

Las perdidas son fciles de recuperar

0.88

Nominal

Dificultad relativa en la recuperacin

1.00

Alta

Gran perdida financiera

1.15

Muy alta

Riesgo de una vida

1.40E

6. Nivel tecnolgico

El nivel de tecnologa empleado en un proyecto de programacin se refleja en el


lenguaje utilizado,
La maquina abstracta (Tanto el equipo como los programas de apoyo), las practicas
y las herramientas de programacin utilizadas. Se sabe que el numero de lneas de cdigo
fuente escrita por
dia es por completo independiente del lenguaje ocupado y que las proposiciones
escritas en un lenguaje de alto nivel como el FORTRAN
o el PASCAL suelen general varias
instrucciones a nivel de
Maquina .

TECNICAS DE ESTIMACION DE COSTOS

Dentro de la mayor parte de las organizaciones, la estimacin de costos


de la programacin se basa en las experiencia pasadas.

La estimacin de costos puede llevarse a cabo en forma jerrquica hacia


abajo o en forma jerrquica hacia arriba.

La estimacin jerrquica hacia abajo se enfoca primero a los costos del


nivel del sistema, as como a los costos de manejo de la configuracin, del
control de calidad, de la integracin del sistema , del entrenamiento y de
las publicaciones de la documentacin.

Estimacin jerrquica hacia arriba, primero se estima el costo del


desarrollo de cada modulo o subsistema; tales costos se integran para
obtener un costo total. Esta tcnica tiene la ventaja de enfocarse
directamente a los costos del sistema, pero se corre el riesgo de despreciar
diversos factores tcnicos relacionados con algunos mdulos que se
desarrollaran.

Juicio experto
La mayor desventaja de la estimacin de grupo es el efecto de la
dinmica interpersonal del grupo que pueda tener en cada uno de
los individuos; los miembros de un grupo pueden ser inocentes
con respecto a los factores de tipo polticos, a la presencia de
alguna autoridad dentro del grupo, o al dominio de un miembro
dentro del grupo con una fuerte personalidad.

ESTIMACION DE COSTO POR LA TENICA DELFI

La tcnica DELFI fue desarrolla en la corporacin RAND en 1948,


con el fin de obtener el consenso de un grupo de expertos sin
contar con los efectos negativos de las reuniones en grupo la
tcnica puede adaptarse a la estimacin de costos de la siguiente
manera.

1. Un coordinador proporciona a
cada experto la documentacin
con la definicin del sistema y
una papeleta para que escriba
su estimacin.
2.Cada
experto
estudia
la
definicin y determina su
estimacin en forma annima;
los expertos pueden consultar
con el coordinados, pero no
entre ellos.
3.

El coordinador prepara y
distribuye un resumen de la
estimaciones
efectuadas,
incluyendo
cualquier
razonamiento
extrao
efectuado por alguno de los
expertos.

4.Los expertos realizan una


segunda
ronda
de
estimaciones,
otra
vez
annimamente, utilizando los
resultados de la estimacin
anterior, en los casos que
una estimacin difiera mucho
de las dems, se podr
solicitar que tambin en
forma annima el experto
justifique su estimacin.

5. El proceso se repite tantas


veces como se juzgue
necesario, impidiendo una
discusin grupal durante el
proceso.

Proyecto: sistema operativo


Fecha 27/09/05
Estimacin en la 3a. vuelta
Su estimacin es:
Estimacin de la mediana
X
0

20

Meses de
programador

X
40

60

80

100

Estimacin para la siguiente vuelta es de: 35 PM


Razones para la estimacin:
Para un sistema normal de control de procesos.
Nuestra gente a tenido gran experiencia en proyectos similares.
No se espera que haya problemas con este proyecto.

Estimacion para la siguiente vuelta es de: 35 PM


Razones para la estimacion:
Para un sistema normalde control de procesos.
Nuestra gente a tenido gran experiencia en proyectos
similares.
No se espera que haya problemas con este proyecto.
Estructuras de divisin de trabajo
El juicio experto y el consejo de un grupo son tcnicas de
estimacin de tipo jerrquico hacia abajo; la estructura de
divisin de trabajo o WBS, es un mtodo de tipo jerrquico
hacia arriba. Una estructura de divisin de trabajo es un
organigrama jerrquico donde se establecen las partes de
un sistema. Un organigrama WBS refleja la jerarqua de los
productos o bien de procesos.

Estructuras de divisin de trabajo

Algunos planificadores ocupan tanto el WBS de productos


como de procesos para realizar sus estimaciones de costos.
Las ventajas primordiales de esta tcnica son la
identificacin y contabilizacin de los diversos procesos y
factores de productos de un sistema, as como la aclaracin
con exactitud de que costos se incluyen en la estimacin.

ESTRUCTURA WBS DE DIVISIN DEL TRABAJO POR


PRODUCTO
Producto

Subsistema
de entrada

Modulo de
lectura

Analizador
sintctico

Subsistema
de proceso

Validacin
de datos

Subsistema
de salida

Calculo de
resultados

ESTRUCTURA WBS DE DIVICION DEL TRABAJO POR


PROCESOS
Proceso

Admon. proyecto

Plan

Desarrollo

Pruebas

Servicios

PyR

Revisin y
auditoria
Integraci
n

Diseo

Depuraci
n

Prueba
de la
unidad

Aceptaci
n

Servicio
de
computo

Publicaci
ones

Modelos de costo por algoritmos o mdulos

En los modelos de costo basado en


algoritmos o mdulos, los costos se estiman
mediante la adicin de los costos de cada uno
de los mdulos o subsistemas que conforman
al sistema, de modo que esta tcnica es del
tipo jerrquica hacia arriba.

El modelo constructivo de costos o COCOMO


(Constructive Cost Model) es un modelo de costos
por algoritmos descrito por Boehm

Cuando se usa el COCOMO las ecuaciones para calculo de la


complejidad, TDEV y programadores, se emplean para proporcionar los
valores nominales de la estimacin de meses de programador y
calendario de desarrollo para cada unidad de trabajo, basndose en el
numero de instrucciones de cdigo fuente entregadas (DSI) de cada
unidad.

Despus, se utilizan factores multiplicadores para ajustar la estimacin


de acuerdo con los atributos del producto, de la computadora, del
personal dedicado y del proyecto.

Factor Multiplicador

Intervalos de los valores

Atributos del producto


Confiabilidad requerida
Tamao de la base de datos
Complejidad del producto

0.75 a 1.40
0.94 a 1.16
0.70 a 1.85

Caractersticas de la maquina
Limitaciones en el tiempo de ejecucin
Limitaciones en memoria principal
Volatilidad de la virtualidad en la maquina
Tiempo de entrega de programas

1.00 a 1.66
1.00 a 1.56
0.87 a 1.30
0.87 a 1.15

Caractersticas del personal


Capacidad de los analistas
Capacidad de los programadores
Experiencia en programas de aplicacin
Experiencia en maquinas virtuales
Experiencia en lenguajes de programacin

1.46 a 0.71
1.42 a 0.70
1.29 a 0.82
1.21 a 0.90
1.14 a 0.95

Caractersticas del proyecto


Uso de tcnicas modernas de programacin
Uso de herramientas de programacin
Tiempo requerido para el desarrollo

1.24 a 0.82
1.24 a 0.83
1.23 a 1.10

Las ecuaciones y los multiplicadores se obtuvieron con el examen de datos de


63 proyectos de programacin y mediante la tcnica DELFI entre un grupo de
expertos de programacin.

Las ecuaciones del COCOMO incorporan


algunas suposiciones importantes; por ejemplo,
las ecuaciones para la carga nominal orgnica
(programas de aplicacin) deben usarse en las
siguientes situaciones:

Desde programas pequeos hasta medianos (2K hasta 32K DSI)


En una rea de aplicacin conocida
Con una maquina virtual estable y bien conocida
Y para un desarrollo interno

Con el fin de modificar las suposiciones anteriores se utilizan los


multiplicadores de esfuerzo.
Las siguientes actividades se cubren con estas estimaciones:

Se abarca desde el diseo hasta las


pruebas de aceptacin.
Incluye los costos de documentacion
y revisiones.
Incluye los costos del gerente del
proyecto y del bibliotecario de
programas.

Los estimadores de esfuerzo excluyen los costos de plantacin, anlisis,


instalacin y entrenamiento, as como los costos de secretarias, personal
de limpieza y operadores del equipo de computo.

Otras suposiciones concernientes a la naturaleza del proyecto en


estimacin en COCOMO son las siguientes:
Un pequeo numero de personas capaces efectan una definicin
cuidadosa y la validacin de los requisitos.
Los requisitos permanecen constantes durante el proyecto.
Un pequeo numero de personas capaces realizan la definicin y validacin
minuciosa del diseo arquitectnico del sistema.
Grupos paralelos de programadores, trabajando en grupos, desarrollan el
diseo detallado, la codificacin y las pruebas por unidad.
Las pruebas de integracin se elaboran de acuerdo con una anticipada
planeacin al respecto.
Los errores en las interfaces se encuentran casi siempre en las pruebas por
unidad y en las inspecciones y los recorridos efectuados antes de las
pruebas de integracin
La documentacion se genera en forma creciente como parte del proceso de
desarrollo

Procedimiento para la estimacin de costos usando COCOMO


1. Identificar todos los subsistemas y los mdulos del producto.
2. Estimar el tamao de cada modulo y calcular el tamao de cada
subsistema y del sistema en total.
3. Especificar los factores multiplicadores de mdulos para cada uno,
estos son: complejidad del producto, capacidad de programacin,
experiencia en maquinas virtuales y experiencia en lenguajes modernos
de programacin.
4. Calcular el esfuerzo para cada modulo, as como el tiempo de
desarrollo, para lo anterior usar las ecuaciones de estimacin nominal
junto con los factores relevantes a cada modulo.
5. Especificar los once multiplicadores restantes de cada subsistema.

6. De los pasos 4 y 5, calcular el esfuerzo y el tiempo de desarrollo


estimados para cada subsistema.
7. Del paso 6, calcular el esfuerzo y tiempo de desarrollo totales para el
sistema.
8. Efectuar un anlisis de sensibilidad sobre la estimacin, estableciendo
comparaciones para diversos factores.
9. Sumar los otros ingredientes en el costo del desarrollo, como la
plantacin y el anlisis, que no se hayan incluido antes.
10. Comparar la estimacin con otra obtenida a partir de la tcnica DELFI,
identificando y corrigiendo las diferencias en la estimacin.
La mayor ventaja del modelo es que puede servir para obtener una visin
intuitiva de los factores de costo dentro de una organizacin.
Los datos pueden recolectarse y analizarse, identificarse nuevos factores y los
factores multiplicadores de esfuerzo pueden ajustarse tanto como sea
necesario para calibrar el COCOMO dentro de un ambiente especifico.

Tal vez la mayor desventaja del mismo es que el uso de factores de


ajuste parte de la suposicin de que son independientes entre si. En
realidad la modificacin de un factor suele implicar la variacin de otros.
En ocasiones no queda claro como influyen las modificaciones de un
factor en los otros.

La mayor parte de los modelos de


estimacin de costos no incorporan
factores de costo para que el cdigo
existente se vuelva a utilizar.

Estimacin del nivel de contratacin


La cantidad de personal requerida a travs de un proyecto de desarrollo no es
constante, por lo regular, la planeacin y el anlisis lo efecta un grupo
pequeo; el diseo un grupo mayor, aunque todava pequeo, y el diseo
detallado un grupo grande de personas.
La fase inicial del mantenimiento
puede requerir un numero considerable
de personas, pero este numero deber
disminuir en poco tiempo.

Si no existen mejoras o adaptaciones


importantes, el numero de personas
para el mantenimiento permanecer
pequeo.

Estimacin de los costos de mantenimiento de software


El mantenimiento de sw suele necesitar de 40% a 60% y en algunos casos hasta
90% del esfuerzo total durante el ciclo de vida del proyecto, estas actividades
comprenden agregar mejoras al producto, adaptar el producto para nuevos
ambientes de proceso y corregir los problemas de los programas.
Una regla til muy usada para la distribucin del esfuerzo de las actividades
de mantenimiento es asignar 60% del tiempo a mejoras, 20% a adaptacin, y
20% a la depuracin o correccin de problemas.
La mayor preocupacin con respecto al mantenimiento durante la fase de
planeacion de un proyecto de programacin es estimar el numero de
programadores de mantenimiento que se requerirn, as como especificar las
facilidades necesarias para que se lleve a cabo.

Un estimado muy usado en la determinacin del numero de personal es el total


de lneas de cdigo que puede mantener cada programador en forma individual.
Algunos autores han determinado que un programador comn en el ambiente
de procesamiento de datos puede mantener hasta 32K de instrucciones.
Para una aplicacin en tiempo real o en programas relacionados con
proyectos de aeronutica, el numero de lneas varia entre 8K y 10K.

Un estimado del numero de personal de


tiempo completo requerido en el
mantenimiento de un proyecto de
programacin puede obtenerse con la
divisin del numero estimado de lneas de
cdigo que se mantendrn entre el total de
lneas de cdigo que puede mantener un
programador.

BOEHM sugiere que el esfuerzo de mantenimiento puede estimarse mediante el


empleo de un cociente de actividad, que se calcula como el numero de
instrucciones de cdigo fuente que sern agregadas o modificadas durante un
periodo, divididas entre el numero total de instrucciones:

ACT = (DSIagregadas + DSImodificadas) / DSItotales


Este cociente se multiplica por el numero de meses de programador
empleados durante el periodo especifico de desarrollo, con el fin de
determinar el numero de meses programador requeridos para el periodo de
mantenimiento:
PMm = ACT * MMdev

Se logra una modificacin posterior usando un factor de ajuste de esfuerzo, EAF,


donde se considera que los factores multiplicadores de esfuerzo pueden diferir,
durante el mantenimiento, de los utilizados para el desarrollo:
PMm = ACT * EAF * MMdev

Por ejemplo, una gran atencin en la


confiabilidad y el empleo de tcnicas
modernas de programacin utilizadas
en la fase de desarrollo puede reducir la
cantidad de esfuerzo requerido para el
mantenimiento, en caso contrario,
puede incrementar la dificultad del
mantenimiento.

RESUMEN
En resumen la estimacin de costos de los productos de programacin es una
de las tareas mas difciles y errticas de la ingeniera de programacin.
Las tcnicas de estimacin se basan en gran medida en la experiencia y los
datos histricos de cada organizacin.
La mayor parte de las estimaciones de costos estn en funcin del numero
estimado de instrucciones finales del producto por desarrollar, la estimacin del
costo de producto no ser superior que la capacidad de estimar el numero de
instrucciones finales existentes en el.
El juicio experto y la prediccin de mdulos son dos enfoques fundamentales
para la estimacin del costo, en la practica se deben ocupar diversas tcnicas
de estimacin, para luego comparar y conciliar los resultados.

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