Home Publicaciones Artículos
Método de Estimación de Puntos de Caso de Uso

 Mª Carmen García y This e-mail address is being protected from spambots. You need JavaScript enabled to view it

Versión PDF

1 Introducción

El método de Punto de Caso de Uso (UCP - Use Case Point), está basado en los tradicionales Puntos Función. Es un método originado de la tesis de master de Gustav Karner (Karner, 1993), desarrollada mientras trabajaba en Objectory AB, bajo supervisión de Ivar Jacobson (creador de los casos de uso). La técnica ha sido usada por la empresa Rational (posteriormente adquirida por IBM) durante varios años y con buenos resultados. Además la técnica se ha documentado en varias publicaciones (Carroll, 2005; Clemmons, 2006; Karner, 1993; Nageswaran, 2007 ).


La principal ventaja de este método es su adaptación en empresas o proyectos que utilizan la técnica de los casos de uso.

1.Se deben revisar los aspectos clave de los requerimientos para calcular un recuento de Puntos Caso de Uso sin ajustar (UUCP - Unadjusted Use Case Points).

2. Estudiar los factores técnicos y el entorno para crear los factores de ajuste.

3. Ajustar los factores para llegar a obtener los Puntos Caso de Uso fajustados (UCP), que posteriormente se transformarán en una estimación de esfuerzo (horas-hombre).
En la Figura 1 se pueden observar los pasos básicos del método de estimación Puntos Caso de Uso (UCP).


Figura 1. Pasos básicos en el método de estimación Puntos Caso de Uso

2 Cálculo de los Puntos Caso de Uso sin ajustar (UUCP - UNADJUSTED USE CASE POINTS)


Para realizar el cálculo de los Puntos Caso de Uso sin ajustar, se tienen que realizar los tres pasos definidos a continuación.

1.    Clasificar cada interacción entre actor y caso de uso según su complejidad y asignarle un peso.

Para clasificar la complejidad de los actores se debe determinar la forma en la que cada actor interactúa con el sistema que se va a desarrollar. En concreto, los actores se clasifican en 3 categorías diferentes, simple, medio y complejo. Un actor simple representa otro sistema con una API  definida, un actor medio es otro sistema que interactúa a través de un protocolo como por ejemplo TCP/IP o es una persona interactuando a través de una interfaz por línea de comandos, y un actor complejo interactúa a través de una interfaz gráfica.

Una vez clasificado cada actor según su tipo de interacción, se le asigna el peso correspondiente asociado a dicha interacción. En la Tabla 1, se presenta un resumen del procedimiento de clasificación de los actores.

Tipo de interacción

Peso

Simple (a través de un API)

1

Medio (a través de un protocolo)

2

Complejo (a través de una interfaz gráfica)

3

Tabla 1. Clasificación de los Actores

 2.    Calcular la complejidad de cada caso de uso según el número de transacciones o pasos del mismo.

Para realizar el cálculo de la complejidad de un caso de uso se debe determinar el número de transacciones, incluyendo los caminos alternativos. Una transacción es un conjunto de actividades atómicas, donde se ejecutan todas ellas o ninguna. En este contexto, cada caso de uso se debe clasificar en una de las siguientes categorías: “simple”, “medio” o “complejo”. En concreto, un caso de uso simple tiene 3 o menos transacciones, un caso de uso medio de 4 a 7 transacciones, y un caso de uno complejo más de 7 transacciones.

Una vez clasificado cada caso de uso, según el número de transacciones, se le asigna el peso asociado a dicho número de transacciones. En la Tabla 2 se presenta un resumen del procedimiento de clasificación de los casos de uso. 

Tipo de Caso de Uso

Numero de Transacciones

Peso

Simple

3 o menos

5

Medio

De 4 a 7

10

Complejo

7 o más

15

   
Tabla 2. Clasificación de los Casos de Uso
3.    Calcular los Puntos Caso de Uso no ajustados (UUCP - Unadjusted Use Case Points)

Los UUCP se calculan sumando la dificultad de las interacciones y la complejidad de los casos de uso, es decir, sumando el total de los pesos de los actores (clasificados en el paso 1) y el total de los pesos para los casos de uso (clasificados en el paso 2). Ejemplo:
  • 2 interacciones por Web: 2 * 3 = 6
  • 4 UCP complejos: 4 * 3 = 12
  • UUCP = 6 + 12 = 18

2.2 Cálculo de los factores técnicos (TCF)


Para ajustar los UUCP (Puntos Caso de Uso no ajustados) calculados en los pasos anteriores, se deben tener en cuenta factores de ajuste, tanto factores técnicos, como factores de entorno.

En el caso de los factores técnicos (TCF), a cada factor definido en la Tabla 3 (Ri) se le asigna un valor entre 0 y 5, dependiendo de su influencia en el proyecto. En este sentido, asignar un valor 0 significa que el factor es irrelevante para el proyecto, un valor 3 es promedio y un valor 5 significa que el factor es esencial.

Una vez que todos los factores técnicos tienen asignado el valor de la influencia, se procede al cálculo de los resultados de cada factor, es decir, se realiza una multiplicación entre la influencia del factor y su peso asociado, ver en la Tabla 3 la columna “Resultado”.

Cuando se han calculado los resultados de cada uno de los factores técnicos, se aplica la expresión descrita a continuación, donde el sumatorio se corresponde a la suma de los resultados de los factores técnicos.
 TCF= 0,6 + (0,01 * Sumatorio)

En la Tabla 3 se presenta un resumen del procedimiento del cálculo de los factores técnicos, siendo Ri los factores concretos.

Factor

Descripción

Peso

Influencia

Resultado

R1

Sistema Distribuido

2

n1

R1=2*n1

R2

Objetivos de rendimiento

2

n2

R2=2*n2

R3

Eficiencia  respecto al usuario final

1

n3

R3=1*n3

R4

Procesamiento complejo

1

n4

R4=1*n4

R5

Código reutilizable

1

n5

R5=1*n5

R6

Instalación sencilla

0,5

n6

R6=0,5*n6

R7

Fácil utilización

0,5

n7

R7=0,5*n7

R8

Portabilidad

2

n8

R8=2*n8

R9

Fácil de cambiar

1

n9

R9=1*n9

R10

Uso concurrente

1

n10

R10=1*n10

R11

Características de seguridad

1

n11

R11=1*n11

R12

Accesible por terceros

1

n12

R12=1*n12

R13

Se requiere formación especial

1

n13

R13=1*n13

 
Tabla 3. Cálculo de los factores técnicos (TCF)

2.3 Cálculo de los factores de entorno (EF)


Además de tener en cuenta los factores técnicos para el ajuste de los UUCP (Puntos Caso de Uso no ajustados), en segundo lugar se deben contabilizar los factores de entorno. Para ello, a cada factor de entorno definido en la Tabla 4 (Ri) se le asigna un valor entre 0 y 5 dependiendo de su influencia en el proyecto. Asignar un valor 0 significa que el factor es irrelevante para el proyecto, un valor 3 es promedio y un valor 5 significa que el factor es esencial.

Una vez que todos los factores de entorno tienen asignado el valor de la influencia, se procede al cálculo de los resultados de cada factor, es decir, se realiza una multiplicación entre la influencia del factor y su peso asociado, ver en la Tabla 4 la columna “Resultado”.

Cuando se han calculado los resultados de cada uno de los factores, se aplica la expresión descrita a continuación, donde el sumatorio se corresponde a la suma de los resultados de los factores de entorno.

 EF= 1,4 + (- 0,03 * Sumatorio)
En la Tabla 4 se presenta un resumen del procedimiento del cálculo de los factores de entorno, siendo Ri los factores concretos.

Factor

Descripción

Peso

Influencia

Resultado

R1

Familiar con RUP

1,5

n1

R1=1,5*n1

R2

Experiencia en la aplicación

0,5

n2

R2=0,5*n2

R3

Experiencia en orientación a objetos

1

n3

R3=1*n3

R4

Capacidades de análisis

0,5

n4

R4=0,5*n4

R5

Motivación

1

n5

R5=1*n5

R6

Requisitos estables

2

n6

R6=2*n6

R7

Trabajadores a tiempo parcial

-1

n7

R7=-1*n7

R8

Lenguaje complejo

-1

n8

R8=-1*n8

 
 Tabla 4. Clasificación de los factores de entorno (FE)

2.4 Cálculo de los Puntos de Caso de Uso ajustados (UCP)


Finalmente, para obtener los Puntos Caso de Uso fajustados (UCP) se utilizan los datos obtenidos en los pasos anteriores, Puntos Caso de Uso fno ajustados (UUCP) y factores de ajuste (TCF y EF), haciendo uso de la expresión que se presentan a continuación.

UCP = UUCP * TCF * EF

Se debe tener en cuenta que a través del cálculo de esta expresión obtenemos una estimación del tamaño y no del esfuerzo.

2.5 Estimación del esfuerzo


Como ocurre en otros métodos de estimación, una vez obtenido el tamaño, se puede obtener el esfuerzo. Para ello, se utiliza la siguiente expresión:

Esfuerzo = UCP * Factor de Productividad

El método originario propone usar un factor de ajuste (Factor de Productividad) similar al que se usa en el método de Puntos Función clásico, si bien Karner propone concretamente 20 personas – hora por cada Punto Caso de Uso (UCP). Otras propuestas son las de Barnerjee que propone un rango entre 15 y 30 horas, o la de Scheider y Winters, que sugiere un refinamiento de los factores de entorno (EF), en concreto, proponen seguir el procedimiento que se presenta a continuación:

  • Contar los factores de entorno entre R1 y R6 cuya influencia es inferior a 3 (influencia promedio) y los factores de entorno entre R7 y R8 que son superiores a 3. Ver “factores de entorno” en la Tabla 4, pág. 5.
  • Entonces:
    • 20 horas-hombre por UCP si el valor es ≤2
    • 28 horas-hombre por UCP si el valor es ≤4
    • 36 horas-hombre por UCP si el valor es ≥5, en este caso se debería replantear el proyecto.

Se debe destacar, que el valor del esfuerzo estimado, calculado mediante la expresión presentada anteriormente, no cubre todas las fases del ciclo de vida del proyecto, sino que se refiere únicamente a las horas-hombre invertidas en el desarrollo de la funcionalidad especificada en los casos de uso (fase de codificación). La fase de codificación representa generalmente un 40% del esfuerzo total del proyecto (ISBSG, 2005; Wikipedia, 2009).

En este sentido, para obtener el esfuerzo total del proyecto, se puede realizar un nuevo ajuste que consiste en sumar a la estimación de esfuerzo obtenida por UCP, las estimaciones de esfuerzo de las demás actividades relacionadas con el desarrollo del software, que se pueden distribuir de la siguiente forma: análisis 10%, diseño 20%, codificación 40%, pruebas 15% y sobrecarga 15%.

3 Conclusiones

En este artículo se ha presentado el método de estimación Puntos Caso de Uso, método que permite estimar el esfuerzo de un proyecto de desarrollo de software a partir de los casos de uso.  En este contexto, se han presentado y descrito cada uno de los pasos que contiene el método: 1. Cálculo de los Puntos Caso de Uso sin ajustar (UUCP), 2. Cálculo de los factores técnicos (TCF), 3. Cálculo de los factores de entorno (EF), 4. Cálculo de los Puntos Caso de Uso fajustados (UCP) y 5. Estimación del esfuerzo.

Si bien, según los pasos descritos, se observa que el método es fácil de entender y, a su vez, fácil de aplicar, siendo recomendable disponer tanto de personal con experiencia en el análisis de proyectos, como en el entorno de trabajo. Asimismo, para llevar a cabo estas estimaciones es muy útil disponer de datos históricos de estimaciones realizadas por la propia organización anteriormente, donde esté registrado el tamaño, coste y duración de los mismos.

Sin embargo, debido a ciertas debilidades del método, en la mayoría de las organizaciones se tienen que realizar ajustes al método acordes a los objetivos y necesidades de sus proyectos, ya que este método sobrestima cuando las funcionalidades definidas son reducidas.

Como se ha comentado en la sección anterior, la estimación obtenida mediante este método sólo aplica al esfuerzo requerido para la fase de codificación del proyecto, siendo necesario aplicar otros ajustes con el fin de obtener el esfuerzo de todo el ciclo de vida del proyecto.

 

4 Referencias


Carroll ER. Estimating Software Based on Use Case Points; 2005; San Diego,CA, EEUU.

Clemmons RK. 2006. Project Estimation With Use Case Points (accesible en http://www.stsc.hill.af.mil/CrossTalk/2006/02/0602Clemmons.html).

CrossTalk, The Journal of Defense Software Engineering(Feb).

ISBSG. 2005. Practical Project Estimation. Hill P, editor. 2nd Edition ed.

Karner G. 1993. Metrics for Objectory. Sweden: University of Linköping.

Nageswaran S. 2007 Test Effort Estimation Using Use Case Points (visitado en 2007 www.cognizant.com/cogcommunity/presentations/Test_Effort_Estimation.pdf).

Wikipedia. 2009. Puntos de caso de uso. (http://es.wikipedia.org/wiki/Puntos_de_caso_de_uso, visitada en Mayo de 2009).
 

Enlaces Relacionados

Histórico

Mayo 09: Primera publicación

Creative Commons License
Esta obra está bajo una licencia de Creative Commons.

 
Banner