Estimación de Software: Método UCP
Estimación de Software: Método UCP
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.
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.
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)
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
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)
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 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
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
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
De E7 a E8 Factor > 3
Factor del esfuerzo horas-hombre.
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
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
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 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
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
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
5. Cálculo de UCP
UCP = (UUCW + UAW) * TCF * ECF
= ( 210 + 12 ) * 0.795 * 0.62 = 109.42 UCP
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.
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
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
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
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
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
5. Cálculo de UCP
UCP = (UUCW + UAW) * TCF * ECF
= ( 100 + 13 ) * 1.02 * 1.085 = 125.06 UCP
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.
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
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
usuarios
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
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
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
5. Cálculo de UCP
UCP = (UUCW + UAW) * TCF * ECF
= ( 560 + 40 ) * 0.98 * 0.875 = 514.5 UCP
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.
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
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
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
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.
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
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.
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]