Cuándo se definen las métricas de
Software, se pueden considerar diferentes técnicas para realizar la
estimación.
Es muy importante realizar una
estimación al momento de planear el desarrollo de un software para estimar el
costo del proyecto, el recurso humano, el tiempo y los recursos que se usarán
para el mismo.
Técnicas de
Estimación
Puntos de Casos de Uso
La metodología de los puntos de
casos de uso es una derivación de la metodología de puntos de función propuesta
por Albretch. Este método de estimación fue desarrollado en 1993 por Gustav
Karner de Rational Software, quien se basa en una metodología orientada a
objetos y en la utilización de casos de uso como datos de entrada para calcular
el esfuerzo en horas hombre (hh) que son necesarias para el desarrollo de
un proyecto de software.
Objetivo de la técnica
Estimar las horas necesarias para
ejecutar un conjunto de casos de uso. Es decir, se necesita predecir cuanto
tiempo llevara el desarrollo de software y cuantas personas se requieren para
realizarlo. Para ello, es necesario cuantificar la complejidad del sistema y el
tiempo necesario para producir una unidad de complejidad.
Clasificación de los Casos de Uso
Los casos de uso son clasificados
de acuerdo a la cantidad de transacciones que poseen, incluyendo las
transacciones de escenarios alternativos y excluyendo las extensiones o incluso
de otros casos de uso. Un caso de uso simple (peso=5) es aquel que posee
3 o menos transacciones; uno medio (peso=10) es aquel que posee de 4 a 7 transacciones; y
un caso de uso complejo (peso=15) es aquel que posee más de 7 transacciones.
A cada caso de uso le corresponde un
peso.
Factor de Complejidad Técnica del
Proyecto de Software
Los factores técnicos (T) están
definidos por las influencias técnicas que puedan afectar el proceso de
desarrollo del sistema a construir. Cada factor técnico posee un grado de
complejidad, que oscila entre 0 y 5, donde 0 significa un valor irrelevante o
nulo y 5 determina un valor con alto grado de influencia. Cada factor técnico
posee un valor de peso.
Factores de entorno del proyecto
Los factores de entorno (E) indican
la influencia del grupo humano involucrado en el proyecto sobre el sistema a
desarrollar. De manera similar a los factores técnicos, los factores de entorno
poseen un grado de influencia que oscila entre 0 y 5, donde 0 significa un
valor irrelevante o nulo y 5 determina un valor con alto grado de influencia.
Cada factor de entorno posee un valor de peso.
Pasos para determinar la estimación
Para determinar la estimación de
los Puntos de Caso de Uso se deben cumplir los siguientes pasos:
- Clasificar los actores para determinar el
valor de UAW (Unadjusted Actor Weight).
UAW=Sumatoria de todos los pesos
de los actores identificados.
- Clasificar los casos de uso para determinar el
valor de UUCW (Unadjusted Use Case Weight).
UUCW=Sumatoria de los pesos de
los casos de uso.
- Determinar el valor del UUCP (Unajusted Use Case Point, Puntos de Casos de Uso No Ajustados)
- Determinar el valor de TCF (Technical
Complexity Factor, Factores Técnicos de Complejidad)
TCF=0.6+(0.01*∑(T1 … T3)).
- Determinar el valor de EF (Enviroment Factor,
Factores de Entorno)
EF=1.4+(-0-03*∑(E1…E8))
- Determinar el valor de AUCP(Adjusted Use Case
Point)
AUCP=UUCP*TFC*EF
Karner establece un factor de
20hr hombre por punto de caso de uso para realizar la estimación de un proyecto
de software.
UCP=AUCP*20
El valor de Use Case Point (UCP)
obtenido indica el esfuerzo de horas hombre que se deben invertir para
desarrollar el proyecto de software.
ESTIMACIÓN DEL ESFUERZO
Una vez
obtenido el tamaño, se puede obtener el esfuerzo. Para ello se utiliza la
expresión:
Esfuerzo=UCP* Factor de
Productividad
El método originario propone usar
un factor de ajuste similar al que se usa en el método de Puntos de Función
clásico.
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.
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.
Puntos de Función
Componentes de los Puntos de Función (PF)
La técnica mide lo que es el sistema y no como
será o cómo será diseñado.
Características de los Puntos de
Función:
- Método independiente de las herramientas de
análisis, diseño y programación, ya que solo se preocupa de la complejidad
de las funciones a implementar.
- Requerir de una descomposición funcional del
proyecto a realizar, que se detecten todas las piezas elementales que
componen el producto final.
- Estimar la cantidad de Puntos de Función de
las funciones medidas, se realiza contando la cantidad de entradas,
salidas, archivos, consultas e interfaces que se utilizan. Entre mayor
cantidad, mayor es el peso de complejidad que se le asignará.
- Ajustar la estimación del esfuerzo requerido,
para determinar la presencia de ciertos elementos que dificultan el
desarrollo del proyecto.
- Permitir realizar una estimación del esfuerzo
requerido en etapas tempranas del proyecto.
Para desarrollar la técnica de puntos de función se debe desarrollar una serie de pasos los cuáles se pueden ver en el siguiente link:
O se puede seguir el desarrollo que se explica en los siguientes vídeos.
El uso de técnicas de estimación es muy importante al momento de desarrollar software para poder mostrar al cliente una estimación del costo del proyecto y del tiempo, de acuerdo a los requerimientos que especifica.