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

Neotect S.A.

Estimacin de
Esfuerzo
Anlisis de las Metodologas COCOMO II y Puntos de Casos de Uso
ngela Archila
Edison Molano
Gustavo Gutirrez
Jess Larrota
Wolfgand Kook
25/03/2010

Estimacin de Esfuerzo 2010

2


Tabla de contenido
1 Proyecto Seleccionado .......................................................................................................... 3
2 COCOMO II ............................................................................................................................ 4
2.1 Aplicacin de la Metodologa ........................................................................................ 4
2.2 Resultados ..................................................................................................................... 6
2.3 Anlisis de la Metodologa ..............................................Error! Bookmark not defined.
2.3.1 Ventajas ................................................................................................................. 8
2.3.2 Desventajas ........................................................................................................... 9
Conclusiones y Recomendaciones ........................................................................................ 9
3 Puntos de Caso de Uso ........................................................................................................ 11
3.1 Aplicacin de la Metodologa ...................................................................................... 11
3.1.1 Actores ................................................................................................................ 11
3.1.2 Casos de Uso ....................................................................................................... 11
3.1.3 Factores de Ajuste Tcnicos ................................................................................ 11
3.1.4 Factores de Ajuste de Ambiente ......................................................................... 12
3.2 Resultados ................................................................................................................... 13
3.3 Anlisis de la Metodologa .......................................................................................... 13
3.3.1 Factores Crticos .................................................................................................. 13
3.3.2 Ventajas ............................................................................................................... 14
3.3.3 Desventajas ......................................................................................................... 14
3.3.4 Sensibilidad a la Subjetividad .............................................................................. 14
3.3.5 Conclusiones y Recomendaciones ...................................................................... 14


Estimacin de Esfuerzo 2010

3


1 Proyecto Seleccionado
El proyecto elegido para la estimacin es CreditScore, un proyecto que fue solicitado para la
materia de Modelos y Estndares en Procesos de Software en el marco de la Especializacin en
Construccin de Software, y que ser desarrollado en Windows Form en java. Este consiste en
lo siguiente, de acuerdo al enunciado de dicho proyecto:
El Banco de Los Alpes desea contratar con su equipo de desarrollo, la construccin de una
herramienta para calcular el riesgo crediticio (CreditScore) tanto de sus clientes actuales como
de sus potenciales clientes.
En general, el riesgo de crdito es un nmero generado por un algoritmo matemtico basado
en informacin de los reportes de crdito histricos y de comparaciones con respecto a muchos
otros usuarios. El nmero resultado es una prediccin altamente efectiva de cmo es probable
que un cliente se comportar en el pago de sus deudas.
Entre ms alto sea el nmero, ms facilidad para obtener un crdito tendr el cliente.
Existen muchos modelos para calcular el riesgo de crdito, uno de ellos es FICO. Su escala de
valores est entre 300 y 850. La gran mayora de personas tendrn valores entre 600 y 800. Un
valor de 720 o superior le brindar mejores condiciones de crdito (mejor tasa de inters).
Usted debe construir una herramienta que le permita a los analistas de crdito, ingresar todos
los datos requeridos de una persona para calcular su riesgo de crdito usando una versin para
Colombia basada en FCO. La frmula para el clculo del rango de crdito est dada por los
siguientes porcentajes:
35% Historia de pagos
30% Montos adeudados
15% Duracin del crdito
10% Nuevos crditos
10% Tipo de crdito
Sin embargo, no solo la informacin financiera cuenta, tambin el nivel de estudio, el gnero, el
estrato socioeconmico, la profesin, el estado civil y nmero de hijos, etc.
Se debe construir una herramienta fcil de usar para los analistas de crdito. La tecnologa
seleccionada para el desarrollo es Java / Swing.

Estimacin de Esfuerzo 2010

4


2 COCOMO II
Se utiliz USC herramienta que implementa el modelo de COCOMO II desarrollada por la
universidad del Sur de California.
2.1 Aplicacin de la Metodologa
El modelo a su vez presenta tres sub modelos basado en la diferentes necesidades del
software, el sub modelo seleccionado por los encargados del proyecto es el de Diseo
Anticipado.
El Diseo Anticipado puede utilizarse para obtener estimaciones muy aproximadas de un
proyecto aun cuando no est definida su arquitectura completamente y se conoce muy poco
sobre el tamao del producto que se va a desarrollar, la naturaleza de la plataforma objetivo,
la naturaleza del personal involucrado en el proyecto especificaciones detalladas del proceso
que se va a realizar.
Para ello iniciamos con una estimacin del tamao del producto, a travs del mtodo PROBE.
Esta estimacin dio lugar a una cantidad de lneas de cdigo (LOC):

Estimacin de Esfuerzo 2010

5


Clase Descripcin LoC
Conexin Clase de conexin a datos 150
Respuesta - DAO Insertar, Buscar, Listar, Actualizar, Borrar. 100
Pregunta DAO Insertar, Buscar, Listar, Actualizar, Borrar. 100
Seccin DAO Insertar, Buscar, Listar, Actualizar, Borrar. 100
Scoring DAO Insertar, Buscar, Listar, Actualizar, Borrar. 100
Cuestionario DAO Insertar, Buscar, Listar, Actualizar, Borrar. 100
Cliente DAO Insertar, Buscar, Listar, Actualizar, Borrar. 100
Respuesta - TO Encapsulamiento de entidades 90
Pregunta TO Encapsulamiento de entidades 90
Seccin TO Encapsulamiento de entidades 90
Scoring TO Encapsulamiento de entidades 90
Cuestionario TO Encapsulamiento de entidades 90
Cliente TO Encapsulamiento de entidades 90
Scoring BO Mtodos de lgica de negocio 250
PanelCuestionario Mtodos de lgica de negocio 230
Cuestionario BO Mtodos de lgica de negocio 50
Cliente BO Mtodos de lgica de negocio 50
Secciones BO Mtodos de lgica de negocio 50
Preguntas BO Mtodos de lgica de negocio 50
Respuestas BO Mtodos de lgica de negocio 50
Panel Cliente Paneles. Interfaz grfica. 100
Panel Historial Pagos Paneles. Interfaz grfica. 100
Panel Montos Adeudados Paneles. Interfaz grfica. 100
Panel Duracin Crditos Paneles. Interfaz grfica. 100
Panel Nuevos Crditos Paneles. Interfaz grfica. 100
Panel Tipo Crdito Paneles. Interfaz grfica. 100
Interfaz Credit Scoring Frame principal. Interfaz grfica. 150
TOTAL 2770
2.2 Resultados
Una vez obtenidas las lneas de cdigo, de acuerdo a las lneas gua del Diseo Anticipado. De
acuerdo a ello pudimos obtener la siguiente informacin:
Estimacin de Esfuerzo 2010

6



En total, la tabla nos indica entre 4 y 8,9 meses hombre (Esto es, entre 640 y 1424 horas
hombre) para el desarrollo del proyecto, con una alta probabilidad de un esfuerzo de 6 meses
hombre (960 horas hombre).
2.3 Anlisis de la Metodologa
Segn nuestros clculos determinamos los siguientes valores para los factores del
modelo recordando que utilizamos el diseo anticipado, estos se describen en la
siguiente tabla de color rojo. Los dems valores muestran los resultados de sus
variaciones en el modelo.

Effort Sched Prod Cost Inst Staff
RCPX
NOM 6 6.5 479.1 8937 3.1 0.9
HI 6.1 6.5 470 9095 3.2 0.9
VHI 6.2 6.6 459 9326 3.3 0.9
PDIF
LO 6 6.5 479.1 8937 3.1 0.9
HI 6.1 6.5 465 9191 3.2 0.9
VHI 6.3 6.6 450 9505 3.3 1
PERS
XHI 6 6.5 479.1 8937 3.1 0.9
LO 6.5 6.7 439 9735 3.4 1
NOM 6.3 6.6 452 9432 3.3 1
PREX
VHI 6 6.5 479.1 8937 3.1 0.9
XHI 5.9 6.5 482.7 8871 3.1 0.9
LOW 6.2 6.5 463 9240 3.2 0.9
FCIL
HI 6 6.5 479.1 8937 3.1 0.9
VHI 5.9 6.5 483 8853 3.1 0.9
XHI 5.9 6.4 487 8786 3.1 0.9
Estimacin de Esfuerzo 2010

7


Se puede notar que el cambio no es significativo en la mayora de los resultados
excepto para el Costo, es por tal razn que vamos a tomar este como ejemplo para
visualizar su cambio con cada uno de los factores de ajuste. Cabe destacar que hace
falta RUSE pero analizando su variacin determinamos que su cambio no influye
significativamente en los resultados.
Para RCPX, PDIF, PERS, PREX y FCIL su variacin es notoria, se observa lo siguiente:


8700
8800
8900
9000
9100
9200
9300
9400
NOM HI VHI
RCPX
Cost
8600
8800
9000
9200
9400
9600
LO HI VHI
PDIF
Cost
Estimacin de Esfuerzo 2010

8





2.3.1 Ventajas
Las herramientas computacionales disponibles simplifican su uso e interpretacin.
Tiene pocas variables
Se acerca a la realidad en la mayora de casos
COCOMO es una herramienta basada en la lneas de cdigo la cual le hace muy
poderoso para la estimacin de costos.
8400
8600
8800
9000
9200
9400
9600
9800
XHI LO NOM
PERS
Cost
8600
8700
8800
8900
9000
9100
9200
9300
VHI XHI LOW
PREX
Cost
8700
8750
8800
8850
8900
8950
HI VHI XHI
FCIL
Cost
Estimacin de Esfuerzo 2010

9


2.3.2 Desventajas
No es fcil de realizar ni de interpretar
No saca resultados fiables en proyectos pequeos
Existen muchos datos de ajuste donde se introducen valores de calificacin subjetiva
que pueden sesgar la estimacin si son ingresados por un estimador inexperto
Es necesario conocer cul va a ser el equipo de desarrolladores, equipo informtico,
entorno. Es engorroso de utilizar en empresas de software donde no tienen personal
asignado exclusivamente a desarrollo.
La seleccin del modo de desarrollo es extremadamente importante.
Fuertemente dependiente de los datos histricos de la organizacin, que no siempre
estn disponibles.
Utilizando el modelo COCOMO nos podemos dar cuenta que es bastante sensible a la
subjetividad del estimador: Existe una cantidad importante de factores que dependen de la
experiencia de la persona que los determina su capacidad y experiencia con el personal
involucrado en el proyecto, obteniendo as valores imprecisos de estimacin, debido a que los
parmetros pueden ser vistos de distinta manera por distintos analistas que usan el mtodo.
Muchos de los factores de ajuste utilizados, como RELY (fiabilidad), son difcilmente
aprehensibles para un estimador inexperto, mientras que otros, como APEX (experiencia de los
analistas), son de difcil estimacin a partir de datos objetivos. Esto hace que el anlisis pueda
ser impreciso o desviarse de la realidad si se indica mal el nmero de lneas de cdigo fuente.
Conclusiones y Recomendaciones
Se debe tener en cuenta que la persona que realice la estimacin debe conocer claramente el
alcance del proyecto, el grupo de desarrollo, las capacidades del recurso humano, y a la vez
contar con un grado de experiencia aceptable; de lo contrario, la estimacin no ser muy
exacta y no se ajustar a la realidad.
Se requiere tener experiencia en estimacin en LOC pues es necesario partir de un nmero de
lneas de cdigo base, para ello es importante la historia de proyectos anteriores, pueden
usarse mtodos como PROBE donde es necesario tener las LOC planeadas y las reales para
distintos proyectos.
Es necesario tener en cuenta que COCOMO II no se ajusta a pequeos proyectos, muestra
mayor eficiencia y confiabilidad en proyectos medianos y grandes.
Es importante tener un modelo a seguir para la estimacin de tamao de proyectos
Una parte importante de la toma de decisiones al comenzar un nuevo proyecto de desarrollo
de software est dada por el costo que ste tendr. La estimacin de estos costos es una de las
grandes preocupaciones antes de comenzar, para ello es necesario tener una visin del alcance
del proyecto y una tcnica o mtodo que ayude a ser ms acertados, COCOMO II brinda una
facilidad grande en estas etapas iniciales, y adems cuenta con otras opciones para el
mantenimiento del proyecto, su uso es sencillo ya que se encuentran muchas herramientas
libres que facilitan su manejo.
Estimacin de Esfuerzo 2010

10



Estimacin de Esfuerzo 2010

11


3 Puntos de Caso de Uso
Se utiliz una herramienta en Excel construda anteriormente por uno de los miembros del
grupo para la estimacin de diferentes proyectos de Software. La herramienta utilizada se
basa en estadsticas en el manejo de la metodologa RUP para realizar un estimado de tiempos
por cada una de las disciplinas y de las fases, y determinar as un estimado de los recursos
requeridos en cada etapa. Finalmente, este estimado de recursos y de tiempos da lugar a un
estimativo final de costos.
3.1 Aplicacin de la Metodologa
3.1.1 Actores
Se identific un nico actor. Sin embargo, se determin que la complejidad del mismo era
alta.
Actors Weight Factors Description Weight
Enter
Count
Weighted Value Comment
Simple_Actor Program interface 1 0 0 0
Average_Actor
Interactive or protocol
driven interface
2 0 0 0
Complex_Actor Graphical interface 3 1 3 0
Total Actor Weight 3
3.1.2 Casos de Uso
El nmero de casos de uso es relativamente pequeo, se encontr nicamente un caso de uso
complejo.
Use Cases Weight Factors
(Bases on the number of
transactions in a use case)
Weight
Enter
Count
Weighted Value Comment
Simple_Use_Case 3 or fewer transactions 5 1 5 0
Average_Use_Case 4 to 7 transactions 10 3 30 0
Complex_Use_Case more than 7 transactions 15 1 15 0
Transaction Based Factors 50
En total, se hallaron 53 puntos de caso de uso, antes de hacer el ajuste de los mismos.
3.1.3 Factores de Ajuste Tcnicos
Technical Weight
Factors
Rating Scale is 0
to 5

Enter
Rating
Weighted
Value
Reason
T1 Distributed
System
0 =not important
5 =essential
2,00 0 0 Es una aplicacin cliente servidor
T2 Response or
throughput
performance
objectives
0 =not important
5 =essential
1,00 4 4
La aplicacin debe tener tiempos de
rendimiento eficientes
T3 End-user
efficiency (online)
0 =not important
5 =essential
1,00 4 4
La aplicacin debe tener tiempos de
rendimiento eficientes
T4 Complex internal
processing
0 =not important
5 =essential
1,00 4,5 4,5
El sistema utilizara objetos externos de
procesamiento para el calculo FICO a traves
de redes neurales
T5 Code must be
reusable
0 =not important
5 =essential
1,00 3 3
El codigo de los modulos identifcados para
realizar la captura de preguntas debe ser
reusable
Estimacin de Esfuerzo 2010

12


T6 Easy to install
0 =not important
5 =essential
0,50 1 0,5
No se cuentra dentro de los requerimientos no
funcionales del sistema
T7 Easy to use
0 =not important
5 =essential
0,50 5 2,5
El sistema estar orientado al facil ingreso de
informacin del usuario final
T8 Portable
0 =not important
5 =essential
2,00 0 0
No se cuentra dentro de los requerimientos no
funcionales del sistema
T9 Easy to change
0 =not important
5 =essential
1,00 2 2
T10 Concurrent
0 =not important
5 =essential
1,00 3 3
Por ser aplicacin cliente servidor, la
aplicacin no tiene caracteristicas fuertes de
concurrencia. La concurrencia se dara a nivel
de base de datos
T11 Includes special
security features
0 =not important
5 =essential
1,00 1 1
No se cuentra dentro de los requerimientos no
funcionales del sistema. La aplicacin
permitie el ingreso sin solicitud especial de
seguridad
T12 Provides direct
access for third
parties
0 =not important
5 =essential
1,00 0 0 No requerido
T13 Special user
training facilities are
required
0 =not important
5 =essential
1,00 0 0
No requiere especial entrenamiento, los datos
de captura son intuitivos al usuario final
Technical Factors 24,5
Technical Complexity
Factor (TCF)
.6 +
(.01*Technical
Factor)
0,845
3.1.4 Factores de Ajuste de Ambiente
Environmental
Factors for Team
and Weights
Rating Scale is 0 to 5 Weight
Enter
Rating
Weighted
Value
Reason
F1 Faimilar with the
Rational Unified
Process
0 = no experience,
3=average, 5=expert
1,50 4 6
F2 Application
experience
0 = no experience,
3=average, 5=expert
0,50 0 0
No contamos con experiencia en la
construccin de este tipo de sistemas.
No contamos con experiencia en la
construccin de sistemas que
implementen redes neuronales
F3 Object-Oriented
Experience
0 = no experience,
3=average, 5=expert
1 4 4
Alto conocimiento del equipo en
programacin orientada a objetos
F4 Lead analyst
capability
0 = no experience,
3=average, 5=expert
0,50 3 1,5
F5 Motivation
0=no motivation,
3=average, 5=high
1 5 5 100% motivados
F6 Stable
requirements
0=extremly unstable,
5=unchanging
2 3 6
Se han introducido nuevas
funcionalidades recientemente a los
requerimientos iniciales
F7 Part-time
workers
0=no part time , 5=all
part time
-1,00 5 -5
Todos tenemos tiempo compartido con
el proyecto
F8 Difficult
programming
language
0=easy language,
3=average,5=difficult
-1,00 3 -3
Environmental
Factors
14,5
EFactor 0,965

Estimacin de Esfuerzo 2010

13


3.2 Resultados
Puntos de Caso de Uso sin Ajustar 53
Factor de Complejidad Tcnica 0,845
Factor de Ambiente 0,965
Puntos de Caso de Uso Ajustados 43,217525
Horas Hombre por Caso de Uso 20
1

Porcentaje Estimado de Desviacin 20%
Tiempo Estimado (Horas Hombre) 1037,22
Es evidente que el nmero de horas hombre estimado (1037,22) est dentro del rango dado
de COCOMO II, y efectivamente se acerca al resultado arrojado como ms probable (960 Horas
Hombre).
A causa de las caractersticas especficas de la herramienta utilizada, basada en estadsticas en
el uso de RUP en proyectos a nivel mundial, estas horas pudieron ser distribuidas a cada una
de las etapas de desarrollo, de acuerdo, de acuerdo al siguiente grfico. Cabe anotar que esta
proyeccin no es parte de la metodologa de Puntos de Caso de Uso:
Horas proyecto

Iniciacin Elaboracin Construccin Transicin

% 5,0% 22,5% 61,3% 11,3%

Administracin del Proyecto 5,0% 3 16 26 8 51,86
Modelamiento del Negocio 2,5% 18 8 0 0 25,93
Requerimientos 2,5% 5 8 13 0 25,93
Anlisis y Diseo 20,0% 10 104 62 31 207,44
Implementacin 45,0% 0 21 415 31 466,75
Pruebas 10,0% 5 31 52 16 103,72
Despliegue 5,0% 3 16 26 8 51,86
Configuracin y Control de Cambios 5,0% 3 16 26 8 51,86
Ambiente 5,0% 5 16 16 16 51,86

51,86 233,37 635,30 116,69

3.3 Anlisis de la Metodologa
3.3.1 Factores Crticos
El modelo de puntos de caso de uso depende mucho de la especificacin de los mismos, riesgo
que se reduce en parte si determinamos claramente en qu consiste una transaccin, y si
tenemos en cuenta que en gran parte la especificacin de los mismos depende de qu se
considere como precondicin y postcondicin de cada uno de ellos, y por lo tanto al realizar
una especificacin completa unos casos de uso terminan complementando las falencias en la
especificacin de los otros.
Es importante asimismo ser muy crtico con la asignacin de los factores de ajuste, pues estos
en combinacin pueden desde reducir el tamao del proyecto a la cuarta parte (0,255) hasta
duplicarlo (2,25).

1
Se estimaron 20 de acuerdo a las recomendaciones, puesto que no se cuenta con datos anteriores.
Estimacin de Esfuerzo 2010

14


No se considera que ninguno de los factores tenidos en cuenta dentro de la metodologa sean
innecesarios para la misma, si bien es claro que el aporte que tienen los actores sobre los casos
de uso no ajustados tiende a ser mucho menor que el aporte que tienen las transacciones.
3.3.2 Ventajas
Es muy fcil de realizar e interpretar, ms an que COCOMO
Tiene pocas variables, menos an que COCOMO
Proporciona una medida comparativa del tamao de un proyecto
3.3.3 Desventajas
La metodologa de desarrollo debe incluir especificacin de caso de uso
Los casos de uso deben estar especificados. Esto implica que la estimacin no se
puede hacer al principio del proyecto, y que vara rpidamente ante cambios en los
requerimientos. Por otro lado, es importante que la especificacin de los casos de uso
se realice tan pronto como sea posible, lo que no es cierto en todos los proyectos.
Depende de la forma en que se especificaron los casos de uso (Ver abajo)
La estimacin de esfuerzo depende de variables externas a la metodologa (Ver abajo)
No hay una gua clara para la estimacin de los valores en los factores de ajuste.
3.3.4 Sensibilidad a la Subjetividad
Como indicamos anteriormente, los factores de ajuste dependen igualmente de la subjetividad
del estimador, si bien unas polticas claras de determinacin del valor que se debera dar a
cada uno de estos factores (Basadas probablemente en las establecidas para puntos de
Funcin) podran mitigar este riesgo.
La estimacin de esfuerzo, por otra parte, depende bastante de un factor de Horas Hombre
por Caso de Uso, que es diferente de acuerdo a la organizacin o al equipo. A causa de ello, si
bien la estimacin de tamao puede ser bastante confiable (Ver ms adelante), el esfuerzo
estimado depende nicamente del criterio del estimador. Para mitigar este riesgo, sin
embargo, es til tener un registro de datos histricos para el equipo en cuestin.
3.3.5 Conclusiones y Recomendaciones
El modelo de puntos de caso de uso tiene una granularidad muy alta dependiendo del nmero
de transacciones, sobre todo cuando se tienen definiciones de casos de uso con nmeros de
transacciones entre 4 y 7 (Complejidad media), o mayores de 10 (Que en ningn caso, y sin
importar el nmero de transacciones, supera los 15 PCUs). Se podra hacer un ajuste sencillo a
la metodologa creando una frmula continua que retorne los PCUs a partir del nmero de
transacciones. A primera vista, la frmula que estaramos buscando sera muy similar a la
siguiente:
PCU = 5 * TRANS
Donde TRANS es el nmero de transacciones de cada Caso de Uso. Esto permite disminuir la
granularidad y hacer una estimacin ms realista.
Estimacin de Esfuerzo 2010

15


Para la implantacin en una empresa, es crtico tener unas polticas muy claras para la
especificacin de los casos de uso y para la determinacin de los factores de ajuste tanto
tcnicos como de ambiente.
Finalmente, es crtico llevar un histrico del esfuerzo (En Horas Hombre) realizado por punto
de caso de uso en proyectos anteriores. Generalmente esto depende mucho del equipo en
particular, pero se puede llevar el histrico para la organizacin en general, asumiendo que se
va a proporcionar un estimado medianamente cercano a la realidad.

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