Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Estimacion de Coste
Estimacion de Coste
de costes de
un proyecto
informtico
Estimacin
de costes de
un proyecto
informtico
P03/75069/02142
P03/75069/02142
FUOC P03/75069/02142
FUOC P03/75069/02142
FUOC P03/75069/02142
FUOC P03/75069/02142
ndice
ndice
Introduccin .............................................................................................. 5
Introduccin .............................................................................................. 5
Objetivos ..................................................................................................... 7
Objetivos ..................................................................................................... 7
Resumen ...................................................................................................... 53
Resumen ...................................................................................................... 53
Actividades ................................................................................................. 55
Actividades ................................................................................................. 55
Solucionario ............................................................................................... 56
Solucionario ............................................................................................... 56
Glosario ....................................................................................................... 56
Glosario ....................................................................................................... 56
Bibliografa ................................................................................................ 58
Bibliografa ................................................................................................ 58
FUOC P03/75069/02142
FUOC P03/75069/02142
FUOC P03/75069/02142
FUOC P03/75069/02142
Introduccin
Introduccin
del cual, al empezar, no se conoce ni siquiera el alcance que pueda llegar a tener.
del cual, al empezar, no se conoce ni siquiera el alcance que pueda llegar a tener.
formtica de gestin). Sin embargo, aunque esto sea as, a menudo antes de
formtica de gestin). Sin embargo, aunque esto sea as, a menudo antes de
empezar se debe llevar a cabo una primera estimacin de costes que, simple-
empezar se debe llevar a cabo una primera estimacin de costes que, simple-
realidad.
realidad.
que nos puedan ser tiles para caracterizar y medir varias funcionalidades del
que nos puedan ser tiles para caracterizar y medir varias funcionalidades del
cin de software.
cin de software.
cuadas para llevar a cabo una buena estimacin de los costes de construccin
cuadas para llevar a cabo una buena estimacin de los costes de construccin
construccin de software, dominan los costes del personal tcnico que inter-
construccin de software, dominan los costes del personal tcnico que inter-
de software de aplicacin.
de software de aplicacin.
necesario tambin conocer los diferentes modelos que, desde hace unos trein-
necesario tambin conocer los diferentes modelos que, desde hace unos trein-
FUOC P03/75069/02142
FUOC P03/75069/02142
rante la ltima dcada, los cambios en la construccin del software han sido
rante la ltima dcada, los cambios en la construccin del software han sido
parecen los ms adecuados para la compleja y difcil tarea de estimar los cos-
parecen los ms adecuados para la compleja y difcil tarea de estimar los cos-
tes. Es cierto que se revisan los modelos ms importantes, pero la falta de datos
tes. Es cierto que se revisan los modelos ms importantes, pero la falta de datos
cin que existen y que forman el mbito de conocimiento que debe tener un
cin que existen y que forman el mbito de conocimiento que debe tener un
FUOC P03/75069/02142
FUOC P03/75069/02142
Objetivos
Objetivos
los materiales asociados a este mdulo didctico, el estudiante debe poder al-
los materiales asociados a este mdulo didctico, el estudiante debe poder al-
1. Conocer el problema de las mtricas de software, sobre todo las que sirven
1. Conocer el problema de las mtricas de software, sobre todo las que sirven
Aunque se trata del producto de personas por meses, es necesario saber que
Aunque se trata del producto de personas por meses, es necesario saber que
sible interrelacin.
sible interrelacin.
yecto, pero a medida que ste avanza se puede reducir del todo.
yecto, pero a medida que ste avanza se puede reducir del todo.
FUOC P03/75069/02142
FUOC P03/75069/02142
FUOC P03/75069/02142
FUOC P03/75069/02142
decir que toda magnitud fsica se puede medir, pero el software es, sobre todo,
decir que toda magnitud fsica se puede medir, pero el software es, sobre todo,
Una mtrica es, pues, una asignacin de valor a un atributo de una en-
Una mtrica es, pues, una asignacin de valor a un atributo de una en-
Cuando hablamos de un atributo nos referimos a una determinada caracterstica que pretendemos medir y cuantificar*.
Cuando hablamos de un producto nos referimos, por ejemplo, a un cdigo, un diseo, una especificacin, etc.
Cuando hablamos de un atributo nos referimos a una determinada caracterstica que pretendemos medir y cuantificar*.
Cuando hablamos de un producto nos referimos, por ejemplo, a un cdigo, un diseo, una especificacin, etc.
bas, etc.
bas, etc.
del IEEE.
del IEEE.
atributo.
atributo.
FUOC P03/75069/02142
10
FUOC P03/75069/02142
10
chos autores han ido sugiriendo diferentes unidades de medida para evaluar y
chos autores han ido sugiriendo diferentes unidades de medida para evaluar y
diferentes.
diferentes.
software que ya existe, pero tambin para estimar a priori determinadas magni-
software que ya existe, pero tambin para estimar a priori determinadas magni-
tudes de un software que an est por elaborar. Cabe decir, de entrada, que no
tudes de un software que an est por elaborar. Cabe decir, de entrada, que no
proyectos anteriores.
proyectos anteriores.
En el momento de realizar la estimacin de costes, las mtricas de productividad son las que tienen ms relevancia en la calificacin de un proyecto infor-
En el momento de realizar la estimacin de costes, las mtricas de productividad son las que tienen ms relevancia en la calificacin de un proyecto infor-
Como veremos, se dan diversos modelos para efectuar esta estimacin, pero,
Como veremos, se dan diversos modelos para efectuar esta estimacin, pero,
cin.
cin.
Cabe mencionar que, a pesar de disponer de mtricas bien escogidas e incorporadas a un proceso de construccin de software, contina habiendo problemas.
En definitiva, se debe tener un criterio para adoptar y utilizar una mtrica
de software. Como siempre que se mide, el hecho de disponer de unidades
de medida e, incluso, de estndares, no aleja, ms bien al contrario, la inevitable necesidad de pensar. Disponer de mtricas puede ser una ayuda,
pero no lo es todo.
La falibilidad
de las mtricas
La aceptacin, que es muy frecuente, de las lneas de cdigo
como unidad de medida del
tamao de un proyecto informtico no evita errores de
apreciacin (considerar o no
los comentarios o las lneas en
blanco), de recuento (cada vez
hay ms lneas de cdigo generadas de manera automtica
por las herramientas de desarrollo), de generalizacin (para
un mismo tratamiento, se necesita un nmero diferente de
lneas de cdigo en funcin del
lenguaje de programacin utilizado), etc.
Cabe mencionar que, a pesar de disponer de mtricas bien escogidas e incorporadas a un proceso de construccin de software, contina habiendo problemas.
En definitiva, se debe tener un criterio para adoptar y utilizar una mtrica
de software. Como siempre que se mide, el hecho de disponer de unidades
de medida e, incluso, de estndares, no aleja, ms bien al contrario, la inevitable necesidad de pensar. Disponer de mtricas puede ser una ayuda,
pero no lo es todo.
Una primera subdivisin de las muchas mtricas que existen las clasifica en los
Una primera subdivisin de las muchas mtricas que existen las clasifica en los
1) Las mtricas del producto, que miden diferentes aspectos del software obtenido, a menudo a partir de cdigo fuente expresado en un lenguaje informtico determinado*.
* Lenguajes de programacin,
de diseo, de especificacin, etc.
1) Las mtricas del producto, que miden diferentes aspectos del software obtenido, a menudo a partir de cdigo fuente expresado en un lenguaje informtico determinado*.
La falibilidad
de las mtricas
La aceptacin, que es muy frecuente, de las lneas de cdigo
como unidad de medida del
tamao de un proyecto informtico no evita errores de
apreciacin (considerar o no
los comentarios o las lneas en
blanco), de recuento (cada vez
hay ms lneas de cdigo generadas de manera automtica
por las herramientas de desarrollo), de generalizacin (para
un mismo tratamiento, se necesita un nmero diferente de
lneas de cdigo en funcin del
lenguaje de programacin utilizado), etc.
* Lenguajes de programacin,
de diseo, de especificacin, etc.
FUOC P03/75069/02142
11
FUOC P03/75069/02142
11
2) Las mtricas del proceso, que intentan medir determinados atributos que
2) Las mtricas del proceso, que intentan medir determinados atributos que
manera de construirlo.
manera de construirlo.
Como indicador
de producto...
... se puede utilizar, por ejemplo, el nmero de errores de
un software, aunque es tambin un indicador claro de la
calidad del proceso de construccin utilizado para obtener
este software.
Como indicador
de producto...
... se puede utilizar, por ejemplo, el nmero de errores de
un software, aunque es tambin un indicador claro de la
calidad del proceso de construccin utilizado para obtener
este software.
Como indicador
de proceso...
... si se utiliza, por ejemplo, el
nmero de lneas de cdigo
por persona y mes, como la cifra ms o menos estndar publicada en los aos noventa
sera de 350 lneas de cdigo
por persona y mes en un proyecto medio, una instalacin
que slo consiguiera 200 sabra que est todava lejos de lo
que debera ser factible en el
estado actual del arte.
mina la madurez del proceso del software*, al menos en las grandes instalaciones, el
programa de mtricas de software**, que, una vez decididas unas determinadas uni-
Cabe mencionar que los indicadores de producto a menudo no estn realmente disponibles hasta que no lo est el producto en s, es decir, a posteriori, cuando el software de aplicacin ya se encuentra en disposicin de entrar en la
etapa de explotacin.
2) Los indicadores de proceso han de permitir conocer la eficacia de una instalacin simplemente por comparacin con los indicadores que es capaz de
conseguir respecto de los que la literatura tcnica publica.
En la ltima dcada se ha puesto de moda crear, en el marco de lo que se deno-
Como indicador
de proceso...
... si se utiliza, por ejemplo, el
nmero de lneas de cdigo
por persona y mes, como la cifra ms o menos estndar publicada en los aos noventa
sera de 350 lneas de cdigo
por persona y mes en un proyecto medio, una instalacin
que slo consiguiera 200 sabra que est todava lejos de lo
que debera ser factible en el
estado actual del arte.
mina la madurez del proceso del software*, al menos en las grandes instalaciones, el
* En ingls, Software Process
Maturity.
** En ingls, Software Metrics
Program.
programa de mtricas de software**, que, una vez decididas unas determinadas unidades de medida, intenta introducir en el proceso de desarrollo y construccin de
software la buena prctica de medir diferentes aspectos y cuantificar al mximo
minar sus caractersticas, que se pueden resumir en calidad del producto y pro-
minar sus caractersticas, que se pueden resumir en calidad del producto y pro-
FUOC P03/75069/02142
12
FUOC P03/75069/02142
12
dice en otro mdulo, es muy difcil que todas las necesidades queden explici-
dice en otro mdulo, es muy difcil que todas las necesidades queden explici-
cia de calidad.
cia de calidad.
das indirectas del producto, junto con las mtricas de funcionalidad, complejidad,
das indirectas del producto, junto con las mtricas de funcionalidad, complejidad,
Algunas medidas
directas...
... seran las lneas de cdigo, el
coste, el esfuerzo, el nmero
de errores, la velocidad de ejecucin, la memoria ocupada
por un programa, los puntos
de funcin de Albrecht, etc.
Primitivas de entrada
y de salida
Algunos ejemplos de primitivas de salida son las lneas de
cdigo, el nmero de errores,
los puntos de funcin, el nmero de pginas de documentacin, etc.
Por otra parte, ejemplos de primitivas de entrada son el esfuerzo en horas de trabajo de una
persona, el coste en pesetas, etc.
Algunas medidas
directas...
... seran las lneas de cdigo, el
coste, el esfuerzo, el nmero
de errores, la velocidad de ejecucin, la memoria ocupada
por un programa, los puntos
de funcin de Albrecht, etc.
Primitivas de entrada
y de salida
Algunos ejemplos de primitivas de salida son las lneas de
cdigo, el nmero de errores,
los puntos de funcin, el nmero de pginas de documentacin, etc.
Por otra parte, ejemplos de primitivas de entrada son el esfuerzo en horas de trabajo de una
persona, el coste en pesetas, etc.
FUOC P03/75069/02142
13
FUOC P03/75069/02142
13
lizadas (generalmente, las lneas de cdigo o los puntos de funcin que estu-
lizadas (generalmente, las lneas de cdigo o los puntos de funcin que estu-
salida.
salida.
Como se explica en otro mdulo, casi siempre el coste se asocia o es proporcional al esfuerzo que supone el trabajo, ya que los recursos humanos que intervienen en un proyecto informtico son, hoy en da, los ms importantes.
Como se explica en otro mdulo, casi siempre el coste se asocia o es proporcional al esfuerzo que supone el trabajo, ya que los recursos humanos que intervienen en un proyecto informtico son, hoy en da, los ms importantes.
Aunque conviene no olvidar que pueden darse otros costes para el hardware,
Aunque conviene no olvidar que pueden darse otros costes para el hardware,
diferentes.
diferentes.
vados que otros. El jefe de proyecto ha de tener muy en cuenta estas parti-
vados que otros. El jefe de proyecto ha de tener muy en cuenta estas parti-
La denominacin
hombre-mes...
... se utiliza en libros del todo
clsicos, como el de Brooks
(The Mythical Man-Month), a
partir de la experiencia de uno
de los primeros grandes proyectos informticos de construccin de software: el sistema
operativo 360 de IBM en los
aos sesenta.
La denominacin
hombre-mes...
... se utiliza en libros del todo
clsicos, como el de Brooks
(The Mythical Man-Month), a
partir de la experiencia de uno
de los primeros grandes proyectos informticos de construccin de software: el sistema
operativo 360 de IBM en los
aos sesenta.
FUOC P03/75069/02142
14
FUOC P03/75069/02142
14
* En ingls, staff.
de informacin.
* En ingls, staff.
software, que incluye, como ya sabemos, el anlisis, el diseo, la programacin y las pruebas para producir una determinada aplicacin o un sistema
software, que incluye, como ya sabemos, el anlisis, el diseo, la programaPodis ver las etapas de la actividad
de ingeniera de software en el
subapartado 1.8 del mdulo El proyecto
informtico de construccin de software.
es el producto de dos (nmero de personas y meses) sugiere que debe ser po-
es el producto de dos (nmero de personas y meses) sugiere que debe ser po-
fuerzo de 15 hombres-mes. Este esfuerzo se puede alcanzar tanto con una per-
fuerzo de 15 hombres-mes. Este esfuerzo se puede alcanzar tanto con una per-
15
FUOC P03/75069/02142
15
FUOC P03/75069/02142
sona que trabaje durante quince meses, como con quince personas que trabajen
sona que trabaje durante quince meses, como con quince personas que trabajen
1 15 = 15 1 = 3 5 = 15.
1 15 = 15 1 = 3 5 = 15.
ste es el posible error de interpretacin que quiere ayudar a corregir el artculo ms importante de los que Brooks recoge en la obra ya histrica The Mythical Man-Month.
En determinados trabajos se da una distribucin del esfuerzo a lo largo del
tiempo que les es, en cierta manera, caracterstica. Esto ocurre en la construccin de software y es necesario saberlo.
Lectura recomendada
Podis consultar el trabajo
de Brooks sobre el mito del
hombre-mes en la obra
siguiente:
F. Brooks (1975). The
Mythical Man-Month.
Reading (Massachusetts):
Addison-Wesley.
ste es el posible error de interpretacin que quiere ayudar a corregir el artculo ms importante de los que Brooks recoge en la obra ya histrica The Mythical Man-Month.
En determinados trabajos se da una distribucin del esfuerzo a lo largo del
tiempo que les es, en cierta manera, caracterstica. Esto ocurre en la construccin de software y es necesario saberlo.
9 1 = 1 9 = 3 3 = 9 meses-mujer.
9 1 = 1 9 = 3 3 = 9 meses-mujer.
Cabe decir que, en este ejemplo tan claro, no se tienen en cuenta excepciones como los
sietemesinos (7 meses-mujer de esfuerzo), o los gemelos (4,5 meses-mujer de esfuerzo).
Cabe decir que, en este ejemplo tan claro, no se tienen en cuenta excepciones como los
sietemesinos (7 meses-mujer de esfuerzo), o los gemelos (4,5 meses-mujer de esfuerzo).
En el caso del esfuerzo para construir software, aunque puedan darse pequeas
desviaciones, tambin se tiene un tipo caracterstico de distribucin del esfuerzo a lo largo del tiempo que ya se muestra en otro mdulo.
En el caso del esfuerzo para construir software, aunque puedan darse pequeas
desviaciones, tambin se tiene un tipo caracterstico de distribucin del esfuerzo a lo largo del tiempo que ya se muestra en otro mdulo.
da que sean tiles para relacionarlas despus con el volumen del trabajo o el
da que sean tiles para relacionarlas despus con el volumen del trabajo o el
Lectura recomendada
Podis consultar el trabajo
de Brooks sobre el mito del
hombre-mes en la obra
siguiente:
F. Brooks (1975). The
Mythical Man-Month.
Reading (Massachusetts):
Addison-Wesley.
FUOC P03/75069/02142
16
FUOC P03/75069/02142
16
El tamao del software, construido a partir de las lneas de cdigo que ste
El tamao del software, construido a partir de las lneas de cdigo que ste
Pero debe conocerse, de entrada, que el tamao es una medida que, a veces,
Pero debe conocerse, de entrada, que el tamao es una medida que, a veces,
software.
software.
Las lneas de cdigo no siempre son una medida indicativa del esfuerzo
Las lneas de cdigo no siempre son una medida indicativa del esfuerzo
Por ello se han propuesto tambin otras unidades de medida que, en lugar del
Por ello se han propuesto tambin otras unidades de medida que, en lugar del
final obtenido, sino a las funcionalidades que ste incorpora. Un ejemplo su-
final obtenido, sino a las funcionalidades que ste incorpora. Un ejemplo su-
ms adelante.
ms adelante.
las principales primitivas de salida que se utilizan para calcular ratios de pro-
las principales primitivas de salida que se utilizan para calcular ratios de pro-
ductividad.
ductividad.
tico ha sido, durante mucho tiempo, la de las lneas de cdigo del software fi-
tico ha sido, durante mucho tiempo, la de las lneas de cdigo del software fi-
FUOC P03/75069/02142
17
FUOC P03/75069/02142
17
proyecto informtico.
proyecto informtico.
no siempre las ha escrito el equipo del proyecto, sino que las han generado las
no siempre las ha escrito el equipo del proyecto, sino que las han generado las
truccin los programas incluyen lneas de comentario o que una lnea de tra-
truccin los programas incluyen lneas de comentario o que una lnea de tra-
NSLOC es la sigla
de la expresin inglesa New
Source Lines of Code.
informtico en curso.
informtico en curso.
Las diferentes denominaciones que existen cuando se habla de las lneas de cdigo recogen el hecho de que tenemos bastantes dificultades y dudas a la hora de medirlas. stos
son algunos de los planteamientos que hacen difcil la valoracin:
Las diferentes denominaciones que existen cuando se habla de las lneas de cdigo recogen el hecho de que tenemos bastantes dificultades y dudas a la hora de medirlas. stos
son algunos de los planteamientos que hacen difcil la valoracin:
Qu ocurre cuando una nica instruccin se escribe, por legibilidad, en dos o ms lneas de cdigo fuente?
Qu ocurre cuando una nica instruccin se escribe, por legibilidad, en dos o ms lneas de cdigo fuente?
Se deben tener en cuenta las lneas que haya generado automticamente el entorno
de programacin (formateador de pantallas, gestor de formularios de pantalla, gestor
de acceso a la base de datos, etc.)?
Se deben tener en cuenta las lneas que haya generado automticamente el entorno
de programacin (formateador de pantallas, gestor de formularios de pantalla, gestor
de acceso a la base de datos, etc.)?
Se deben tener en cuenta las lneas de cdigo de rutinas o los objetos reutilizados procedentes de otras aplicaciones?
Se deben tener en cuenta las lneas de cdigo de rutinas o los objetos reutilizados procedentes de otras aplicaciones?
Qu pasa con las ratios de productividad establecidas cuando cambian los lenguajes
de programacin utilizados?
Qu pasa con las ratios de productividad establecidas cuando cambian los lenguajes
de programacin utilizados?
cuentan de mil en mil, en KLOC) son las nuevas lneas de cdigo fuente que
incluyen las directivas de compilacin*, las declaraciones de las estructuras de
NSLOC es la sigla
de la expresin inglesa New
Source Lines of Code.
cuentan de mil en mil, en KLOC) son las nuevas lneas de cdigo fuente que
* Por ejemplo, las COPY del COBOL.
18
FUOC P03/75069/02142
datos y el cdigo ejecutable excluyendo los comentarios y las lneas generadas automticamente por el entorno de programacin o fruto de reutilizacin.
18
FUOC P03/75069/02142
datos y el cdigo ejecutable excluyendo los comentarios y las lneas generadas automticamente por el entorno de programacin o fruto de reutilizacin.
Cada lnea fsica de cdigo se cuenta una sola vez y cada fichero incluido au-
Cada lnea fsica de cdigo se cuenta una sola vez y cada fichero incluido au-
tas ratios, que actan como estndares de la profesin y que han sido
tas ratios, que actan como estndares de la profesin y que han sido
b) 350 NCSS por persona y mes, segn datos de comienzos de los aos
b) 350 NCSS por persona y mes, segn datos de comienzos de los aos
Robert O. Grady.
Robert O. Grady.
macin utilizado.
macin utilizado.
En su libro de 1986, el especialista Caper T. Jones ofreca datos que ilustran varios
aspectos de la productividad asociada a los diferentes lenguajes de programacin:
Esfuerzo para desarrollar la misma cantidad de lneas de cdigo
en diferentes lenguajes
Lenguajes
Tamao (LOC)
Esfuerzo (persona-mes)
Ensamblador
10.000
40
3.000
Macroensamblador
10.000
42
10.000
COBOL
Lectura complementaria
Encontraris datos sobre la
productividad asociada
a los diferentes lenguajes
de programacin en la obra
siguiente:
C. T. Jones (1986).
Programming Productivity.
Nueva York: McGraw-Hill.
En su libro de 1986, el especialista Caper T. Jones ofreca datos que ilustran varios
aspectos de la productividad asociada a los diferentes lenguajes de programacin:
Esfuerzo para desarrollar la misma cantidad de lneas de cdigo
en diferentes lenguajes
Tamao (LOC)
Esfuerzo (persona-mes)
Ensamblador
10.000
40
3.000
2.857
Macroensamblador
10.000
42
2.857
44
2.727
10.000
44
2.727
10.000
48
2.500
COBOL
10.000
48
2.500
Pascal
10.000
51
2.354
Pascal
10.000
51
2.354
Ada
10.000
52
2.308
Ada
10.000
52
2.308
BASIC
10.000
53
2.264
BASIC
10.000
53
2.264
Lenguajes
Lectura complementaria
Encontraris datos sobre la
productividad asociada
a los diferentes lenguajes
de programacin en la obra
siguiente:
C. T. Jones (1986).
Programming Productivity.
Nueva York: McGraw-Hill.
19
FUOC P03/75069/02142
19
FUOC P03/75069/02142
Est claro que con lenguajes de alto nivel habr que escribir menos para obte-
Est claro que con lenguajes de alto nivel habr que escribir menos para obte-
del libro de Jones, que ofrece resultados parecidos, pero que parte del esfuerzo
del libro de Jones, que ofrece resultados parecidos, pero que parte del esfuerzo
Tamao (LOC)
Esfuerzo (persona-mes)
Ensamblador
10.000
40
3.000
Macroensamblador
6.666
28
5.000
COBOL
Tamao (LOC)
Esfuerzo (persona-mes)
Ensamblador
10.000
40
3.000
2.856
Macroensamblador
6.666
28
2.856
22
2.727
5.000
22
2.727
3.333
26
2.500
COBOL
3.333
26
2.500
Pascal
2.500
13
2.307
Pascal
2.500
13
2.307
Ada
2.222
12
2.222
Ada
2.222
12
2.222
BASIC
2.000
11
2.181
BASIC
2.000
11
2.181
Los datos de Jones son suficientemente compatibles con los otros estndares
Los datos de Jones son suficientemente compatibles con los otros estndares
BOL, e imaginamos unos 225 das de trabajo al ao exceptuando las fiestas, las
vacaciones y los fines de semana (365 14 22 52 2 = 225), la productividad
BOL, e imaginamos unos 225 das de trabajo al ao exceptuando las fiestas, las
vacaciones y los fines de semana (365 14 22 52 2 = 225), la productividad
de la que habla Jones es de 11,11 LOC por persona-da, que est prximo a las
de la que habla Jones es de 11,11 LOC por persona-da, que est prximo a las
10 que deca Boehm en la misma poca y es un poco inferior a las casi 16 LOC
10 que deca Boehm en la misma poca y es un poco inferior a las casi 16 LOC
por persona-da que representan las 350 NCSS de Grady establecidas unos
por persona-da que representan las 350 NCSS de Grady establecidas unos
sin final que se puede extraer de los datos disponibles a mitad de los
sin final que se puede extraer de los datos disponibles a mitad de los
aos ochenta.
aos ochenta.
Cabe mencionar que estos datos provienen, como ya hemos dicho, de los aos
Cabe mencionar que estos datos provienen, como ya hemos dicho, de los aos
programacin de productividad ms elevada o con las facilidades de los nuevos entornos de programacin y sus ayudas.
En los ltimos aos han aparecido una serie de lenguajes muy fciles de utilizar que unen, poco a poco, las ventajas de la orientacin a objetos con los de
la llamada programacin visual. Nacidos en el mundo de la microinformtica
para ayudar a la realizacin de programas con interfaz visual bajo el paradigma
Ejemplos de programas
con interfaz visual
Entre los muchos ejemplos disponibles de programas bajo el
paradigma WIMP, debemos
destacar PowerBuilder, Visual
Basic o Delphi, que son posiblemente los ms utilizados
actualmente.
programacin de productividad ms elevada o con las facilidades de los nuevos entornos de programacin y sus ayudas.
En los ltimos aos han aparecido una serie de lenguajes muy fciles de utilizar que unen, poco a poco, las ventajas de la orientacin a objetos con los de
la llamada programacin visual. Nacidos en el mundo de la microinformtica
para ayudar a la realizacin de programas con interfaz visual bajo el paradigma
Ejemplos de programas
con interfaz visual
Entre los muchos ejemplos disponibles de programas bajo el
paradigma WIMP, debemos
destacar PowerBuilder, Visual
Basic o Delphi, que son posiblemente los ms utilizados
actualmente.
FUOC P03/75069/02142
20
FUOC P03/75069/02142
20
WIMP (windows, icons, mouse y pop-up menu; es decir, ventanas, iconos, ratn
WIMP (windows, icons, mouse y pop-up menu; es decir, ventanas, iconos, ratn
estos nuevos lenguajes, que, eso s, parecen haber aumentado mucho la pro-
estos nuevos lenguajes, que, eso s, parecen haber aumentado mucho la pro-
Ahora bien, cuando se habla de las lneas de cdigo como mtrica de tamao
Ahora bien, cuando se habla de las lneas de cdigo como mtrica de tamao
Las LOC de las que se habla aqu, adems de coincidir fsicamente con
Las LOC de las que se habla aqu, adems de coincidir fsicamente con
Otra vez son los datos que ofrece Caper T. Jones en uno de sus libros (1986)
Otra vez son los datos que ofrece Caper T. Jones en uno de sus libros (1986)
los que nos pueden ayudar a aclarar el significado de las LOC. Jones habla de
los que nos pueden ayudar a aclarar el significado de las LOC. Jones habla de
la productividad aparente de una persona a partir de las LOC que se pueden im-
la productividad aparente de una persona a partir de las LOC que se pueden im-
plementar por persona y ao. Pero debemos saber cul es el trabajo que incor-
plementar por persona y ao. Pero debemos saber cul es el trabajo que incor-
En el caso concreto del COBOL o en el de un lenguaje parecido, la productividad aparente vara mucho en funcin de las actividades que tengamos en cuenta, como vemos a
continuacin:
En el caso concreto del COBOL o en el de un lenguaje parecido, la productividad aparente vara mucho en funcin de las actividades que tengamos en cuenta, como vemos a
continuacin:
Si se tienen en cuenta el diseo, la codificacin y las pruebas de slo un mdulo o rutina y se realiza la medida durante un mes (y despus, como antes, se pasa a su equivalente anual), se obtiene una medida de 12.000 LOC por persona-ao.
Si se tienen en cuenta el diseo, la codificacin y las pruebas de slo un mdulo o rutina y se realiza la medida durante un mes (y despus, como antes, se pasa a su equivalente anual), se obtiene una medida de 12.000 LOC por persona-ao.
Si se trata del diseo, la codificacin y las pruebas de un programa completo que consta
de diferentes mdulos o rutinas, se obtienen 6.000 LOC por persona-ao.
Si se trata del diseo, la codificacin y las pruebas de un programa completo que consta
de diferentes mdulos o rutinas, se obtienen 6.000 LOC por persona-ao.
FUOC P03/75069/02142
21
FUOC P03/75069/02142
21
Si se incluyen tambin todas las actividades previas a la programacin y las pruebas (el
estudio de oportunidades, el anlisis de requerimientos, el diseo, la codificacin, la
integracin, todo tipo de pruebas, las actividades de control y gestin de la calidad, la
documentacin externa e interna y el mantenimiento de un proyecto), se obtiene una
medida de 2.500 LOC por persona-ao.
Si se incluyen tambin todas las actividades previas a la programacin y las pruebas (el
estudio de oportunidades, el anlisis de requerimientos, el diseo, la codificacin, la
integracin, todo tipo de pruebas, las actividades de control y gestin de la calidad, la
documentacin externa e interna y el mantenimiento de un proyecto), se obtiene una
medida de 2.500 LOC por persona-ao.
Finalmente, cuando se tiene en cuenta el esfuerzo total en software de una organizacin o empresa durante todo un ao, incluyendo los proyectos cancelados o fracasados, los desarrollos nuevos y el mantenimiento y las ampliaciones de sistemas viejos
de informacin, se obtienen 250 LOC por persona-ao.
Finalmente, cuando se tiene en cuenta el esfuerzo total en software de una organizacin o empresa durante todo un ao, incluyendo los proyectos cancelados o fracasados, los desarrollos nuevos y el mantenimiento y las ampliaciones de sistemas viejos
de informacin, se obtienen 250 LOC por persona-ao.
Destacamos, entre stas, la medida de las 2.500 LOC por persona-ao, que es la ms adecuada porque tiene en cuenta todas las actividades que corresponden al proyecto de
construccin de software de aplicacin que nos ocupa. El dato coincide, en orden de magnitud, con el intervalo entre 10 y 16 LOC por persona-da que la informtica tradicional
considera el estndar de productividad habitual en grandes proyectos de informtica de
gestin con lenguajes tradicionales como el COBOL.
Destacamos, entre stas, la medida de las 2.500 LOC por persona-ao, que es la ms adecuada porque tiene en cuenta todas las actividades que corresponden al proyecto de
construccin de software de aplicacin que nos ocupa. El dato coincide, en orden de magnitud, con el intervalo entre 10 y 16 LOC por persona-da que la informtica tradicional
considera el estndar de productividad habitual en grandes proyectos de informtica de
gestin con lenguajes tradicionales como el COBOL.
en un primer artculo del ao 1979 y que fue revisado (y relacionado tambin con
la mtrica de las lneas de cdigo) en el ao 1983 por el mismo Albrecht, ayudado
por Gaffney.
El recuento de los puntos de funcin, como veremos, deja algunos aspectos a
la interpretacin de quien lleva a cabo la medida y ello ha generado diferentes
artculos y trabajos que, manteniendo la idea central de Albrecht, intentan
ayudar a adaptar el recuento de puntos de funcin a la realidad cambiando la
informtica de gestin: bases de datos relacionales, nuevos lenguajes y entornos de programacin, nuevas herramientas de programacin visual, orienta-
versin 3.0, fechada en el ao 1990, y la 4.0, que es de 1994, son las ms uti-
versin 3.0, fechada en el ao 1990, y la 4.0, que es de 1994, son las ms uti-
lizadas hoy y la diversa literatura tcnica actual sobre puntos de funcin hace
lizadas hoy y la diversa literatura tcnica actual sobre puntos de funcin hace
En la direccin electrnica
www.ifpug.org podis
encontrar informacin de la
versin ms actual del IFPUG en Internet,
aunque para obtener determinados
datos o manuales se ha de ser socio.
Lectura complementaria
Podis consultar la obra
siguiente:
A.J. Albrecht; J.E.
Gaffney Jr. (1983). Software
Function, Source Lines
of Code, and Development
Effort Prediction: A Software
Science Validation.
IEEE Transactions on Software
Engineering (vol. SE-9,
nm. 6, noviembre,
pg. 639-648).
En la direccin electrnica
www.ifpug.org podis
encontrar informacin de la
versin ms actual del IFPUG en Internet,
aunque para obtener determinados
datos o manuales se ha de ser socio.
FUOC P03/75069/02142
22
FUOC P03/75069/02142
22
A pesar de todo, contina vivo el problema de que la mtrica fue pensada du-
A pesar de todo, contina vivo el problema de que la mtrica fue pensada du-
rante los aos setenta, cuando la informtica era bastante diferente de lo que
rante los aos setenta, cuando la informtica era bastante diferente de lo que
Como veremos, tambin ser necesario establecer para cada instalacin cul
Como veremos, tambin ser necesario establecer para cada instalacin cul
continuacin:
continuacin:
a) Ficheros lgicos internos (LIF): grupo de datos interrelacionados lgicamente y que pueden ser identificados claramente incluso por los usuarios, o a veces
a) Ficheros lgicos internos (LIF): grupo de datos interrelacionados lgicamente y que pueden ser identificados claramente incluso por los usuarios, o a veces
Son los ficheros de la aplicacin (o, si se quiere, las tablas de la base de datos).
Son los ficheros de la aplicacin (o, si se quiere, las tablas de la base de datos).
b) Ficheros de interfaces externas (EIF): grupo de datos interrelacionados lgicamente y que pueden ser identificados por los usuarios, o a veces informa-
b) Ficheros de interfaces externas (EIF): grupo de datos interrelacionados lgicamente y que pueden ser identificados por los usuarios, o a veces informa-
EO es la sigla de la expresin
inglesa External Output.
b) Salidas externas (EO): cualquier proceso elemental que genere datos o informacin de control que salga de los lmites de la aplicacin. Equivale a las
EO es la sigla de la expresin
inglesa External Output.
c) Consultas externas (EQ): proceso elemental formado por una combinacin de entrada y salida que permite la recuperacin de datos. La salida no
EQ es la sigla de la expresin
inglesa External Query.
23
FUOC P03/75069/02142
23
FUOC P03/75069/02142
debe contener datos derivados y se pueden utilizar los ficheros lgicos inter-
debe contener datos derivados y se pueden utilizar los ficheros lgicos inter-
Siguiendo una serie de directrices ms o menos objetivas que hoy elabora y man-
Siguiendo una serie de directrices ms o menos objetivas que hoy elabora y man-
tiene el IFPUG, cada una de estas caractersticas funcionales queda definida como
tiene el IFPUG, cada una de estas caractersticas funcionales queda definida como
Descripcin
para obtener, gracias a pesos de ponderacin fijados por Albrecht a finales de los
aos setenta, lo que se denomina total de puntos de funcin sin ajustar (TUFP):
Puntos de funcin sin ajustar (TUFP)
Complejidad
Simple
Media
Compleja
Total
EI
Entradas externas
----- 4
----- 6
-----
EO
Salidas externas
----- 5
----- 7
-----
LIF
----- 10
----- 15
-----
EIF
----- 7
----- 10
-----
EQ
Consultas externas
----- 4
----- 6
-----
-----
Tipo
Descripcin
Complejidad
Simple
Media
Compleja
Total
EI
Entradas externas
----- 4
----- 6
-----
EO
Salidas externas
----- 5
----- 7
-----
LIF
----- 10
----- 15
-----
EIF
----- 7
----- 10
-----
EQ
Consultas externas
----- 4
----- 6
-----
-----
aplicacin. Por ello, aadi que se deban considerar tambin las caractersti-
aplicacin. Por ello, aadi que se deban considerar tambin las caractersti-
ticas funcionales y se evala cada una de 0 a 5 (el valor medio es, pues, 2,5).
ticas funcionales y se evala cada una de 0 a 5 (el valor medio es, pues, 2,5).
La tabla siguiente detalla las caractersticas generales del sistema y una dispo-
La tabla siguiente detalla las caractersticas generales del sistema y una dispo-
Total
ID
Total
C1
Comunicacin de datos
-----
C1
Comunicacin de datos
-----
C2
Funciones distribuidas
-----
C2
Funciones distribuidas
-----
C3
Rendimiento
-----
C3
Rendimiento
-----
C4
-----
C4
-----
C5
Frecuencia de transacciones
-----
C5
Frecuencia de transacciones
-----
C6
-----
C6
-----
C7
-----
C7
-----
C8
Actualizacin on-line
-----
C8
Actualizacin on-line
-----
C9
Procesos complejos
-----
C9
Procesos complejos
-----
C10
Reusabilidad
-----
C10
Reusabilidad
-----
24
FUOC P03/75069/02142
24
FUOC P03/75069/02142
Total
ID
Total
C11
Facilidad de instalacin
-----
C11
Facilidad de instalacin
-----
C12
Facilidad de operacin
-----
C12
Facilidad de operacin
-----
C13
Instalacin mltiple
-----
C13
Instalacin mltiple
-----
C14
Facilidad de cambios
-----
C14
Facilidad de cambios
-----
-----
-----
Con el valor del grado total de influencia se determina el ajuste por la complejidad del proceso (PCA) segn la frmula siguiente:
Finalmente, los puntos de funcin (FP) se obtienen ajustados y definitivos segn el clculo siguiente:
FP = TUFP PCA,
ticas funcionales (EI, EO, EQ, LIF, EIF), como de las caractersticas generales,
ticas funcionales (EI, EO, EQ, LIF, EIF), como de las caractersticas generales,
ciones que escogi Albrecht sin modificar los pesos de ponderacin, peridi-
ciones que escogi Albrecht sin modificar los pesos de ponderacin, peridi-
tersticas funcionales.
tersticas funcionales.
1) La complejidad funcional sobre los ficheros (tanto los LIF como los EIF)
1) La complejidad funcional sobre los ficheros (tanto los LIF como los EIF)
FP = TUFP PCA,
25
FUOC P03/75069/02142
25
FUOC P03/75069/02142
1 a 19 DET
20 a 50 DET
51 DET o ms
1 RET
Baja
Baja
Media
2 a 5 RET
Baja
Media
Media
Alta
6 RET o ms
1 a 19 DET
20 a 50 DET
51 DET o ms
1 RET
Baja
Baja
Media
Alta
2 a 5 RET
Baja
Media
Alta
Alta
6 RET o ms
Media
Alta
Alta
puede evaluar a partir de las guas que publica el IFPUG. Por ejemplo, en la
puede evaluar a partir de las guas que publica el IFPUG. Por ejemplo, en la
punto de funcin.
punto de funcin.
digo, en este trabajo se reflejan todas las tareas necesarias, desde el estudio
digo, en este trabajo se reflejan todas las tareas necesarias, desde el estudio
pruebas.
Lectura recomendada
Encontraris los datos que
ofrece Jones sobre su empresa
en la obra siguiente:
C.T. Jones (1996). Software
Estimating Rules of Thumb.
IEEE computer (marzo,
pg. 116-118).
pruebas.
Lectura recomendada
Encontraris los datos que
ofrece Jones sobre su empresa
en la obra siguiente:
C.T. Jones (1996). Software
Estimating Rules of Thumb.
IEEE computer (marzo,
pg. 116-118).
26
FUOC P03/75069/02142
26
FUOC P03/75069/02142
Descripcin
Horas/FP
Ponderacin (%)
Total horas/FP
Actividad
Descripcin
Horas/FP
Ponderacin (%)
Total horas/FP
01
Requerimientos
0,75
3,75
01
Requerimientos
0,75
3,75
04
0,26
0,52
04
0,26
0,52
05
Diseo inicial
0,75
6,00
05
Diseo inicial
0,75
6,00
06
Diseo detallado
0,88
10
8,80
06
Diseo detallado
0,88
10
8,80
08
Codificacin
2,64
40
105,60
08
Codificacin
2,64
40
105,60
15
Documentacin de
usuario
1,89
10
18,90
15
Documentacin de
usuario
1,89
10
18,90
16
Prueba unitaria
0,88
10
8,80
16
Prueba unitaria
0,88
10
8,80
17
Prueba funcional
0,88
3,52
17
Prueba funcional
0,88
3,52
18
Prueba de integracin
0,75
3,00
18
Prueba de integracin
0,75
3,00
19
0,66
2,64
19
0,66
2,64
25
1,32
3,96
25
1,32
3,96
Media
1,6549
Media
1,6549
conjunto del proyecto, Jones obtiene una media de 1,65 horas por punto de
conjunto del proyecto, Jones obtiene una media de 1,65 horas por punto de
funcin, hecho que no deja de ser un valor muy optimista, conseguido por
funcin, hecho que no deja de ser un valor muy optimista, conseguido por
una empresa que hace mucho tiempo que observa con detalle todos los pro-
una empresa que hace mucho tiempo que observa con detalle todos los pro-
A todos los efectos, una productividad que tenga entre dos o tres horas por
A todos los efectos, una productividad que tenga entre dos o tres horas por
ciones modernas.
ciones modernas.
Aunque los puntos de funcin y las lneas de cdigo sean diferentes, es posible
Aunque los puntos de funcin y las lneas de cdigo sean diferentes, es posible
encontrar una especie de equivalencia entre los unos y las otras. De hecho, ya
encontrar una especie de equivalencia entre los unos y las otras. De hecho, ya
27
FUOC P03/75069/02142
27
FUOC P03/75069/02142
LOC/FP
Lenguaje
LOC/FP
Ensamblador
320
Ensamblador
320
Macroensamblador
213
Macroensamblador
213
150
150
COBOL
106
COBOL
106
Fortran
106
Fortran
106
Pascal
91
Pascal
91
RPG
80
RPG
80
PL/I
80
PL/I
80
Ada
71
Ada
71
BASIC
64
BASIC
64
Lectura complementaria
Podis consultar la obra
siguiente:
B. Londeix (1987). Cost
estimation for software
development. Reading
(Massachusetts):
Addison- Wesley.
Sin embargo, a pesar del inters por la exactitud, cabe mencionar que las imprecisiones en la determinacin de las LOC y, sobre todo, de los FP (a pesar de
los estndares y las recomendaciones del IFPUG), convierten en muy razonable la propuesta del mismo Caper T. Jones.
La propuesta de Caper T. Jones en su columna mensual en la revista IEEE Computer, en el
ao 1996, concretamente en el mes de marzo, estableca la equivalencia siguiente:
Regla 1: un punto de funcin = 100 sentencias de cdigo fuente lgico.
Lectura complementaria
Podis consultar la obra
siguiente:
B. Londeix (1987). Cost
estimation for software
development. Reading
(Massachusetts):
Addison- Wesley.
Sin embargo, a pesar del inters por la exactitud, cabe mencionar que las imConversin de LOC en FP
Para lenguajes de procedimiento, como C, COBOL,
Fortran o Pascal: 100 LOC
por FP.
Para lenguajes orientados a
objeto y generadores de
aplicaciones: 20 LOC
por FP.
El ratio entre sentencias de cdigo fuente lgico sin comentarios al punto de funcin va
desde ms de 300 sentencias por punto de funcin para los lenguajes bsicos de ensamblador, hasta menos de 20 para los lenguajes orientados a objetos y la mayora de los generadores de programas. Como los lenguajes de procedimientos (procedural) como C,
COBOL, Fortran y Pascal estn prximos a una relacin de 100 en 1, este valor puede servir como factor de conversin basto.
El ratio entre sentencias de cdigo fuente lgico sin comentarios al punto de funcin va
desde ms de 300 sentencias por punto de funcin para los lenguajes bsicos de ensamblador, hasta menos de 20 para los lenguajes orientados a objetos y la mayora de los generadores de programas. Como los lenguajes de procedimientos (procedural) como C,
COBOL, Fortran y Pascal estn prximos a una relacin de 100 en 1, este valor puede servir como factor de conversin basto.
Esta regla tiene un gran margen de error y son necesarias correcciones significativas
cuando se trata de lenguajes de programacin orientados a objetos, generadores de
aplicaciones o aplicaciones donde se utilice una cantidad significativa como cdigo
reutilizado.
Esta regla tiene un gran margen de error y son necesarias correcciones significativas
cuando se trata de lenguajes de programacin orientados a objetos, generadores de
aplicaciones o aplicaciones donde se utilice una cantidad significativa como cdigo
reutilizado.
Cabe mencionar que, en este contexto, Jones considera ms bien las lneas de
Cabe mencionar que, en este contexto, Jones considera ms bien las lneas de
cdigo lgicas que las fsicas (que dependen del estilo de cada programador)
cdigo lgicas que las fsicas (que dependen del estilo de cada programador)
Conversin de LOC en FP
Para lenguajes de procedimiento, como C, COBOL,
Fortran o Pascal: 100 LOC
por FP.
Para lenguajes orientados a
objeto y generadores de
aplicaciones: 20 LOC
por FP.
FUOC P03/75069/02142
28
FUOC P03/75069/02142
28
y, sobre todo, que los puntos de funcin hacen referencia a la versin 3.0 del
y, sobre todo, que los puntos de funcin hacen referencia a la versin 3.0 del
Aunque parezca mentira, no existe un acuerdo total entre los datos que Jones
ofrece y los otros disponibles que hemos comentado, procedentes de Boehm
y Grady. Es ms, la diferencia es muy acusada.
Si, de manera general, un punto de funcin son 100 LOC de COBOL y, segn
hemos visto, hoy en da se implementa en dos o tres horas, en una jornada de
trabajo de ocho horas se deberan implementar entre 260 y 400 LOC, cantidad
Aunque parezca mentira, no existe un acuerdo total entre los datos que Jones
ofrece y los otros disponibles que hemos comentado, procedentes de Boehm
y Grady. Es ms, la diferencia es muy acusada.
Si, de manera general, un punto de funcin son 100 LOC de COBOL y, segn
hemos visto, hoy en da se implementa en dos o tres horas, en una jornada de
trabajo de ocho horas se deberan implementar entre 260 y 400 LOC, cantidad
que se encuentra muy por encima de lo que dicen Boehm y Grady (entre 10 y
que se encuentra muy por encima de lo que dicen Boehm y Grady (entre 10 y
En cualquier caso, no hay nada que hacer. Este tipo de contradicciones sobre
En cualquier caso, no hay nada que hacer. Este tipo de contradicciones sobre
software, que, evidentemente, acusan el paso de los aos y, sobre todo, las ca-
software, que, evidentemente, acusan el paso de los aos y, sobre todo, las ca-
den haber sido obtenidos en proyectos anteriores del mismo tipo (en cuanto
den haber sido obtenidos en proyectos anteriores del mismo tipo (en cuanto
FUOC P03/75069/02142
29
FUOC P03/75069/02142
29
plazos, etapa que tambin se conoce con el nombre de tiempo de desarrollo del
plazos, etapa que tambin se conoce con el nombre de tiempo de desarrollo del
coste del hardware y al aumento del coste del software provoca que aqu nos
coste del hardware y al aumento del coste del software provoca que aqu nos
aplicacin. La mayor parte del coste del software se encuentra hoy en el coste
aplicacin. La mayor parte del coste del software se encuentra hoy en el coste
para obtenerlo. Por ello, cuando aqu se habla de estimacin de costes se hace
para obtenerlo. Por ello, cuando aqu se habla de estimacin de costes se hace
cin del volumen de trabajo que se debe llevar a cabo es claramente la ms di-
cin del volumen de trabajo que se debe llevar a cabo es claramente la ms di-
manera, sirve de poco. Cuando el jefe de proyecto se plantea por primera vez
manera, sirve de poco. Cuando el jefe de proyecto se plantea por primera vez
es que no sabe en absoluto lo suficiente como para llegar a una estimacin co-
es que no sabe en absoluto lo suficiente como para llegar a una estimacin co-
Ya hace muchos aos que Tom de Marco dej claro este punto. En un libro
lleno de disquisiciones interesantes y con mucho sentido comn, de Marco
considera que el hecho de esperar obtener de la bibliografa tcnica datos lo
bastante fiables como para llevar a cabo una buena estimacin es una actitud
comparable a la que toman los personajes de la obra de teatro Esperando a Godot del premio Nobel Samuel Beckett. En la obra, un clsico del teatro moderno, dos personajes pasan todo el tiempo esperando a alguien, un tal Godot,
que, simplemente, no llega nunca.
Lectura recomendada
Os recomendamos que leis
el captulo El dilema de la
estimacin de la obra
siguiente:
T. de Marco (1982).
Controlling Software Projects
(vol. 2, pg. 9-17).
Englewood Cliffs: Yourdon
Press (Prentice Hall).
Ya hace muchos aos que Tom de Marco dej claro este punto. En un libro
lleno de disquisiciones interesantes y con mucho sentido comn, de Marco
considera que el hecho de esperar obtener de la bibliografa tcnica datos lo
bastante fiables como para llevar a cabo una buena estimacin es una actitud
comparable a la que toman los personajes de la obra de teatro Esperando a Godot del premio Nobel Samuel Beckett. En la obra, un clsico del teatro moderno, dos personajes pasan todo el tiempo esperando a alguien, un tal Godot,
que, simplemente, no llega nunca.
Lectura recomendada
Os recomendamos que leis
el captulo El dilema de la
estimacin de la obra
siguiente:
T. de Marco (1982).
Controlling Software Projects
(vol. 2, pg. 9-17).
Englewood Cliffs: Yourdon
Press (Prentice Hall).
FUOC P03/75069/02142
30
FUOC P03/75069/02142
30
En palabras de de Marco:
En palabras de de Marco:
No hay modelos de coste transportables. Si esperas que alguien en otro lugar desarrolle
un conjunto de frmulas que puedas utilizar para prever el coste en tu propia instalacin,
probablemente tendrs que esperar para siempre.
No hay modelos de coste transportables. Si esperas que alguien en otro lugar desarrolle
un conjunto de frmulas que puedas utilizar para prever el coste en tu propia instalacin,
probablemente tendrs que esperar para siempre.
Si no se tienen estos datos, se deben utilizar los de la bibliografa tcnica*, aunque no es siempre razonable fiarse demasiado. Quiz por ello, el propio de
Marco propone las dos definiciones sucesivas muy realistas de lo que es una
Si no se tienen estos datos, se deben utilizar los de la bibliografa tcnica*, aunque no es siempre razonable fiarse demasiado. Quiz por ello, el propio de
Marco propone las dos definiciones sucesivas muy realistas de lo que es una
Lectura recomendada
Encontraris las definiciones
de estimacin propuestas por
de Marco en la obra
siguiente:
T. de Marco (1982).
Controlling Software Projects
(pg. 14). Englewood
Cliffs: Yourdon Press
(Prentice- Hall).
bien claro que en estos aspectos vale ms la experiencia que las frmulas,
aqu intentaremos comentar cmo se puede estimar a priori el trabajo necesario para construir un software de aplicacin determinado en la informtica de gestin.
En cuanto
a la experiencia...
... el jefe de proyecto debera
ser como el demonio, de quien
se dice que sabe ms por viejo
que por demonio.
cin que es necesario construir. Se ignora la mayor parte del detalle de las
cin que es necesario construir. Se ignora la mayor parte del detalle de las
Lectura recomendada
Encontraris las definiciones
de estimacin propuestas por
de Marco en la obra
siguiente:
T. de Marco (1982).
Controlling Software Projects
(pg. 14). Englewood
Cliffs: Yourdon Press
(Prentice- Hall).
En cuanto
a la experiencia...
... el jefe de proyecto debera
ser como el demonio, de quien
se dice que sabe ms por viejo
que por demonio.
FUOC P03/75069/02142
31
FUOC P03/75069/02142
31
Fuente: Grfico adaptado de Cost Models for Future Life Cycle Process: COCOMO 2.0 de B.W. Boehm y otros (1995).
Fuente: Grfico adaptado de Cost Models for Future Life Cycle Process: COCOMO 2.0 de B.W. Boehm y otros (1995).
to, puede tener errores de estimacin hasta cuatro veces por encima o por
to, puede tener errores de estimacin hasta cuatro veces por encima o por
duracin estimada del proyecto (es decir, el tiempo de desarrollo que marca
duracin estimada del proyecto (es decir, el tiempo de desarrollo que marca
los plazos que caracterizan al proyecto) tiene un margen de error que va entre
los plazos que caracterizan al proyecto) tiene un margen de error que va entre
con esta primera estimacin tan precaria realizada slo a partir de la definicin
con esta primera estimacin tan precaria realizada slo a partir de la definicin
FUOC P03/75069/02142
32
FUOC P03/75069/02142
32
A continuacin se exponen los siete mtodos que menciona Boehm, con co-
A continuacin se exponen los siete mtodos que menciona Boehm, con co-
proporcionan uno o ms algoritmos que dan una estimacin del coste del soft-
proporcionan uno o ms algoritmos que dan una estimacin del coste del soft-
influyentes en este coste. Estos modelos, como veremos, pueden ser tambin
influyentes en este coste. Estos modelos, como veremos, pueden ser tambin
ware que sea en cierta manera anlogo al que nos ocupa en aspectos clave
ware que sea en cierta manera anlogo al que nos ocupa en aspectos clave
Lectura recomendada
La idea de que el trabajo,
si no se controla, ocupa
siempre todos los recursos
disponibles, se expone de
manera muy divertida en la
obra siguiente:
Cyril Northcote Parkinson
(1962). Al patrimonio por el
matrimonio (tercera ley de
Parkinson). Bilbao: Deusto.
cargas (esfuerzo, coste y/o tiempo de desarrollo) que provoque que la oferta
cargas (esfuerzo, coste y/o tiempo de desarrollo) que provoque que la oferta
Desgraciadamente, la estrategia del precio ganador es en demasiadas ocasiones la realidad del mundo mercantilizado en el que nos movemos: si dos o tres empresas proveedoras deben realizar una oferta de lo que puede costar (en tiempo y dinero) construir una
aplicacin informtica determinada, es casi seguro que se llevar el contrato la que realice una oferta ms barata o la que ofrezca un tiempo de desarrollo inferior. El hecho de
que despus puedan surgir problemas para cumplir lo que se ha prometido es, simplemente, consecuencia de la estrategia con la que se ha conseguido el contrato.
Desgraciadamente, la estrategia del precio ganador es en demasiadas ocasiones la realidad del mundo mercantilizado en el que nos movemos: si dos o tres empresas proveedoras deben realizar una oferta de lo que puede costar (en tiempo y dinero) construir una
aplicacin informtica determinada, es casi seguro que se llevar el contrato la que realice una oferta ms barata o la que ofrezca un tiempo de desarrollo inferior. El hecho de
que despus puedan surgir problemas para cumplir lo que se ha prometido es, simplemente, consecuencia de la estrategia con la que se ha conseguido el contrato.
* En ingls, top-down.
dades globales del producto final (tamao, complejidad, dificultad tcnica, ni-
dades globales del producto final (tamao, complejidad, dificultad tcnica, ni-
Lectura recomendada
La idea de que el trabajo,
si no se controla, ocupa
siempre todos los recursos
disponibles, se expone de
manera muy divertida en la
obra siguiente:
Cyril Northcote Parkinson
(1962). Al patrimonio por el
matrimonio (tercera ley de
Parkinson). Bilbao: Deusto.
* En ingls, top-down.
FUOC P03/75069/02142
33
7) Descomposicin en actividades (WBS) y estimacin ascendente*: mtodo que descompone el conjunto del proyecto en diferentes actividades** y,
una vez estimado el esfuerzo para cada una de stas, obtiene por agregacin el
* En ingls, bottom-up.
** En ingls, Work Breakdown
Structure.
FUOC P03/75069/02142
33
7) Descomposicin en actividades (WBS) y estimacin ascendente*: mtodo que descompone el conjunto del proyecto en diferentes actividades** y,
una vez estimado el esfuerzo para cada una de stas, obtiene por agregacin el
Cabe destacar que, al margen del realismo de algunos de los mtodos mencionados por Boehm, los seis primeros representan mtodos estratgicos y tcticos que, a menudo, dan lugar a una estimacin nica de la totalidad del
proyecto. Como veremos ms adelante, el mtodo ms operativo es el sptimo, que permite, adems, obtener un desglose del proyecto informtico en ac-
tividades, hecho que nos ser muy til tanto en la planificacin, como en el
tividades, hecho que nos ser muy til tanto en la planificacin, como en el
A pesar de todo, la mayora de los mtodos que recogen los libros (y ste no
ser en absoluto una excepcin) tratan la estimacin de costes por mtodos y
modelos algortmicos o con base estadstica. En este caso, como veremos en-
modelos algortmicos o con base estadstica. En este caso, como veremos en-
sonal del jefe de proyecto, que a menudo basaba sus estimaciones en una ex-
sonal del jefe de proyecto, que a menudo basaba sus estimaciones en una ex-
que el estudio estadstico o terico de los datos disponibles nos permite deducir
que el estudio estadstico o terico de los datos disponibles nos permite deducir
Los diferentes modelos de estimacin de costes y/o esfuerzos en la construccin de software* se pueden dividir en cinco grandes grupos principales:
* En ingls, bottom-up.
** En ingls, Work Breakdown
Structure.
mo, que permite, adems, obtener un desglose del proyecto informtico en ac-
A pesar de todo, la mayora de los mtodos que recogen los libros (y ste no
* En la denominacin inglesa,
Cost Estimating Models.
Los diferentes modelos de estimacin de costes y/o esfuerzos en la construccin de software* se pueden dividir en cinco grandes grupos principales:
modelos con base histrica, con base estadstica, tericos, compuestos y basa-
modelos con base histrica, con base estadstica, tericos, compuestos y basa-
* En la denominacin inglesa,
Cost Estimating Models.
FUOC P03/75069/02142
34
FUOC P03/75069/02142
34
des de medida del software, a menudo las lneas de cdigo (LOC) y el esfuerzo
des de medida del software, a menudo las lneas de cdigo (LOC) y el esfuerzo
abundantes y/o generalizables, lo que hacen es partir de una serie de ideas ge-
abundantes y/o generalizables, lo que hacen es partir de una serie de ideas ge-
W. Boehm. Estos modelos intentan obtener las ventajas de los dos sistemas
W. Boehm. Estos modelos intentan obtener las ventajas de los dos sistemas
Dado que a menudo los modelos mencionados anteriormente son poco fia-
Dado que a menudo los modelos mencionados anteriormente son poco fia-
prcticas a primera vista*, que han sido elaboradas por especialistas prestigiosos
y que pueden actuar como referencia general futura para los estndares pro-
* Rules of thumb,
en la denominacin inglesa.
prcticas a primera vista*, que han sido elaboradas por especialistas prestigiosos
y que pueden actuar como referencia general futura para los estndares pro-
Cabe sealar que la mayora de los modelos disponibles se han elaborado du-
Cabe sealar que la mayora de los modelos disponibles se han elaborado du-
etc. Pero, en cualquier caso, los resultados que ofrecen los modelos de estima-
etc. Pero, en cualquier caso, los resultados que ofrecen los modelos de estima-
utilizar las lneas de cdigo (LOC) como base para obtener otras medidas:
utilizar las lneas de cdigo (LOC) como base para obtener otras medidas:
el esfuerzo medido en personas-mes, los meses de construccin del proyecto, el nmero de profesionales que deberan estar involucrados, el nmero
de errores que se puede esperar tener, el nmero de pginas de documen-
el esfuerzo medido en personas-mes, los meses de construccin del proyecto, el nmero de profesionales que deberan estar involucrados, el nmero
de errores que se puede esperar tener, el nmero de pginas de documen-
* Rules of thumb,
en la denominacin inglesa.
FUOC P03/75069/02142
35
FUOC P03/75069/02142
35
de las LOC, que, como ya hemos visto, son una mtrica que depende de-
de las LOC, que, como ya hemos visto, son una mtrica que depende de-
en los ltimos aos) y que hoy en da a menudo son difciles de medir, so-
en los ltimos aos) y que hoy en da a menudo son difciles de medir, so-
bre todo con las actuales herramientas RAD, que generan gran parte de l-
bre todo con las actuales herramientas RAD, que generan gran parte de l-
damente subjetivo y muy propenso a errores. Puede ocurrir que quien realice
damente subjetivo y muy propenso a errores. Puede ocurrir que quien realice
cada uno de los subproyectos o de las fases (e incluso de las actividades con-
cada uno de los subproyectos o de las fases (e incluso de las actividades con-
cretas, si ya se tiene claro cules sern) para obtener la estimacin del proyecto
cretas, si ya se tiene claro cules sern) para obtener la estimacin del proyecto
Puede ocurrir que, cuando el proyecto tiene una cierta envergadura, se pida la
Puede ocurrir que, cuando el proyecto tiene una cierta envergadura, se pida la
En este caso, existen diferentes tcnicas para intentar encontrar una combina-
En este caso, existen diferentes tcnicas para intentar encontrar una combina-
cin adecuada, sobre todo para evitar que, en reuniones conjuntas, el estimador
cin adecuada, sobre todo para evitar que, en reuniones conjuntas, el estimador
por separado.
por separado.
dia ponderada, que podra ser, por ejemplo, en el caso de tres estimaciones,
dia ponderada, que podra ser, por ejemplo, en el caso de tres estimaciones,
36
FUOC P03/75069/02142
36
FUOC P03/75069/02142
ra del Software:
ra del Software:
e = (o + 4n + p)/6,
e = (o + 4n + p)/6,
elaborado por la Rand Corporation en 1948 para evitar las reuniones de grupo
elaborado por la Rand Corporation en 1948 para evitar las reuniones de grupo
considerando lo que han propuesto los dems. El proceso se repite tantas veces
considerando lo que han propuesto los dems. El proceso se repite tantas veces
como sea necesario hasta conseguir una cierta convergencia que sea al menos
como sea necesario hasta conseguir una cierta convergencia que sea al menos
las diferencias encontradas con el fin tratar de forzar una solucin aceptable
las diferencias encontradas con el fin tratar de forzar una solucin aceptable
En primer lugar, en los aos sesenta, se intent aproximar los datos estadsti-
En primer lugar, en los aos sesenta, se intent aproximar los datos estadsti-
E = Co + ci xi
E = Co + ci xi
las diferentes variables o los atributos que se cree que inciden en el coste, a me-
las diferentes variables o los atributos que se cree que inciden en el coste, a me-
nudo denominadas CDA, mientras que ci son los coeficientes que resultan de
la aproximacin estadstica a partir de los datos disponibles procedentes de
nudo denominadas CDA, mientras que ci son los coeficientes que resultan de
la aproximacin estadstica a partir de los datos disponibles procedentes de
De hecho, bien pronto se observ que los modelos lineales no eran correctos
De hecho, bien pronto se observ que los modelos lineales no eran correctos
E = (a + b Lc) m(x),
E = (a + b Lc) m(x),
37
FUOC P03/75069/02142
37
FUOC P03/75069/02142
yecto en KLOC, mientras que a, b y c son los coeficientes que resultan de la aproxi-
yecto en KLOC, mientras que a, b y c son los coeficientes que resultan de la aproxi-
fuerzo tal vez no depende slo del tamao (las lneas de cdigo) y que se dan otros
fuerzo tal vez no depende slo del tamao (las lneas de cdigo) y que se dan otros
parecen a los proyectos de ahora. Muy a menudo los datos de esfuerzo que
parecen a los proyectos de ahora. Muy a menudo los datos de esfuerzo que
que Walston y Felix realizaron tomando como base sesenta proyectos acabados
que Walston y Felix realizaron tomando como base sesenta proyectos acabados
E = 5,2 L0,91.
E = 5,2 L0,91.
D = 4,1 L0,36.
D = 4,1 L0,36.
P = 0,54 E0,6.
P = 0,54 E0,6.
DOCK = 40 L1,01.
DOCK = 40 L1,01.
38
FUOC P03/75069/02142
38
FUOC P03/75069/02142
Debera sorprender el hecho de que el exponente de las KLOC sea inferior a la uni-
Debera sorprender el hecho de que el exponente de las KLOC sea inferior a la uni-
las LOC se contaba hasta un mximo del 50% de comentarios, mientras que en
las LOC se contaba hasta un mximo del 50% de comentarios, mientras que en
Tambin se da una gran variedad de frmulas obtenidas a partir de datos procedentes de diferentes proyectos, entre ellas algunas que relacionan el esfuerzo
con los puntos de funcin de Albrecht.
Cabe tener en cuenta que los resultados de esfuerzo que se obtienen en los diferentes modelos no tienen en absoluto por qu coincidir, ya que reflejan datos extrados de proyectos diferentes y no siempre comparables ni homogneos. De
El modelo de Albrecht
y Gaffney...
... es un ejemplo de modelo
que relaciona el esfuerzo con
los puntos de funcin de Albrecht. Este modelo propone la
frmula siguiente:
E = 13,39 + 0,054FP.
Tambin se da una gran variedad de frmulas obtenidas a partir de datos procedentes de diferentes proyectos, entre ellas algunas que relacionan el esfuerzo
con los puntos de funcin de Albrecht.
Cabe tener en cuenta que los resultados de esfuerzo que se obtienen en los diferentes modelos no tienen en absoluto por qu coincidir, ya que reflejan datos extrados de proyectos diferentes y no siempre comparables ni homogneos. De
El modelo de Albrecht
y Gaffney...
... es un ejemplo de modelo
que relaciona el esfuerzo con
los puntos de funcin de Albrecht. Este modelo propone la
frmula siguiente:
E = 13,39 + 0,054FP.
Lectura recomendada
Podis consultar la obra
siguiente:
L.H. Putman (1978). A
General Empirical Solution
to the Macro Software Sizing
and Estimation Problem.
IEEE Transactions on software
engineering (vol. SE-4, nm. 4,
julio, pg. 345-361).
Lectura recomendada
Podis consultar la obra
siguiente:
L.H. Putman (1978). A
General Empirical Solution
to the Macro Software Sizing
and Estimation Problem.
IEEE Transactions on software
engineering (vol. SE-4, nm. 4,
julio, pg. 345-361).
39
FUOC P03/75069/02142
39
FUOC P03/75069/02142
L = Ck K(1/3) tD(4/3)
L = Ck K(1/3) tD(4/3)
los valores de la constante tecnolgica a medida que cambian los entornos de de-
los valores de la constante tecnolgica a medida que cambian los entornos de de-
en absoluto sencillo.
en absoluto sencillo.
podan situarse entre 610 y 57.314. La Ck, pues, poda moverse desde un valor
podan situarse entre 610 y 57.314. La Ck, pues, poda moverse desde un valor
bastante bajo, 610, hasta otro que es casi cien veces ms alto. Es decir, el papel
bastante bajo, 610, hasta otro que es casi cien veces ms alto. Es decir, el papel
Ck = P/B
Lectura recomendada
Podis consultar la obra
siguiente:
L. Putman; W. Myers
(1992). Measures for
excellence. Englewood Cliffs:
Yourdon Press.
Valores de B habituales
En aplicaciones pequeas de 5
a 15 KLOC, B = 0,16 y en aplicaciones mayores, de ms de
70 KLOC, B = 0,39.
Ck = P/B
En la prctica, hoy el modelo de Putman slo puede ser bien utilizado por aque-
En la prctica, hoy el modelo de Putman slo puede ser bien utilizado por aque-
Lectura recomendada
Podis consultar la obra
siguiente:
L. Putman; W. Myers
(1992). Measures for
excellence. Englewood Cliffs:
Yourdon Press.
Valores de B habituales
En aplicaciones pequeas de 5
a 15 KLOC, B = 0,16 y en aplicaciones mayores, de ms de
70 KLOC, B = 0,39.
FUOC P03/75069/02142
40
FUOC P03/75069/02142
40
En cualquier caso, es bueno saber que el modelo de Putman se prob y valid con
En cualquier caso, es bueno saber que el modelo de Putman se prob y valid con
conclusiones a las que se lleg mostraban que el modelo es bastante correcto para
conclusiones a las que se lleg mostraban que el modelo es bastante correcto para
Por otra parte, sin disponer de la herramienta informtica SLIM, el estimador que
Por otra parte, sin disponer de la herramienta informtica SLIM, el estimador que
Boehm
COCOMO es el modelo de construccin de costes ms conocido y utilizado
de los modelos algortmicos compuestos que se basan sobre todo en datos
Boehm
COCOMO es un acrnimo
de la expresin inglesa
Cost Constructive Model.
la opinin de expertos.
la opinin de expertos.
Cabe mencionar que las diversas versiones del software tienen objetivos diferentes
Cabe mencionar que las diversas versiones del software tienen objetivos diferentes
(COCOMO 81 y Ada COCOMO), que son vlidas siempre que se utilicen los pa-
(COCOMO 81 y Ada COCOMO), que son vlidas siempre que se utilicen los pa-
cuales se definieron.
cuales se definieron.
Al ser el modelo ms aceptado, famoso y utilizado, es fcil encontrar muchas implementaciones informatizadas como, por ejemplo, el COSTAR (Software Cost Estimation Tool), una herramienta ya clsica de la empresa Softstar Systems, que, a
Al ser el modelo ms aceptado, famoso y utilizado, es fcil encontrar muchas implementaciones informatizadas como, por ejemplo, el COSTAR (Software Cost Estimation Tool), una herramienta ya clsica de la empresa Softstar Systems, que, a
cin rpida del esfuerzo (meses-hombre) en funcin del tamao (KLOC) al ini-
cin rpida del esfuerzo (meses-hombre) en funcin del tamao (KLOC) al ini-
COCOMO es un acrnimo
de la expresin inglesa
Cost Constructive Model.
FUOC P03/75069/02142
41
FUOC P03/75069/02142
41
o, el efecto de unos atributos que influyen en el coste (CDA), con los cuales se
o, el efecto de unos atributos que influyen en el coste (CDA), con los cuales se
intermedia, pero en lugar de evaluar los CDA con un nico valor para todo el
intermedia, pero en lugar de evaluar los CDA con un nico valor para todo el
ciclo de vida, tiene en cuenta diferentes CDA para cada fase* de la construccin del software.
* El anlisis, el diseo,
la programacin, las pruebas, etc.
ciclo de vida, tiene en cuenta diferentes CDA para cada fase* de la construccin del software.
Las ecuaciones del modelo COCOMO tienen siempre la forma general que
Las ecuaciones del modelo COCOMO tienen siempre la forma general que
mostramos a continuacin:
mostramos a continuacin:
E = a Lb CDA,
E = a Lb CDA,
T=c
Ed,
donde E es el esfuerzo (en personas-mes), L son las lneas de cdigo (en KLOC), T
es el tiempo de desarrollo del proyecto (en meses) y CDA los cost driven attributes
es el tiempo de desarrollo del proyecto (en meses) y CDA los cost driven attributes
coeficientes que el modelo proporciona como resultado del anlisis de los datos
coeficientes que el modelo proporciona como resultado del anlisis de los datos
de sesenta y tres proyectos realizados entre 1965 y 1980, escritos en cinco lengua-
de sesenta y tres proyectos realizados entre 1965 y 1980, escritos en cinco lengua-
jes diferentes, de tamaos que varan de 2 a 1.000 KLOC y con una productividad
jes diferentes, de tamaos que varan de 2 a 1.000 KLOC y con una productividad
Adems de los tres modelos, COCOMO tiene en cuenta varios tipos de proyec-
Adems de los tres modelos, COCOMO tiene en cuenta varios tipos de proyec-
to, ya que no se obtienen los mismos datos de productividad en todos los ca-
to, ya que no se obtienen los mismos datos de productividad en todos los ca-
sos. En la nomenclatura que utiliza Boehm, los tres tipos de proyecto son los
sos. En la nomenclatura que utiliza Boehm, los tres tipos de proyecto son los
vacin tecnolgica, donde trabaja un pequeo equipo formado por gente que
a) Orgnico*. Proyectos relativamente pequeos y sencillos, con poca innovacin tecnolgica, donde trabaja un pequeo equipo formado por gente que
* En ingls, semidetached.
* En ingls, semidetached.
tengan sentido los proyectos orgnicos o semiacoplados y que, tal como dice
* El anlisis, el diseo,
la programacin, las pruebas, etc.
T = c Ed,
donde E es el esfuerzo (en personas-mes), L son las lneas de cdigo (en KLOC), T
tengan sentido los proyectos orgnicos o semiacoplados y que, tal como dice
Pressman, los proyectos encajados sugieren otro tipo de sistemas informticos
con requerimientos muy rgidos*.
42
FUOC P03/75069/02142
42
FUOC P03/75069/02142
Coeficientes
Proyecto
Orgnico
2,4
1,05
2,5
0,38
Semiacoplado
3,0
1,12
2,5
Encajado
3,6
1,20
2,5
Coeficientes
a
Orgnico
2,4
1,05
2,5
0,38
0,35
Semiacoplado
3,0
1,12
2,5
0,35
0,32
Encajado
3,6
1,20
2,5
0,32
Coeficientes
Proyecto
Orgnico
3,2
1,05
2,5
0,38
Semiacoplado
3,0
1,12
2,5
Encajado
2,8
1,20
2,5
Coeficientes
a
Orgnico
3,2
1,05
2,5
0,38
0,35
Semiacoplado
3,0
1,12
2,5
0,35
0,32
Encajado
2,8
1,20
2,5
0,32
zar, del ordenador en el que se trabaja y que ejecutar la aplicacin, del perso-
zar, del ordenador en el que se trabaja y que ejecutar la aplicacin, del perso-
nal que forma el equipo del proyecto y del proyecto mismo. Cada uno de estos
nal que forma el equipo del proyecto y del proyecto mismo. Cada uno de estos
quince parmetros puede tomar diferentes valores: muy bajo, bajo, nominal,
quince parmetros puede tomar diferentes valores: muy bajo, bajo, nominal,
alto, muy alto y extraalto* que varan en torno a la unidad. La tabla siguiente
alto, muy alto y extraalto* que varan en torno a la unidad. La tabla siguiente
Valores
Muy bajo
Bajo
Nominal
Valores
Alto
Muy alto
Extraalto
Fiabilidad requerida
DATA
CPLX
Complejidad
Limitaciones de tiempo de
ejecucin
Muy bajo
Bajo
Nominal
Alto
Muy alto
Extraalto
0,75
0,88
1,00
1,15
1,40
0,94
1,00
1,08
1,16
0,70
0,85
1,00
1,15
1,30
1,65
1,00
1,11
1,30
1,65
0,88
1,00
1,15
1,40
RELY
Fiabilidad requerida
0,94
1,00
1,08
1,16
DATA
0,70
0,85
1,00
1,15
1,30
1,65
CPLX
Complejidad
1,00
1,11
1,30
1,65
TIME
Limitaciones de tiempo de
ejecucin
43
FUOC P03/75069/02142
43
FUOC P03/75069/02142
Valores
Muy bajo
Bajo
Nominal
Valores
Alto
Muy alto
Extraalto
Muy bajo
Bajo
Nominal
Alto
Muy alto
Extraalto
STOR
Limitaciones de volumen de
memoria
1,00
1,06
1,21
STOR
Limitaciones de volumen de
memoria
1,00
1,06
1,21
VIRT
Volatilidad de la mquina
virtual
0,87
1,00
1,15
1,30
VIRT
Volatilidad de la mquina
virtual
0,87
1,00
1,15
1,30
TURN
Tiempo de respuesta
0,87
1,00
1,07
1,15
1,65
TURN
Tiempo de respuesta
0,87
1,00
1,07
1,15
1,65
ACAP
Capacidad de anlisis
1,46
1,19
1,00
0,86
0,71
1,65
ACAP
Capacidad de anlisis
1,46
1,19
1,00
0,86
0,71
1,65
AEXP
Experiencia en la aplicacin
1,29
1,13
1,00
0,91
0,82
1,56
AEXP
Experiencia en la aplicacin
1,29
1,13
1,00
0,91
0,82
1,56
PCAP
Capacidad de programacin
1,42
1,17
1,00
0,86
0,70
PCAP
Capacidad de programacin
1,42
1,17
1,00
0,86
0,70
VEXP
Experiencia en la mquina
virtual
1,21
1,10
1,00
0,90
VEXP
Experiencia en la mquina
virtual
1,21
1,10
1,00
0,90
LEXP
1,14
1,07
1,00
0,95
LEXP
1,14
1,07
1,00
0,95
MODP
1,24
1,10
1,00
0,91
0,82
MODP
1,24
1,10
1,00
0,91
0,82
TOOL
Uso de herramientas
de software
1,24
1,10
1,00
0,91
0,83
TOOL
Uso de herramientas
de software
1,24
1,10
1,00
0,91
0,83
SCED
Exigencias de planificacin
1,23
1,08
1,00
1,10
SCED
Exigencias de planificacin
1,23
1,08
1,00
1,10
Es necesario saber tambin que existen varias hiptesis que estn en la base
Es necesario saber tambin que existen varias hiptesis que estn en la base
Algunas de las hiptesis que utiliza el modelo COCOMO son, entre otras, las que mencionamos a continuacin:
Algunas de las hiptesis que utiliza el modelo COCOMO son, entre otras, las que mencionamos a continuacin:
pleto de los que existen, aunque los resultados que se obtienen pueden haber
pleto de los que existen, aunque los resultados que se obtienen pueden haber
adecuado para los ciclos de vida utilizados en los aos noventa y a partir del
adecuado para los ciclos de vida utilizados en los aos noventa y a partir del
FUOC P03/75069/02142
44
FUOC P03/75069/02142
44
lida tanto las lneas de cdigo como los clsicos puntos de funcin de Albrecht
lida tanto las lneas de cdigo como los clsicos puntos de funcin de Albrecht
3) Modelo de postarquitectura*: versin ms completa, corresponde a la modernizacin del COCOMO tradicional de 1981. Se aplica cuando se considera que
3) Modelo de postarquitectura*: versin ms completa, corresponde a la modernizacin del COCOMO tradicional de 1981. Se aplica cuando se considera que
como primitivas de salida las lneas de cdigo y los puntos de funcin de Albrecht
como primitivas de salida las lneas de cdigo y los puntos de funcin de Albrecht
utilizar como primitivas de salida tanto las tradicionales lneas de cdigo que ya
utilizar como primitivas de salida tanto las tradicionales lneas de cdigo que ya
la realidad del proyecto informtico que todava est por empezar y que
la realidad del proyecto informtico que todava est por empezar y que
FUOC P03/75069/02142
45
FUOC P03/75069/02142
45
preocupa al jefe de proyecto que debe llevar a cabo la estimacin de las car-
preocupa al jefe de proyecto que debe llevar a cabo la estimacin de las car-
los modelos que ofrecen frmulas son interesantes, pero el gran inconve-
los modelos que ofrecen frmulas son interesantes, pero el gran inconve-
niente que tienen es que la mayora parte de una base de datos de proyectos
niente que tienen es que la mayora parte de una base de datos de proyectos
tiles.
tiles.
laciones*, a pesar de tener como referencia los datos que ofrecen los modelos,
hayan decidido adoptar un sistema mucho ms simple y menos complicado:
Para tener estndares de productividad propios es necesario recoger datos de proyectos anteriores de la misma instalacin y establecer cul es
el esfuerzo que corresponde a las diferentes actividades que pueden formar parte del proceso de construccin del software. Para realizar la estimacin de proyectos nuevos se parte de estos datos convertidos en
estndar de referencia.
La idea general es cuantificar varias unidades de medida que tengan o que pa-
laciones*, a pesar de tener como referencia los datos que ofrecen los modelos,
hayan decidido adoptar un sistema mucho ms simple y menos complicado:
A la hora de estimar
el esfuerzo...
... y planificar las tareas de programacin es til saber (haciendo la media de los datos
de proyectos anteriores) cunto ha tardado en programarse
y probarse, por ejemplo, una
transaccin que saca tres formularios diferentes por pantalla y que consulta y actualiza
cinco tablas de la base de
datos.
Para tener estndares de productividad propios es necesario recoger datos de proyectos anteriores de la misma instalacin y establecer cul es
el esfuerzo que corresponde a las diferentes actividades que pueden formar parte del proceso de construccin del software. Para realizar la estimacin de proyectos nuevos se parte de estos datos convertidos en
estndar de referencia.
La idea general es cuantificar varias unidades de medida que tengan o que parezcan tener una cierta relacin con el esfuerzo (el nmero de formularios de
de los tratamientos, etc.) y/o disponer de una larga serie de actividades tipo
de los tratamientos, etc.) y/o disponer de una larga serie de actividades tipo
las de los puntos de funcin de Albrecht, pero teniendo en cuenta las condiciones concretas de una instalacin determinada y del tipo de aplicacin que
ciente disponer directamente, para cada actividad, del esfuerzo estndar que
ciente disponer directamente, para cada actividad, del esfuerzo estndar que
Tambin, al margen de los estndares propios de cada instalacin, en la bibliografa tcnica se encuentran las recomendaciones prcticas a primera vista.
A la hora de estimar
el esfuerzo...
... y planificar las tareas de programacin es til saber (haciendo la media de los datos
de proyectos anteriores) cunto ha tardado en programarse
y probarse, por ejemplo, una
transaccin que saca tres formularios diferentes por pantalla y que consulta y actualiza
cinco tablas de la base de
datos.
rezcan tener una cierta relacin con el esfuerzo (el nmero de formularios de
Las recomendaciones de
Robert O. Grady del grupo de
mtricas de Hewlett Packard
se pueden encontrar en
la obra siguiente:
R.O. Grady (1992). Practical
software metrics for project
management and process
improvement (vol. 2,
pg. 13-20). Englewood
Cliffs: Prentice Hall (Hewlett
Packard Professional Books).
Lectura recomendada
Uso de estndares de productividad
Es imprescindible la utilizacin de estndares de productividad cuando, por ejemplo,
se utiliza el outsourcing (externalizacin) y se encarga la programacin de una nueva
aplicacin a una empresa externa. En este caso, es necesario tener datos claros que
permitan a las dos empresas (la que quiere el proyecto y la que va a efectuar la programacin) ponerse de acuerdo en el coste que se pagar por el trabajo de programacin que se debe realizar.
Tambin, al margen de los estndares propios de cada instalacin, en la bibliografa tcnica se encuentran las recomendaciones prcticas a primera vista.
Las recomendaciones de
Robert O. Grady del grupo de
mtricas de Hewlett Packard
se pueden encontrar en
la obra siguiente:
R.O. Grady (1992). Practical
software metrics for project
management and process
improvement (vol. 2,
pg. 13-20). Englewood
Cliffs: Prentice Hall (Hewlett
Packard Professional Books).
FUOC P03/75069/02142
46
FUOC P03/75069/02142
46
Como ya hemos dicho, se trata de resmenes del saber acumulado por espe-
Como ya hemos dicho, se trata de resmenes del saber acumulado por espe-
cialistas prestigiosos que pueden actuar como referencia general futura para
cialistas prestigiosos que pueden actuar como referencia general futura para
cas a primera vista siguen siendo populares, pero nunca son exactas y no subs-
cas a primera vista siguen siendo populares, pero nunca son exactas y no subs-
Lectura recomendada
C.T. Jones (1996). Software
Estimating Rules of Thumb.
IEEE computer (marzo, pg.
116-118).
tan al principio.
tan al principio.
Lectura recomendada
C.T. Jones (1996). Software
Estimating Rules of Thumb.
IEEE computer (marzo, pg.
116-118).
Segn estas
equivalencias...
... una aplicacin de 1.000 FP
supone 16 meses de desarrollo, 6,6 personas en el proyecto
y hasta 106 meses de esfuerzo.
(En este sentido, si estos datos
no encajan del todo con la productividad de dos horas para
implementar un punto de
funcin tal como el mismo
Jones propona en un artculo
de mayo de 1996 que hemos
recordado en el apartado 1.4.2
es, simplemente, un ejemplo
ms de las perplejidades que
este asunto de la estimacin
de los costes del software
desencadena, tal como ya
hemos comentado en el
subapartado 1.4.4.)
FUOC P03/75069/02142
47
FUOC P03/75069/02142
47
ran frmulas, pero no debemos olvidar que, muy a menudo, eso no resuelve
ran frmulas, pero no debemos olvidar que, muy a menudo, eso no resuelve
Los modelos algortmicos nos permiten, por ejemplo, saber cul ser el esfuer-
Los modelos algortmicos nos permiten, por ejemplo, saber cul ser el esfuer-
ben llevar a cabo, etc. Sin embargo, todo parte de un determinado nmero
ben llevar a cabo, etc. Sin embargo, todo parte de un determinado nmero
determina.
determina.
slo que un proyecto debe durar seis meses no nos permite conocer si, por
slo que un proyecto debe durar seis meses no nos permite conocer si, por
Si tenemos en cuenta que, posteriormente a la estimacin de costes, es necesario planificar en el tiempo y efectuar el seguimiento de todo el conjunto de
Si tenemos en cuenta que, posteriormente a la estimacin de costes, es necesario planificar en el tiempo y efectuar el seguimiento de todo el conjunto de
mencionar que la PBS es de gran inters para el diseo tcnico, pero no tanto
mencionar que la PBS es de gran inters para el diseo tcnico, pero no tanto
48
FUOC P03/75069/02142
48
FUOC P03/75069/02142
Grupo de tareas 1
Tarea 1.1.1
Tarea 1.1.1
Tarea 1.1.2
Tarea 1.1.2
Tarea 1.1.3
Tarea 1.1.3
Tarea 1.2.1
Tarea 1.2.1
Tarea 1.2.2
Tarea 1.2.2
Grupo de tareas 2
Grupo de tareas 2
Tarea 2.1.1
Tarea 2.1.1
Tarea 2.1.2
Tarea 2.1.2
etc.
etc.
Para llevar a cabo esta descomposicin WBS, el jefe de proyecto utiliza su ex-
Para llevar a cabo esta descomposicin WBS, el jefe de proyecto utiliza su ex-
dos, para establecer una posible lista de tareas que es necesario llevar a cabo
dos, para establecer una posible lista de tareas que es necesario llevar a cabo
en el proyecto.
en el proyecto.
Grupo de tareas 1
49
FUOC P03/75069/02142
49
FUOC P03/75069/02142
nibles. Cabe mencionar que los errores de estimacin son muy frecuentes y,
nibles. Cabe mencionar que los errores de estimacin son muy frecuentes y,
a continuacin:
a continuacin:
dos respectivamente por la primera cifra (grupo), las dos primeras cifras
dos respectivamente por la primera cifra (grupo), las dos primeras cifras
Cdigo
Concepto
Cdigo
Concepto
Grupo
Grupo
Subgrupo
43
Clientes
Subgrupo
43
Clientes
Cuenta
430
Clientes
Cuenta
430
Clientes
Cuenta
435
Cuenta
435
Subcuenta
43512345
Subcuenta
43512345
a) Tratamientos interactivos:
a) Tratamientos interactivos:
Consulta por pantalla del saldo y los movimientos de una subcuenta deter-
Consulta por pantalla del saldo y los movimientos de una subcuenta deter-
minada (extracto).
minada (extracto).
50
FUOC P03/75069/02142
50
FUOC P03/75069/02142
b) Tratamientos diferidos:
b) Tratamientos diferidos:
una contabilidad realizada por ordenador (es decir, si el jefe de proyecto tiene ex-
una contabilidad realizada por ordenador (es decir, si el jefe de proyecto tiene ex-
que hemos presentado es slo mensual. Falta lo que podra ser una segunda fase
que hemos presentado es slo mensual. Falta lo que podra ser una segunda fase
del proyecto, con el cierre del ejercicio anual y la apertura del nuevo ejercicio.
del proyecto, con el cierre del ejercicio anual y la apertura del nuevo ejercicio.
estructural de las tareas que se deben llevar a cabo (WBS) y, para cada tarea, la
estructural de las tareas que se deben llevar a cabo (WBS) y, para cada tarea, la
Personas-da
JP
01
01
02
02
03
03
04
04
05
05
07
Programacin
08
Programacin
10
Programacin
06
07
Programacin
0,5
2
07
08
Programacin
1
4
09
10
Programacin
0,5
3
51
FUOC P03/75069/02142
12
Programacin
Personas-da
JP
14
Programacin
16
Programacin
0,5
2
18
Programacin
0,5
2
20
Programacin
0,5
3
22
Programacin
1
3
24
Programacin
1
3
12
Programacin
0,5
2
13
14
Programacin
0,5
2
15
16
Programacin
0,5
3
17
18
Programacin
1
3
19
20
Programacin
1
3
21
22
Programacin
0,5
2
11
23
24
Programacin
1
3
Documentacin
25
Documentacin
26
26
27
27
28
28
JP
Personas-da
51
FUOC P03/75069/02142
Total (das)
29
23
36
Total (das)
23
36
sos, es decir, la asignacin de tareas a personas concretas (relacin del OBS con
sos, es decir, la asignacin de tareas a personas concretas (relacin del OBS con
la WBS), se han considerado qu tareas forman parte del trabajo del jefe de
la WBS), se han considerado qu tareas forman parte del trabajo del jefe de
tual y son una buena aproximacin para una futura estimacin de los costes
tual y son una buena aproximacin para una futura estimacin de los costes
FUOC P03/75069/02142
52
FUOC P03/75069/02142
52
nico profesional, sin embargo, con vistas a la generalizacin para casos ma-
nico profesional, sin embargo, con vistas a la generalizacin para casos ma-
yores, vale la pena mantener esta separacin de las tareas y los profesionales.
yores, vale la pena mantener esta separacin de las tareas y los profesionales.
Se ha considerado que el jefe de proyecto dedica dos o tres horas cada semana
Se ha considerado que el jefe de proyecto dedica dos o tres horas cada semana
ses (cabe recordar que en un mes se dan, aproximadamente, unos 22 das la-
ses (cabe recordar que en un mes se dan, aproximadamente, unos 22 das la-
borables), hecho que justifica las tres jornadas del jefe de proyecto en
borables), hecho que justifica las tres jornadas del jefe de proyecto en
seguimiento y control.
seguimiento y control.
Se ha realizado una estimacin optimista de las tareas de programacin pensando en herramientas modernas como las herramientas RAD ya menciona-
Se ha realizado una estimacin optimista de las tareas de programacin pensando en herramientas modernas como las herramientas RAD ya menciona-
puede pensar en slo dos das para la programacin y prueba del listado del
puede pensar en slo dos das para la programacin y prueba del listado del
FUOC P03/75069/02142
53
FUOC P03/75069/02142
53
Resumen
Resumen
y ser siempre problemtica, sobre todo por el hecho de tener que estimar el
y ser siempre problemtica, sobre todo por el hecho de tener que estimar el
una relacin emprica entre LOC y FP, y la tendencia actual parece que es el
una relacin emprica entre LOC y FP, y la tendencia actual parece que es el
FUOC P03/75069/02142
FUOC P03/75069/02142
FUOC P03/75069/02142
55
FUOC P03/75069/02142
55
Actividades
Actividades
3. Despus de haber consultado cules son los precios-hora habituales de mercado para un
jefe de proyecto, un analista y un programador, convertid la estimacin de esfuerzo del
ejemplo de la contabilidad sencilla en un PC de personas-da a pesetas (o euros). Teniendo en cuenta que se trata de una aplicacin muy sencilla, la cifra final obtenida os dar
una idea del coste que representa desarrollar proyectos de construccin de software a medida y os har entender la tendencia actual a la utilizacin de paquetes (packages) y a la
reutilizacin de todo el software que se pueda en la construccin de aplicaciones nuevas.
3. Despus de haber consultado cules son los precios-hora habituales de mercado para un
jefe de proyecto, un analista y un programador, convertid la estimacin de esfuerzo del
ejemplo de la contabilidad sencilla en un PC de personas-da a pesetas (o euros). Teniendo en cuenta que se trata de una aplicacin muy sencilla, la cifra final obtenida os dar
una idea del coste que representa desarrollar proyectos de construccin de software a medida y os har entender la tendencia actual a la utilizacin de paquetes (packages) y a la
reutilizacin de todo el software que se pueda en la construccin de aplicaciones nuevas.
Ejercicios de autoevaluacin
Ejercicios de autoevaluacin
1. Es cierto que la estimacin inicial de costes de un proyecto informtico con mtricas basadas en las funcionalidades (puntos de funcin de Albrecht, por ejemplo) es ms objetiva que la estimacin efectuada con mtricas basadas en el tamao del proyecto (KLOC,
por ejemplo)?
1. Es cierto que la estimacin inicial de costes de un proyecto informtico con mtricas basadas en las funcionalidades (puntos de funcin de Albrecht, por ejemplo) es ms objetiva que la estimacin efectuada con mtricas basadas en el tamao del proyecto (KLOC,
por ejemplo)?
6. A partir de los aos noventa, qu se debe realizar para utilizar bien el modelo terico de
Putman?
6. A partir de los aos noventa, qu se debe realizar para utilizar bien el modelo terico de
Putman?
10. Una vez obtenida una descomposicin de tareas de un proyecto (WBS), se podran utilizar
los modelos algortmicos para efectuar la estimacin de costes de cada una de las tareas?
10. Una vez obtenida una descomposicin de tareas de un proyecto (WBS), se podran utilizar
los modelos algortmicos para efectuar la estimacin de costes de cada una de las tareas?
FUOC P03/75069/02142
56
FUOC P03/75069/02142
56
Solucionario
Solucionario
Ejercicios de autoevaluacin
Ejercicios de autoevaluacin
1. El hecho de utilizar KLOC o puntos de funcin es, slo, escoger una mtrica determinada. El problema de la estimacin se encuentra en la dificultad de acertar el alcance de un
proyecto informtico (tamao y/o funcionalidades) justo cuando empieza. Por lo tanto,
la estimacin basada en KLOC no es ms objetiva que la basada en puntos de funcin de
Albrecht.
1. El hecho de utilizar KLOC o puntos de funcin es, slo, escoger una mtrica determinada. El problema de la estimacin se encuentra en la dificultad de acertar el alcance de un
proyecto informtico (tamao y/o funcionalidades) justo cuando empieza. Por lo tanto,
la estimacin basada en KLOC no es ms objetiva que la basada en puntos de funcin de
Albrecht.
2. La causa de un retraso en el proyecto no es siempre una mala estimacin de costes. Pueden darse otros problemas de desarrollo como, por ejemplo, un programador incompetente que no realice su trabajo a tiempo, aunque haya sido bien estimado. En el caso de
la informtica de gestin no se debe olvidar nunca el problema de los requerimientos crecientes.
2. La causa de un retraso en el proyecto no es siempre una mala estimacin de costes. Pueden darse otros problemas de desarrollo como, por ejemplo, un programador incompetente que no realice su trabajo a tiempo, aunque haya sido bien estimado. En el caso de
la informtica de gestin no se debe olvidar nunca el problema de los requerimientos crecientes.
5. Para medir los puntos de funcin de Albrecht se efecta un recuento de las caractersticas
funcionales (entradas, salidas, consultas, ficheros internos e interfaces), teniendo en
cuenta si tienen una complejidad baja, media o alta. Una vez ponderadas estas cifras con
los pesos que fij Albrecht, se obtienen los puntos de funcin sin ajustar, que se corrigen
teniendo en cuenta las caractersticas generales del sistema (catorce valores que deben estimarse, cada uno entre 0 y 5) que determinan el grado total de influencia, hecho que da
el valor final de los puntos de funcin mediante las frmulas siguientes:
5. Para medir los puntos de funcin de Albrecht se efecta un recuento de las caractersticas
funcionales (entradas, salidas, consultas, ficheros internos e interfaces), teniendo en
cuenta si tienen una complejidad baja, media o alta. Una vez ponderadas estas cifras con
los pesos que fij Albrecht, se obtienen los puntos de funcin sin ajustar, que se corrigen
teniendo en cuenta las caractersticas generales del sistema (catorce valores que deben estimarse, cada uno entre 0 y 5) que determinan el grado total de influencia, hecho que da
el valor final de los puntos de funcin mediante las frmulas siguientes:
FP = TUFP PCA.
FP = TUFP PCA.
6. Para utilizar el modelo terico de Putman correctamente a partir de los aos noventa, se
debe adquirir la herramienta de ayuda SLIM, que incorpora todo el modelo y lo mantiene
actualizado.
6. Para utilizar el modelo terico de Putman correctamente a partir de los aos noventa, se
debe adquirir la herramienta de ayuda SLIM, que incorpora todo el modelo y lo mantiene
actualizado.
8. Los modelos algortmicos de estimacin de costes son fiables si el proyecto que se quiere
evaluar es semejante a los proyectos que sirvieron para establecer el modelo y los coeficientes de sus frmulas. Desgraciadamente, los modelos clsicos de estimacin de costes
se obtuvieron hace ya muchos aos y la informtica ha cambiado demasiado para esperar
que los datos obtenidos de los modelos sean completamente aplicables hoy en da.
8. Los modelos algortmicos de estimacin de costes son fiables si el proyecto que se quiere
evaluar es semejante a los proyectos que sirvieron para establecer el modelo y los coeficientes de sus frmulas. Desgraciadamente, los modelos clsicos de estimacin de costes
se obtuvieron hace ya muchos aos y la informtica ha cambiado demasiado para esperar
que los datos obtenidos de los modelos sean completamente aplicables hoy en da.
9. Los modelos tradicionales de estimacin de costes suelen dar una nica cifra para todo
el proyecto, tanto con respecto a LOC, FP, o al esfuerzo necesario para implementar el
proyecto. En la prctica, la planificacin y el seguimiento se realizan mejor si se dispone
de una descomposicin del proyecto en diferentes actividades y tareas que se puedan planificar y controlar una por una.
9. Los modelos tradicionales de estimacin de costes suelen dar una nica cifra para todo
el proyecto, tanto con respecto a LOC, FP, o al esfuerzo necesario para implementar el
proyecto. En la prctica, la planificacin y el seguimiento se realizan mejor si se dispone
de una descomposicin del proyecto en diferentes actividades y tareas que se puedan planificar y controlar una por una.
10. Los modelos algortmicos se obtuvieron en proyectos ms bien muy grandes y, por lo
tanto, sus frmulas no son aplicables a tareas pequeas. As pues, no podemos utilizar
estos modelos para llevar a cabo la estimacin de costes de cada una de las tareas en las
que hayamos descompuesto un proyecto.
10. Los modelos algortmicos se obtuvieron en proyectos ms bien muy grandes y, por lo
tanto, sus frmulas no son aplicables a tareas pequeas. As pues, no podemos utilizar
estos modelos para llevar a cabo la estimacin de costes de cada una de las tareas en las
que hayamos descompuesto un proyecto.
Glosario
Glosario
CDA f Cada una de las variables de los modelos empricos que se cree que inciden en el coste.
CDA f Cada una de las variables de los modelos empricos que se cree que inciden en el coste.
COCOMO m Modelo algortmico de estimacin de costes muy conocido y utilizado, desarrollado por Barry W. Boehm a partir de 1981. Actualmente est en curso una revisin con
el nombre COCOMO II.
COCOMO m Modelo algortmico de estimacin de costes muy conocido y utilizado, desarrollado por Barry W. Boehm a partir de 1981. Actualmente est en curso una revisin con
el nombre COCOMO II.
FUOC P03/75069/02142
57
FUOC P03/75069/02142
57
EI f Entradas externas que hacen referencia a los tratamientos que procesan datos o informacin de control que se introduce a la aplicacin desde fuera de sus lmites.
EI f Entradas externas que hacen referencia a los tratamientos que procesan datos o informacin de control que se introduce a la aplicacin desde fuera de sus lmites.
EO f Salidas externas.
EO f Salidas externas.
EQ f Consultas externas.
EQ f Consultas externas.
FP m Puntos de funcin.
FP m Puntos de funcin.
lneas de cdigo f Unidad de medida (que a menudo se cuenta de mil en mil, en KLOC)
que incluye en el recuento, adems de las lneas codificadas, las directivas de compilacin,
las declaraciones de las estructuras de datos y el cdigo ejecutable; no se cuentan los comentarios y las lneas generadas automticamente por el entorno de programacin o que son fruto de reutilizacin.
sigla: LOC
lneas de cdigo f Unidad de medida (que a menudo se cuenta de mil en mil, en KLOC)
que incluye en el recuento, adems de las lneas codificadas, las directivas de compilacin,
las declaraciones de las estructuras de datos y el cdigo ejecutable; no se cuentan los comentarios y las lneas generadas automticamente por el entorno de programacin o que son fruto de reutilizacin.
sigla: LOC
mtrica de software f Asignacin de valor a un atributo de una entidad propia del software,
ya sea un producto o un proceso.
mtrica de software f Asignacin de valor a un atributo de una entidad propia del software,
ya sea un producto o un proceso.
mtricas de productividad f Mtricas que recogen la eficiencia del proceso de produccin de software y relacionan el software construido con el esfuerzo que ha costado obtenerlo.
mtricas de productividad f Mtricas que recogen la eficiencia del proceso de produccin de software y relacionan el software construido con el esfuerzo que ha costado obtenerlo.
puntos de funcin m Mtrica creada por Albrecht en el ao 1979 que pretende recoger las
funcionalidades como medida de la dificultad de construir un software. El mtodo de clculo
realiza el recuento de unas caractersticas funcionales (entradas, salidas, consultas, ficheros
internos e interfaces), teniendo en cuenta la complejidad, y, despus, corrige el valor obtenido mediante la estimacin de hasta catorce caractersticas generales que determinan el entorno de trabajo y del proyecto.
puntos de funcin m Mtrica creada por Albrecht en el ao 1979 que pretende recoger las
funcionalidades como medida de la dificultad de construir un software. El mtodo de clculo
realiza el recuento de unas caractersticas funcionales (entradas, salidas, consultas, ficheros
internos e interfaces), teniendo en cuenta la complejidad, y, despus, corrige el valor obtenido mediante la estimacin de hasta catorce caractersticas generales que determinan el entorno de trabajo y del proyecto.
FUOC P03/75069/02142
58
FUOC P03/75069/02142
58
rapid application development m Desarrollo rpido de aplicaciones que permiten nuevas herramientas como, por ejemplo, PowerBuilder, Visual Basic o Delphi, que seguramente
son las ms utilizadas actualmente.
sigla: RAD
rapid application development m Desarrollo rpido de aplicaciones que permiten nuevas herramientas como, por ejemplo, PowerBuilder, Visual Basic o Delphi, que seguramente
son las ms utilizadas actualmente.
sigla: RAD
WIMP m y f Sigla de windows, icons, mouse y pop-up menu, es decir, ventanas, iconos, ratn
y mens desplegables. Es el paradigma de la manera ms moderna y ms evolucionada para
construir dilogos persona-ordenador.
WIMP m y f Sigla de windows, icons, mouse y pop-up menu, es decir, ventanas, iconos, ratn
y mens desplegables. Es el paradigma de la manera ms moderna y ms evolucionada para
construir dilogos persona-ordenador.
work breakdown structure f Descomposicin estructural de los trabajos que se deben realizar, es decir, la lista estructurada de todas las actividades y tareas de un proyecto.
sigla: WBS
work breakdown structure f Descomposicin estructural de los trabajos que se deben realizar, es decir, la lista estructurada de todas las actividades y tareas de un proyecto.
sigla: WBS
Bibliografa
Bibliografa
Albrecht, A.J.; Gaffney Jr., J.E. (1983). Software Function, Source Lines of Code, and
Development Effort Prediction: A Software Science Validation. IEEE transactions on
software engineering (vol. SE-9, nm. 6, noviembre, pg. 639-648).
Albrecht, A.J.; Gaffney Jr., J.E. (1983). Software Function, Source Lines of Code, and
Development Effort Prediction: A Software Science Validation. IEEE transactions on
software engineering (vol. SE-9, nm. 6, noviembre, pg. 639-648).
Boehm, B.W. (1981). Software Engineering Economics. Englewood Cliffs: Prentice Hall.
Boehm, B.W. (1981). Software Engineering Economics. Englewood Cliffs: Prentice Hall.
Boehm, B.W. y otros (1995). Cost Models for Future Software Life Cycle Processes: COCOMO
2.0. J.D. Arthur y S.M. Henrio (ed.). Annals of Software Engineering, Special Volume On Software Process and Product Measurement (vol. 1, pg. 57-94). Amsterdam: J.C. Baltzer, AG, Science Publishers.
Boehm, B.W. y otros (1995). Cost Models for Future Software Life Cycle Processes: COCOMO
2.0. J.D. Arthur y S.M. Henrio (ed.). Annals of Software Engineering, Special Volume On Software Process and Product Measurement (vol. 1, pg. 57-94). Amsterdam: J.C. Baltzer, AG, Science Publishers.
Cantor, M.R. (1998). Object-oriented Project Management with UML. Nueva York: John Wiley
& Sons.
Cantor, M.R. (1998). Object-oriented Project Management with UML. Nueva York: John Wiley
& Sons.
Grady, R.O. (1992). Practical Software Metrics for Project Management and Process Improvement.
Englewood Cliffs: Prentice Hall (Hewlett Packard Professional Books).
Grady, R.O. (1992). Practical Software Metrics for Project Management and Process Improvement.
Englewood Cliffs: Prentice Hall (Hewlett Packard Professional Books).
Horowitz E. y otros (1997). USC COCOMO II, 1997 Reference Manual. Los ngeles: USC- SCE
Technical Report.
Horowitz E. y otros (1997). USC COCOMO II, 1997 Reference Manual. Los ngeles: USC- SCE
Technical Report.
IEEE (1993). IEEE Standard for Software Productivity Metrics. Nueva York: IEEE.
IEEE (1993). IEEE Standard for Software Productivity Metrics. Nueva York: IEEE.
Jones, C.T. (1996). Software Estimating Rules of Thumb. IEEE computer (marzo, pg. 116-118).
Jones, C.T. (1996). Software Estimating Rules of Thumb. IEEE computer (marzo, pg. 116-118).
Jones, C.T. (1996). Activity-based Software Costing. IEEE computer (mayo, pg. 103-104).
Jones, C.T. (1996). Activity-based Software Costing. IEEE computer (mayo, pg. 103-104).
Marco, T. de. (1982). Controlling Software Projects. Englewood Cliffs: Yourdon Press (Prentice
Hall).
Marco, T. de. (1982). Controlling Software Projects. Englewood Cliffs: Yourdon Press (Prentice
Hall).
Mller, K.H.; Paulish, D.J. (1993). Software Metrics: A Practitioners Guide to Improved Product
Development. Londres: Chapman & Hall, IEEE Press.
Mller, K.H.; Paulish, D.J. (1993). Software Metrics: A Practitioners Guide to Improved Product
Development. Londres: Chapman & Hall, IEEE Press.
Pressman, R.S. (1998). Ingeniera del software: un enfoque prctico (4. ed.). Madrid: McGraw- Hill.
Pressman, R.S. (1998). Ingeniera del software: un enfoque prctico (4. ed.). Madrid: McGraw- Hill.
Putman, L.H. (1978). A General Empirical Solution to the Macro Software Sizing and Estimation Problem. IEEE Transactions on Software Engineering (vol. SE-4, nm. 4, julio, pg. 345-361).
Putman, L.H. (1978). A General Empirical Solution to the Macro Software Sizing and Estimation Problem. IEEE Transactions on Software Engineering (vol. SE-4, nm. 4, julio, pg. 345-361).
FUOC P03/75069/02142
59
FUOC P03/75069/02142
59
Putman, L.H. (1981). SLIM, A Quantitative Tool for Software Cost and Schedule Estimation (A Demonstration of a Software Management Tool). Proceedings of the NBS/IEEE/ACM
software tool fair (marzo, pg. 49-57).
Putman, L.H. (1981). SLIM, A Quantitative Tool for Software Cost and Schedule Estimation (A Demonstration of a Software Management Tool). Proceedings of the NBS/IEEE/ACM
software tool fair (marzo, pg. 49-57).
Putman L.; Myers, W. (1992). Measures for Excellence. Englewood Cliffs: Yourdon Press.
Putman L.; Myers, W. (1992). Measures for Excellence. Englewood Cliffs: Yourdon Press.
Roetzheim, W.H.; Beasley, R.A. (1998). Software Project Cost & Schedule Stimating: Best
Practices. Upper Saddle River: Prentice Hall.
Roetzheim, W.H.; Beasley, R.A. (1998). Software Project Cost & Schedule Stimating: Best
Practices. Upper Saddle River: Prentice Hall.
Walston C.E; Felix C.p. (1977). A Method Of Programming Measurement And Estimation. Ibm Systems journal (nm. 1, pg. 54-73).
Walston C.E; Felix C.p. (1977). A Method Of Programming Measurement And Estimation. Ibm Systems journal (nm. 1, pg. 54-73).
FUOC P03/75069/02142
FUOC P03/75069/02142