Вы находитесь на странице: 1из 7

COMBINACION DE ALTERNATIVAS PARA LA ESTIMACION DE PROYECTOS SOFTWARE

Gramajo, E., Garca-Martnez, R., Rossi, B., Claverie, E. y Britos, P.


CAPIS - CENTRO DE ACTUALIZACION PERMANENTE EN INGENIERIA DE SOFTWARE

RESUMEN La utilizacin de metodologas tradicionales para la estimacin de proyectos software ha resuelto correctamente la necesidad de conocer la duracin de un proyecto como una variable dependiente de los recursos a emplear. Se propone en este trabajo la combinacin de las tcnicas de Puntos de Funcin y COCOMO para establecer una estimacin dependiente de un conjunto de variables consideradas en un proyecto para establecer una estimacin mas precisa del mismo. Se plantean en el trabajo aspectos crticos que necesitan ser profundizados a fin de obtener un aprovechamiento mayor de los mtodos descriptos. Palabras Clave Puntos de Funcin Estimacin de proyectos COCOMO Duracin proyecto Orientado a Objetos 1. INTRODUCCIN Actualmente se dispone de tcnicas para estimacin de proyectos que permiten la realizacin de evaluaciones ms precisas que las obtenidas a travs de mtodos tradicionales (orientadas a calcular individualmente el esfuerzo correspondiente a cada una de las actividades del mismo). Se analizarn dos de ellas, Puntos de Funcin (International Function Point users Group. Function Point Counting Practices Manual) y COCOMO (Londeix B, Cost Estimation for Software Development) a fin de examinar no solo sus ventajas sino tambin sus aspectos crticos con el propsito de mostrar que mediante la interaccin de ambas pueden subsanarse algunos de ellos. Por ltimo se presentar como caso de estudio un anlisis comparativo de la estimacin de un proyecto en funcin de diferentes lenguajes de programacin a utilizar, para la implementacin del diseo, con la finalidad de comparar su variacin respecto de las variables mencionadas. 2. MTODO TRADICIONAL Las distintas metodologas tradicionales de estimacin de (Bem B.W.,Software Engineering Economics) proporcionan un dato bsico (horas hombre) a aplicar al proyecto, entendindose por sta a cantidad de horas a utilizar, a partir de lo cual y mediante la utilizacin de diversos ratios tales como pesos/hora u horas/persona pueden deducirse otros valores de estimacin como el costo, personal involucrado, etc.

Basndonos en la experiencia recogida en la actividad profesional (ITBA-CAPIS. Carpetas de la Carrera de Posgrado en Ingeniera del Software) se plantean basicamente dos situaciones (que son ejemplificadas en la figura 1, en la cual se muestra el proceso de estimacin de acuerdo al enfoque tradicional que determina las horas hombre necesarias a partir de las que se calculan los costos y en funcin de los plazos de entrega acordados, se llega finalmente a establecer la cantidad de personal a utilizar). Primera Situacin: Tiene que ver con el costo estimado del proyecto (a partir de estimar horas hombre) el cual est directamente relacionado al ratio utilizado y considerando los plazos de entrega se converge a un valor que satisfaga a las partes involucradas.
ESTIMAR HORAS HOMBRE ESTIMAR EL COSTO

DETERMINAR PLAZOS DE ENTREGA

DETERMINAR EL PERSONAL INVOLUCRADO

Figura 1: Enfoque tradicional para estimacin de proyectos

Segunda Situacin: Est ntimamente relacionado con la estimacin del tiempo total del proyecto ya que es determinado por dos criterios que normalmente se oponen segn nos refiramos al punto de vista del usuario o del desarrollador. Para explicar mejor la idea y simplificndola podemos sintetizar que el desarrollador tratar de extender el proyecto lo mximo posible a fin de asegurar su cumplimiento y el usuario, por el contrario pretender reducirlo. Dado que los mtodos tradicionales proporcionan una medida de las horas hombre necesarias para aplicar al proyecto, la discusin se centra en la asignacin de personal de manera de acortar proporcionalmente el tiempo total en funcin de aumentar aquella variable. Si bien para los desarrolladores es claro que ello no es as (normalmente se recurre a analogas del estilo de ... si una persona puede pintar una habitacin en diez das no puede pensarse que diez personas pudieran hacerlo en un da ...), stos no disponen de argumentos con base cientfica que puedan explicar esta situacin cuando se trata de proyectos de desarrollo de software. Esto lleva invariablemente a la utilizacin de explicaciones que tienen mas que ver con el sentido comn y la experiencia que con justificaciones elaboradas con fundamento. Dicha situacin acarrea un inconveniente adicional producido por el establecimiento de fechas de entrega que pueden resultar imposibles de cumplir cuando se acuerdan bajo la presin del usuario o bien por la necesidad del desarrollador de cumplir anticipadamente un proyecto. Como sntesis de lo expresado sera deseable utilizar tcnicas que no solamente posibilitaran calcular las horas hombre a aplicar al desarrollo de un proyecto sino

tambin estimar un valor de la duracin del mismo dado por sus caractersticas intrnsecas independientemente de los recursos a emplear.

3. MTODOS ALTERNATIVOS La utilizacin de dos mtodos, Puntos de Funcin (Park R.E, Checklist and Criteria for Evaluating the Cost and Schedule Estimating Capabilities of Software organizations) y COCOMO (Burril C.W, Modern Project Management) en forma conjunta permitira mejorar la situacin descripta en la seccin precedente. El mtodo COCOMO permite determinar los valores de las siguientes dos variables:

meses/hombre a aplicar al proyecto meses totales del proyecto (dependiendo de factores tales como los atributos de fiabilidad requerida del software, tamao de la base de datos, complejidad del producto, limitaciones en el tiempo de ejecucin, limitaciones de memoria principal, volatilidad de la mquina virtual, frecuencia de cambio en el modelo de explotacin del ordenador, capacitacin de los analistas, experiencia en aplicaciones, capacitacin de los programadores, experiencia en la mquina virtual, experiencia en el lenguaje de programacin, prcticas modernas de programacin, uso de herramientas para el desarrollo del software y limitaciones en la planificacin).

En la figura 2 se presenta un esquema de estimacin que proporciona adems de las horas hombre a emplear el tiempo total del proyecto (basndose para ello en el conocimiento previo de la cantidad de sentencias de cdigo del proyecto) lo que permite determinar el plazo de entrega. Mostrndose, adems, como a partir de estos dos valores (horas hombre y tiempo total) y simplemente por el cociente de ambos se obtiene la cantidad de recursos (personas) para llevarlo a cabo. A partir de all se puede elaborar el costo mediante la aplicacin de ratios, de igual forma que en las metodologas tradicionales.
Determinar lneas de cdigo
ESTIMAR TIEMPO TOTAL ESTABLECER PLAZO DE ENTREGA DETERMINAR EL PERSONAL INVOLUCRADO ESTIMAR EL COSTO

ESTIMAR HORAS HOMBRE

Figura 2: Estimacin de proyectos por mtodo COCOMO

Debe tenerse en cuenta que la duracin total del proyecto es un valor terico y que puede disminuirse incrementando los recursos (personas) a emplear aunque el

impacto, en razn de lo expresado anteriormente, ser menor (puede alcanzar a un 20% menos) que el esfuerzo aplicado a tal efecto. Esta tcnica requiere de un dato elemental determinado por la cantidad de sentencias de cdigo del proyecto a la que posteriormente se aplican diferentes algoritmos que varan de acuerdo al modelo de desarrollo elegido (Orgnico, Semilibre o Libre) (ITBACAPIS. Carpetas de la Carrera de Posgrado en Ingeniera del Software. Imprenta del ITBA) para entallarlo finalmente de acuerdo a factores de ajuste seleccionados a partir de las caractersticas especficas del proyecto. Esta informacin se convierte en el aspecto crtico del mtodo ya que ese valor es un parmetro difcil de determinar con exactitud y puede variar considerablemente segn las metodologas de desarrollo utilizadas (Burril C.W, Modern Project Management). El camino para resolver este aspecto crtico es mediante la aplicacin de otra tcnica, la de Puntos de Funcin (Bem B.W.,Software Engineering Economics). Segn se puede observar en la Figura 3 correspondiente a la metodologa de estimacin por el mtodo de Puntos de Funcin, se obtienen los Puntos de Funcin del sistema que son ajustados de acuerdo a factores predefinidos (Bem B.W.,Software Engineering Economics) tales como atributos de comunicacin de datos, frecuencias distribuidas, rendimiento, configuraciones fuertemente utilizadas, frecuencia de transacciones, entrada on-line de datos, diseo para la eficiencia del usuario final, actualizacin on-line, procesos complejos, utilizacin en otros sistemas, facilidad de instalacin, facilidad de operacin, instalacin de mltiples sitios y facilidad de cambio, posibilitando a partir de all el establecimiento, de acuerdo a ratios especficos, de la cantidad de sentencias de cdigo del sistema software. Este mtodo calcula los puntos de funcin de un sistema descomponiendo al mismo en cinco funciones principales (entradas, salidas, consultas, ficheros internos y externos), asignndoles valores de acuerdo a su complejidad y en funcin de la cantidad de cada uno de ellos se llega a determinar, mediante su sumatoria, los puntos de funcin, que son posteriormente ajustados de acuerdo a las caractersticas especficas del proyecto (International Function Point users Group).
PUNTOS DE PUNTOS DE FUNCIN SIN AJUSTAR FUNCIN AJUSTADOS

LNEAS DE CDIGO DEL SOFTWARE

RATIO LNEAS DE CDIGO POR PUNTO DE FUNCIN

Figura 3: Estimacin de Proyectos por el mtodo de Puntos de Funcin

Sobre la base de este valor calculado se obtiene mediante la aplicacin de ratios asociados a las caractersticas del lenguaje a utilizar (Cobol, 4GL, etc.) medidos en cantidad de sentencias de cdigo por punto de funcin los valores totales. Estos ratios permiten establecer la cantidad de instrucciones del software posibilitando de esta forma obtener el dato que es punto de partida para el mtodo COCOMO previamente descripto.

En opinin de los autores el mtodo de Puntos de Funcin presenta un aspecto crtico en lo referido a la reutilizacin de mdulos preexistentes (por ejemplo varias salidas similares que poseen una misma estructura con variaciones propias de cada una de ellas). En este caso el mtodo las considera a todas diferentes y se miden de la forma descripta anteriormente con lo que se considera que la cantidad de puntos de funcin dara una cifra superior a la real deformando el nmero final con la consabida incidencia (nmero de sentencias de cdigo del software) en la aplicacin del mtodo COCOMO. A ttulo ilustrativo se muestra en la Tabla 1 la estimacin de un proyecto por los mtodos de Puntos de Funcin y COCOMO analizando la incidencia de los diferentes lenguajes de programacin.
IDENT. I N D I C A DORES
FORMULA
ASEMBLER

FORTRAN COBOL

CODE

PASCAL

ADA

4GL

GENERATOR

1 PUNTOS DE FUNCION FP TDI AF Puntos de Funcin sin ajustar Grado de influencia Factor de ajuste ( TDI * 0,01) + 0,65 FP * AF 810 40 1.05 851 300 LCO * FPA LCOT / 1000 255,150 255

810 40 1.05 851 100 85,050 85

810 40 1.05 851 90 76,545 77

810 40 1.05 851 70 59,535 60

810 40 1.05 851 20 17,010 17

810 40 1.05 851 15 12,758 13

FPA Puntos de Funcin ajustados LCO Lneas de cdigo por FP LCOT Lneas de cdigo totales KDSI Miles de lneas de cdigo

COCOMO CO1 PO1 CO2 PO2 MM FA Modelo MM coeficiente Modelo MM exponente Modelo TDEV coeficiente Modelo TDEV exponenete Esfuerzo Coeficiente esfuerzo MM * FA C02 * (MMF ** P02) MMF / TDEV C01 * (KDSI ** P01) 3.00 1.12 2.50 0.35 1488 1.06 1,578 33 48 2,500 CPRO * NPER 3.00 1.12 2.50 0.35 435 1.06 461 21 22 2,500 3.00 1.12 2.50 0.35 386 1.06 410 21 20 2,500 3.00 1.12 2.50 0.35 292 1.06 309 19 17 2,500 772,880 3.00 1.12 2.50 0.35 72 1.06 76 11 7 2,500 190,001 3.00 1.12 2.50 0.35 52 1.06 55 10 5 2,500 137,665

MMF Esfuerzo final TDEV Tiempo de desarrollo NPER Cantidad de personas CPRO Costo mensual por persona CTOT Costo final

3,944,375 1,152,398 1,024,127

Tabla 1: Estudio Comparativo de la estimacin para diferentes lenguajes de codificacin

Para este ejemplo se seleccion un proyecto de software referido a un sistema cuyo objetivo es mejorar el servicio de reclamaciones de clientes de una empresa de salud que dio como resultado un valor de 810 Puntos de Funcin, analizando la variacin de lneas de cdigo de acuerdo al lenguaje utilizado (Pressman R.S, Ingeniera del Software) y su incidencia en los diferentes valores de la estimacin (meses hombre, tiempo total y costo).

Por otra parte se utiliz para la estimacin por COCOMO un modo Semilibre modelo intermedio (ITBA-CAPIS. Carpetas de la Carrera de Posgrado en Ingeniera del Software) y cabe hacer notar que en los valores obtenidos no se consider la incidencia producida por la reutilizacin de mdulos preexistentes lo que hubiera significado una disminucin considerable de los valores resultantes. Del anlisis de la referida tabla y tomando como referencia los valores extremos, es decir considerando la implementacin sobre un lenguaje ensamblador (columna 1) y un generador de cdigo (columna 6) surgen algunas consideraciones importantes de destacar: Las sentencias de cdigo por punto de funcin (LCO) se reducen a la treinta ava parte. El esfuerzo final (MMF) correspondiente a la cantidad de meses hombre a emplear en el proyecto mantiene una relacin aproximada a la descripta anteriormente. El costo final (CTOT) tambin se reduce en la misma proporcin. El Tiempo (TDEV) correspondiente al tiempo total del Proyecto solamente se reduce a la tercera parte.

Este anlisis podra extenderse a cualquier combinacin de los diferentes lenguajes de implementacin del diseo con resultados similares. Puede concluirse, entonces, que el tiempo total de duracin de un proyecto est relacionado con las caractersticas propias del mismo y no depende directamente de el lenguaje de implementacin del diseo como as tampoco de la cantidad de personal a utilizar, sino que esta ltima es una consecuencia directa de los dos valores estimados por el metodo (Meses Hombre Totales MMF y Tiempo Total del Proyecto TDEV). A fin de complementar el anlisis se han determinado valores estimativos del costo por persona para obtener una estimacin econmica del proyecto en cuestin.

4. CONCLUSIONES Si bien existen dos factores fundamentales a examinar en la estimacin de un proyecto software, su duracin y costo, la importancia cada vez mayor que toma la informacin como factor estratgico ha determinado que sea la duracin de un proyecto uno de los aspectos mas prioritarios en su realizacin. Como sntesis de lo expresado anteriormente puede decirse que el aspecto crtico de los mtodos tradicionales de estimacin de proyectos software radica en la imposibilidad de establecer una unidad de medida para la estimacin de la duracin total del proyecto como un valor dependiente de las caractersticas del mismo y no solo en funcin de los recursos humanos a emplear. Como alternativa se propuso en este trabajo la utilizacin combinada de dos mtodos (Puntos de Funcin y COCOMO) tendientes a proporcionar una estimacin mas precisa tratndolos de la siguiente forma:

Primero la aplicacin del mtodo de Puntos de Funcin para determinar las sentencias de cdigo del proyecto software, la cual mantiene una distorsin, producida por no considerar esta tcnica la reutilizacin de mdulos preexistentes. En segundo lugar la aplicacin del mtodo COCOMO partiendo de la informacin producida por el anterior (sentencias de cdigo) para llegar a una estimacin precisa de las horas hombre a aplicar y fundamentalmente a la estimacin de la duracin total del proyecto. Finalmente y basndonos en que el paradigma de objetos considera la reusabilidad como un factor bsico y entendiendo que el mtodo descripto (PUNTOS DE FUNCIN) pareciera no tomar en cuenta estas caractersticas, queda planteado a partir del presente trabajo, una lnea de investigacin tendiente a analizar la incidencia de las metodologas orientadas a objetos en esta tcnica de estimacin a fin de elaborar los factores de ajuste necesarios para reducir la distorsin provocada.

5. REFERENCIAS Bem B.W.,Software Engineering Economics, Prentice Hal. 1981 Burril C.W, Modern Project Management, Burril-Ellsworth Associates. 1980. International Function Point users Group. Function Point Counting Practices Manual. Release 4.0. 1994. ITBA-CAPIS. Carpetas de la Carrera de Posgrado en Ingeniera del Software. Imprenta del ITBA. Edicin 1996. Londeix B, Cost Estimation for Software Development, Addison-Wesley Publishers Company. 1997. Park R.E, Checklist and Criteria for Evaluating the Cost and Schedule Estimating Capabilities of Software organizations. CMU/SEI-95-SR-005. Enero 1995. Pressman R.S, Ingeniera del Software. Un enfoque prctico. Mc Grow Hill. 1994

Вам также может понравиться