Documentos de Académico
Documentos de Profesional
Documentos de Cultura
MACHALA
TEMA: ESTIMACIÓN DE
PROYECTOS DE SOFTWARE
Ing. Joffre Cartuche Calva
AGENDA
1. Introducción
2. La Planificación
3. El Proceso de Estimación
4. Modelos de Estimación
5. La Realidad del Desarrollo de Software
en el Ecuador
6. Conclusiones y recomendaciones
1. INTRODUCCION
CASO PRACTICO
• EL disk Jockey
ESPECIFICACIÓN DE
REQUISITOS
• R1: El sistema permitirá la administración (Ingreso, Modificación,
eliminación) de CD.
• R2: Un CD contiene la siguiente Información:
– Título del CD.
– Grupo Musical
– Productor
– Fecha de Producción
– Título de la Canción
– Nombre del Cantante
– Autor de la Canción
– Tiempo de duración
• R3: El sistema permitirá consultar los datos del CD por su Título.
• R4: El sistema generará un reporte del total de CD por grupo musical.
• R5: Se generará un reporte sobre el tiempo de reverberación tomando
como coeficiente de absorción el promedio de los materiales del local y
asumiendo un volumen cúbico.
MODELO DE CASOS DE USO
Primera Iteración
DEFINICION DE CASOS DE USO
DE ALTO NIVEL
CASO DE USO 1
Caso de Uso AGREGAR CD
Actor Disk Jockey
Tipo Primario y esencial
Propósito Registrar un CD en el Sistema.
Visión General: Permite que el Disk Jockey efectúe el alta de un CD en el sistema.
Referencias: Req 1, 2
Referencias: Req 3
Referencias: Req 1, 2
Visión General: Permite mostrar un reporte con el total de CD producidos por un grupo musical
Referencias: Req 3
• Cuánto cuesta?
EL TAMAÑO IMPORTA?
PUNTOS DE FUNCIÓN
• Esta técnica de medición y estimación trata de evaluar
una aplicación informática en base a sus
características externas.
• Estas características se descomponen en dos
grupos: la funcionalidad que provee el sistema y los
factores de complejidad.
• La funcionalidad que provee el sistema son aquellos
elementos que dan soporte a formularios de entrada,
salidas, consultas y ficheros a los que debe dar
soporte la aplicación.
• Los factores de complejidad son indicadores del
entorno en que se ha de desarrollar y explotar la
aplicación informática.
PUNTOS DE FUNCIÓN
• Este método de estimación contempla la
aplicación a desarrollar como una caja negra, es
decir, no se interesa por las interioridades de la
aplicación, sino que se centra en lo que puede
ver el usuario.
• El ejemplo clásico de una caja negra es el
equipo de música, en el que los usuarios están
interesados por su funcionamiento externo, la
calidad del sonido y el coste, prescindiendo
usualmente de como estén construidos los
circuitos integrados o sus transistores.
IDENTIFICACIÓN DE LOS
ELEMENTOS DE FUNCIÓN
FUNCIONES DE DATOS:
• Archivo Lógico Interno ILF – es un grupo de datos
relacionados que el usuario identifica, cuyo propósito
principal es almacenar datos mantenidos a través de
alguna transacción que se está considerando en el
conteo.
• Archivo de Interfaz Externo EIF - es un grupo de
datos relacionados y referenciados pero no mantenido
por alguna transacción dentro del conteo.
• A cada componente identificado se le asigna una
complejidad (bajo, medio o alto) considerando
principalmente el número de datos.
IDENTIFICACIÓN DE LOS
ELEMENTOS DE FUNCIÓN
FUNCIONES TRANSACCIONALES:
Este paso consiste en identificar y contar la capacidad de
realizar operaciones Se distinguen tres tipos de funciones
transaccionales:
• Entrada Externa EI – es un proceso cuyo propósito
principal es mantener uno más archivos lógicos internos.
• Salida Externa EO – es un proceso cuyo propósito
principal es presentar información al usuario mediante
un proceso lógico diferente al de sólo recuperar los
datos.
• Consulta Externa EQ – es un proceso cuyo propósito
principal es presentar información al usuario leída de
uno o más grupos de datos.
CONTEO DE PUNTOS DE FUNCIÓN ARCHIVOS
LÓGICOS INTERNOS (ILF)
CD 8 2 Baja
CONTEO DE PUNTOS DE FUNCION
ENTRADAS EXTERNAS (EI)
TOTAL EI
Archivos Elementos de Datos
referenciados
1-4 5-15 >15
0-1 Baja Baja Media
2 Baja Media Alta
3 ó más Media Alta Alta
AGREGAR CD 9 1 Baja
MODIFICAR CD 9 1 Baja
ELIMINAR CD 9 1 Baja
CONTEO DE PUNTOS DE FUNCION
SALIDAS EXTERNAS (EO)
TOTAL EO
Archivos referenciados Elementos de Datos
1-5 6-19 >19
0-1 Baja Baja Media
2-3 Baja Media Alta
>3 Media Alta Alta
TOTAL UPF 26
FACTOR AJUSTE
• El cálculo del factor de ajuste está basado
en 14 características generales de los
sistemas que miden la funcionalidad
general de la aplicación. A cada
característica se le atribuye un peso que
varía de 0 a 5 e indica el grado o nivel de
influencia que cada característica tiene en
la aplicación que está siendo estudiada.
CARACTERÍSTICAS GENERALES DE LOS
SISTEMAS
• Comunicación de datos
• Procesamiento distribuido
• Perfomance (desempeño)
• Configuración del equipamiento
• Volumen de transacciones
• Entrada de datos on-line
• Interfase con el usuario
• Actualización on-line
• Procesamiento complejo
• Reusabilidad
• Facilidad de implementación
• Facilidad de operación
• Múltiples locales
• Facilidad de cambios
NIVELES DE INFLUENCIA
• Cada característica debe ser especificada
en términos de su influencia, utilizándose
una escala de 0 a 5
COMUNICACIÓN DE DATOS
• Los datos e informaciones de control utilizados por la aplicación son
enviados o recibidos a través de recursos de comunicación de
datos. Terminales y estaciones de trabajo son algunos ejemplos.
Todos los dispositivos de comunicación utilizan algún tipo de
protocolo de comunicación.
• Calificar el nivel de influencia en la aplicación de acuerdo con la
siguiente tabla:
PROCESAMIENTO DISTRIBUIDO
• Datos o procesamiento distribuidos entre varias unidades de
procesamiento (CPUs) son características generales que pueden
influenciar en la complejidad de la aplicación.
PERFOMANCE
• Los objetivos de la perfomance del sistema, establecidos y
aprobados por el usuario en términos de respuesta, influye o podría
influenciar el proyecto, desarrollo, implementación o soporte de la
aplicación.
CONFIGURACIÓN DEL
EQUIPAMIENTO
• Esta característica representa la necesidad de realizar
consideraciones especiales en el diseño de los
sistemas para que la configuración del equipamiento
no sea sobrecargada
VOLUMEN DE
TRANSACCIONES
• El nivel de transacciones es alto y tiene influencia en
el diseño, desarrollo, implementación y mantenimiento
de la aplicación
ENTRADA DE DATOS ON-LINE
• Esta característica cuantifica la entrada de datos on-
line proveída por la aplicación
INTERFASE CON EL USUARIO
• Las funciones on-line del sistema hacen énfasis en la amigabilidad del
sistema y su facilidad de uso, buscando aumentar la eficiencia del usuario
final. El sistema posee:
• Ayuda para la navegación (teclas de función, accesos directos y menús
dinámicos)
• Menús
• Documentación y ayuda on-line
• Movimiento automático del cursor
• Scrolling vertical y horizontal
• Impresión remota (a través de transacciones on-line)
• Teclas de función preestablecidas
• Ejecución de procesos batch a partir de transacciones on-line
• Selección de datos vía movimiento del cursor en la pantalla
• Utilización intensa de campos en video reverso, intensificados
• Soporte bilingüe (el soporte de dos idiomas, cuente como cuatro items)
• Menús pop-up
• Soporte multilingüe (el soporte de más de dos idiomas, cuente como seis
items)
INTERFASE CON EL USUARIO
ACTUALIZACIÓN ON-LINE
• La aplicación posibilita la actualización on-line de los
archivos lógicos internos
PROCESAMIENTO COMPLEJO
• El procesamiento complejo es una de las características de la
aplicación, los siguientes componentes están presentes:
• Procesamiento especial de auditoria y/o procesamiento especial de
seguridad
• Procesamiento matemático extensivo
• Gran cantidad de procesamiento de excepciones, resultando en
transacciones incompletas que deber ser procesadas nuevamente.
Por ejemplo, transacciones de datos incompletas interrumpidas por
problemas de comunicación o con datos incompletos
• Procesamiento complejo para manipular múltiples posibilidades de
entrada/salida. Ejemplo: multimedia
PROCESAMIENTO COMPLEJO
REUSABILIDAD
• La aplicación y su código serán o fueron
proyectados, desarrollados y mantenidos
para ser utilizados en otras aplicaciones.
FACILIDAD DE
IMPLEMENTACIÓN
• La facilidad de implementación y conversión de datos son
características de la aplicación. Un plan de conversión e
implementación y/o herramientas de conversión fueron proveídas y
probadas durante la fase de prueba de la aplicación
FACILIDAD DE OPERACIÓN
• La facilidad de operación es una característica del sistema.
Procedimientos de inicialización, respaldo y recuperación fueron
proveídos y probados durante la fase de prueba del sistema. La
aplicación minimiza la necesidad de actividades manuales, tales
como montaje de cintas magnéticas, manoseo de papel e
intervención del operador
MÚLTIPLES LOCALES
• La aplicación fue específicamente proyectada,
diseñada e mantenida para ser instalada en múltiples
locales de una organización o para múltiples
organizaciones
FACILIDAD DE CAMBIOS
• La aplicación fue específicamente proyectada y diseñada con vistas
a facilitar su mantenimiento. Las siguientes características pueden
ser atribuidas a la aplicación:
• Están disponibles facilidades como consultas e informes flexibles
para atender necesidades simples (contar 1 ítem)
• Están disponibles facilidades como consultas e informes flexibles
para atender necesidades de complejidad media (contar 2 items)
• Están disponibles facilidades como consultas e informes flexibles
para atender necesidades complejas (contar 3 items)
• Datos de control son almacenados en tablas que son mantenidas
por el usuario a través de procesos on-line, pero los cambios se
hacen efectivos solamente al día siguiente
• Datos de control son almacenados en tablas que son mantenidas
por el usuario a través de procesos on-line, pero los cambios se
hacen efectivos inmediatamente (contar 2 items)
FACILIDAD DE CAMBIOS
NIVEL DE INFLUENCIA
• Una vez que tipificamos los niveles de influencia para las 14
características, obtendremos una tabla como la siguiente:
FACTOR AJUSTE
• El factor de ajuste se calcula mediante la
fórmula:
• Factor de ajuste = (Nivel de influencia * 0,01)
+ 0,65
• Utilizando la fórmula en el ejemplo:
• Factor de ajuste = (17 * 0,01) + 0,65 = 0,82
• El factor de ajuste se utiliza luego para calcular
los Puntos de Función ajustados de la
aplicación. Este es el tema de la siguiente
sección
PF AJUSTADOS
• Una vez determinado el factor de ajuste, podremos calcular los puntos de
función mediante la aplicación de la fórmula:
• Puntos de función = Puntos de función brutos * Factor de Ajuste
• Cabe señalar que esta fórmula se utiliza para los proyectos en desarrollo y
aplicaciones terminadas. Más adelante, estudiaremos una formula diferente
para el calculo de los puntos de función de un proyecto de mantenimiento
de un aplicación
• Así, por ejemplo, si realizamos el proceso para un proyecto de desarrollo y
tenemos que:
• Puntos de Función Brutos = 26
• Factor de Ajuste = 0,82
• aplicando la fórmula:
• Puntos de función = Puntos de función brutos * Factor de Ajuste
• Puntos de función = 26 * 0,82
• Puntos de función = 21,32
• Por lo tanto, el tamaño de la aplicación o proyecto de desarrollo es de
21,32 PF
PROCESO DE ESTIMACIÓN
CON PF
PROCESO DE ESTIMACIÓN
CON PF
• Calculo del Esfuerzo
• La productividad de un equipo de desarrollo está dada
por:
Productividad del equipo =
Tamaño de la aplicación / Esfuerzo total
• Despejando de allí el esfuerzo total tenemos:
Esfuerzo total = Tamaño de la aplicación *
Productividad del equipo
PROCESO DE ESTIMACIÓN
CON PF
21,32
21,32 / 0,125
= 170,56 hora/persona
PROCESO DE ESTIMACIÓN
CON PF
2 Meses
PMestimado es el esfuerzo Nominal ajustado por 7 factores, que reflejan otros aspectos
propios del proyecto que afectan al esfuerzo necesario para la ejecución del mismo.
KSLOC es el tamaño del software a desarrollar expresado en miles de líneas de código
fuente.
A es una constante que captura los efectos lineales sobre el esfuerzo de acuerdo a la
variación del tamaño, (A=2.94).
B es el factor exponencial de escala, toma en cuenta las características relacionadas con
la productividad producida cuando un proyecto de software incrementa su tamaño.
EMi corresponde a los factores de costo que tienen un efecto multiplicativo sobre el
esfuerzo, llamados Multiplicadores de Esfuerzo (Effort Multipliers).
AJUSTE DE FACTORES DE
ESCALA (B)
• El cálculo del Factor Exponencial de Escala B está
basado en factores que influyen exponencialmente en
la productividad y esfuerzo de un proyecto de
software.
• Estos factores toman valores dentro de un rango que
va desde un nivel Muy Bajo hasta uno Extra Alto.
• Cada nivel tiene un peso asociado Wj, y ese valor
específico es el que se denomina factor de escala.
• En la Figura se observan los pesos de cada factor
según el nivel, considerados por el software
COCOMO II.
AJUSTE DE FACTORES DE
ESCALA (B)
CALCULO DE ESFUERZO
NOMINAL