You are on page 1of 8

Mtricas de estimacin de tamao

Puntos de Caso de Uso

Sigifredo E. Badani Hernndez Septiembre 2002.

Mtodo de Puntos de Casos de Uso


154519606.doc

Pgina 1 de 8

Mtodo de clculo de Puntos de Casos de Uso. 1. Introduccin


El objetivo de este documento es describir el mtodo de clculo de Puntos de Caso de Uso para medicin de tamao de un sistema de Software. En trminos prcticos se da una solucin factible para obtener tamao del software y a partir de ello generar estimaciones. Este mtodo se desarrollo en el ao 1993 por Gustav Karner para poder finalmente obtener estimaciones de esfuerzo sobre productos de software orientados a objetos. El presente trabajo se desarroll a partir de la tesis de Maestra en Ciencias Estimated Object-Oriented Software Projects with Use Cases de Kirsten Ribu [K01].

2. Terminologa
Actor: Un conjunto coherente de roles que los usuarios de los casos de uso juegan cuando interactan con los casos de uso. [BRJ98] UML: Lenguaje de Modelamiento Unificado, un lenguaje para visualizar, especificar, construir y documentar artefactos de un sistema de software intensivo [BRJ98]. Artefacto: Una pieza de informacin que es usada o producida por un proceso de desarrollo de software [BRJ98]. Casos de uso: Descripcin de una secuencia de acciones, incluyendo cursos de accin alternativos, que desarrolla un sistema y genera un resultado observable para un actor. Es un artefacto UML. [BRJ98] PF, Puntos de Funcin: Basado en descomposicin funcional, es un mtodo de clculo de tamao, estimacin y medida del software, desarrollado por Allan Albrecht (IBM) a fines de los 70. Asegur independencia de la tecnologa y haciendo un anlisis desde el punto de vista del usuario sin inmiscuirse en las complejidades del procesamiento. [AR01] Transaccin: Las transacciones son un grupo de actividades que se ejecutan en forma completa (xito) o bien se vuelve al estado previo a la ejecucin de la transaccin (fracaso), quedando siempre el sistema o repositorio en un estado consistente. [K01]

Mtodo de Puntos de Casos de Uso


154519606.doc

Pgina 2 de 8

Pasos de los casos de uso: Conjunto numerado de actividades descritas en un acaso de uso textual, se asume como sinnimo (en estricto rigor no lo es) de las Transacciones para hacer posible la contabilizacin. [K01]

3. Alcances
Una de las principales limitaciones del mtodo es que no existe una teora de cmo escribir o estructurar correctamente los casos de uso, por lo que todas las medidas de tamao y estimacin sern afectadas por la rigurosidad de los analistas. Por otra parte, existen otros mtodos para clculo y estimacin factibles de ser utilizados en proyectos que utilicen orientacin a objetos, pero como el mtodo de Puntos de Caso de Uso se defini como extensin del Punto de Funcin, el autor decidi definirlo como estndar del proceso, de acuerdo a las siguientes consideraciones: La alternativa es simple y similar a los Puntos de Funcin. Las otras alternativas no demostraron tener aceptacin general ni se han utilizado ampliamente. Algunas alternativas son propietarias. No existen ejemplos de distintas fuentes respecto al uso de otros mtodo. Algunas herramientas presume usarlas exclusivamente para la tarea de clculo.

4. Mtodo Puntos de Casos de Uso Descripcin


El mtodo de Puntos de Casos de Uso es un mtodo de estimacin y clculo de tamao del software basado en cuentas hechas sobre los casos de uso para un sistema de software. El mtodo exige la existencia de un modelo de casos de uso, por lo que la labor deber ser hecha cuando exista algn entendimiento del dominio del problema o cuando se est realizando las labores de arquitectura y dimensionamiento del tamao del sistema. Por lo general , estas condiciones estn dadas al trmino de las actividades de Anlisis. En trminos simples, el mtodo requiere de casos de uso en modo textual y grfico slo en trminos de mayor claridad, se revisan en detalle los casos de uso seleccionados en la etapa del proyecto que se defina y se realizan los siguientes pasos: 1. Cuantificacin de caracatersticas funcionales del Sistema:

Mtodo de Puntos de Casos de Uso


154519606.doc

Pgina 3 de 8

Clasificacin de Actores, obtencin del Peso de Actores Sin Ajustar (PASA). Clasificacin de los Casos de Uso, obtencin del Peso de Transacciones Sin Ajustar (PTSA) Obtencin del Peso o Puntos de Casos de Uso Sin Ajustar (PCUSA).

2. Cuantificacin de caracterstias no funcionales del Sistema: Clasificacin de Factores de Complejidad Tcnica (FCT) Clasificacin de Factores Ambientales (FA) Clculo de Puntos de Casos de Uso Ajustados (PCU)

Cuantificacin de caractersticas funcionales del Sistema.


La cuantificacin de los requerimientos funcionales trata la extraccin de informacin del modelo de caso de uso en su forma textual de acuerdo a una clasificacin de Actores y Transacciones de los Casos de Uso. Clasificacin de Actores. Se debe realizar un catastro de todos los actores del sistema y deben ser clasificados como Simple, Promedio y Complejo, de acuerdo al siguiente criterio: Actor Simple: Se trata de otro sistema interactuando a travs de una interfaz de programacin definida y conocida (API). Actor Promedio: Es otro sistema interactuando a travs de un protocolo (como TCP/IP). Actor Complejo: se trata de una persona interactuando con el sistema a travs de una interfaz grfica de usuario (GUI) o pgina Web. Junto a la cuenta y clasificacin de los actores se debe asociar un factor de peso de a cuerdo a la siguiente tabla:
Tipo de actor Simple Promedio Complejo Descripcin Interfaz de programacin de aplicaciones Interfaz de comunicacin va protocolo Interfaz grfica de usuario Factor 1 2 3

Finalmente, se cuentan los actores de acuerdo a su clasificacin o grado de complejidad, multiplicando cada subtotal por su factor de complejidad y sumando cada producto obtenindose el peso de los actores sin ajustar (PASA). Clasificacin de Casos de Uso a partir de las Transacciones Teniendo el modelo de casos de uso, cada uno de ellos debe clasificarse como Simple, Medio o Complejo, de acuerdo al nmero de transacciones descritas en el caso de uso, incluyendo los cursos de accin alternativos. La cuenta del nmero
Mtodo de Puntos de Casos de Uso
154519606.doc

Pgina 4 de 8

de transacciones puede ser hecha a travs de la cuenta de los pasos descritos en el caso de uso en forma textual segn el siguiente criterio: Casos de Uso Simple: Tres o menos transacciones (o pasos). Casos de Uso Promedio: entre 4 o 7 Transacciones. Casos de Uso Complejos: Ms de 7 Transacciones.

Los factores de peso asociados a la clasificacin son los siguientes:


Tipo caso de uso Simple Promedio Complejo Descripcin 3 o menos transacciones de 4 a 7 transacciones ms de 7 transacciones Factor 5 10 15

Al igual que las clasificacin de los actoreslas cuentas de las transacciones de los casos de uso se multiplican por los factores de complejidad y finalmente se suman los productos obteniendose el peso de las transacciones sin ajustar (PTSA) Obtencin de Factores de Peso o Puntos de Casos de Uso Sin Ajustar (PCUSA). Es la suma del Peso de los Actores Sin ajustar ms el Peso de las Transacciones Sin Ajustar, es decir: PCUSA = PASA + PTSA

Cuantificacin de caractersticas no funcionales del Sistema.


El mtodo considera las caractersticas de complejidad tcnica tomando en cuenta algunos requerimientos no funcionales como un factor de ajuste al Sistema, y adems, factores ambientales que se concentran en las caractersticas del equipo de desarrollo. En ambos casosm, se debe evaluar cada Factor multiplicado por un valor que corresponde a los siguientes grados de influencia: 0: Sin influencia 3: Promedio 5: Fuerte influencia

Clasificacin de Factores de Complejidad Tcnica (FCT) Se adjunta tabla con los factores de peso que incorporan la complejidad tcnica del sistema y algunas caractersticas no funcionales, en este caso, en cada uno de

Mtodo de Puntos de Casos de Uso


154519606.doc

Pgina 5 de 8

los tems se tomaron en cuenta factores de complejidad propios de sistemas desarrollados bajo orientacin a objetos.

Factor T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 T11 T12 T13

Descripcin Sistema Distribuido Rendimiento o tiempo de respuesta Eficiencia del usuario final Complejidad de procesamiento interno Reusabilidad del cdigo Facilidades de intalacin Facilidades de uso Portabilidad Facilidades de cambio Concurrencia Caractersticas de seguridad Provee acceso directo a terceras partes Requerimientos de entrenamiento especial

Factor de Peso 2 2 1 1 1 0.5 0.5 2 1 1 1 1 1

Para obtener el factor final se debe multiplicar cada item (T1 a T13) por el grado de influencia sobre el sistema y se obtiene la suma llamada FactorT, de acuerdo a la siguiente Frmula: FCT = 0.6 + (0.01*FactorT) Clasificacin de Factores Ambientales (FA) Corresponden en trminos generales, las caractersticas del equipo de desarrollo en cuanto a perfiles, experiencia y capacidad tcnica.
Factor F1 F2 F3 F4 F5 F6 F7 F8 Descripcin Conocimiento del proceso de desarrollo Experiencia en la aplicacin Experiencia en Orientacin a objetos Capacidad de liderazgo de los analistas Motivacin Estabilidad de los requerimientos Trabajadores part-time Dificultad de los lenguajes de programacin Factor de Peso 1.5 0.5 1 0.5 1 2 -1 2

Para obtener el factor final se debe multiplicar cada item (F1 a F8) por el grado de influencia sobre el sistema y se obtiene la suma llamada FactorA, de acuerdo a la siguiente Frmula: FA = 1.4 + (-0.03*FactorA)

Mtodo de Puntos de Casos de Uso


154519606.doc

Pgina 6 de 8

Clculo de Puntos de Casos de Uso Ajustados (PCU) Finalmente, se obtiene la siguiente frmula que representa los puntos de casos de uso ajustados: PCU = PCUSA* FCT*FA

3. Requerimientos para Herramientas


Como requisito fundamental se requiere una herramienta que permita incorporar tcnica de clculo de tamao y estimacin basada en Puntos de Caso de Uso como plug in. Explcitamente, no se requiere una herramienta exclusiva para el clculo de tamao, esto sera inoperante, pues es una pequea funcionalidad respecto a la automatizacin del proceso de desarrollo completo. Finalmente, la evaluacin de la herramienta que automatice el proceso de desarrollo bajo orientacin a objetos basada en UML, deber incluir este item.

4. Conclusiones
Estimar y calcular el tamao de Software basado en desarrollos orientados a objetos es una tarea que no ha alcanzado un nivel de madurez en la industria, no existen muchos trabajos que permitan tener claridad por la eleccin de un mtodo, sin embargo, el Mtodo de Puntos de Casos de uso cumple con al menos tres objetivos fundamentales, planteados al inicio de la actividad: Es un mtodo similar a lo definido en la KPA de Administracin de Requerimientos respecto de Puntos de Funcin para proyectos desarrollados con Analisis Estructurado. Permite disponer de una mtrica adimensional que con el tiempo podr ser comparada con las mtricas actualmente en uso y se enriquecern con la historia de los proyectos que se desarrollen bajo la metodologa de orientacin a objetos. Existencia de Ejemplos de uso del mtodo de distintas fuentes.

Todo lo definido est sujeto a mejoramiento contnuo o bien ser reemplazado por funcionalidades tratadas en este documento e integradas en herramientas de apoyo al proceso de desarrollo. Otros mtodos se mencionan a continuacin: MKII Analisis de Punto de funcin [Sym91]. Modelo COCOMO [B81] y COCOMO 2 [BHMW95]. Herramientas de estimacin de costos: Optimize, Enterprise Architect.
Mtodo de Puntos de Casos de Uso
154519606.doc

Pgina 7 de 8

Aplicacin de Anlisis de Puntos de Funcin a Casos de Uso [L02]

Finalmente, un aspecto no tratado y depender de trabajos futuros, es la estimacin de esfuerzo a partir de estos nmeros adimensionales de los Puntos de Casos de Uso. En este sentido, es necesario reconocer que a los factores de ajuste nombrados, ser necesario incoporar ajustes respecto a datos histricos de la Empresa que permitan obtener estimaciones ms exactas. Otras metodologas de desarrollo como Macroscope de Fijitsu incorporan estos ajustes basados en estadsticas histricas.

5. Ejemplos 6. Referencias de bibliografa


[AR01] KPA Administracin de requerimientos, Gerencia de Informtica Corporativa Lan Chile S.A. 2001. [B81] Bohem B.W. Software Engineering Economics. Prentice Hall 1981.

[BHMW95] Boehm B., Clark B., Horowitz E., Madachy R., Shelby R., Westland C., Cost Models for Future Software Life Cycle Processes: COCOMO 2.0,, Annals of Software Engineering, 1995. [BRJ98] Booch G., Rumbaugh J., Jacobson I. The Unifed Modeling Languaje User Guide. Addison Wesley Longman, Inc, October 1998. [K01] Ribu K. Estimating Objetctv Oriented Software Projects with Uses Cases. University of Oslo, Department of Informatics, November 2001. [L02] Longstreet. Use Cases www.ifpug.com/Articles/usecases.htm. and Function Points.

[Sym91] C.R Symons. Software Sizing and Estimating, MKII FPA. John Wiley ans sons, 1991.

Mtodo de Puntos de Casos de Uso


154519606.doc

Pgina 8 de 8

You might also like