Documente Academic
Documente Profesional
Documente Cultură
INGENIERIA DE SISTEMAS
La Estimación
No necesita realizarse en una forma improvisada.
La experiencia es una gran ayuda.
La estimación implica riesgo inherente, y este conduce
a la incertidumbre.
El riesgo de la estimación se mide por el grado de
incertidumbre en las estimaciones cuantitativas para
recursos, costos y programa de trabajo.
La dificil tarea de estimar
La estimación de software es difícil. Los
jefes, directivos, clientes y desarrolladores no
parecen entender por qué la estimación es
tan difícil.
No se puede estimar con precisión el costo
de un programa hasta que se comprendan
con detalle cada una de las funciones que
realizará el sistema. La incertidumbre sobre
la naturaleza del producto aporta
incertidumbre a la estimación.
Estimación
Un gran error en la estimación puede hacer la
diferencia entre Ganancia o Perdida.
Métricas
Medidas directas del resultado
Orientadas al y del proceso
tamaño
Métricas
Medidas indirectas del
Orientadas a la
software y del proceso
función
Métricas orientadas al tamaño
Páginas de
documentación
Esfuerzo
humano N° de errores
(persona - mes)
LDC
Coste (USD) N° de defectos
Funciones identificadas:
Estimación en LDC de AG3D:
descomposición
-25-
Métricas orientadas a la función
consultas
PF Ficheros de
entradas
interfaz
Estimación
Mas Valor
Optimista Pesimista
Probable Esperado
Entradas
Informaciones que
llegan a la aplicación
desde el exterior.
Tienen una sola
dirección (Exterior à
Interior)
Siempre actualizan
algún fichero interno.
0 ó 1 ficheros
BAJA BAJA MEDIA
accedidos
2 ó 3 ficheros
BAJA MEDIA ALTA
accedidos
4 + ficheros
MEDIA ALTA ALTA
accedidos
Salidas
Informaciones
elaboradas por la
aplicación que son
transmitidas al
usuario.
Tienen una sola
dirección
(Interior a
Exterior)
1 Registro
BAJA BAJA MEDIA
Lógico
2 a 5 Registros
BAJA MEDIA ALTA
Lógicos
6 o más
MEDIA ALTA ALTA
Registros Lógic.
Ficheros de Interfaz
Ficheros a los que
DIAGRAMA DE CONTEXTO
accede la aplicación
con el único objetivo
de obtener
información.
Son mantenidos por
otras aplicaciones
Nunca los actualiza la
aplicación.
1 Entidad o
BAJA BAJA MEDIA
Registro Lógico
2 a 5 Registros
BAJA MEDIA ALTA
Lógico
6 o más
MEDIA ALTA ALTA
Registros
Lógic.
TABLA PARA CALCULAR PUNTOS
DED FUNCION
FACTORES DE COMPLEJIDAD
Son catorce factores que completan la visión externa
de la aplicación.
No están recogidos en la funcionalidad de la
aplicación.
Toman un valor entre 0 y 5
Factores de Ajuste de Complejidad: evaluar cada factor de 0 a 5
0- Sin influencia 3- Medio
1- Incidental 4- Significativo
2- Moderado 5- Esencial
Valores de
En función de un cuestionario
de 14 preguntas
ajuste de
complejidad
Factor de ponderación
Parámetro de medición Cuenta Simple Media Compl.ejo
Número de archivos 1 X 7 10 15 = 7
Cuenta total 50
anteriores
proyectos
-42-
UTILIDADES DE LOS PUNTOS DE
FUNCIÓN.
Comparar lo que solicitó el cliente con lo que recibió.
Desventajas
1. El experto puede confiarse y olvidar algunos factores
importantes del Nuevo proyecto, creyendo que es casi igual
al anterior.
2. El experto puede no tener familiaridad con el área del
proyecto.
TECNICAS DE ESTIMACION DE
COSTOS
TECNICA DELFI
Ejemplo:
Si en un proyecto anterior de 38 semanas-programador
requirió 4 programadores, puede ser razonable que el
nuevo proyecto requiera de 5.
TECNICA ITERATIVA
3.- Determine el factor de eficiencia de los
programadores ( productividad ).
Aunque los desarrolladores sean de tiempo completo, no
dedicarán el 100% de la jornada en trabajo productivo.
Investigaciones de cómo usan su tiempo los programadores
indican QUE:
Ejemplo:
Esfuerzo por iteración = 5 * 3 * 0.5 = 7.5 semanas-
programador
TECNICA ITERATIVA
6.- Calcular el número de iteraciones.
Ejemplo:
No. Iteraciones = ( 50 / 7.5 ) + 1 = 7.6 aprox. 8 iteraciones
7.- Calcular el tiempo de desarrollo.
Teniendo la longitud y el número de iteraciones es fácil
determinar el tiempo de desarrollo
Ejemplo:
Tdev = 3 * 8 = 24 semanas = 6 meses.
8.- Considerar un factor de contingencia.
Agregue un factor del 10% al 20% del tiempo de construcción,
dependiendo de lo arriesgada que parezca la situación.
Ejemplo:
Considerando el factor 40-20-40, es decir, el 40% de
esfuerzo es Analisis-Diseño, 20% Codificación y 40%
Pruebas, calculamos que el tiempo posible de construcción
( codificación ) es el 20% de las 24 semanas totales.
Fundamentos
La realidad de un proyecto técnico, tal como uno de
software, es que hay que realizar cientos de tareas
pequeñas en un orden determinado antes de poder
alcanzar la meta final. Las tareas están
interrelacionadas en una secuencia lógica en el sentido
de que algunas de ellas no pueden empezar hasta que
otras se hayan terminado.
Calendario
Dividir el proyecto en actividades o tareas
Estimar el tiempo necesario para realizarlas (algunas
se harán en paralelo)
Los administradores
Coordinan las actividades
Organizan el trabajo para optimizar la mano de obra
Asignan y planifican recursos (personal, hardware,
software, presupuesto para viajes,...)
Duración aconsejable de una actividad: entre 1 y 8
semanas
-76-
Calendario (cont.)
Importante tener en cuenta posibles problemas
(personal, hardware, software,...) que provocan
retrasos.
Problemas previstos: incrementar un 30% la
estimación inicial.
Problemas no previstos: incrementar un 20%.
Utilización de diagramas de Gantt y redes de
actividades
-77-
Herramientas Automáticas de
Calendarización
CONSEJOS SOBRE ESTIMACIONES
1. Evite estimaciones improvisadas ( ojo de buen cubero ).
2. Use datos de proyectos anteriores ( método histórico ).
3. Las estimaciones las debe hacer el desarrollador, no el directivo.
4. Estime por concenso ( técnica delfi ).
5. Evite estimar el proyecto como un todo.
6. Estime por descomposición, es decir, estime cada función o requisito del
software individualmente. Luego la suma de ellos será la estimación del
proyecto total.
7. Utilice diferentes técnicas de estimación, compare los resultados y resuelva
las diferencias.
8. Si es posible use una herramienta automática de estimación. Con esto tendrá
otro punto de comparación.
9. Refine sus estimaciones a medida que conozca más detalles del proyecto.
10. Emita una estimación preliminar después de revisar la Definición del
Sistema. Refinela durante el Análisis y de una estimación definitiva después de
revisar el Diseño. Si esto no es posible, trate de emitir su estimación definitiva
al terminar el Análisis. Si aún esto no es posible, deberá formularla solo con la
Definición del Sistema pero considere un factor de seguridad adecuado.
11. Presente sus estimaciones usando rangos o casos ( mejor, más probable, peor
).
12. Defienda sus estimaciones.