Está en la página 1de 39

INGENIERA DE SOFTWARE

Mtodos de Estimacin No podemos controlar lo que no somos capaces de medir

AGENDA
Trminos Mtodos de Estimacin
Basados en Dificultad y Complejidad Basados en LDC Nuevos Mtodos

TRMINOS
Complejidad
Tcnico Temporales Capital

Relacin de un problema con el consumo de recursos del tipo:

Dificultad

Relacin de un problema con el grado de experticia del analista del mismo.

TRMINOS
Mtricas
Cualquier conjunto de tcnicas que, orientadas al software, nos permita:
Determinar el Esfuerzo Determinar el Tiempo Determinar el Tamao del Sistema.

Basadas en Complejidad Basadas en LDC

Analizan la definicin de los procesos del problema y los evalan por medio de escalas. Estiman las Lneas de Cdigo de un sistema y determinan el coste de construirlo.

POR QU MEDIR?
El software es una inversin Se debe tener conciencia de cuales son sus caractersticas al igual que cualquier bien que adquiera la organizacin Se debe saber como estimar para responder preguntas del tipo: Cuanto y cuando, ya que el Cmo y el qu es ms fcil de dominar

PROBLEMAS
Las empresas cuentan con una vaga idea de que hace el software adquirido. Es difcil determinar la productividad de los programadores. Los retrasos y los presupuestos inflados siguen siendo pan de cada da.

QU SE HACE EN ESTOS CASOS?


La empresa siempre considerar el costo de desarrollar versus el costo de comprar algo hecho. Por lo tanto, debemos ser capaces de determinar las siguientes variables:
El tamao de lo que se requiere La productividad de quien lo hace.

EL TAMAO DEL SOFTWARE


A considerar:
El software es un conjunto de lneas de cdigo. Tiene un tamao en el disco duro.

Problema:

Sobre el 20% o 25% del costo total del software no viene precisamente de codificar. Qu otra cosa demanda valor?

PROBLEMA
Se requiere de un sw de cierta funcionalidad, se tienen dos empresas para construirlo. La empres A utiliza un lenguaje que requiere de 8 mil lneas de cdigo. La empresa B uno que requiere 5 mil lneas de cdigo Los programadores de A producen casi el doble de lneas de cdigo por da que B. La lnea de cdigo de A vale menos que la de B. Con qu empresa me quedo?

RESPUESTA
No lo s Es por que no debemos basarnos a ciegas en esos datos, sino que:
Los requerimientos del usuario. No en la tecnologa Si en la funcionalidad

ALGUNAS MTRICAS
Puntos por Funcin COCOMO II Puntos por Caso de Uso

MTRICA BASADA EN COMPLEJIDAD

PUNTOS POR FUNCIN


Puntos por funcin es una mtrica funcional, es decir, se enfoca en las funcionalidad que el sw entrega al usuario Determina el tamao del sw evaluando lo que este hace o debera hacer

MTRICA BASADA EN COMPLEJIDAD

PUNTOS POR FUNCIN. DEFINICIN


Es una mtrica para establecer el tamao y la complejidad de los sistemas informticos, basada en la cantidad de funcionalidad requerida y entregada a los usuarios. Los puntos funcin miden el tamao lgico o funcional de los proyectos o aplicaciones de sw basados en los requerimientos funcionales del usuario Carol Dekker, ISO Bulletin May 2003.

MTRICA BASADA EN COMPLEJIDAD

PUNTOS POR FUNCIN. CARACTERSTICAS


Independiente de la tecnologa Simple Enfoque en la funcionalidad proporicionada Basada en los requerimientos del usuario consistente

MTRICA BASADA EN COMPLEJIDAD

PUNTOS POR FUNCIN. CONCEPTOS


Tamao
Mide el tamao no la calidad o el valor, o el esfuerzo o el costo. Mide las aplicaciones de sw, no considera el hw, ni la administracin ni la documentacin.

Aplicaciones

Funcionalidad Usuario

Se refiere a la capacidad del sw para hacer transacciones.


Quien lo usa, no quien lo desarrolla o lo disea

MTRICA BASADA EN COMPLEJIDAD

PUNTOS POR FUNCIN. APLICACIN


Contar las funciones de Datos Determinar los puntos de funcin no ajustados Determinar el tipo de Cuenta Identificar el alcance de la medicin y los lmites de la aplicacin

Contar las funciones Transacciona les

Determinar los puntos de funcin ajustados

Determinar el valor del factor de ajuste

COMO DETERMINAR LOS PUNTOS POR FUNCIN

DETERMINAR EL TIPO DE CUENTA


Se debe definir que tipo de sistema pretendemos evaluar, se nos entregan tres alternativas:
Proyecto en desarrollo. Mantenimiento de un software Aplicacin ya instalada. Esto sirve para determinar cual es nuestro norte al medir.

DETERMINAR EL LMITE
Se debe determinar que se va a evaluar, automticamente todo lo dems incluyendo elementos que pertenecen al sistema ya implementado se les considera externos.

CONTAR LAS FUNCIONES DE DATOS (I)


Archivos lgicos Internos (ILF)
Datos relacionados lgicamente e identificables por el usuario Residen enteramente dentro de los lmites del sistema Se mantienen a travs de las entradas externas Cul sera nuestro ILF?

CONTAR LAS FUNCIONES DE DATOS (II)


Archivos de Interfaz Externos (EIF)
Grupo de datos relacionados lgicamente e identificables por el usuario Solo se utilizan para fines de referencia Residen completamente fuera del sistema Se mantienen por medio de otras aplicaciones Por ejemplo: Bases de datos externas. Cul podra ser un EIF en nuestro ejemplo?

CONTAR LAS FUNCIONES TRANSACCIONALES (I)


Entradas Externas (EI)
Proceso elemental Los datos lo utilizan para cruzar la frontera desde afuera hacia adentro. Actualizan los ILF Cul sera una EI en nuestro ejemplo?

CONTAR LAS FUNCIONES TRANSACCIONALES (II)


Salidas Externas (EO)
Proceso elemental Posee componentes de entrada y salida (datos simples y derivados calculados a partir de otros datos) Son enviados desde adentro hacia afuera. Adicionalmente pueden actualizar los ILF Ejemplo: informes con datos calculados. Cul sera nuestro EO?

CONTAR LAS FUNCIONES TRANSACCIONALES (III)


Consultas Externas (EQ)
Proceso elemental Tienen componentes de entrada y salida donde un actor rescata datos de uno o mas ILF o EIF Los datos de entrada no actualizan ningn archivo Los datos de salida no contienen datos derivados Ejemplos: Listados y bsquedas. Cul sera nuestro EQ?

DETERMINAR LOS PUNTOS DE FUNCIN SIN AJUSTAR (I)


Clasificacin de las Entradas Externas

Archivos referenciados: nmero de ILF Elementos de datos: cantidad de datos que representan la cantidad de elementos que componen la EI

DETERMINAR LOS PUNTOS DE FUNCIN SIN AJUSTAR (II)


Clasificacin de las salidas externas y consultas externas

Archivos referenciados: nmero de ILF y/o EIF Elementos de datos: cantidad de datos que representan la cantidad de elementos que componen la EI y las EO y EQ

DETERMINAR LOS PUNTOS DE FUNCIN SIN AJUSTAR (III)


Determinar el costo de cada transaccin:

DETERMINAR LOS PUNTOS DE FUNCIN SIN AJUSTAR (IV)


Clasificar los ILF y los EIF
Para ILF/EIF

1 a 19 DET

20 a 50 DET

51 o ms DET

1 RET 2 a 5 RET 6 6 o ms RET

Baja Baja Media

Baja Media Alta

Media Alta Alta

RET : subgrupos de datos (tablas) DET: elementos de datos, campos nicos que componen el archivo

DETERMINAR LOS PUNTOS DE FUNCIN SIN AJUSTAR (V)


Asignar valores numricos de los EIF e ILF

DETERMINAR LOS PUNTOS DE FUNCIN SIN AJUSTAR (VI)


Calcular los PF no ajustados. Cunto es nuestro UFP?

DETERMINAR EL VALOR DE AJUSTE PARA LOS PUNTOS POR FUNCIN (I)


El valor asignado a cada criterio corresponde a la siguiente tabla:
0. no presenta o sin influencia 1. influencia incidental 2. influencia moderada 3. influencia media 4. influencia significativa 5. Fuerte influencia

DETERMINAR EL VALOR DE AJUSTE PARA LOS PUNTOS POR FUNCIN (II)


Caractersticas: Comunicacin de Cuntas facilidades de comunicacin hay disponibles para ayudar en el intercambio de informacin con la datos aplicacin o el sistema?
Procesamiento distribuido de datos
Cmo se manejan los datos y las funciones de procesamiento distribuido Existen requerimientos de velocidad o tiempo de respuesta? Cmo de intensivas se utilizan las plataformas hardware donde se ejecuta el sistema

Rendimiento
Configuraciones fuertemente utilizadas

DETERMINAR EL VALOR DE AJUSTE PARA LOS PUNTOS POR FUNCIN (III)


Caractersticas:
Frecuencia de transacciones
Con qu frecuencia se ejecutan las transacciones? Diariamente, semanalmente, Qu porcentaje de la informacin se ingresa on-line

Entrada de datos online Aplicacin diseada para maximizar la Eficiencia del usuario eficiencia del usuario final final Actualizaciones Online Cuntos Archivos Lgicos Internos se

DETERMINAR EL VALOR DE AJUSTE PARA LOS PUNTOS POR FUNCIN (IV)


Caractersticas:
Procesamiento complejo Reusabilidad Facilidad de instalacin Facilidad de operacin
Hay procesamientos lgicos o matemticos intensivos en la aplicacin La aplicacin se desarrolla para suplir una o muchas de las necesidades de los usuarios? Qu tan difcil es la instalacin y la conversin al nuevo sistema? Cmo de efectivos y/o automatizados deben ser los procedimientos de arranque, parada, backup y restore

DETERMINAR EL VALOR DE AJUSTE PARA LOS PUNTOS POR FUNCIN (V)


Caractersticas: Instalacin en La aplicacin fue concebida para su distintos lugares instalacin en mltiples sitios y organizaciones? Facilidad de La aplicacin fue concebida para cambio facilitar los cambios sobre la misma?

DETERMINAR EL VALOR DE AJUSTE PARA LOS PUNTOS POR FUNCIN (VI)


Se suman todos los valores y se obtiene el grado total de influencia (TDI) Ajuste de los PF:
AF = (TDI x 0.01) + 0.65 FP = UFP x AF

FINALIZAR LA MEDIDA DE PUNTOS POR FUNCIN


Se debe revisar los datos histricos en proyectos similares para establecer el esfuerzo y el tiempo. El grupo de usuarios que utilizan Puntos por funcin establecen una tabla de gua con estimaciones, en base a la investigacin de mltiples proyectos.

TABLA DE ALCANCES

TAREAS
Aplique Puntos por funcin Revise Pressman para determinar a cuanto equivale un PF en LDC por lenguaje. Visite el sitio de: