0% encontró este documento útil (0 votos)
7 vistas22 páginas

Estimación de Software: Método UCP

El documento detalla el método de estimación de esfuerzo UCP (Use Case Points) para el desarrollo de software, que se basa en la complejidad de los casos de uso y actores del sistema. Se describen los factores que influyen en la estimación, incluyendo el peso de actores y casos de uso, así como factores de complejidad técnica y ambiental. Finalmente, se explica cómo calcular el esfuerzo en horas-hombre necesario para completar el desarrollo del software.

Cargado por

giannispaschos6
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
7 vistas22 páginas

Estimación de Software: Método UCP

El documento detalla el método de estimación de esfuerzo UCP (Use Case Points) para el desarrollo de software, que se basa en la complejidad de los casos de uso y actores del sistema. Se describen los factores que influyen en la estimación, incluyendo el peso de actores y casos de uso, así como factores de complejidad técnica y ambiental. Finalmente, se explica cómo calcular el esfuerzo en horas-hombre necesario para completar el desarrollo del software.

Cargado por

giannispaschos6
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Apuntes de clase de Estándares y Métricas para el Desarrollo de Software Ene – Abr 2024 07/02/24

Puntos de Casos de Uso, UCP (por sus siglas en inglés)

Es una técnica de estimación de esfuerzo utilizada para predecir el tamaño del software para proyectos de
desarrollo de software a partir de sus casos de uso.
Fue desarrollado por Gustav Karner en 1993, basándose en el método de punto de función, y supervisado por
Ivar Jacobson, por lo que se se desarrolló en Rational Software y luego en IBM. Ha sido analizado
posteriormente en otros estudios, como la tesis de Kirsten Ribu (Universidad de Oslo) en 2001.
El método UCP se basa en principios similares al método de estimación del Punto de Función (FP), pero fue
diseñado para las necesidades específicas de los sistemas orientados a objetos y los requisitos del sistema
basados en casos de uso.

El número de puntos de casos de uso en un proyecto es función de lo siguiente:


• El número y la complejidad de los casos de uso en el sistema
• El número y la complejidad de los actores del sistema.
• Varios requisitos no funcionales (como portabilidad, rendimiento, mantenibilidad) que no están escritos
como casos de uso
• El entorno en el que se desarrollará el proyecto (como el idioma, la motivación del equipo, etc.)

UCP se utiliza cuando se utilizan metodologías del lenguaje de modelado unificado (UML) y el Proceso Unificado
(RUP) para el diseño y desarrollo del software.
El método utiliza los actores y casos de uso para calcular el esfuerzo que significará desarrollarlos. A los casos
de uso se les asigna una complejidad basada en transacciones, entendidas como una interacción entre el usuario
y el sistema, mientras que a los actores se les asigna una complejidad basada en su tipo, es decir, si son
interfaces con usuarios u otros sistemas. También se utilizan factores de entorno (ambientales) y de complejidad
técnica para ajustar el resultado.

Método

El método para determinar la estimación de tamaño para desarrollar un sistema se basa en un cálculo con los
siguientes elementos:
1. Factor de peso de los actores sin ajustar (UAW, del inglés Unadjusted Actor Weight) el tamaño de punto
del software que explica el número y la complejidad de los actores.
2. Factor de peso de los casos de uso sin ajustar (UUCW, Unadjusted Use Case Weight) el tamaño de punto
del software que explica el número y la complejidad de los casos de uso.
3. Factor de complejidad técnica (TCF, Technical Complexity Factor) - factor que se utiliza para ajustar el
tamaño en función de consideraciones técnicas.
4. Factor de complejidad ambiental (ECF, Enviromental Complexity Facto) - factor que se utiliza para ajustar
el tamaño en función de consideraciones ambientales.
Una vez calculados los cuatro elementos anteriores, se puede calcular la estimación del tamaño final. Este
número final se conoce como los puntos de uso o UCP para un proyecto de desarrollo de software.

Compilados por Valentín Belisario Domínguez Vera 1


Apuntes de clase de Estándares y Métricas para el Desarrollo de Software Ene – Abr 2024 07/02/24

Peso de los Actores sin Ajustar (UAW)

El UAW es un factor que contribuye al tamaño del software que se está desarrollando. Se calcula en función del
número y la complejidad de los actores del sistema. Un actor en un caso de uso podría ser una persona, otro
programa, una pieza de hardware, etc. Algunos actores, como un usuario que trabaja con una sencilla interfaz de
línea de comandos, tienen necesidades muy simples y aumentan ligeramente la complejidad de un caso de uso.
Otros actores, como un usuario que trabaja con una interfaz gráfica de usuario altamente interactiva, tienen un
impacto mucho más significativo en el esfuerzo por desarrollar un caso de uso. Para capturar estas diferencias,
cada actor en el sistema se clasifica como Simple, Promedio o Complejo, y se le asigna un peso predefinido.
El UAW es el total de los pesos para cada uno de los actores. La tabla siguiente muestra las diferentes
clasificaciones de los actores y el valor de peso asignado.
Clasificación
Tipo de Actor Peso
del Actor
Sistema externo que debe interactuar con el sistema utilizando
Simple 1
una API bien definida.
Sistema externo que interactúa con el sistema utilizando
protocolos de comunicación estándar (por ejemplo, TCP/IP,
Promedio 2
FTP, HTTP, SOAP, base de datos).
Una persona usando una interfaz basada en texto.
Complejo Actor humano usando una interfaz de aplicación GUI. 3

UAW = (Num Simple de actores * 1) + (Num medio de actores * 2) + (Num complejo de actores * 3)

Peso de los casos de uso sin ajustar (UUCW)

El UUCW es otro de los factores que contribuyen al tamaño del software que se está desarrollando. Se calcula en
función del número y la complejidad de los casos de uso del sistema. Para encontrar la UUCW para un sistema,
en la fórmula original de Karner, se revisan las transacciones de los casos de uso. Una transacción (al menos
cuando se trabaja con casos de uso a nivel de objetivo de usuario) equivale a un paso en el caso de uso. Por lo
tanto, podemos determinar la cantidad de transacciones contando los pasos en el caso de uso. Luego, según la
cantidad de transacciones se le asigna una cantidad de puntos y así, cada caso de uso se clasifica como Simple,
Promedio o Complejo.
Cada clasificación tiene asignado un peso predefinido. Una vez que todos los casos de uso se han clasificado, el
peso total (UUCW) se determina sumando las ponderaciones correspondientes para cada caso de uso. La tabla
siguiente muestra las diferentes clasificaciones de los casos de uso basadas en el número de transacciones y el
valor de peso asignado para cada caso de uso dentro de la clasificación.
Clasificación de los
Número de transacciones Peso
casos de Uso
1a3
Simple 5
transacciones/operaciones

Compilados por Valentín Belisario Domínguez Vera 2


Apuntes de clase de Estándares y Métricas para el Desarrollo de Software Ene – Abr 2024 07/02/24

Promedio 4 a 7 transacciones 10
Complejo 8 o más transacciones 15

UUCW = (Num de casos de uso Simples * 5) + (Num de casos de uso Promedio * 10) + (Num de casos de uso
Complejo * 15)

Factor de Complejidad Técnica (TCF)

El esfuerzo total para desarrollar un sistema está influenciado por factores más allá de la colección de casos de
uso que describen la funcionalidad del sistema previsto. Desarrollar un sistema distribuido requerirá más esfuerzo
que un sistema no distribuido. De manera similar, un sistema con objetivos de desempeño difíciles de cumplir
requerirá más esfuerzo que uno con objetivos de desempeño fáciles de cumplir. El impacto de la complejidad
técnica o TCF de un proyecto en los casos de uso, se obtiene evaluando el proyecto en cada uno de los trece
factores como se muestra en la Tabla siguiente. A cada uno se le asigna una Puntuación o Valor Percibido entre
0 (el factor es irrelevante) y 5 (el factor es esencial). Cada Valor Percibido se multiplica por el Peso o valor
ponderado ya definido para cada factor. Muchos de estos factores representan el impacto de los requisitos no
funcionales de un proyecto en el esfuerzo para completarlo.
Factor Descripción Peso
T1 Sistema distribuido 2.0
T2 Rendimiento o tiempo de respuesta 1.0
T3 Eficiencia del usuario final 1.0
T4 Complejidad de procesamiento interno 1.0
T5 El código es reutilizable 1.0
T6 Fácil de instalar 0.5
T7 Fácil de usar 0.5
T8 Portabilidad a otras plataformas 2.0
T9 Facilidad de cambio/Mantenimiento del sistema 1.0
T10 Procesamiento concurrente/paralelo 1.0
T11 Características de seguridad 1.0
T12 Acceso a terceras personas/sistemas 1.0
Es necesaria la formación/entrenamiento de
T13 1.0
usuarios

El total de todos los valores calculados es el factor técnico (TF).


TF = Sum ( ValorPercibido * Peso )
El TF se utiliza para calcular el TCF con la siguiente fórmula:
TCF = 0.6 + (TF/100) = 0.6 + (0.01*TF)

Factor de Complejidad Ambiental (ECF)

Compilados por Valentín Belisario Domínguez Vera 3


Apuntes de clase de Estándares y Métricas para el Desarrollo de Software Ene – Abr 2024 07/02/24

El ECF es otro factor aplicado al tamaño estimado del software para tener en cuenta las consideraciones
ambientales del sistema. El nivel de motivación del equipo, su experiencia con la Programación orientada a
objetos, y otros factores afectan el cálculo de los puntos de los casos de uso.
Se determina asignando una Puntuación o Valor Percibido entre 0 (sin experiencia) y 5 (experto) a cada uno de
los 8 factores ambientales enumerados en la tabla siguiente. Esta puntuación se multiplica por el Peso o valor
ponderado ya definido para cada factor.
Factor Descripción Peso
Familiaridad con el proceso de desarrollo utilizado
E1 1.5
Familiaridad con UML
E2 Experiencia en la aplicación 0.5
E3 Experiencia del equipo en AOO/POO 1.0
E4 Capacidad del analista principal/líder 0.5
E5 Motivación del equipo 1.0
E6 Estabilidad de los requisitos/requerimientos 2.0
E7 Personal a tiempo parcial o medio tiempo -1.0
E8 Difícil lenguaje de programación -1.0

El total de todos los valores calculados es el factor de medio ambiente (EF).


EF = Sum ( ValorPercibido * Peso )
El EF se utiliza entonces para calcular el ECF con la siguiente fórmula:
ECF = 1.4 + ( - 0.03 * EF )

Obtención de los puntos de caso de Uso (UCP)

Por último, los UCP se puede calcular una vez que se haya determinado el tamaño del proyecto no ajustado
(UUCW y UAW), factor técnico (TCF) y factor ambiental (ECF), y se calculan en función de la siguiente fórmula:
UCP = (UUCW + UAW) * TCF * ECF

Esfuerzo horas-hombre (Ehh)

Este cálculo se realiza con el fin de tener una aproximación del esfuerzo, pensando solo en el desarrollo según
las funcionalidades de los casos de uso. Anteriormente, se sugería utilizar 20 horas persona por UCP, pero a
través del tiempo se ha ido mejorando. Está basado en los factores ambientales y se calcula de la siguiente
manera:
Primero se debe contar la cantidad de factores ambientales del E1 al E6 que tienen un Valor Percibido o
puntuación menor a 3, también contar la cantidad de estos mismos del E7 y E8 que son mayores que 3.
Factor Filtro
De E1 a E6 Factor < 3

Compilados por Valentín Belisario Domínguez Vera 4


Apuntes de clase de Estándares y Métricas para el Desarrollo de Software Ene – Abr 2024 07/02/24

De E7 a E8 Factor > 3
Factor del esfuerzo horas-hombre.

Para evaluar el resultado o la cantidad total según la siguiente tabla:


Horas-hombre (CF) Descripción
20 Si el valor es<=2
28 Si el valor es<=4
36 Si el valor es>=5
Cantidad de horas-persona según el valor.

El esfuerzo en horas-persona viene dado por:


Ehh = UCP * CF
Estas siglas significan:
• Ehh: Esfuerzo estimado en horas-persona.
• UCP: Puntos de Casos de Uso ajustados.
• CF: Horas-Persona.

Al realizar la multiplicación del UCP por las horas- persona, se consigue un esfuerzo estimado, que representa
una parte del total del esfuerzo de todo el proyecto, generalmente un 40%. Este 40% se refiere al esfuerzo total
para el desarrollo (Programación) de la funcionalidades especificadas en los Casos de Uso.
En la siguiente tabla se detallan la distribución en porcentaje, para el esfuerzo total del proyecto.
Actividad Porcentaje
Análisis 10%
Diseño 20%
Programación 40%
Pruebas 15%
Sobrecarga 15%
Total 100%
y se puede calcular el tiempo necesario para concluir el proyecto mediante una regla de 3 simple.
Total hrs-hombre = Ehh *100 / 40

Con lo anterior si se conoce la cantidad de programadores que forma el equipo, se puede determinar cuántas
horas en promedio trabajará cada programador.
HProm = Ehh / num_programadores
Y si consideramos que la cantidad diaria de horas laborales son 8 y que la productividad ronda entre un 60% y
70%, se puede determinar cuántos días laborales serán necesarios para concluir el desarrollo solamente.
DiasLab = Hprom / 8 / ptje_productividad
Si consideramos que cada semana tiene 5 días laborables, al dividir el resultado anterior entre 5 obtenemos el
número de semanas necesarias para concluir el desarrollo solamente.
Tdesar en semanas = DiasLab / 5

Compilados por Valentín Belisario Domínguez Vera 5


Apuntes de clase de Estándares y Métricas para el Desarrollo de Software Ene – Abr 2024 07/02/24

Y tomando en cuenta que hay 22 días laborables en un mes, podemos saber cuántos meses en total serán
necesarios para concluir el desarrollo solamente.
Tdesar en meses = DiasLab / 22

Ejemplo1.
Suponga que tiene una Aplicación Web que tiene en total 23 casos de uso; 7 son simples, 13 son promedio y 3
son complejos. Los casos de uso tienen 4 actores en total, todos clasificados complejos.
El valor percibido para los factores técnicos se muestran en la siguiente tabla.
Factor Descripción VP
T1 Sistema distribuido 1
T2 Rendimiento o tiempo de respuesta 3
T3 Eficiencia del usuario final 3
T4 Complejidad de procesamiento interno 3
T5 El código es reutilizable 0
T6 Fácil de instalar 0
T7 Fácil de usar 5
T8 Portabilidad a otras plataformas 0
T9 Facilidad de cambio/Mantenimiento del sistema 3
T10 Procesamiento concurrente/paralelo 0
T11 Características de seguridad 0
T12 Acceso a terceras personas/sistemas 3
Es necesaria la formación/entrenamiento de
T13 0
usuarios

Y el valor percibido para los factores ambientales se muestran en la siguiente tabla


Factor Descripción VP
Familiaridad con el proceso de desarrollo utilizado
E1 5
Familiaridad con UML
E2 Experiencia en la aplicación 0
E3 Experiencia del equipo en AOO/POO 5
E4 Capacidad del analista principal/líder 5
E5 Motivación del equipo 5
E6 Estabilidad de los requisitos/requerimientos 3
E7 Personal a tiempo parcial o medio tiempo 0
E8 Difícil lenguaje de programación 0

Obtenga los UCP y el esfuerzo en horas-hombre que serían necesarias para concluir la programación del

Compilados por Valentín Belisario Domínguez Vera 6


Apuntes de clase de Estándares y Métricas para el Desarrollo de Software Ene – Abr 2024 07/02/24

sistema.
Suponga que el equipo de desarrollo está formado por 4 programadores y que la productividad del equipo es del
65% del tiempo laboral diario (8 horas diarias de trabajo). Determine el número de días laborables para concluir
la programación, el número de semanas necesarias para concluir el desarrollo (programación) y cuántos meses
representan esos días tomando en cuenta que hay 22 días laborables en un mes.

1. Cálculo de UAW.
Clasificación Num Result
Tipo de Actor Peso
del Actor Actores ado
Sistema externo que debe interactuar con el sistema
Simple 1 0 0
utilizando una API bien definida
Sistema externo que debe interactuar con el sistema
utilizando protocolos de comunicación estándar (por
Promedio 2 0 0
ejemplo, TCP/IP, FTP, HTTP, SOAP, base de datos)
Una persona usando una interfaz basada en texto.
Complejo Actor humano usando una interfaz de aplicación GUI 3 4 12

UAW = 0 + 0 + 12 = 12

2. Cálculo de UUCW.
Num
Clasificación de Result
Número de transacciones Peso Casos
los casos de Uso ado
de Uso
Simple 1 a 3 operaciones/transacciones 5 7 35
Promedio 4 a 7 transacciones 10 13 130
Complejo 8 o más transacciones 15 3 45

UUCW = 35 + 130 + 45 = 210

3. Cálculo de TCF
Resulta
Factor Descripción Peso VP
do
T1 Sistema distribuido 2.0 1 2
T2 Rendimiento o tiempo de respuesta 1.0 3 3
T3 Eficiencia del usuario final 1.0 3 3
T4 Complejidad de procesamiento interno 1.0 3 3
T5 El código es reutilizable 1.0 0 0
T6 Fácil de instalar 0.5 0 0
T7 Fácil de usar 0.5 5 2.5

Compilados por Valentín Belisario Domínguez Vera 7


Apuntes de clase de Estándares y Métricas para el Desarrollo de Software Ene – Abr 2024 07/02/24

T8 Portabilidad a otras plataformas 2.0 0 0


T9 Facilidad de cambio/Mantenimiento del sistema 1.0 3 3
T10 Procesamiento concurrente/paralelo 1.0 0 0
T11 Características de seguridad 1.0 0 0
T12 Acceso a terceras personas/sistemas 1.0 3 3
Es necesaria la formación/entrenamiento de
T13 1.0 0 0
usuarios

TF = Suma ( ValoresPercibidos * Pesos ) = 19.5


El TF se utiliza para calcular el TCF con la siguiente fórmula:
TCF = 0.6 + (TF/100) = 0.6 + (0.01*TF) = 0.6 + (19.5/100) = 0.795

4. Cálculo de ECF.
Result
Factor Descripción Peso VP
ado
Familiaridad con el proceso de desarrollo utilizado
E1 1.5 5 7.5
Familiaridad con UML
E2 Experiencia en la aplicación 0.5 0 0
E3 Experiencia del equipo en AOO/POO 1.0 5 5
E4 Capacidad del analista principal/líder 0.5 5 2.5
E5 Motivación del equipo 1.0 5 5
E6 Estabilidad de los requisitos/requerimientos 2.0 3 6
E7 Personal a tiempo parcial o medio tiempo -1.0 0 0
E8 Difícil lenguaje de programación -1.0 0 0

EF = Sum ( ValorPercibido * Peso ) = 26


El EF se utiliza entonces para calcular el ECF con la siguiente fórmula:
ECF = 1.4 + ( - 0.03 * EF ) = 1.4 + ( - 0.03 * 26 ) = 0.62

5. Cálculo de UCP
UCP = (UUCW + UAW) * TCF * ECF
= ( 210 + 12 ) * 0.795 * 0.62 = 109.42 UCP

6. Cálculo del esfuerzo en Horas-hombre, Ehh


Contar la cantidad de factores ambientales del E1 al E6 que tienen un Valor Percibido o puntuación menor a 3,
también contar la cantidad de estos mismos del E7 y E8 que son mayores que 3.
Factor Filtro Resultado
De E1 a E6 Factor < 3 1
De E7 a E8 Factor > 3 0

Compilados por Valentín Belisario Domínguez Vera 8


Apuntes de clase de Estándares y Métricas para el Desarrollo de Software Ene – Abr 2024 07/02/24

Factor del esfuerzo horas-persona.

Como el total de la tabla anterior es 1, entonces, para determinar la cantidad de Horas-hombre por UCP vemos la
siguiente tabla.
Horas-hombre (CF) Descripción
20 Si el valor es<=2
28 Si el valor es<=4
36 Si el valor es>=5
Cantidad de horas-persona según el valor.

Y corresponden 20 Horas-hombre por UCP, entonces el esfuerzo en horas-hombre es...


Ehh = UCP * CF = 109.42 * 20 = 2,188.4 hrs-hombre

Como 2,188.4 hrs implican solamente el desarrollo, el tiempo total para concluir el proyecto es de:
Total hrs-hombre = Ehh *100 / 40 = 2188.4 * 100 / 40 = 5,471 hrs-hombre
En la siguiente tabla se detalla la distribución en hrs-hombre para concluir el proyecto:
Actividad Porcentaje Tiempo necesario
Análisis 10% 547.1
Diseño 20% 1,094.2
Programación 40% 2,188.4
Pruebas 15% 820.65
Sobrecarga 15% 820.65
Total 5,471 hrs-hombre

Como el equipo de desarrollo está formado por 4 programadores, el número de horas promedio que desarrollará
cada uno es de:
HProm = Ehh / num_programadores = 2,188.4 / 4 = 547.1 hrs-hombre en promedio cada programador

las horas diaria laborables son 8 y la productividad del equipo es del 65%, entonces los días laborables
necesarios para concluir solo el desarrollo son:
DiasLab = Hprom / 8 / ptje_productividad = 547.1 / 8 / .65 = 105.2 días laborables
Si consideramos que cada semana tiene 5 días laborables, al dividir el resultado anterior entre 5 obtenemos el
número de semanas necesarias para concluir el desarrollo solamente.
Tdesar en semanas = DiasLab / 5 = 105.2 / 5 = 21.04 Semanas
Y tomando en cuenta que hay 22 días laborables en un mes, el tiempo en meses solo para concluir el desarrollo
(solo programación) es de:
Tdesar en meses = DiasLab / 22 = 105.2 / 22 = 4.78 meses

Compilados por Valentín Belisario Domínguez Vera 9


Apuntes de clase de Estándares y Métricas para el Desarrollo de Software Ene – Abr 2024 07/02/24

Ejemplo2.
un Sistema de Compras en Línea. El diagrama de abajo muestra el Diagrama de Caso de Uso para el sistema a
desarrollar.

Tiene en total 9 casos de uso; 2 son simples, 3 son promedio y 4 son complejos. Los casos de uso tienen 5
actores en total, 1 es simple y 4 son complejos.
El valor percibido para los factores técnicos se muestran en la siguiente tabla.
Factor Descripción VP
T1 Sistema distribuido 5
T2 Rendimiento o tiempo de respuesta 5
T3 Eficiencia del usuario final 3
T4 Complejidad de procesamiento interno 2
T5 El código es reutilizable 3
T6 Fácil de instalar 1
T7 Fácil de usar 5
T8 Portabilidad a otras plataformas 2
T9 Facilidad de cambio/Mantenimiento del sistema 2
T10 Procesamiento concurrente/paralelo 3
T11 Características de seguridad 5

Compilados por Valentín Belisario Domínguez Vera 10


Apuntes de clase de Estándares y Métricas para el Desarrollo de Software Ene – Abr 2024 07/02/24

T12 Acceso a terceras personas/sistemas 1


Es necesaria la formación/entrenamiento de
T13 1
usuarios

Y el valor percibido para los factores ambientales se muestran en la siguiente tabla


Factor Descripción VP
Familiaridad con el proceso de desarrollo utilizado
E1 3
Familiaridad con UML
E2 Experiencia en la aplicación 3
E3 Experiencia del equipo en AOO/POO 2
E4 Capacidad del analista principal/líder 5
E5 Motivación del equipo 2
E6 Estabilidad de los requisitos/requerimientos 1
E7 Personal a tiempo parcial o medio tiempo 0
E8 Difícil lenguaje de programación 4

Obtenga los UCP y el esfuerzo en horas-hombre que serían necesarias para concluir la programación del
proyecto.
Suponga que el equipo de desarrollo está formado por 6 programadores y que la productividad del equipo es del
68% del tiempo laboral diario (8 horas diarias de trabajo). Determine el número de días laborables para concluir
la programación, el número de semanas necesarias para concluir el desarrollo (programación) y cuántos meses
representan esos días tomando en cuenta que hay 22 días laborables en un mes.

1. Cálculo de UAW.
Clasificación Num Result
Tipo de Actor Peso
del Actor Actores ado
Sistema externo que debe interactuar con el sistema
Simple 1 1 1
utilizando una API bien definida
Sistema externo que interactúa con el sistema utilizando
protocolos de comunicación estándar (por ejemplo, TCP/IP,
Promedio 2 0 0
FTP, HTTP, SOAP, base de datos).
Una persona usando una interfaz basada en texto.
Complejo Actor humano usando una interfaz de aplicación GUI 3 4 12

UAW = 1 + 0 + 12 = 13

2. Cálculo de UUCW.
Clasificación de Número de transacciones Peso Num Result

Compilados por Valentín Belisario Domínguez Vera 11


Apuntes de clase de Estándares y Métricas para el Desarrollo de Software Ene – Abr 2024 07/02/24

Casos
los casos de Uso ado
de Uso
Simple 1 a 3 operaciones/transacciones 5 2 10
Promedio 4 a 7 transacciones 10 3 30
Complejo 8 o más transacciones 15 4 60

UUCW = 10 + 30 + 60 = 100

3. Cálculo de TCF
Facto Resulta
Descripción Peso VP
r do
T1 Sistema distribuido 2.0 5 10
T2 Rendimiento o tiempo de respuesta 1.0 5 5
T3 Eficiencia del usuario final 1.0 3 3
T4 Complejidad de procesamiento interno 1.0 2 2
T5 El código es reutilizable 1.0 3 3
T6 Fácil de instalar 0.5 1 0.5
T7 Fácil de usar 0.5 5 2.5
T8 Portabilidad a otras plataformas 2.0 2 4
T9 Facilidad de cambio/Mantenimiento del sistema 1.0 2 2
T10 Procesamiento concurrente/paralelo 1.0 3 3
T11 Características de seguridad 1.0 5 5
T12 Acceso a terceras personas/sistemas 1.0 1 1
Es necesaria la formación/entrenamiento de
T13 1.0 1 1
usuarios

TF = Suma ( ValoresPercibidos * Pesos ) = 42


El TF se utiliza para calcular el TCF con la siguiente fórmula:
TCF = 0.6 + (TF/100) = 0.6 + (0.01*TF) = 0.6 + (42 / 100) = 1.02

4. Cálculo de ECF.
Result
Factor Descripción Peso VP
ado
Familiaridad con el proceso de desarrollo utilizado
E1 1.5 3 4.5
Familiaridad con UML
E2 Experiencia en la aplicación 0.5 3 1.5
E3 Experiencia del equipo en AOO/POO 1.0 2 2
E4 Capacidad del analista principal/líder 0.5 5 2.5

Compilados por Valentín Belisario Domínguez Vera 12


Apuntes de clase de Estándares y Métricas para el Desarrollo de Software Ene – Abr 2024 07/02/24

E5 Motivación del equipo 1.0 2 2


E6 Estabilidad de los requisitos/requerimientos 2.0 1 2
E7 Personal a tiempo parcial o medio tiempo -1.0 0 0
E8 Difícil lenguaje de programación -1.0 4 -4

EF = Sum ( ValorPercibido * Peso ) = 10.5


El EF se utiliza entonces para calcular el ECF con la siguiente fórmula:
ECF = 1.4 + ( - 0.03 * EF ) = 1.4 + ( - 0.03 * 10.5 ) = 1.085

5. Cálculo de UCP
UCP = (UUCW + UAW) * TCF * ECF
= ( 100 + 13 ) * 1.02 * 1.085 = 125.06 UCP

6. Cálculo del esfuerzo en Horas-hombre, Ehh


Contar la cantidad de factores ambientales del E1 al E6 que tienen un Valor Percibido o puntuación menor a 3,
también contar la cantidad de estos mismos del E7 y E8 que son mayores que 3.
Factor Filtro Resultado
De E1 a E6 Factor < 3 3
De E7 a E8 Factor > 3 1
Factor del esfuerzo horas-persona.

Como el total de la tabla anterior es 4, entonces, para determinar la cantidad de Horas-hombre por UCP vemos la
siguiente tabla.
Horas-Persona (CF) Descripción
20 Si el valor es<=2
28 Si el valor es<=4
36 Si el valor es>=5
Cantidad de horas-persona según el valor.

Y corresponden 28 Horas-hombre por UCP, entonces el esfuerzo en horas-hombre es...


Ehh = UCP * CF = 125.06 * 28 = 3,501.7 hrs-hombre

Como 3501.7 hrs implican solamente el desarrollo, el tiempo total para concluir el proyecto es de:
Total hrs-hombre = Ehh *100 / 40 = 3501.7 * 100 / 40 = 8,754.0 hrs-hombre
En la siguiente tabla se detalla la distribución en hrs-hombre para concluir el proyecto:
Actividad Porcentaje Tiempo necesario
Análisis 10% 875.4
Diseño 20% 1,750.8

Compilados por Valentín Belisario Domínguez Vera 13


Apuntes de clase de Estándares y Métricas para el Desarrollo de Software Ene – Abr 2024 07/02/24

Programación 40% 3,501.7


Pruebas 15% 1,313.10
Sobrecarga 15% 1,313.10
Total 8,754.0 hrs-hombre

Como el equipo de desarrollo está formado por 6 programadores, el número de horas promedio que desarrollará
cada uno es de:
HProm = Ehh / num_programadores = 3501.7 / 6 = 583.62 hrs-hombre en promedio cada programador

las horas diaria laborables son 8 y la productividad del equipo es del 68%, entonces los días laborables
necesarios para concluir solo el desarrollo son:
DiasLab = Hprom / 8 / ptje_productividad = 583.62 / 8 / .68 = 107.3 días laborables
Si consideramos que cada semana tiene 5 días laborables, al dividir el resultado anterior entre 5 obtenemos el
número de semanas necesarias para concluir el desarrollo solamente.
Tdesar en semanas = DiasLab / 5 = 107.3 / 5 = 21.46 Semanas
Y tomando en cuenta que hay 22 días laborables en un mes, el tiempo en meses solo para concluir el desarrollo
(solo programación) es de:
Tdesar en meses = DiasLab / 22 = 107.3 / 22 = 4.87 meses

Ejemplo3.
Se tiene una Aplicación de escritorio que tiene en total 71 casos de uso; 40 son simples, 21 son promedio y 10
son complejos. Los casos de uso tienen 21 actores en total, 8 son simples, 7 son promedio y 6 son complejos .
El valor percibido para los factores técnicos se muestran en la siguiente tabla.
Factor Descripción VP
T1 Sistema distribuido 3
T2 Rendimiento o tiempo de respuesta 3
T3 Eficiencia del usuario final 3
T4 Complejidad de procesamiento interno 2
T5 El código es reutilizable 0
T6 Fácil de instalar 0
T7 Fácil de usar 4
T8 Portabilidad a otras plataformas 2
T9 Facilidad de cambio/Mantenimiento del sistema 5
T10 Procesamiento concurrente/paralelo 5
T11 Características de seguridad 5
T12 Acceso a terceras personas/sistemas 3
T13 Es necesaria la formación/entrenamiento de 0

Compilados por Valentín Belisario Domínguez Vera 14


Apuntes de clase de Estándares y Métricas para el Desarrollo de Software Ene – Abr 2024 07/02/24

usuarios

Y el valor percibido para los factores ambientales se muestran en la siguiente tabla


Factor Descripción VP
Familiaridad con el proceso de desarrollo utilizado
E1 3
Familiaridad con UML
E2 Experiencia en la aplicación 4
E3 Experiencia del equipo en AOO/POO 4
E4 Capacidad del analista principal/líder 4
E5 Motivación del equipo 5
E6 Estabilidad de los requisitos/requerimientos 1
E7 Personal a tiempo parcial o medio tiempo 0
E8 Difícil lenguaje de programación 2

Obtenga los UCP y el esfuerzo en horas-hombre que serían necesarias para concluir la programación del
proyecto.
Suponga que el equipo de desarrollo está formado por 10 programadores y que la productividad del equipo es del
62% del tiempo laboral diario (8 horas diarias de trabajo). Determine el número de días laborables para concluir
la programación, el número de semanas necesarias para concluir el desarrollo (programación) y cuántos meses
representan esos días tomando en cuenta que hay 22 días laborables en un mes.

1. Cálculo de UAW.
Clasificación Num Result
Tipo de Actor Peso
del Actor Actores ado
Sistema externo que debe interactuar con el sistema
Simple 1 8 8
utilizando una API bien definida
Sistema externo que interactúa con el sistema utilizando
protocolos de comunicación estándar (por ejemplo, TCP/IP,
Promedio 2 7 14
FTP, HTTP, SOAP, base de datos).
Una persona usando una interfaz basada en texto.
Complejo Actor humano usando una interfaz de aplicación GUI 3 6 18

UAW = 8 + 14 + 18 = 40

2. Cálculo de UUCW.
Num
Clasificación de Result
Número de transacciones Peso Casos
los casos de Uso ado
de Uso
Simple 1 a 3 operaciones/transacciones 5 40 200

Compilados por Valentín Belisario Domínguez Vera 15


Apuntes de clase de Estándares y Métricas para el Desarrollo de Software Ene – Abr 2024 07/02/24

Promedio 4 a 7 transacciones 10 21 210


Complejo 8 o más transacciones 15 10 150

UUCW = 200 + 210 + 150 = 560

3. Cálculo de TCF
Resulta
Factor Descripción Peso VP
do
T1 Sistema distribuido 2.0 3 6
T2 Rendimiento o tiempo de respuesta 1.0 3 3
T3 Eficiencia del usuario final 1.0 3 3
T4 Complejidad de procesamiento interno 1.0 2 2
T5 El código es reutilizable 1.0 0 0
T6 Fácil de instalar 0,5 0 0
T7 Fácil de usar 0,5 4 2
T8 Portabilidad a otras plataformas 2.0 2 4
T9 Facilidad de cambio/Mantenimiento del sistema 1.0 5 5
T10 Procesamiento concurrente/paralelo 1.0 5 5
T11 Características de seguridad 1.0 5 5
T12 Acceso a terceras personas/sistemas 1.0 3 3
Es necesaria la formación/entrenamiento de
T13 1.0 0 0
usuarios

TF = Suma ( ValoresPercibidos * Pesos ) = 38


El TF se utiliza para calcular el TCF con la siguiente fórmula:
TCF = 0.6 + (TF/100) = 0.6 + (0.01*TF) = 0.6 + (38 / 100) = 0.98

4. Cálculo de ECF.
Result
Factor Descripción Peso VP
ado
Familiaridad con el proceso de desarrollo utilizado
E1 1.5 3 4.5
Familiaridad con UML
E2 Experiencia en la aplicación 0.5 4 2
E3 Experiencia del equipo en AOO/POO 1.0 4 4
E4 Capacidad del analista principal/líder 0.5 4 2
E5 Motivación del equipo 1.0 5 5
E6 Estabilidad de los requisitos/requerimientos 2.0 1 2
E7 Personal a tiempo parcial o medio tiempo -1.0 0 0

Compilados por Valentín Belisario Domínguez Vera 16


Apuntes de clase de Estándares y Métricas para el Desarrollo de Software Ene – Abr 2024 07/02/24

E8 Difícil lenguaje de programación -1.0 2 -2

EF = Sum ( ValorPercibido * Peso ) = 17.5


El EF se utiliza entonces para calcular el ECF con la siguiente fórmula:
ECF = 1.4 + ( - 0.03 * EF ) = 1.4 + ( - 0.03 * 17.5 ) = 0.875

5. Cálculo de UCP
UCP = (UUCW + UAW) * TCF * ECF
= ( 560 + 40 ) * 0.98 * 0.875 = 514.5 UCP

6. Cálculo del esfuerzo en Horas-hombre, Ehh


Contar la cantidad de factores ambientales del E1 al E6 que tienen un Valor Percibido o puntuación menor a 3,
también contar la cantidad de estos mismos del E7 y E8 que son mayores que 3.
Factor Filtro Resultado
De E1 a E6 Factor < 3 1
De E7 a E8 Factor > 3 0
Factor del esfuerzo horas-persona.

Como el total de la tabla anterior es 1, entonces, para determinar la cantidad de Horas-hombre por UCP vemos la
siguiente tabla.
Horas-hombre (CF) Descripción
20 Si el valor es<=2
28 Si el valor es<=4
36 Si el valor es>=5
Cantidad de horas-persona según el valor.

Y corresponden 20 Horas-hombre por UCP, entonces el esfuerzo en horas-hombre es...


Ehh = UCP * CF = 514.5 * 20 = 10,290 hrs-hombre

Como 2,188.4 hrs implican solamente el desarrollo, el tiempo total para concluir el proyecto es de:
Total hrs-hombre = Ehh *100 / 40 = 10290 * 100 / 40 = 25,725 hrs-hombre
En la siguiente tabla se detalla la distribución en hrs-hombre para concluir el proyecto:
Actividad Porcentaje Tiempo necesario
Análisis 10% 2,572.5
Diseño 20% 5,145
Programación 40% 10,290
Pruebas 15% 3858.75
Sobrecarga 15% 3858.75

Compilados por Valentín Belisario Domínguez Vera 17


Apuntes de clase de Estándares y Métricas para el Desarrollo de Software Ene – Abr 2024 07/02/24

Total 25,725 hrs-hombre

Como el equipo de desarrollo está formado por 10 programadores, el número de horas promedio que desarrollará
cada uno es de:
HProm = Ehh / num_programadores = 10,290 / 10 = 1,029 hrs-hombre en promedio cada programador

las horas diaria laborables son 8 y la productividad del equipo es del 62%, entonces los días laborables
necesarios para concluir solo el desarrollo son:
DiasLab = Hprom / 8 / ptje_productividad = 1,029 / 8 / .62 = 207.5 días laborables
Si consideramos que cada semana tiene 5 días laborables, al dividir el resultado anterior entre 5 obtenemos el
número de semanas necesarias para concluir el desarrollo solamente.
Tdesar en semanas = DiasLab / 5 = 207.5 / 5 = 41.5 Semanas
Y tomando en cuenta que hay 22 días laborables en un mes, el tiempo en meses solo para concluir el desarrollo
(solo programación) es de:
Tdesar en meses = DiasLab / 22 = 105.2 / 22 = 9.4 meses

Ejercicio1.
El sistema de gestión es un ERP (en inglés, Enterprise Resource Planning), el cual fue desarrollado a medida
para la gestión de empresas de publicidad; este cuenta con los siguientes módulos:
• Clientes
• Proveedores
• Contabilidad
• Tesorería
• Administración y parametrización
• Rendiciones de gastos
• Seguridad
La mejora a implementar tiene impacto sobre los módulos de Clientes y Administración y Parametrización. Esta
incorpora la modalidad de facturación electrónica, que requiere de la emisión de un archivo de texto, la
generación automática de un archivo XML y un PDF en la generación de cada factura y nota de crédito. Este
desarrollo también incorpora un proceso de solicitud de creación de notas de crédito y su posterior aprobación.
Los requisitos funcionales de la mejora a desarrollar han sido capturados en 15 casos de uso, los cuales se
enuncian a continuación:
• Modificar información de la empresa
• Generar archivo para ente regulador
• Generar factura automática
• Generar factura manual
• Generar nota de crédito
• Generar factura automática de medios
• Generar factura manual de medios
• Generar nota de crédito de medios

Compilados por Valentín Belisario Domínguez Vera 18


Apuntes de clase de Estándares y Métricas para el Desarrollo de Software Ene – Abr 2024 07/02/24

• Generar factura de varios


• Generar nota de crédito de varios
• Generar factura por volumen
• Generar nota de crédito por volumen
• Regenerar archivo para ente regulador
• Solicitud de generación de nota de crédito
• Aprobar de notas de crédito.
De la interacción se logra definir que 8 son simples, 5 son medios y 2 son complejos.

Se identificaron y clasificaron los Actores que intervienen en los Casos de Usos detectados. Estos son:
• Administrador: encargado de la administración y parametrización de los datos.
• Facturista: encargado de generar las facturas y notas de crédito
• Aprobador de notas de crédito: encargado de aprobar las solicitudes de notas de crédito
Los usuarios constituyen actores de tipo complejo, ya que se trata de personas utilizando el sistema mediante
una interfaz gráfica

El valor percibido para los factores técnicos se muestran en la siguiente tabla.


Factor Descripción VP
T1 Sistema distribuido 0
T2 Rendimiento o tiempo de respuesta 1
T3 Eficiencia del usuario final 1
T4 Complejidad de procesamiento interno 3
T5 El código es reutilizable 2
T6 Fácil de instalar 3
T7 Fácil de usar 3
T8 Portabilidad a otras plataformas 2
T9 Facilidad de cambio/Mantenimiento del sistema 3
T10 Procesamiento concurrente/paralelo 2
T11 Características de seguridad 2
T12 Acceso a terceras personas/sistemas 0
Es necesaria la formación/entrenamiento de
T13 1
usuarios

Y el valor percibido para los factores ambientales se muestran en la siguiente tabla


Factor Descripción VP
Familiaridad con el proceso de desarrollo utilizado
E1 5
Familiaridad con UML
E2 Experiencia en la aplicación 5
E3 Experiencia del equipo en AOO/POO 4

Compilados por Valentín Belisario Domínguez Vera 19


Apuntes de clase de Estándares y Métricas para el Desarrollo de Software Ene – Abr 2024 07/02/24

E4 Capacidad del analista principal/líder 5


E5 Motivación del equipo 2
E6 Estabilidad de los requisitos/requerimientos 2
E7 Personal a tiempo parcial o medio tiempo 0
E8 Difícil lenguaje de programación 0

Obtenga los UCP y el esfuerzo en horas-hombre que serían necesarias para concluir la programación del
proyecto.
Suponga que el equipo de desarrollo está formado por 10 programadores y que la productividad del equipo es del
62% del tiempo laboral diario (8 horas diarias de trabajo). Determine el número de días laborables para concluir
la programación, el número de semanas necesarias para concluir el desarrollo (programación) y cuántos meses
representan esos días tomando en cuenta que hay 22 días laborables en un mes.

Ejercicio2.

Se tiene un sencillo sistema de cajero


automático (ATM). El sistema establece
comunicación con su central mediante
TCP/IP y tiene una interfaz gráfica.

Por lo que se identifican 2 actores, 1 de


categoría media (el sistema) y 1 de categoría
compleja (el cliente).

Del diagrama anexo se advierte que hay 3


casos de uso, 1 de categoría simple (3
operaciones) y 2 de categoría media (4 a 7
transacciones).

El valor percibido para los factores técnicos se muestran en la siguiente tabla.


Factor Descripción VP
T1 Sistema distribuido 1
T2 Rendimiento o tiempo de respuesta 5
T3 Eficiencia del usuario final 5
T4 Complejidad de procesamiento interno 3
T5 El código es reutilizable 0
T6 Fácil de instalar 5

Compilados por Valentín Belisario Domínguez Vera 20


Apuntes de clase de Estándares y Métricas para el Desarrollo de Software Ene – Abr 2024 07/02/24

T7 Fácil de usar 5
T8 Portabilidad a otras plataformas 0
T9 Facilidad de cambio/Mantenimiento del sistema 5
T10 Procesamiento concurrente/paralelo 5
T11 Características de seguridad 5
T12 Acceso a terceras personas/sistemas
Es necesaria la formación/entrenamiento de
T13 0
usuarios

Y el valor percibido para los factores ambientales se muestran en la siguiente tabla


Factor Descripción VP
Familiaridad con el proceso de desarrollo utilizado
E1 5
Familiaridad con UML
E2 Experiencia en la aplicación 5
E3 Experiencia del equipo en AOO/POO 5
E4 Capacidad del analista principal/líder 5
E5 Motivación del equipo 5
E6 Estabilidad de los requisitos/requerimientos 5
E7 Personal a tiempo parcial o medio tiempo 3
E8 Difícil lenguaje de programación 5

Obtenga los UCP y el esfuerzo en horas-hombre que serían necesarias para concluir la programación del
sistema.
Suponga que el equipo de desarrollo está formado por 7 programadores y que la productividad del equipo es del
69% del tiempo laboral diario (8 horas diarias de trabajo). Determine el número de días laborables para concluir
la programación, el número de semanas necesarias para concluir el desarrollo (programación) y cuántos meses
representan esos días tomando en cuenta que hay 22 días laborables en un mes.

Compilados por Valentín Belisario Domínguez Vera 21


Apuntes de clase de Estándares y Métricas para el Desarrollo de Software Ene – Abr 2024 07/02/24

Fuentes:
- Wikipedia contributors. (s/f). Puntos de caso de uso. Wikipedia, The Free Encyclopedia. [Link]
title=Puntos_de_caso_de_uso&oldid=147414791
- Wikipedia contributors. (2023, noviembre 20). Use case points. Wikipedia, The Free Encyclopedia. [Link]
title=Use_case_points&oldid=1185999711
- Valero Orea, Sergio. (2009) Estimación de Proyectos de Software con Puntos de Casos de Uso. [Link]. Recuperado el 7 de
febrero de 2024, de [Link]
- Vázquez, P., Panizzi, M. D., & Bertone, R. A. (2018). Estimación del esfuerzo del proceso de implantación de software basada en el
método de puntos de caso de uso. VI Congreso Nacional de Ingeniería Informática/Sistemas de Información (CONAIISI) (Mar del Plata, 29
y 30 de noviembre de 2018). [Link]
- Cohn, M. (2005, octubre 15). Estimating with use case points. [Link]; Methods & Tools.
[Link]
- Rodríguez, C. Y. B., Rojas, D., & Rodríguez, P. (2017). Técnica híbrida de estimación basada en el análisis de puntos de función y
puntos de casos de uso. 102–109. [Link]

Compilados por Valentín Belisario Domínguez Vera 22

También podría gustarte