← CC3091

Costos

Semestre 02, 2026

Introducción

  • Antes de escribir código, todo proyecto necesita responder cuánto tiempo, cuánto esfuerzo y cuánto dinero costará construirlo.
  • Estimar estos indicadores permite saber si el proyecto es factible y tomar decisiones a tiempo.
  • Veremos primero la teoría y luego un ejemplo completo, desde la definición del proyecto hasta el costo.

Un buen proyecto de software

Pressman

Para llevar a cabo un buen proyecto debemos comprender el ámbito del trabajo, las tareas a ejecutar, la agenda a seguir, el esfuerzo (coste) a emplear y los recursos requeridos.

Planificar: qué se hace y cuándo
Estimar: cuánto esfuerzo, tiempo y costo

Factibilidad

Determinar si el proyecto se puede hacer según sus restricciones.

Organizativa: estructuras, procesos y personas
Económica: costos y beneficios
Técnica: habilidades, experiencia y recursos
Tiempo: fechas de cumplimiento

Variables a estimar

Tamaño: magnitud del software, en miles de líneas de código fuente (MLCF)
Esfuerzo: trabajo de una persona (hombres/mes, hombres/día, hombres/hora)
Tiempo y personas: recursos necesarios para desarrollarlo
Costo: el dinero asociado al software

Métodos de estimación

Basados en tamaño

Método de Putnam y COCOMO (Constructive Cost Model). Parten del tamaño estimado en MLCF.

Basados en funcionalidad

Puntos de Función y Puntos de Casos de Uso. Parten de lo que el sistema debe hacer.

  • Usaremos Puntos de Casos de Uso, que estima el esfuerzo a partir de los Casos de Uso y factores de complejidad y ambiente.

Puntos de Casos de Uso

  • Estima el esfuerzo de desarrollo a partir de los Casos de Uso y de factores técnicos y de ambiente que influyen en el proyecto.
  • La complejidad de actores y casos de uso se mide por la cantidad de transacciones que realizan.
  • Una transacción es una secuencia atómica de actividades: se realiza completa o no se realiza ninguna.

Pasos para la estimación

1Calcular los Puntos de Casos de Uso (PCU)
  • Factor de Peso de los Actores (FPA)
  • Factor de Peso de los Casos de Uso (FPCU)
2Calcular los Puntos de Casos de Uso Ajustados (PCUA)
  • Factor de Complejidad Técnica (FCT)
  • Factor de Ambiente (FA)
3Calcular el Esfuerzo, el Tiempo y el Costo
  • De ahí llegamos al costo del proyecto

Paso 1 · Calcular los PCU

Los PCU sin ajustar suman el peso de los actores y el de los casos de uso.

$$PCU = FPA + FPCU$$
FPA: Factor de Peso de los Actores
FPCU: Factor de Peso de los Casos de Uso

Factor de Peso de los Actores

Se cuenta cuántos actores hay de cada tipo y se multiplica por su peso.

Simple (1): otro sistema vía API o Web Service
Medio (2): otro sistema vía protocolo o texto
Complejo (3): persona usando interfaz gráfica

Factor de Peso de los Casos de Uso

La complejidad de cada caso de uso depende de su número de transacciones.

Tipo de CU Transacciones Peso
Simplemenos de 45
Mediode 4 a 710
Complejomás de 715

Paso 2 · Calcular los PCUA

Ajustamos los PCU con dos factores: complejidad técnica y ambiente.

$$PCUA = PCU \times FCT \times FA$$
FCT: Factor de Complejidad Técnica
FA: Factor de Ambiente

Factor de Complejidad Técnica

  • Cuantifica el peso de un grupo de factores que determinan qué tan complejo es técnicamente el software.
  • A cada factor se le asigna un valor de 0 a 5 según su relevancia en el proyecto.
$$FCT = 0.6 + 0.01 \times \sum (Peso_i \times Valor_i)$$

Factores técnicos y su peso

  • T1 Sistema distribuido — 2
  • T2 Performance / tiempo de respuesta — 1
  • T3 Eficiencia del usuario final — 1
  • T4 Procesamiento interno complejo — 1
  • T5 Código reutilizable — 1
  • T6 Facilidad de instalación — 0.5
  • T7 Facilidad de uso — 0.5
  • T8 Portabilidad — 2
  • T9 Facilidad de cambio — 1
  • T10 Concurrencia — 1
  • T11 Objetivos especiales de seguridad — 1
  • T12 Acceso directo a terceras partes — 1
  • T13 Entrenamiento especial a usuarios — 1

Factor de Ambiente

  • Considera las habilidades, el entrenamiento y la experiencia del grupo de desarrollo.
  • Se estima de forma similar al FCT, pero con su propia fórmula.
$$FA = 1.4 - 0.03 \times \sum (Peso_i \times Valor_i)$$

Factores de ambiente y su peso

  • E1 Familiaridad con el modelo — 1.5
  • E2 Experiencia en la aplicación — 0.5
  • E3 Experiencia en orientación a objetos — 1
  • E4 Capacidad del analista líder — 0.5
  • E5 Motivación — 1
  • E6 Estabilidad de los requerimientos — 2
  • E7 Personal a tiempo compartido — −1
  • E8 Dificultad del lenguaje — −1

Valor 0 = sin experiencia, 3 = media, 5 = experto (para E1–E4). E7 y E8 tienen peso negativo.

Paso 3 · Calcular el Esfuerzo

Convertimos los PCUA a esfuerzo de desarrollo con un factor de conversión.

$$E = PCUA \times FC$$
  • FC es el Factor de Conversión. Según Karner, cada punto requiere 20 horas-hombre.
  • Puede calibrarse entre 15 y 30 H/H según los factores de ambiente.

Calibración del factor de conversión

Suma ≤ 2 → 20 horas-hombre
Suma 3 o 4 → 28 horas-hombre
Suma ≥ 5 → alto riesgo, replantear el proyecto

Se cuentan los factores E1–E6 por debajo de la media y los E7–E8 por encima.

Distribución del esfuerzo

El esfuerzo total se reparte entre las actividades del proyecto.

Análisis — 10%
Diseño — 20%
Implementación — 40%
Pruebas — 15%
Sobrecarga (otras) — 15%

Tiempo de desarrollo

El esfuerzo se convierte en tiempo repartiéndolo entre las personas del equipo.

$$TDES = \frac{E_{total}}{CH}$$
TDES: Tiempo de Desarrollo
CH: Cantidad de Hombres

Conversiones de esfuerzo

Hombres-Mes × 160 → Hombres-Hora
Hombres-Mes × 20 → Hombres-Día
Hombres-Mes ÷ 12 → Hombres-Año

Costo total

  • El costo se obtiene multiplicando el esfuerzo por lo que cuesta cada unidad de trabajo.
  • Podemos calcularlo a partir del esfuerzo en horas-hombre (HH) o en hombres-mes (HM). Ambos caminos dan el mismo resultado.
  • El coeficiente K incorpora los costos indirectos y suele estar entre 1.5 y 2.0.

Costo a partir de horas-hombre

$$C_{total} = E_{HH} \times K \times THP$$
K: coeficiente de costos indirectos (1.5–2.0)
THP: Tarifa Horaria Promedio (salario promedio ÷ 160)

Costo a partir de hombres-mes

$$C_{total} = E_{HM} \times K \times SPM$$
K: coeficiente de costos indirectos (1.5–2.0)
SPM: Salario Promedio Mensual del equipo

Ejemplo · Cobro con tarjeta

El proyecto

La tienda en línea ya existe y funciona. Solo falta agregar el módulo de cobro con tarjeta de crédito: el cliente ingresa su tarjeta, el sistema procesa el pago con una pasarela externa y confirma el resultado.

  • Recorreremos los tres pasos con números reales hasta llegar al costo.

Actores del módulo (FPA)

Actor Tipo Peso
Cliente (interfaz gráfica)Complejo3
Pasarela de pago (API)Simple1
$$FPA = 3 + 1 = 4$$

Casos de uso (FPCU)

Caso de uso Transac. Tipo Peso
Ingresar datos de la tarjeta3Simple5
Procesar el pago5Medio10
Notificar el resultado2Simple5
$$FPCU = 5 + 10 + 5 = 20$$

Puntos de Casos de Uso (PCU)

Sumamos el peso de los actores y el de los casos de uso.

$$PCU = FPA + FPCU = 4 + 20 = 24$$

Factor de Complejidad Técnica

FactorPesoValorP×V FactorPesoValorP×V
T1236T8212
T2144T9133
T3133T10144
T4133T11155
T5122T12155
T60.521T13100
T70.542Σ40
$$FCT = 0.6 + 0.01 \times 40 = 1.00$$

Factor de Ambiente

FactorPesoValorP×V
E1 Familiaridad con el modelo1.534.5
E2 Experiencia en la aplicación0.531.5
E3 Experiencia en OO144
E4 Capacidad del analista líder0.542
E5 Motivación155
E6 Estabilidad de requerimientos248
E7 Personal a tiempo compartido−100
E8 Dificultad del lenguaje−12−2
Σ23
$$FA = 1.4 - 0.03 \times 23 = 0.71$$

Puntos ajustados (PCUA)

Con PCU = 24, FCT = 1.00 y FA = 0.71:

$$PCUA = 24 \times 1.00 \times 0.71 = 17.04$$

Esfuerzo del proyecto

Los factores de ambiente no elevan el riesgo, así que usamos FC = 20 H/H. Ese esfuerzo es la implementación (40%).

$$E_{impl} = 17.04 \times 20 = 340.8 \text{ H/H} \;\Rightarrow\; E_{total} = 852 \text{ H/H}$$
Análisis 10% → 85.2 H/H
Diseño 20% → 170.4 H/H
Implementación 40% → 340.8 H/H
Pruebas 15% → 127.8 H/H
Otras 15% → 127.8 H/H
Total → 852 H/H

Tiempo de desarrollo

El equipo son 2 personas (1 analista y 1 programador).

$$TDES = \frac{852}{2} = 426 \text{ horas}$$

Costo del módulo

1 analista de sistemas: $625.00 mensuales
1 programador B: $437.00 mensuales
$$SPM = \frac{625 + 437}{2} = 531.25 \qquad E_{HM} = \frac{852}{160} = 5.325$$
$$C_{total} = 5.325 \times 2 \times 531.25 \approx \$5658$$

Resumen de la estimación

1PCUA → Esfuerzo
  • Aplicando el factor de conversión
2Esfuerzo → Tiempo
  • Variando la cantidad de personas
3Esfuerzo → Costo
  • Con la tarifa (THP o SPM) y el coeficiente K
4Ajuste
  • El tiempo cambia con las personas; el costo, con K

Conclusiones

  • Estimar tamaño, esfuerzo, tiempo y costo ayuda a garantizar la factibilidad del proyecto.
  • Los Puntos de Casos de Uso permiten llegar al costo partiendo de la funcionalidad especificada.
  • Una buena estimación permite tomar decisiones oportunas y reducir el riesgo de fracaso.