Puntos de casos de uso IPP
Introducción Puntos de Casos de Uso es un método para estimación de tamaño de proyectos basado en Casos de Uso La técnica permite obtener estimaciones en etapas iniciales del proyecto Más precisamente, basta tener un cierto entendimiento sobre el dominio del problema (plasmado en Casos de Uso) para comenzar a estimar 2
Introducción Informalmente, los casos de uso son historias sobre el uso de algún sistema con algún objetivo a alcanzar. La dificultad radica en descubrir los requerimientos y la escritura de los mismos con un nivel de detalle que sea útil
Algunos conceptos… Actor Escenario
3
El método Paso 1: Calcular el peso de los actores Paso 2: Calcular el peso de los casos de uso Paso 3: Calcular los puntos de casos de uso no-ajustados Paso 4: Calcular los pesos de factores técnicos y ambientales Paso 5: Calcular los puntos de casos de uso ajustados Paso 6: Estimar el esfuerzo
4
Paso 1: Peso de los Actores Los actores se clasifican en:
Simple (x1) Promedio (x2) Complejo (x3)
El peso total de los actores se calcula como una combinación lineal de definidos con la cantidad de actores perteneciente a cada clase
W A = 1xN1 + 2 xN 2 + 3xN3 + ....3xmn −1 5
Paso 1: Peso de los Actores Un actor es simple si:
Representa otro sistema Existe una API definida para la comunicación entre actores
Un actor es promedio si:
Representa otro sistema que interactúa a través de un protocolo (por ej: TCP/IP), o representa a una persona que interactúa mediante una interfaz basada en texto.
Un actor es complejo si:
Representa a una persona La interacción se realiza mediante una interfaz gráfica
6
Paso 2: Peso de los casos de uso Los casos de uso se clasifican en:
Simple (x5) Promedio (x10) Complejo (x15)
El peso total de los casos de uso se calcula como una combinación lineal de los pesos definidos con la cantidad de casos de uso perteneciente a cada clase
WU = 5 xN1 + 10 xN 2 + 15 xN3 + ....5 xmn −1 7
Paso 2: Peso de los casos de uso Clasificación de los casos de uso: Basado en Transacciones Contar número de transacciones (incluidos los escenarios alternativos). Un caso de uso simple tiene 3 o menos transacciones (x5). Un caso de uso promedio tiene entre 4 y 7 transacciones, incluidos (x10). Un caso de uso complejo tiene más de 7 transacciones (x15) ¿Qué es una transacción? � Evento entre un actor y el sistema objetivo (conjunto de actividades atómicas)
8
Paso 2: Peso de los casos de uso Clasificación de los casos de uso: Basado en descripciones Un caso de uso es simple si se ajusta a las siguientes características (x5):
Interfaz de usuario simple Involucra solo una entidad de una base de datos El escenario normal tiene 3 o menos pasos La implementación involucra menos de 5 clases
Un caso de uso es promedio si se ajusta a las siguientes características (x10):
Interfaz de usuario más elaborada Involucra dos o más entidades de una base de datos El escenario normal tiene entre 4 y 7 pasos La implementación involucra entre 5 y 10 clases
9
Paso 2: Peso de los casos de uso Clasificación de los casos de uso: � Basado en descripciones Un caso de uso es complejo si se ajusta a las siguientes características (x15):
Interfaz de usuario compleja o procesamiento Complejo Involucra tres o más entidades de una base de datos El escenario normal tiene más de siete pasos La implementación involucra más de 10 clases
10
Paso 3: Calcular UUCP (puntos de casos de uso no-ajustados) Los puntos de casos de uso no-ajustados son simplemente la suma de los pesos de los actores y pesos de los casos de uso, es decir:
UUCP = WA + WU
11
Paso 4: Calcular peso de Factores técnicos y ambientales Los puntos de casos de uso noajustados se ponderan con pesos de factores técnicos y ambientales A cada factor se le asigna un número entre 0y5
0 indica nula relevancia en el proyecto 3 indica relevancia promedio 5 indica relevancia esencial
12
Paso 4: Ponderar UUCP con Factores técnicos y ambientales
13
Paso 4: Ponderar UUCP con Factores técnicos y ambientales
14
Paso 4: Calcular peso de Factores técnicos y ambientales El factor técnico ponderado se calcula con:
El factor ambiental ponderado se calcula con:
15
Paso 5: Calcular UCP (puntos de casos de uso ajustados) Los puntos de casos de uso ajustados se calculan realizando el producto entre los puntos de casos de uso no ajustados (UUCP), el peso de los factores técnicos (TCF) y el peso de los factores ambientales (EF), es decir:
UCP =UUCPx TCFx EF
16
Paso 6: Estimación del esfuerzo Los puntos de casos de uso ajustados se pueden utilizar para estimar el esfuerzo utilizando un factor que representa las MH (Man Hours) relacionadas con el proyecto. El valor sugerido por defecto es de 20 MH por punto. Sin embargo, la experiencia muestra que más que un valor es un rango: 15 a 30 MH por punto.
17
Karner originalmente sugirió que cada Punto de Casos de Uso requiere 20 horas-hombre. Posteriormente, surgieron otros refinamientos que proponen una granularidad algo más fina, según el siguiente criterio: Se contabilizan cuántos factores de los que afectan al Factor de ambiente están por debajo del valor medio (3), para los factores F1 a F6. Se contabilizan cuántos factores de los que afectan al Factor de ambiente están por encima del valor medio (3), para los factores F7 y F8. 18
Si el total es 2 o menos, se utiliza el factor de conversión 20 horas-hombre/Punto de Casos de Uso, es decir, un Punto de Caso de Uso toma 20 horas-hombre. Si el total es 3 o 4, se utiliza el factor de conversión 28 horas-hombre/Punto de Casos de Uso, es decir, un Punto de Caso de Uso toma 28 horas-hombre. Si el total es mayor o igual que 5, se recomienda efectuar cambios en el proyecto, ya que se considera que el riesgo de fracaso del mismo es demasiado alto.
19
Paso 6: Estimación del esfuerzo Otra opción, propuesta por Schneider y Winters en “Applying Use Cases – A Practical Guide”se basa en:
Contar los factores F1 a F8 que son menores que 3. Sumar el resultado anterior al número de factores que son mayores que 3 de F7 a F8. Si el resultado anterior es menor o igual a 2, use 20 MH por punto. Si el resultado es exáctamente 3 o 4, use 28 MH por punto. Si el resultado es mayor que 4, use 38 MH, o ajuste el proyecto para reducir riesgos!
20
Ejemplo: sistema de seguridad para el hogar Fuente: Software Measurement And Estimation: A Practical Approach (Linda Laird y M. Carol Brennan)
21
Ejemplo: sistema de seguridad para el hogar
22
Ejemplo: sistema de seguridad para el hogar Peso de los casos de uso: 20.
Por lo tanto, UUCP = 20 + 7 = 27
23
Ejemplo: sistema de seguridad para el hogar Peso factores técnicos: 33
TCF = 0.6 + 0.01 x 33 = 0.93
24
Ejemplo: sistema de seguridad para el hogar Peso factores ambientales: 18
EF = 1.4 – (0.03 x 18) = 0.86
25
Ejemplo: sistema de seguridad para el hogar Finalmente
Si consideramos 20 MH (Man Hours) por cada punto, tenemos 440 horas
26
Consideraciones Prácticamente cualquier proyecto puede beneficiarse de los casos de uso. Se obtiene una estimación confiable (y tempranamente) en poco tiempo y con simples hojas de cálculo.
27
Consideraciones La estimación del esfuerzo sigue siendo materia de “experiencia”. Hay una fuerte dependencia de la estructura de los casos de uso.
Si están mal escritos es probable que el tamaño del proyecto quede mal estimado. Juicio experto es necesario!. Estandarización de casos de uso en la organización.
28