Método de Estimación de Puntos de Caso de Uso


Descárgalo en PDF

Para obtener el artículo en PDF

“Concepto y Evolución de las Fábricas Software”

Introduce tu dirección de correo, y, en breve, recibirás un Email con la dirección de descarga del artículo solicitado

Política de privacidad

Mª Carmen García y Javier Garzás

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

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.

    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.

    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

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.

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

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.

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

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.

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%.

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.

¿Te ha gustado el artículo?

Si te ha gustado el artículo, es posible que estés interesado en lo siguiente:

  • Curso online de estimación software: aprende a aplicar diversas técnicas de estimación de proyectos software. Todo ello desde un punto de vista práctico, que permite aprender a utilizar cada método para poder aplicarlos directamente sobre tus proyectos.
  • Curso Express de Punto Función: curso breve en el que se presenta en profundidad el método de estimación por Punto Función. Ideal para personas interesadas en el tema pero que disponen de poco tiempo para realizar un curso general sobre estimación.
  • Libro “Medición y Estimación del software”, en el que se presentan los diferentes métodos de estimación.

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. Puntos de caso de uso. (http://es.wikipedia.org/wiki/Puntos_de_caso_de_uso).