Академический Документы
Профессиональный Документы
Культура Документы
Estimacin
La estimacin segn la Real Academia Espaola es el Aprecio y valor que se da y
en que se tasa y considera algo, En el rea de informtica, la estimacin es el anlisis del
tiempo, esfuerzo y recursos que tomar la creacin de un producto de software, es
prcticamente una obligacin para los gerentes del proyecto hacer este estudio para poder
as determinar el presupuesto necesario para su desarrollo. Esta labor no es fcil, ya que
son muchas las variables que se deben tener en cuenta al momento de realizar el anlisis,
como son las humanas, tcnicas, el entorno y las limitaciones propias del negocio, as como
tambin la poca informacin inicial de la magnitud del sistema, por lo que se necesita
realizar una prediccin de los costos, el personal requerido, los insumos y el tiempo que
tomar desarrollar cada una de las funcionalidades del software. Un error en el clculo del
presupuesto, podra significar el fracaso del proyecto.
Para reducir los riesgos de subestimar el costo del producto, se han creado varias
tcnicas, algunas basadas en algoritmos y otras en la pericia y experiencia de expertos,
personas que ya han estado involucradas en desarrollos similares anteriores. A continuacin
de detallarn algunas de las tcnicas ms conocidas, creadas para este fin.
Tcnicas de Descomposicin
entradas, salidas, archivos de datos, y peticiones externas, segn algunos autores, como
refiere Pressman dicen que el PF es independiente del lenguaje de programacin, lo que lo
hace ideal para aplicaciones que usan lenguajes convencionales y no procedurales, y que se
basa en datos que es ms probable que se conozcan tempranamente en la evolucin de un
proyecto, lo que hace al PF ms atractivo como enfoque de estimacin (Pressman, 2010) ,
mientras que autores detractores dicen que este mtodo es subjetivo, ya que los datos que se
requieren para el clculo son difciles de recopilar.
Hay incluso quienes relacionan ambas mtricas y proponen mediciones de lneas de
cdigo requeridas para construir un punto de funcin.
Para calcular los puntos de funcin se usa la siguiente ecuacin:
= [0.65 + (0.01 ( ))]
Donde el conteo total es la suma de todas las entradas PF obtenidas, que se muestran
en la siguiente imagen:
Y los ( = 1 14) son factores de ajustes de valor con base en respuestas a las
siguientes preguntas:
1. El sistema requiere respaldo y recuperacin confiables?
2. Se requieren comunicaciones de datos especializadas para transferir informacin
hacia o desde la aplicacin?
3. Existen funciones de procesamiento distribuidas?
4. El desempeo es crucial?
+ 4 +
6
Despus de que se combinan las funciones del sistema y los procesos a utilizar, se
estima el esfuerzo (hombre-mes) que se realizar para cada actividad del proyecto. Luego se
aplican las tarifas de la mano de obra (costo/unidad).
Este mtodo cuenta con algunas desventajas de entrada, ya que los casos de uso son
visiones subjetivas de lo que debe realizar el sistema, y por tanto los niveles de abstraccin
pueden llegar a ser muy altos, lo que trae como consecuencia que no se pueda ver a primera
vista la complejidad de las operaciones que implica cumplir con ese caso de uso, Adems de
existen muchas formas de describir un caso de uso, no existe un estndar. Para utilizar esta
tcnica primero se define en qu nivel de abstraccin va estar cada caso de uso, se considera
la cantidad de pginas de cada caso de uso, el tipo de software que se est construyendo y
una arquitectura inicial del sistema. Una vez establecidas dichas caractersticas pueden
usarse datos empricos para establecer el nmero estimado de LOC o PF por caso de uso
(por cada nivel de la jerarqua). Entonces se usan datos histricos a fin de calcular el esfuerzo
requerido para desarrollar el sistema. (Pressman, 2010)
La siguiente ecuacin representa la forma de calcular el esfuerzo requerido:
= + [( 1) + ( 1)]
donde
N = Nmero real de casos de uso.
= LOC promedio histricas por caso de uso para este tipo de subsistema
= representa un ajuste con base en n por ciento de , donde n se
define localmente y representa la diferencia entre este proyecto y los proyectos
promedio
= escenarios reales por caso de uso
= escenarios promedio por caso de uso para este tipo de subsistema
= pginas reales por caso de uso.
= pginas promedio por caso de uso para este tipo de subsistema
Este modelo llamado Constructive Cost Model fue desarrollado en la dcada de los 80
por Barry Bohem con la intencin de ayudar a entender a la gente, las consecuencias de las
decisiones que se toman en la puesta en marcha, desarrollo y soporte de un producto de
software (Boehm, 1984) .
Introduce tres jerarquas para los modelos de estimacin:
1. Bsico: calcula el esfuerzo y el coste del desarrollo de software en funcin del
tamao del programa, expresado en las lneas estimadas de cdigo (LDC).
2. Intermedio: calcula el esfuerzo del desarrollo de software en funcin del
tamao del programa y de un conjunto de conductores de costo que incluyen
la evaluacin subjetiva del producto, del hardware, del personal, y de los
atributos del proyecto.
3. Avanzado: incorpora todas las caractersticas de la versin intermedia y lleva
a cabo una evaluacin del impacto de los conductores de costo en cada fase
del proceso de desarrollo del sistema.
Tambin se definen tres tipos distintos de proyectos de software:
El modelo bsico busca estimar de manera rpida y sencilla los proyectos de pequeo y
mediano tamao. Se utilizan dos ecuaciones para determinar el esfuerzo de personal y el
tiempo de desarrollo.
0.38
= 2.5
expresa el tiempo de desarrollo, donde se obtiene de la ecuacin
EN el modelo bsico se debe tener cuidado al utilizar estas estimaciones, ya que no se toman
en cuenta muchos factores que inciden en el desarrollo de una aplicacin.
En el modelo intermedio se introducen quince atributos de coste para tener en cuenta el
entorno del trabajo. Estos atributos se usan para ajustar el coste nominal del proyecto al
entorno real, incrementando la precisin de la estimacin. Para cada modo de desarrollo
(orgnico, semiencajado y empotrado) los nuevos atributos de coste intervienen como
multiplicadores en el coste nominal para producir el coste ajustado. Las ecuaciones se
mantienen prcticamente igual, solo con algunas variaciones en los coeficientes.
Los
En la siguiente imagen, se puede ver de forma detallada los valores que toma cada
uno de los atributos, dependiendo del tipo de software que se va a construir.
10
Surge en el ao 1978 para proveer un mtodo para estimar tiempo y esfuerzo. Fue
desarrollado por Putnam y lo llam modelo SLIM.
Putnam utiliza observaciones empricas sobre niveles de productividad para derivar
su ecuacin de software a partir de la frmula bsica de la curva de Rayleigh.
= 1/3
donde
11
El modelo SLIM utiliza varias curvas separadas para diseo y codificacin, test y
validacin, mantenimiento, y gerenciamiento. Esta ecuacin permite jugar con el tiempo de
entrega del proyecto, ya que segn la misma, el esfuerzo es inversamente proporcional a la
potencia cuarta del tiempo de entrega. Por ejemplo, esta ecuacin dice que uno puede cortar
el costo del software a la mitad, simplemente incrementando su tiempo de desarrollo en un 19
por ciento (Boehm, 1984).
Tcnica Delphi
El coordinador rene a los expertos para que intercambien puntos de vista sobre el
proyecto.
El coordinador convoca una reunin para que los expertos discutan las razones de las
diferencias entre sus estimaciones.
12
Cuadro Comparativo
Descomposicin del
Descompos
Descomposicin
COCOMO
COCOMO II
SLIM
Delphi
Problema
icin en
en casos de uso
1981
1995
1978
1940/1981
Pginas casos de
LOC, factores
LOC y PF
uso, LOC, PF
de ajustes
objetos
procesos
Ao
Creacin
Mtricas
Mtodo
estimacin
LOC y PF
LOC y PF
+ 4 +
6
= ()
+ [( 1)
4/3
= 1/3
Opiniones de
expertos
escritas en
formularios
+ ( 1)]
rea de
Software
Software
Software
Software y Entorno
Software
Entorno
Estudio
Criterio
Software y
Objetivo
Subjetivo
Subjetivo
Subjetivo
Software y
Entorno
Subjetivo
Subjetivo
Subjetivo
Conclusin
Como se pudo ver, son muchas las tcnicas de estimacin de esfuerzo y costo
creadas a lo largo del tiempo, que se han ido actualizando conforme han ido apareciendo
nuevos paradigmas en el desarrollo de software. Sin embargo ninguna de las tcnicas
garantiza una fiabilidad total, ya que cada proyecto es distinto y los factores que inciden en su
costo pueden ser distintos.
Cada una de las tcnicas vistas ofrece un mtodo para tener una estimacin
aproximada del esfuerzo y el costo que tomar desarrollar un proyecto, pero los valores
finales, dependern de la experiencia y la pericia que posea la persona que analiza la
estimacin, y as poder obtener un presupuesto que se ajuste a la realidad de cada
organizacin.
Bibliografa
15