Está en la página 1de 15

ESTIMACION DE

COSTOS DEL
SOFTWARE

2.1. CATEGOR~ASDE LOS PRODUCTOS DE PROGRAMACION.

a. De aplicacin :
Procesamiento de datos.
Informacin gerencial.
Programas cientficos.
b. De apoyo:

Compiladores.
Ligadores.
Sistemas de inventarias.

c. De sistemas:
Sistema<de bases de datos.

Sistemas operativos.
Sistemas en tiempo real.

2.2. NIVELES DE COMPLEJIDAD DE LOS PRODUCTOS DE PROGRAMACIN.


a. Orgnica @ara los programas de aplicacin).

b. Semi separada (para los programas de apoyo).


c. Incrustada (para los programas de sistema).

2.3. ECUACIONES DE ESFUERZO PARA LOS NIVELES DE COMPLEJIDAD.

PM = Esfueno total del proyecto de programacin.


KDSI = Instmcciones de cdigo fuente (en miles) (una instruccin se considera una lnea de
cdigo fuente sin tomar en cuenta los comentarios)
A

1.O5 ------ para los programas de aplicacin.

b. PM = 3.0

1.12 ------para los programas de apoyo.

c.

1.20 ------ para los programas de sistemas.

a. PM = 2.4

* (KDSI)

* (KDSI)
PM = 3.6 * (KDSI)

Donde KDSI es el nmero total de instrucciones de cdigo fuente (en miles) entregadas con el
producto.
9

.,
~g~~;~[~;~;fl@~i)#j#&~j@ig@#~~#g~~~&;;;8:i~&;vj,~~,[i~;;;~j$;$s':!~.~#~#g~~#$~g[[!ii~~@#~l#,
q>?;
t !<$$$$:# $ ~ ! ~ f # [ ~ ] @ ~ i @ ~ # ~

2.4. ECUACIONES DE TIEMPO DE DESARROLLO (TDEV) PARA UN PROGRAMA.


TDEV = Meses programador para realizar el proyecto.
a. TDEV = 2.5

* (PM) " 0.38 ------ para los programas de aplicacin.

b. TDEV = 2.5 * (PM) A 0.35 ------ para los programas de apoyo.


c. TDEV = 2.5 * (PM) " 0.32 ------ para los programas de sistemas.
2.5. E C U A C I ~ NPARA DETERMINAR EL NMERO DE PROGRAMADORES (NP),
PARA REALIZAR EL TRABAJO EN EL TIEMPO (TDEV).
NP = numero de programadores necesarios para realizar el proyecto.
NP = PM / TDEV.

2.6. DETERMINACI~NDEL COSTO DEL DISENO (cD).


SP = sueldo del programador (promedio).
CD

= PM

* SP.

2.6. FACTORES MULTIPLICADORES DE ESFUERZO PARA AJUSTES POR


CONFIABILIDAD (AC).
Categorla
Muy baja
Baja
Nominal
Alta
Muy alta

Factor
0.75
0.88
1.00
1.15
1.40

Consecuencia de la falla
Alguna molestia menor
Las perdidas son ficiles de recuperar
Dificultad relativa en la recuperacin
Gran perdida financ~era
Riesgos de una vida

2.8. FACTORES MULTIPLICADORES DE ESFUERZO EN COCOMO.

Atributos del producto


e
Confiabilidad requerida

Tamaio de la base de datos

0.75 a 1.40

Limitaciones en memoria principal

Volatilidad de la virtualidad de la
mquina
Tiempo de entrega del programa
Caracteristicas del personal
Capacidad de los analistas

1.00 a 1.65

1.00 a 1.56

0.87 a 1.30

Que tan catastrfico puede ser el error que


cometa el sistema, cual es el costo que
podra generar el error
1 La cantidad de lneas que puede tener un
sistema
Son las categoras de complejidad vistas en
las ecuaciones de esfuerzo del COCOMO

1 se

caracteriza Dor los sistemas multi


usuarios (capacidad mximas de usuarios
simultneamente) y mono usuarios.
Restricciones del uso de la memoria para
1 correr el sistema

0.87 a 1.15
Destreza de los analistas en el desarrollo de
sistemas
Destreza de los analistas en el desarrollo de
sistemas
Experiencia en la realizacin de sistemas
anteriores

1.46 a 0.71

Capacidad de los programadores

1.42 a 0.70

Experiencia en programas de
aplicacin
Experiencia en maquinas virtuales
Experiencia en lenguajes de
programacin

1.29 a 0.82
1.21 a 0.90
1.14a0.95

Caracteristicas del proyecto


Uso de tecnicas modernas de
programacin

1.24 a 0.82

1.24 a 0.83

Uso de herramientas de
programacin
.
Tiempo requerido para el desarrollo

1
0.94 a 1.16
0.70 a 1.65

Complejidad del producto


Caracteristicas de la miquina
Limitantes en t i e m ~ ode eiecucin

Caracteristicas d e aplicacin

Intervalo de
valores

Efecto multiplicador

Cantidad de uso del lenguaje de


programacin a usar en la codificacin del
sistema el sistema
Consiste en el uso de anlisis y disefic
sistemticos, notaciones estructuradas de
disefio, recorridos e inspecciones, de la
programacin estructurada, de pruebas
sistemticas y desarrollo de una biblioteca
de programas bsicos.
Procesadores de diserio, generadores de
cdiao.
- editores interactivos. herramientas
de verificacin automtica, etc.
1 Existe un tiempo nominal de desarrollo
calculado por la ecuacin de tiempo de
COCOMO, la contraccin o expansin de
este tiempo el que se pone en este tem.

1
1.23 a 1.10

Las ecuaciones COCOMO incorporan algunas suposiciones importantes como las siguientes:
1. Desde programas pequeos hasta medianos ( desde 2K hasta 32K).
11. En una rea de aplicacin conocida.
111. 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 modificaciones:
1. Se abarca desde el diseo hasta las pmebas de aceptacin.
11. Incluye los costos de documentacin y revisiones.

111. Incluye los costos del gerente del proyecto y del bibliotecario del programa.

Los estimadores de esfueno no incluyen los costos de ~laneacin,anlisis, instalacin

entrenamiento, as como los costos de secretaria, personal de limoieza, o~eradoresdel e q m


de computo.

Las estimaciones de DSI comprenden las proposiciones de control de trabajo y cdigo fi~ente,pero
excluyen los comentarios y las mtinas de apoyo no modificadas, se considera a cada lnea como un
DSI; igualmente se consideran 152 horas de programador por cada mes de programador.

Otras suposiciones concernientes a la naturaleza del proyecto en estimacin en COCOMO son las
siguientes.
1. Un pequeo numero de personas capaces efectan una definicin cuidadosa y validacin de los
requisitos.
11. Los requisitos permanecen constantes durante el proyecto.
111. Un pequeo numero de personas capaces realizan la definicin y validacin minuciosa del
diseo arquitectnico del sistema.
IV. Gmpos paralelos de programadores, desarrollan el diseo detallado. la codificacin y las
pmebas por unidad.
V. Las pmebas de integracin, se elaboran de acuerdo a una anticipada planeacin al respecto.

Ecuacin (Curva) de Rayleigh de esfuerzo contra tiempo.


E = ( P M ) * t * e A ( - tA2 )
tdA2

( 2" tdA2)

Donde:
t = tiempo en meses.
td

TDEVR (una aproximacin buena ya que el 40% del rea bajo la curva se encuentra a la

izquierda de td y el 60% a la derecha de td).

PM = esfuerzo en meses del programador.


Esta ecuacin representa una curva. El rea bajo la curva en cualquier intervalo representa el
intervalo total realizado durante ese intervalo.
Dentro de esta curva no quedan incluidos el anlisis ni el diseo funcional (Arquitectnico externo e
interno).

Ecuacin para determinar el personal a tiempo completo (Desde el diseo arquitectnico


hasta la instrumentacin y las pruebas).

FSP = personal requerido para el tiempo t.


Segn BOEHM la curva es un estimador razonable exacto de los requisitos del personal para el
ciclo de vida del desarrollo, desde el diseo arquitectnico hasta la instrumentacin y pmebas del
sistema, siempre y cuando se use la porcin de la curva entre 0.3td y 1.7td, la ecuacin de Rayleigh
toma entonces la forma siguiente:

FSP = PM( 0.15TDEV+0.7t )*e "-( O.lSTDEV+ 0.7tlA2


0.25TDEVA2

0.5TDEVA2

I$#

2.10. DISTRIBUCIN DE ESFUERZO EN PROGRAMAS DE APLICACIN.


Actividad
Planes y requisitos *
Diseo arauitectnico (6.3%)
* *Diseo detallado (12.7%)
Codificacin y pmebas unitaria
Pruebas de sistemas

Esfuerzo
32 KDSI
128 KDSI
6%
6%
16%
16%
24%
23%
38%
22%

36%
25%

Calendario
32KDSI
128KDSI
13%
12%
19%
19%
Valores combinados (diserlo
arquitectnico y detallado):
51%
55%
26%
30%

** El tiempo de los planes y requisitos no es calculado por la ecuacin y por lo tanto se tiene que
sumar un porcentaje del tiempo de diseo calculado por la ecuacin, y este porcentajes esta
estimado segn se presenta en sus respectivas casillas.

** El porcentaje del tiempo de desarrollo para el diseo detallado y arquitectnico se encuentra


combinado en el 19% que contiene la casilla del diseo arquitectnico. Aunque para efectos de
separacin de tiempos de desarrollo se considera el 6.3% para el diseo arquitectnico y el 12.7%
para el diseo detallado.

2.11. ESTIMACIN DE LOS COSTOS DE MANTENIMIENTO.

CUADRO DE DISTRIBUCI~NDEL ESFUERZO DE MANTENIMIENTO.

DETERMINACI~NDEL NUMERO DE PERSONAL PARA EL MANTENIMIENTO.


Un programador individual es capaz de mantener hasta 32K de instrucciones (lineas de
cdigo) en el ambiente de procesamiento de datos, por lo tanto para obtener el nmero de personal
de mantenimiento se obtiene mediante la siguiente ecuacin:

FSPm = numero de programadores para el mantenimiento.


KDSI = numero de lneas de cdigo del sistema.
FSPm = KDSI / 32K.

EL COCOMO.
Pasos para usar el COCOMO
1. Identificar todos los sub sistemas v mdulos del ~roducto
2. Estimar el tamao de cada modulo y calcular el tamao de cada subsistema en total
3. Es~ecificarlos factores rnultiolicadores de esfuerzo Dara cada modulo: esto es la com~leiidad
del producto, la capacidad del programador, la experiencia en el lenguaje de programacin
4. Calcular el esfuerzo para cada mdulo, asi como el tiempo de desarrollo; para lo anterior usar
las ccuaciones de estiniacin nominal. ,unto con los fact& relevantes d i cada mdulo
S. Fs~ecificarlos I I multinlicadorcs restantes de cada subsistema
6 . De los pasos 4 y 5, calcular el esfuerzo y el tiempo de desarrollo para cada subsistema
7. Del paso 6 calcular el csfuer~oy tiempo rotalcs del sistema
8. Efcctuar una anilisis de sensibilidad sobre la estimacin. estableciendo comparacioner para
diversos factores
9. Sumar los otros ingredientes en el costo del desarrollo, como la planeacin y el anlisis, que no
se hayan incluido antes
S

Nombre La unidad de programa

:Determinacin de costos y asignacin preliminares de tiempo

para un proyecto de programacin.

Analistas

: Ricardo Emilio Figueroa Cortez.

Gladis Marlene Chaves Ortiz.

Programadores

: Ricardo Emilio Figueroa Cortez.

Gladis Marlene Chvez Ortz.

Auditor

: Ing. Osbaldo Caldern.

Fecha de diseo

:Abril-Octubre1 1998.

Fecha de Instrumentacin

: Octubre1 1998 - Febrero1 1999.

Fecha de revisin

: Octubre 1998 y Marzo 1999.

2.12.2. DESCRIPCION DE LA UNIDAD DE PROGRAMA.


Realizar la determinacin preliminar de los costos del software a partir de las especificaciones del
diseo arquitectnico, en lo que respecta al nmero de lneas de cdigo fuente (puede ser una
aproximacin).

Caractersticas:
La caracterstica principal de la unidad es determinar los costos jerrquicamente para cada
nitina, seccin, unidad y por ultimo para el proyecto general.
Trabaja para los siguientes niveles de complejidad del producto:
a) Orgnica (de aplicacin).
b) Semi separada (de apoyo).
c) Incrustada (de sistemas).

2.12.3. CAPACIDADES DE LA UNIDAD.


Entre los aspectos sobre los cuales trabaja la unidad son los siguientes:
a. Calculo del esfuerzo programador (PM).

De las etapas de planificacin.

- Planes y requisitos.
- Diseo arquitectnico.

- Diseo detallado.

- De la codificacin y pmebas unitarias.


- De las pmebas de sistemas.
De la instrumentacin.

- Para cada rutina.


- Para cada seccin de unidad de programa.
- Para cada unidad de programa.
- Para el software total.
b. Estimaciones del tiempo de desarrollo (TDEV):
Para los planes y requisitos.
Para diseo arquitectnico.
Para el diseo detallado.
Para la codificacin y pmebas mtinarias.
Para las pmebas de sistemas.
c. Estimacin del costo por:
Unidades de programa.
Todo el software.

todas las caracteristicas que se estiman en esta unidad en bases a la tcnica COCOMO.

Estructura :

I
Tipo

fsico del
campo

l ~ u m e r ode lneas del nivel

Estimacin del tiempo de


desarrollo del nivel

Cdsi

C-tdev

Tamailo

Es el cdigo que identifica la asociacin dt


los niveles en cuanto Proyecto-Unidad.
Seccion-Mdulo
Es el nombre largo del nivel de eshictura
Es el abreviado del nivel
Es el nmero de lineas de cdigo fuente de
nivel (solo se especifican las de nivel ma:
bajo, los niveles mas altos de actualizar
autom6ticamente por sumatoria)
Es el esfuerzo en mese de programado de
nivel respectivo, este valor es calculado poi
un proceso no <cintroduce
Es el estimado del tiempo de dcrarrollo dc
nivel en meses programador, este valor e:
calculado por un proceso no se introduce.
Estimado del numero de programadores par
realizar el
-~ nivel
-~
Estimado del costo en el des3rrollo del ni\el
Es el factor multiplisador dc la catrguri;
atributos del producto.
Es el factor multiplicador de la categori;
atributos del producto.
Es el factor multiplicador de la categori;
atributos del producto.
Es el factor multiplicador de la categori
caracteristicas de la niaquina.
Es el factor multiplicador de la categorii
caracteristicas de la maquina.
Es el factor multiplicador de la categorii
caracteristicas de la maquina.
Es el factor multi~licadorde la catezori;
caracteristicas de la maquina.
E5 el factor multiplicador de la categoria
Caracteristicas del pcrsonal
Es el rctor multiplicador de la catcgnria
Caracteristicas del personal
Es el factor multiplicador de la categoria
Caracteristicas del personal
Es el factor multiplicador de la categora
Caracteristicas del personal
Es el factor multi~licadorde la categora
Caracteristicas del personal
~

modulo

Complejidad del producto

Limitantes en tiempo de
ejecucin
Limitantes en memoria

C-lim-eje

C-tie-ent

Tiempo de entrega de
programas
Capacidad de los analistas

Ccap-ana

I
Capacidad de los

aplicacin

programacin

Ccapgro

Descripcin

~~

..
jf#g#@a#i#a&$g;q$;!
~;&&!;~!!~>
{ ;!jpj);*fi#

Nombre lgico del Campo

Uso de tcnicas modernas de


programacin
Uso de herramientas de
programacin
Tiempo requerido para el
desmollo

Nombre
fisico del
campo
C-tecmod

Tipo

Tamao

4,2

Chergro

4,2

CJie-des

4,2

Descripcin

Es el factor multiplicador de la categora


Caracteristicas del proyecto
Es el factor multiplicador de la categora
Caractersticas del proyecto
Es el factor multiplicador de la categora
Caracteristicas del proyecto

2.12.5. LISTADO DE LAS SECCIONES DE LA UNIDAD.

a. Seccin de determinacin de costos.

Capacidades:
Administrar los detalles de cada funcin (adicin, consulta, modificacin, eliminacin).

- Nombre.
- Numero de lneas.
- Factores multiplicadores.
Factores:
Factor

Caracteristicas

Valor

1. Atributos del producto

1 1 Confiabilidad
requerida

1 Se caracteriza por la magnitud de los problemas que podra ocasionar la falla del sistema

1.2. Tamario de la base de


datos

1
0

Muv baia: Aleuna molestia menor


1
0.75
0.88
s de recuperar
iraaes reiaiivas en la recuperacin
1 .O0
.
1.15
.
,.rrdida financiera
-.
.
Muy alta : Kiesgo
ae una viaa
I
1, . 4 ~
Se categorizan por el nmero de lneas de cdigo fuente que contienen

Trivial : menor o igual a 500 lneas de cdigo


Pequeio : de 501 a 2,000 lneas de cdigo
Mediano : de 2.001 a 50,000 lneas de cdigo
Grande : de 50,001 a 100,000 lneas de cdigo
Muy Grande : de 100,001 a 1,000,000 de lneas de cdigo
Extremadamente Grande : de 1000,001 o ms lneas de cdigo

.m

0.94
1.08
1.22
1.37
1 .SO
1.65

--

Factor
1.3. Complejidad del
producto

Valor
Caracteristicas
Existen tres categoras de complejidad con respecto a su clasificacin de la misma

Fcil : aplicacin aislada de procesamiento de datos, sistema


conocido
Normal : Procesamiento de datos en red, procesos desconocidos
Dificil : Aplicaciones cientficas, de simulacin, muchos

0.70
1.17
1.65

ejecucin

1.O0

Holgado : Cuando no hay restricciones de memoria


Normal : Si lo que se mantiene en inemoria es lo suficiente para 1
realizar los procesos
Mnima : Si hay que hacer grandes esfuerzos para mantener lo
estrictamente necesario en memoria
I

1 O0
1.33

Monousuario : El sistema slo atiende a un usuario a la ves

1 principal

1 memoria del computador y el tamao del sistema.


I

3. Caracteristicas del personal


3.1. Capacidad de los
Se categoriza por la experiencia y preparacin acadmica
analistas
Poca : Con poco estudio y sin experiencia
Media : Con bastante estudio pero sin o poca experiencia
Alta : Con mucha experiencia y preparacin acadmica
3.2. Capacidad de los
Se categoriza por la experiencia y preparacin acadkmica
programadores
Poca : Con poco estudios y sin experiencia

1.66

1.46
1.08
0.71

1.42

1 equipo en programas de 1
aplicacin
3.4. Experiencias de los
programadores en el
lenguaje de programacin

Ninguno : O
1.29
Pocos : 1-3
1.O5
Muchos : mas de 3
1
0.82
Se categoriza por la cantidad de sistemas realizados en el lenguaje de programacin

Poca : Solo las practicas de estudiante y otras practicas aisladas


Alguna : se ha programado por lo menos un sistema en el
lenguaje
Mucha : Se ha programado mas de un sistema en el lenguaje

1.14
1.O4
0.95

1 modernas de programacin 1 orientada a objetos; as como

del desarrollo de anlisis y diseo sistemticos, y el uso de


notaciones estructuradas
Improvisado : Con la mnima planeacin, con el conocimiento 1
1.24
general
1.10
Organizado : Estndares y planeacin
Estructurado : Notaciones de anlisis y de diseo estructuradas
0.96
Sistemtico : Incluir inspecciones o revisiones y recorridos
0.82
4.2. Uso de herramientas de Se categoriza por el uso de herramientas de programacin como generadores de cdigo,
Lenguajes de cuarta generacin, estndares sobre la instrumentacin
programacin
1.24
Programacin manual sin estndares
Programacin manual con estndares
1.10
Programacin automtica sin estndares
0.96
Programacin automtica con estndares
0.82
4.3. Tiempo requerido para Se categoriza por el tiempo disponible para el desarrollo del proyecto
el desarrollo
Mnimo : Si el tiempo para el desarrollo es mayor o igual al 75%
1.23
del tiempo nominal
Nominal : Es el tiempo calculado mediante la tcnica COCOMO
1.17
1.10
Holgado : Es el tiempo nominal mas algunas holguras por
imnrevintoi

Realizar clculos jerrquicos ascendentes (funciones-secciones-unidades-sistema).

b. Seccin de determinacin de tiempos.


c. Seccin de determinacin de personal requerido.
d. Seccin de simulacin.
e. Seccin de despliegues y reportes.

:ostos
le software

determinacin

La Aplicacin efectiva de sta metodologa, requiere del seguimiento detallado de los


diferentes tpicos tratados en el contenido de este captulo. Este seguimiento es difcil pero muy til
para la determinacin de costos tanto de anlisis como de implementacin de Sistemas
automatizados, lo cual es fundamental para la toma de decisiones en cuanto a la inversin en
desarrollo de planes y proyectos de corto y largo plazo.

También podría gustarte