Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/metricas.pdf · por punto...

54
4.2 METRICAS DE PROCESO Y PROYECTO MODULO III Ingeniería de Software INF - 163 Resumen preparado por Miguel Cotaña 1 03/12/2012

Transcript of Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/metricas.pdf · por punto...

Page 1: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/metricas.pdf · por punto de función. ... Se han definido todas las condiciones y procesamientos para cada

4.2 METRICAS DE PROCESO Y PROYECTO

MODULO III

Ingeniería de Software INF - 163

Resumen preparado por Miguel Cotaña 1

03/12/2012

Page 2: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/metricas.pdf · por punto de función. ... Se han definido todas las condiciones y procesamientos para cada

La medición permite obtener una visión

del proceso y el proyecto pues

proporciona un mecanismo para lograr

una evaluación objetiva.

La medición se aplica al proceso de

software con la finalidad de mejorarlo de

manera continua. La medición se utiliza

a lo largo de un proyecto de software

como apoyo en la estimación, el control

de calidad, la valoración de la

productividad y el control del proyecto. 2

Page 3: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/metricas.pdf · por punto de función. ... Se han definido todas las condiciones y procesamientos para cada

3

Medición es una operación de asignar un valor a algo que es una medida.

Métrica es una interpretación de la medida. Grado en que un sistema, componente posee un atributo dado

Indicador provee una visión en cuanto al logro de objetivos.

Page 4: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/metricas.pdf · por punto de función. ... Se han definido todas las condiciones y procesamientos para cada

4

“Cuando se puede medir y cuantificar aquello sobre lo que

uno habla y expresarlo en números, se sabe algo acerca de

eso; cuando no puede ser expresado en números el conocimiento es escaso e

insatisfactorio...”

Lord Kelvin

Page 5: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/metricas.pdf · por punto de función. ... Se han definido todas las condiciones y procesamientos para cada

5

Clasificación 1: Métricas de producto. Métricas de proceso. Clasificación 2:

Métricas basadas en atributos internos del producto:

–Medidas de estructuración de un programa. –Métricas de complejidad. –Métricas de cobertura de pruebas. –Métricas de calidad del diseño.

Métricas basadas en atributos externos del producto:

–Métricas de portabilidad. –Métricas de defectos. –Métricas de usabilidad. –Métricas de mantenibilidad. –Métricas de fiabilidad.

Clasificación

Page 6: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/metricas.pdf · por punto de función. ... Se han definido todas las condiciones y procesamientos para cada

6

Métricas basadas en código fuente: Nº de líneas de código. Nº de líneas de comentario. Nº de instrucciones. Densidad de documentación. Métricas basadas en estructura de diseño: Relacionadas con el control intramodular. Relacionadas con el acoplamiento entre clases.

Métricas para sistemas orientados a objetos: Acoplamiento. Herencia. Cohesión.

Page 7: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/metricas.pdf · por punto de función. ... Se han definido todas las condiciones y procesamientos para cada

Se aplica las métricas para valorar la calidad de los productos.

Proporcionan una manera sistemática de valorar la calidad basándose en un conjunto de reglas. Se aplican a todo el ciclo de vida permitiendo descubrir y corregir problemas potenciales.

7

Page 8: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/metricas.pdf · por punto de función. ... Se han definido todas las condiciones y procesamientos para cada

Los requisitos del Software son la base de las medidas de calidad. La falta de concordancia con los requisitos es una falta de calidad.

Los productos de los requerimientos, pueden ser evaluados por el número de requerimientos. De manera similar, se puede medir la cantidad de cambios introducidos a los requerimientos.

8

Medición de los requisitos

Page 9: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/metricas.pdf · por punto de función. ... Se han definido todas las condiciones y procesamientos para cada

Se debe asegurar la calidad de los diagramas de clases en las etapas iniciales del ciclo de vida para lograr sistema de mejor calidad.

Podemos Centrarnos en una de las características de la calidad más críticas, la mantenibilidad (ISO 9126)(atributo externo). Para evaluar la complejidad estructural (atributo interno) utilizamos métricas.

9

Medidas para diagramas de clases

Page 10: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/metricas.pdf · por punto de función. ... Se han definido todas las condiciones y procesamientos para cada

la mantenibilidad se ve influenciada por tres subcaracterísticas:

Comprensibilidad: Facilidad con la que el diagrama de clases puede ser entendido.

Analizabilidad: Facilidad que ofrece el diagrama de clases para descubrir sus deficiencias o errores.

Modificabilidad o Cambiabilidad: Facilidad que ofrece el diagrama de clases para realizar una modificación especificada, ya sea por un error, por un concepto no tenido en

cuenta o por un cambio en los requisitos. 10

Page 11: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/metricas.pdf · por punto de función. ... Se han definido todas las condiciones y procesamientos para cada

11

Medidas de GENERO ET AL. (2000)

METRICA DEFINICION

NC Número total de clases.

NA Número total de atributos.

NM Número total de métodos.

NAssoc Número total de relaciones de asociación.

NAgg Número total de relaciones de agregación (cada par parte-todo en una relación de agregación)

NDep El número total de relaciones de dependencia.

NGen Número total de relaciones de generalización (cada par padre-hijo en una relación de generalización)

NAggH Número total de jerarquías de agregación

NGenH Número total de jerarquías de generalización.

MaxDIT Es el camino más largo desde la clase hasta la raíz de la jerarquía.

MaxHAgg Es el camino más largo desde la clase hasta las hojas.

Page 12: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/metricas.pdf · por punto de función. ... Se han definido todas las condiciones y procesamientos para cada

En los diagramas de CU, sólo se muestran el nombre de los casos de uso, los actores y algunas relaciones.

Marchesi (1998), Saeki (2003) proponen:

NCU (número de CU)

NA (número de actores)

NI, NE (número de relaciones de inclusión y extensión)

12

Medidas para diagramas de casos de uso

Page 13: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/metricas.pdf · por punto de función. ... Se han definido todas las condiciones y procesamientos para cada

Los factores que afectan la calidad se pueden categorizar en:

Factores que se pueden medir directamente, como por ejemplo los defectos por punto de función.

Factores que se pueden medir sólo indirectamente, como por ejemplo la facilidad de uso o mantenimiento.

En todos los casos debe aparecer la medición. Debe ser posible comparar el software (documentos, programas, datos) con una referencia y llegar a una conclusión sobre la calidad.

13

Factores de calidad de McCall

Page 14: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/metricas.pdf · por punto de función. ... Se han definido todas las condiciones y procesamientos para cada

14

Revisión del

Producto

Transición del

producto

Operación

del producto

Corrección Fiabilidad Usabilidad Integridad Eficiencia

Facilidad de mantenimiento

Flexibilidad

Facilidad de prueba

Portabilidad

Reusabilidad

Interoperatividad

Page 15: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/metricas.pdf · por punto de función. ... Se han definido todas las condiciones y procesamientos para cada

15

Page 16: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/metricas.pdf · por punto de función. ... Se han definido todas las condiciones y procesamientos para cada

Ejemplo: el factor de calidad “Corrección” tiene asociadas las métricas:

Compleción (Completitud);

Trazabilidad;

Consistencia.

Para evaluar la compleción es necesario dar respuesta a la siguiente lista de comprobación:

16

Page 17: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/metricas.pdf · por punto de función. ... Se han definido todas las condiciones y procesamientos para cada

1. No hay referencias ambiguas [R,D,I]

2. Todas las referencias a datos definidas son calculadas u obtenidas de una fuente externa [R,D,I]

3. Todas las funciones definidas son utilizadas [R,D,I]

4. Todas las referencias a funciones están definidas [R,D,I]

5. Se han definido todas las condiciones y procesamientos para cada punto de decisión [R,D,I]

6. Concuerdan todos los parámetros de llamada a funciones definidos y referenciados [D,I]

7. Todos los informes de problemas se han resuelto [R,D,I]

8. El diseño concuerda con los requisitos [D]

9. El código concuerda con el diseño [I]

17

Page 18: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/metricas.pdf · por punto de función. ... Se han definido todas las condiciones y procesamientos para cada

Se contesta con un SI o NO, y luego se aplica la que da como resultado el grado o nivel de calidad:

C= (# SI para R/6)+(# SI para D/8)+(# SI para I/8)

3

De esta forma, la medida para la compleción es un número entre 0 y 1.

La medida para la corrección, por ejemplo, se calculará (x+y+z)/3

Donde: x es la medida para la compleción, y para la trazabilidad y z para la consistencia.

18

Page 19: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/metricas.pdf · por punto de función. ... Se han definido todas las condiciones y procesamientos para cada

Facilidad de mantenimiento = 1 - 0.1 (número medio de días-hombre por corrección)

Portabilidad = 1 - (esfuerzo para portar / esfuerzo para implementar)

Flexibilidad = 1 - 0.05 (número medio de días-hombre por cambio)

Fiabilidad = 1 - (número de errores/ número de líneas de código)

19

Algunas métricas

Page 20: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/metricas.pdf · por punto de función. ... Se han definido todas las condiciones y procesamientos para cada

La fiabilidad emplea varias medidas, la primera de ellas es la probabilidad F de que aparezca un error en un tiempo determinado t, donde t > 0. La fiabilidad R es la probabilidad de que no ocurra un error en ese intervalo de tiempo:

R(t) = 1 - F(t)

esto supone que se estudia la fiabilidad a lo largo de un espacio continuo de tiempo

20

Page 21: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/metricas.pdf · por punto de función. ... Se han definido todas las condiciones y procesamientos para cada

Pero, es más realista ajustarse al número de veces n que se ejecuta el programa:

R(n) = 1 - dn /n

donde dn es el número de fallo hallados en n ejecuciones.

Si f(t) es la función de densidad de probabilidad:

f(t) = dF(t) / dt

y f(tt) es la probabilidad de que el software falle en el intervalo (t, t + d t).

21

Page 22: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/metricas.pdf · por punto de función. ... Se han definido todas las condiciones y procesamientos para cada

La tasa de riesgo h(t) es la probabilidad de que el software falle en (t, t + d t) si no ha fallado antes:

h(t) = f(t) / ( 1 - F(t) )

de donde podemos obtener una nueva expresión para la fiabilidad del software: h(t) = f(t) / ( 1 - F(t) )= - d( ln (1 - F(t) ) ) / dt = - d ln R(t) / dt

22

Page 23: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/metricas.pdf · por punto de función. ... Se han definido todas las condiciones y procesamientos para cada

La fiabilidad R(t) de un componente en un determinado medio durante un periodo t se define como la probabilidad de que su tiempo para fallar excede a t:

R(t) = ℮- λ*t

donde: R(t)=funcionalidad de un componente; λ = tasa constante de fallo t = intervalo de tiempo

RT(t)=1-[1-R1(t)][1-R2(t)]...[1-Rn(t)]

23

Page 24: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/metricas.pdf · por punto de función. ... Se han definido todas las condiciones y procesamientos para cada

Es difícil desarrollar medidas directas de los factores de calidad señalados anteriormente, se definen un conjunto de métricas para desarrollar expresiones que utilicen los factores:

Fq = c1 x m1 + c2 x m2 +….+cn x mn

Fq es factor de calidad

cn son coeficientes de regresión

mn son las métricas que afectan al factor calidad.

24

Page 25: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/metricas.pdf · por punto de función. ... Se han definido todas las condiciones y procesamientos para cada

Lamentablemente muchas de las métricas definidas por McCall solamente pueden medirse de manera subjetiva.

Las métricas se acomodan en una lista de comprobación que se emplea para puntuar atributos específicos del software. El esquema de puntuación que se propone es una escala del 0 (bajo) al 10 (alto)

25

Page 26: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/metricas.pdf · por punto de función. ... Se han definido todas las condiciones y procesamientos para cada

26

Factores de calidad de Boehm

Page 27: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/metricas.pdf · por punto de función. ... Se han definido todas las condiciones y procesamientos para cada

Métricas en los dominios del proceso y el proyecto

Las métricas del proceso se

recopilan en el curso de todos los

proyectos y durante largos periodos.

Su objetivo es proporcionar un

conjunto de indicadores de proceso

que conduzcan a la mejora de los

procesos de software a largo plazo

27

Page 28: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/metricas.pdf · por punto de función. ... Se han definido todas las condiciones y procesamientos para cada

Las métricas del proyecto permiten

que un gestor de proyecto de

software:

1) Valore el estado de un proyecto en

curso;

2) Rastree los riesgos potenciales;

3) Descubra las áreas problema antes

de que se vuelvan “críticas”;

4) Ajuste el flujo de trabajo o las

tareas;

5) Evalué la habilidad del equipo. 28

Page 29: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/metricas.pdf · por punto de función. ... Se han definido todas las condiciones y procesamientos para cada

Medición del software

Se clasifican en 2 categorías:

1. Medidas indirectas del producto que

influyen funcionalidad, calidad,

complejidad, eficiencia,

confiabilidad, facilidad de

mantenimiento, etc.

2. Medidas directas del proceso de

software (costo, esfuerzo aplicados)

y del producto (líneas de código,

rapidez de ejecución y defectos

reportados);

29

Page 30: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/metricas.pdf · por punto de función. ... Se han definido todas las condiciones y procesamientos para cada

Supongamos una empresa de software que lleva a cabo un proyecto de desarrollo de un sistema “X”. En un determinado momento el líder del proyecto necesita conocer el nivel de productividad de los programadores del proyecto en comparación con lo habitual en otros proyectos:

30

Ejemplo

Page 31: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/metricas.pdf · por punto de función. ... Se han definido todas las condiciones y procesamientos para cada

Las métricas a utilizar podrían ser: Directas:

LCF (líneas de código fuente escritas). El método de medición es contar las líneas utilizando una herramienta CASE.

HPD (horas-programador diarias). El método de medición es que el líder del proyecto anota cada día las horas dedicadas por los programadores al proyecto.

CHP (coste por hora-programador, en unidades monetarias). El método de medición es consultar el plan del proyecto, donde se tuvo que indicar este valor, previa consulta a un responsable de personal.

31

Page 32: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/metricas.pdf · por punto de función. ... Se han definido todas las condiciones y procesamientos para cada

Indirectas:

HPT (horas-programador totales). La función de cálculo es un sumatorio de las HPD de cada día: [métrica indirecta definida en base a sólo 1 métrica directa].

LCFH (líneas de código fuente por hora de programador). La función de cálculo es una simple división: LCFH = LCF / HPT [métrica indirecta definida en base a 2 métricas directas].

CTP (coste total actual del proyecto, en unidades monetarias). La función de cálculo establece que el CTP es el producto del coste unitario de cada hora por el total de horas empleadas: CTP = CHP * HPT [métrica indirecta definida en base a 2 métricas, una directa y otra indirecta].

CLCF (coste por línea de código fuente). CLCF = LCF/CTP. 32

Page 33: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/metricas.pdf · por punto de función. ... Se han definido todas las condiciones y procesamientos para cada

Indicadores:

PROD (productividad de los programadores). El modelo de análisis utiliza los valores de las métricas LCF, HPT, LCFH y CTP para establecer un valor cualitativo de la productividad de los programadores en este proyecto. El modelo se basa en extraer de una base histórica de proyectos de la organización los valores medios de LCF, HPT, LCFH (LCFHvm) y CTP del subconjunto de proyectos similares (aquellos que tienen LCF entre el 80% y el 120% ). Los criterios de decisión establecidos son:

LCFH/LCFHvm < 70% => PROD=’muy baja’.

70% LCFH/LCFHvm < 90% => PROD=’baja’.

90% LCFH/LCFHvm < 110% => PROD=’normal’.

110% LCFH/LCFHvm < 130% => PROD=’alta’.

130% LCFH/LCFHvm => PROD=’muy alta’. 33

Page 34: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/metricas.pdf · por punto de función. ... Se han definido todas las condiciones y procesamientos para cada

Las métricas del software orientadas

al tamaño preceden de la

normalización de las medidas de

calidad o productividad considerando

el tamaño de software que se ha

producido.

Si una organización de software

mantiene registros simples es factible

crear una tabla de medidas orientadas

al tamaño.

Métricas orientadas al tamaño

34

Page 35: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/metricas.pdf · por punto de función. ... Se han definido todas las condiciones y procesamientos para cada

Proyecto LDC esfuerzo $ Pag.doc errores defectos

personal

Beta Alfa

Gamma . . . . .

12100 27200 20200

.

.

.

.

.

.

14 52 33 . . . . . .

150 240 314

.

.

.

.

.

500 1480 1000

.

.

.

.

.

.

139 350 200

.

.

.

.

.

.

19 76 54 . . . . . .

3 5 6 . . . . . .

El desarrollo de métricas que se

asimilen con métricas similares

procedentes de otros proyectos

requiere elegir líneas de código con

valor de normalización 35

Page 36: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/metricas.pdf · por punto de función. ... Se han definido todas las condiciones y procesamientos para cada

A partir de los datos rudimentarios de

la tabla se desarrolla un conjunto de

métricas simples orientadas al tamaño

para cada proyecto.

La métricas orientadas al tamaño no

se aceptan universalmente como la

forma de medir el proceso del

software

36

Page 37: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/metricas.pdf · por punto de función. ... Se han definido todas las condiciones y procesamientos para cada

Las métricas del software orientadas a

la función emplean como un valor de

normalización una medida de la

funcionalidad que entrega la

aplicación.

La métrica orientada a la función

utilizada con mayor amplitud es el

punto de función (PF). El cálculo del

PF se basa en características del

dominio de información y la

complejidad del software

Métricas orientadas a la función

37

Page 38: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/metricas.pdf · por punto de función. ... Se han definido todas las condiciones y procesamientos para cada

38

La métrica del punto de función (PF) se puede utilizar como medio para predecir el tamaño de un sistema obtenido a partir de un modelo de análisis. Para visualizar esta métrica se utiliza un diagrama de flujo de datos, el cual se evalua para determinar las siguientes medidas clave que son necesarias para el cálculo de la métrica de punto de función:

Page 39: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/metricas.pdf · por punto de función. ... Se han definido todas las condiciones y procesamientos para cada

39

Número de entradas del usuario; Número de salidas del usuario; Número de consultas del usuario; Número de archivos; Número de interfaces externas.

Page 40: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/metricas.pdf · por punto de función. ... Se han definido todas las condiciones y procesamientos para cada

40

Entradas: Pantallas o formularios a través de los cuales usuarios humanos de una aplicación u otros programas agregan nuevos datos o actualizan datos existentes. Si una pantalla de entrada es muy grande para ser desplegada de una vez (asumiendo 80 columnas y 25 líneas) y requiere de una segunda pantalla, el conjunto cuenta como una (1) sola entrada. Se deben considerar entradas que requieren procesamiento único.

Page 41: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/metricas.pdf · por punto de función. ... Se han definido todas las condiciones y procesamientos para cada

41

Salidas: Pantallas o informes que la aplicación produce para uso humano o para otros programas. Las salidas que requieren procesamiento separado deben ser contabilizadas: en una aplicación de remuneraciones una función de salida que genere 100 cheques contaría como una sola salida.

Ej: pantallas, informes impresos, archivos en disco, sets de cheques, facturas impresas.

Page 42: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/metricas.pdf · por punto de función. ... Se han definido todas las condiciones y procesamientos para cada

42

Las consultas se dividen en dos partes: la porción de entrada y la porción de salida. Ejemplos de consultas: consulta de un usuario sin actualizar un archivo, mensajes de ayuda, mensajes de selección. Una consulta típica sería una relacionada con una reservación aérea.

Pantallas que le permiten a los usuarios interrogar una aplicación y solicitar asistencia o información, tal como pantallas de ayuda (HELP).

Page 43: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/metricas.pdf · por punto de función. ... Se han definido todas las condiciones y procesamientos para cada

43

Archivos internos lógicos: Colección lógica de registro que la aplicación modifica o actualiza una tabla de una base de datos.

Archivos externos de interfaz: bases de datos compartidas, archivos lógicos direccionables desde o hacia otra aplicación. Es un conjunto de datos definidos por el usuario, que están relacionados lógicamente y que sólo son usados para propósitos de referencia.

Page 44: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/metricas.pdf · por punto de función. ... Se han definido todas las condiciones y procesamientos para cada

FI.1 comunicación de datos

FI.2 funciones distribuidas

FI.3 objetivos de performance

FI.4 configuración usada fuertemente

FI.5 tasa de transacciones

FI.6 entrada de datos en línea

FI.7 eficiencia del usuario final

FI.8 actualización en línea

FI.9 procesamiento complejo

FI.10 reusabilidad

FI.11 facilidad de instalación

FI.12 facilidad operacional

FI.13 sitios múltiples

FI.14 facilitamiento del cambio

CGS… Factores de influencia

44

Page 45: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/metricas.pdf · por punto de función. ... Se han definido todas las condiciones y procesamientos para cada

0 factor no presente o sin influencia

1 influencia insignificante

2 influencia moderada

3 influencia promedio

4 influencia significativa

5 influencia fuerte

Escala de evaluación

45

Page 46: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/metricas.pdf · por punto de función. ... Se han definido todas las condiciones y procesamientos para cada

46

Comunicación de datos: implica que datos y/o información de control son enviadas o recibidas. La evaluación es un 0 para aplicaciones batch, y un 5 para aplicaciones en que predomina el teleproceso;

Funciones distribuidas: analiza si una aplicación es monolítica y opera en un solo procesador o si es distribuida. 0 para aplicaciones monolíticas y un 5 para aplicaciones que se ejecutan dinámicamente en varios procesadores;

Page 47: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/metricas.pdf · por punto de función. ... Se han definido todas las condiciones y procesamientos para cada

47

Objetivos de performance: la evaluación sería un 0 si no hay establecido ningún criterio especial de performance, y un 5 si los usuarios insisten en objetivos de performance muy rigurosos que requieren un esfuerzo;

Configuración usada fuertemente: la evaluación sería un 0 si la aplicación no tiene restricciones especiales de uso, y un 5 si el uso anticipado requiere especial esfuerzo para ser logrado;

Page 48: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/metricas.pdf · por punto de función. ... Se han definido todas las condiciones y procesamientos para cada

48

Tasa de transacciones: la evaluación sería un 0 si el volumen de transacciones no es significativo, y un 5 si el volumen es lo suficientemente significativo como para producir stress en la aplicación y requerir un esfuerzo especial para alcanzar throughputs deseados;

Entrada de datos en línea: la evaluación sería un 0 si menos del 15% de las transacciones son interactivas, y un 5 si más del 50% de las transacciones son interactivas

Page 49: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/metricas.pdf · por punto de función. ... Se han definido todas las condiciones y procesamientos para cada

49

Eficiencia del usuario final: la evaluación sería un 0 si no hay usuarios finales o no hay requerimientos especiales para los usuarios finales, y un 5 si los requerimientos de eficiencia de usuarios finales son lo suficientemente rígidos como para requerir un esfuerzo;

Actualización en línea: la evaluación sería 0 si no hay, y un 5 si las actualizaciones son obligatorias y especialmente difíciles;

Page 50: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/metricas.pdf · por punto de función. ... Se han definido todas las condiciones y procesamientos para cada

50

Procesamiento complejo: la evaluación sería 0 si no hay, y un 5 en casos que requieren decisiones lógicas extensas, matemática compleja, procesamiento de excepciones;

Reusabilidad: la evaluación sería un 0 si la funcionalidad se planifica, y un 5 si mucha de la funcionalidad y los artefactos del proyecto se pretende que sean usados ampliamente por otras aplicaciones;

Page 51: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/metricas.pdf · por punto de función. ... Se han definido todas las condiciones y procesamientos para cada

51

Facilidad de instalación: la evaluación sería un 0 si este factor es insignificante, y un 5 si la instalación es importante y tan restrictiva que requiere un esfuerzo especial para cumplirla satisfactoriamente;

Facilidad operacional: la evaluación sería un 0 si este factor es insignificante, y un 5 si la facilidad operacional es tan restrictiva que requiere un esfuerzo especial para alcanzarla;

Page 52: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/metricas.pdf · por punto de función. ... Se han definido todas las condiciones y procesamientos para cada

52

Sitios múltiples: la evaluación sería un 0 si hay solo un sitio planificado de uso, y un 5 si el proyecto y sus artefactos se pretenden sean usados en muchos lugares;

Facilitamiento del cambio: la evaluación sería un 0 si el cambio no ocurre, y un 5 si la aplicación se desarrolla específicamente para permitir a los usuarios finales el hacer cambios rápidos para controlar datos o tablas que ellos mantienen con la ayuda de la aplicación.

Page 53: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/metricas.pdf · por punto de función. ... Se han definido todas las condiciones y procesamientos para cada

53

La cuenta total debe ajustarse utilizando la siguiente ecuación:

PF = c-total x (0,65 + 0,01 x Fi)

Donde c-total es la suma de todas las entradas PF obtenidas y Fi (i=1 a 14) son los "valores de ajuste de complejidad".

Page 54: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/metricas.pdf · por punto de función. ... Se han definido todas las condiciones y procesamientos para cada

54

Factor de ponderación

Parámetro de medición Cuenta Simple Media Compl.

Número de entradas del usuario

3 X 3 4 6 = 9

Número de salidas del usuario 2 X 4 5 7 = 8

Número de consultas del usuario

2 X 3 4 6 = 6

Número de archivos 1 X 7 10 15 = 7

Número de interfaces externas 4 X 5 7 10 = 20

Cuenta total 50

Cálculo de puntos de función

Se asume que la Fi es 46 (un producto moderadamente complejo), por consiguiente: PF = 50 x (0,65 + 0,01 x 46) = 56