1
M.E.Manso.
71
1. Medición y experimentación en Ingeniería del SoftwareIntroducciónTeoría representacional de la medición.Experimentación en Ingeniería del software.
2. Medidas del Producto3. Modelos y métricas del Proceso4. Calidad del Software
Programa
Medidas del productoCalidad del Software
M.E. Manso.
71
2.1 Métricas internas.Métricas de tamañoMétricas de Complejidad
Métrica de tamaño- funcionalidad, PFA• www.ifpug.org• Apuntes • J.B. Dreger, "Function Point Analysis", Prentice-Hall, 1989
2.2 Métricas externas.2.2.1 Defectos del software.2.2.2 Fiabilidad del software y modelos.
2.3 Métricas en O.O.
2.1 Métricas Internas
Producto. Métricas internasCalidad del Software
2
M.E.Manso.
73
Puntos de Función
[Dreger J.B, 1989] Dreger J.B, Function point analysis. Prentice Hall. 1989.
Referencia básica para calcular los puntos de función.
Producto. Métricas internas
M.E.Manso.
74
Métrica construida a partir de los requisitos de una aplicación o sistema para medir su funcionalidad (independientemente del lenguaje)
A.J. Albrecht (IBM, 1979)
PF de Albrecht
Calidad del Software Producto. Métricas internas
3
M.E.Manso.
75
• Son el Estándar ISO (ISO/IEC 14143)“Measuring the logical or functional size of
software projects and software application”Carol Dekker ISO Bulletin May 2003
• Hay diferentes métodos de recuentoFPA de J. B. DregerISO/IEC 2096:2003 IFPUG 4.1 (estándar de hecho)
(w3.ifpug.org)Boletín de política informática nº 6, 2003
Calidad del Software
PF de Albrecht (ii)
Producto. Métricas internas
M.E.Manso.
76
Miden la Funcionalidad de un productosoftware (Punto de vista del usuario)
Relacionados con:• Productividad: nº de funciones producidas• Valor comercial del sistema• Tamaño del proyecto, coste ...• Beneficios de usar 4GL• Esfuerzo de mantenimiento, modificación y
adaptación
Calidad del Software
¿Qué utilidad tiene?
Producto. Métricas internas
4
M.E.Manso.
77
1.Identificar funciones fi, a partir de lasespecificaciones
2. Clasificar las funciones:Entradas Salidas Consultas Ficheros Interfaces3. Ponderarlas según el factor Bajo, Medio y Alto:
wi4. Calcular Puntos de Función Desajustados:
PFD = ∑ (wi )5. Calcular el factor de complejidad técnica (fcti)
• 14 factores del entorno de producción (0-5)
Calidad del Software
Técnica de los PFA
Producto. Métricas internas
M.E.Manso.
78
6. Calcular el Factor de Ajuste:FA = 0.65 + 0.01∑ (fcti) ∈ [0.65 1.35]
7. Calcular Puntos de Función Ajustados: PFA = PFD x FA (Ajuste ± 0.35 PFD)
1-5 ítems aludidos
6-19 ítems aludidos
≥ 20 ítems aludidos
0-1 ficheros aludidos
simple(4)
simple (4)
media (5)
2-3 ficheros aludidos
simple(4)
media (5)
compleja (7)
≥ 4 ficheros aludidos
media (5)
compleja (7)
compleja (7)
Salidas
Calidad del Software
Técnica de los PFA (ii)
Producto. Métricas internas
5
M.E.Manso.
79Producto. Métricas internas
M.E.Manso.
80Calidad del Software Producto. Métricas internas
6
M.E.Manso.
81
• Contar como salida única cada dato de usuario osalida de control (procedural) que sale de los límitesde la aplicación. Incluye informes y mensajes alusuario, a otras aplicaciones y a sus usuarios.
• Una salida se considera única si:Tiene diferente formatoTiene el mismo formato que otra pero requiere diferente proceso lógico (se accede a diferentes ficheros, o se realizan diferentes cálculos etc.)
Ejemplo:Un extracto de fichero enviado a otra aplicación para procesarlo posteriormente (es una salida, aunque el usuario no pueda ver el fichero)
Calidad del Software
SalidasProducto. Métricas internas
M.E.Manso.
82
EjemploCada formato y cada proceso diferente de un informe sedeberá contar como una salida:
• Cabecera• Línea de detalle (distinto formato)• Total por nivel1 (distinto tratamiento)• Total por nivel2 (distinto tratamiento)• Total general (distinto tratamiento)• Informe por pantalla en 80 columnas • Informe por impresora en 132 columnas• Informe semanal, mensual y anual
5 x 2 x 3 = 30 salidas
Calidad del Software
Salidas (ii)
Producto. Métricas internas
7
M.E.Manso.
83
Localizarlas, además de las Pantallas y Listados:Fichero de transacción enviado a otra aplicaciónCuentas de materialFacturas ChequesConectores digitales o analógicos Transacción automáticaMensajes al usuario (que no sean de una consulta)Control de aplicaciones de usuarioGráficos, mapas etc.Backup de fichero
...
Calidad del Software
Salidas (iii)
Producto. Métricas internas
M.E.Manso.
84
Títulos, cabeceras de columna o numeración de páginaMensajes individuales (información, confirmación o repuestas a consultas de error) Salida de registros de transacciones no procesados, (cuentan como inputs y posiblemente como interfaces por la aplicación que los recibe)Salida de registros de ficheros maestros procesados, (cuentan como interfaces y ficheros lógicos internos)Salidas con el mismo formato y lógica que ya se han contado para otro soportePantalla del menú de selección con capacidad para grabar: se cuenta como un input + consultaOtras salidas no aprobadas por el usuario.....
Calidad del Software
No son Salidas
Producto. Métricas internas
8
M.E.Manso.
85
• nº de ficheros • nº de ítems referenciados, cada ítem referenciado se cuenta una
sola vez por cada salida, independientemente del nº de veces que se utilice o aparezca.
1-5 ítems aludidos
6-19 ítems aludidos
≥ 20 ítems aludidos
0-1 ficheros aludidos
simple(4)
simple (4)
media (5)
2-3 ficheros aludidos
simple(4)
media (5)
compleja (7)
≥ 4 ficheros aludidos
media (5)
compleja (7)
compleja (7)
Salidas
Calidad del Software
Clasificación de Salidas
Producto. Métricas internas
M.E.Manso.
86
Cada columna se cuenta como un ítem de datos (además de los que contribuyeron a hacerla) incluso si es el resultado de cálculos hechos en otras columnas.
Si el pago neto puede escribirse como " $****20000.00", "20000.0" y "veinte mil Pts." en varios lugares del cheque, cuenta como 3 ítem.
Una columna con el nombre de un vendedor impreso es un ítem de datos (no se calcula ni se decodifica)
Una columna con el valor medio de ventas mensuales realizadas y la fecha para un producto referencia 3 ítem de datos: total_vendido para el producto, precio de venta, y mes actual.
Sólo los dos primeros estarán probablemente en un fichero, el mes actual lo proporcionará el sistema, pero es un ítem más.
Calidad del Software
Ejemplos
Producto. Métricas internas
9
M.E.Manso.
87
• Contar como Entrada única cada dato único deusuario o de control que traspase la frontera de laaplicación y actualiza un fichero lógico interno,conjunto de datos, tabla o dato independiente.
• Una entrada se considera única si:Tiene diferente formatoTiene el mismo formato que otra pero requiere una lógica diferente de procesamiento, o modifica un fichero interno lógico diferente.
• Una transacción del usuario u otra aplicación• Clave de usuario
Calidad del Software
Entradas
Producto. Métricas internas
M.E.Manso.
88
Localizarlas, además de en las pantallas:Ratón.Documentos MICR.ATM.Transacciones automáticas.Transacciones de ficheros desde otra aplicación.Claves para guardar ficheros o documentos.Sensores digitales o analógicos, Tonos de teléfono.Lectoras de barras, Escáner.Controles de aplicaciones de usuario...
Calidad del Software
Entradas (ii)
Producto. Métricas internas
10
M.E.Manso.
89
• Las introducidas por las tecnologías• Ficheros maestros recibidos, son interfaces• Ficheros lógicos internos compartidos o actualizados
internamente
Calidad del Software
No son Entradas
Producto. Métricas internas
M.E.Manso.
90
Entradas
1-4 ítems aludidos
5-15 ítems aludidos
>16 ítems aludidos
0-1 ficheros
aludidos
simple (3)
simple (3)
media (4)
2 ficheros
aludidos
simple (3)
media (4)
compleja (6)
>3 ficheros
aludidos
media (4)
compleja (6)
compleja (6)
nº de ficherosnº de ítem referenciados
• los no referenciados no se cuentan. • Cada ítem referenciado se cuenta una sola vez por cada
entrada, independientemente del nº de veces que se utilice.
Calidad del Software
Clasificación de Entradas
Producto. Métricas internas
11
M.E.Manso.
91
• Dos pantallas de entrada con el mismo formato perocon distinto proceso lógico, cada pantalla sería unaentrada distinta.
• Una pantalla actualiza un fichero de datos. Cada una de las funciones añadir, cambiar y borrar requiere diferentes procesos lógico hay tres entradas distintas
Además puede haber una consulta y una salida.
Calidad del Software
Ejemplos
Producto. Métricas internas
M.E.Manso.
92
Línea escaneada, 1 entrada por formato o proceso lógico diferente.Tarjeta de crédito, placa de seguridad… Una tabla mantenida por el usuario• se puede necesitar mas de una entrada (añadir,
eliminar o actualizar), posiblemente 1 salida y 1 consulta.
Lenguaje intérprete usado por la aplicación para actualizar el fichero; se cuenta cada verbo o palabra clave como 1 ítem de entradaEntradas de lenguajes de consulta, 1 por input (excepto si es una consulta)
Calidad del Software
Ejemplos (ii)
Producto. Métricas internas
12
M.E.Manso.
93
Contaremos como un sólo ítem:
Cada campo:• De una pantalla• De un documento• Clave para búsqueda
Cada parámetro, comando de función, línea de comandostransferida de pantalla o campo de fichero de entrada
Sólo contaremos los ítem del fichero que se actualiza
Calidad del Software
Ejemplos (iii)
Producto. Métricas internas
M.E.Manso.
94
• Contar como Consulta cada combinación única deentrada-salida en la que cada entrada on-line deusuario provoca una salida inmediata
• Una Consulta se considera única si en alguna desus partes, entrada/salida:
Tiene diferente formatoTiene el mismo formato que otra pero requiere diferente proceso lógico
Una aplicación solicita a otra la hora de salida deun vuelo y a través de una clave obtiene respuesta inmediata
Calidad del Software
Consultas
Producto. Métricas internas
13
M.E.Manso.
95
Requisitos de una Consulta:1. Usa claves simples para recuperar datos específicos, un sólo registro a un grupo de registros relacionados, no un rango.
2. Requiere respuesta inmediata (como lo defina el usuario)
3. Ejecuta funciones que no son de actualización - no puede añadir, cambiar o borrar registros -
Calidad del Software
Consultas (ii)
SI alguno de los 3 puntos no se cumple podremos tener entradasy/o salidas pero no una consulta.
Producto. Métricas internas
M.E.Manso.
96
Consultas (iii)
Localización: Consultas por consola de usuario, que no actualizan ficheros u otras entidades.Fichero de transacciones que sale de las fronteras de la aplicación, si es accesible al usuario on-line.Pantalla con menú de selección (todas las pantallas de menú cuentan como consulta)Pantalla de ayuda o mensaje de información.
Calidad del Software Producto. Métricas internas
14
M.E.Manso.
97
Un usuario quiere solicitar el precio de un producto.
Queremos solicitar las horas de salida de todos los vuelos desde Valladolid a Barcelona, entre las 8 y las 14h.
¿Serían consultas?
Calidad del Software
Ejemplos
Producto. Métricas internas
M.E.Manso.
98
Utilizar las tablas de Entradas y Salidas para clasificar laentrada-salida asignando a la Consulta el mayor pesoobtenido.
En una pantalla de ayuda: el nº de ítems referidos es igual al nº de campos sobre los que se puede pedir ayuda.
En una pantalla de mensajes cada campo de cada mensaje se cuenta como un ítem de datos para la clasificación posterior.
Si el menú es una línea con varias posiciones de entrada para comandos o datos, el nº de ítems de datos referenciados es el máximo nº de campos que pueden entrar en esa línea.
Calidad del Software
Clasificación de Consultas
Producto. Métricas internas
15
M.E.Manso.
99
Las introducidas debido a la tecnología usada.
Aparentes consultas que no cumplan algunos de los 3 requisitos que definen una consulta.
Otras consultas no aprobadas por el usuario.
No son Consultas
Calidad del Software Producto. Métricas internas
M.E.Manso.
100
Una consulta consta de una entrada simple (3)y una salida simple (4): la clasificación será 4.
¿Puede ponderarse una consulta con 3?
Los pesos más frecuentes para una consulta son de 4-5 y rara vez 6-7.
¿Cuánto puede costar la omisión de una consulta? ¿Y la clasificación errónea?
El error mas frecuente se produce al clasificar como salida simple una media.
Calidad del Software
Ejemplos
Producto. Métricas internas
16
M.E.Manso.
101
• Contar como Fichero cada grupo lógico de datos delusuario o información de control, que estátotalmente dentro de la aplicación
• Sólo son Ficheros los almacenamientos de datospermanentes, que están dentro la aplicación y sonaccesibles de alguna forma al usuario
Si un fichero lógico se comparte entre aplicacionesademás es una interfaz
Si un fichero de clientes es accesible por dos claves: Hay dos ficheros lógicos
Calidad del Software
Ficheros
Producto. Métricas internas
M.E.Manso.
102
Localizarlos en :• Bases de datos, una por cada vista lógica/camino.• Ficheros maestros, uno por cada colección de claves.• Otros ficheros lógicos internos, excepto temporales. • Tablas mantenidas por el usuario - tasa de impuestos,
tasa de crecimiento-• Fichero de control de procesos secuenciales por lotes.• Fichero de consultas de usuario• Índices de referencias cruzadas, incluyendo tabla de
mensajes.• Fichero de índices ISAM/VSAM mantenidos por el
usuario.
Ficheros (ii)
Calidad del Software Producto. Métricas internas
17
M.E.Manso.
103
No son Ficheros
Los ficheros de transacciones:
• Son entradas si actualizan ficheros.
• Son interfaces o salidas si se trasfieren a otra aplicación.
Un fichero para imprimir se considera una salida. Si además se exporta a otra aplicación para finalizar un proceso se considera un fichero de transacciones.
Calidad del Software Producto. Métricas internas
M.E.Manso.
104
• Los introducidos por la tecnología.• Grupos de datos lógicos físicamente separados
para facilitar su uso, sólo son un fichero lógico.• Ficheros cuyas funciones no están totalmente
dentro de la aplicación.• Ficheros mantenidos por otras aplicaciones.• Ficheros no accesibles al usuario a través de
procesos de entradas, salidas, consultas o interfaces.
• Ficheros de transacciones o para imprimir...
Calidad del Software
No son Ficheros (ii)
Producto. Métricas internas
18
M.E.Manso.
105
• nº de campos que la aplicación requiere.• nº de formatos de registros del fichero o nº de
relaciones lógicas en las que participa el fichero.
Ficheros 1-19 items referenciados
20-50 items .. 51 ó más items…
1formato/relación de registro lógico
Simple (7) Simple (7) Medio (10)
2-5 f/rela. Simple (7) Medio (10) Complejo(15)
6 ó más f/relación Medio (10) Complejo(15) Complejo(15)
Calidad del Software
Clasificación de Ficheros
Producto. Métricas internas
M.E.Manso.
106
Contar como Interfaz cada• Fichero lógico o• Grupo de datos aprobado por el usuario o• Información de control
de la aplicación que se envía a, se comparte con, o serecibe desde otras aplicaciones.
Ficheros lógicos compartidos se cuentan como ficheros einterfaces en ambas aplicaciones, si se usan en ambas.Sino, sólo se cuenta como fichero en la aplicación que loestá usando, manteniendo o trabajando con élactualmente.
Calidad del Software
Interfaces
Producto. Métricas internas
19
M.E.Manso.
107
Localización en:• Fichero lógico interno de otra aplicación accesible a
ésta.• Fichero lógico interno de esta aplicación accesible a
otras aplicaciones.• Base de datos compartida.• Lista de parámetros compartidos.• Fichero de impresora exportado.• Fichero de transacciones compartidos que requieran
conversiones.
Calidad del Software
Interfaces
Producto. Métricas internas
M.E.Manso.
108
Situación del Fichero de Transacciones
en la aplicación A cuenta como
en la aplicación B cuenta como
Sin CONVERSIÓN 1. enviado por B entrada salida 2. enviado a B salida entrada
Si las aplicaciones comparten ficheros de transacciones no setiene que contar una interfaz. La clave para diferenciarcuando se cuenta una interfaz es que la aplicación debenecesitar convertir o procesar los datos, de alguna manera.
Calidad del Software
Interfaces y Transacciones
Producto. Métricas internas
20
M.E.Manso.
109
Situación del Fichero de Transacciones
en la aplicación A cuenta como
en la aplicación B cuenta como
NECESITA CONVERSIÓN
1. enviado por B, A lo convierte
entrada e interfaz -----
2. enviado por B, B lo convierte
-- salida e interfaz
3. enviado a B, A lo convierte
salida e interfaz -----
4. enviado a B, B lo convierte
---- entrada e interfaz
Calidad del Software
Interfaces y Transacciones (ii)
Producto. Métricas internas
M.E.Manso.
110
Utilización del Fi-chero
en la aplicación A cuenta como
en la aplicación B cuenta como
recibido de B (A no lo actualiza)
Interfaz Fichero e Interfaz
compartido con B (A y B lo actualizan)
Fichero e Interfaz Fichero e Interfaz
enviado a B (B no actualiza)
Fichero e Interfaz Interfaz
Calidad del Software
Interfaces y Ficheros
Producto. Métricas internas
21
M.E.Manso.
111
• Un Fichero F que contiene las horas trabajadas por cada empleado, es utilizado por dos aplicaciones, la A es una aplicación de gestión y la B mide la productividad.
¿Cómo contaría en A y en B?
• Un Fichero de transacciones tiene 22 formatos de registrodiferentes, cada una de los cuales se procesa con un procesológico diferente.
¿Qué se contaría?
• Lista de parámetros o lista de password pasado a o recibido desde otra aplicación. ¿Cómo contaría?
Calidad del Software
Ejemplos
Producto. Métricas internas
M.E.Manso.
112
• Las introducidas por la tecnología.
• Ficheros compartidos por procesos de la misma
aplicación.
• Ficheros de transacciones que no requieren
conversión.
• Ficheros de mensajes.
• Otras interfaces no aprobadas por el usuario.
Calidad del Software
No son Interfaces
Producto. Métricas internas
22
M.E.Manso.
113
nº de ítems referenciados, y actualmente usados.nº de formatos de registros o nº de relaciones lógicas enlas que participa.
Interfaces
1-19 ítem
aludidos 20-50 ítem
aludidos >50 ítem alu-
didos 1 formato/
registro lógico
simple (5)
simple (5)
media (7)
2-5 formato/
registro lógico
simple (5)
media (7)
compleja (10)
≥ 6 formato/
registro lógico
media (7)
Compleja(10)
compleja (10)
Calidad del Software
Clasificación de Interfaces
Producto. Métricas internas
M.E.Manso.
114
• Su independencia de la tecnología permite comparar la funcionalidad de distintos sistemas.
• Proporcionan una medida de la productividad menos sesgada que las LDC.
• Basados en los requisitos del usuarioPueden utilizarse como medida de tamaño en modelos del proceso para predecir costes, esfuerzo.Facilitan la comprensión del usuario del atributo “funcionalidad”.
Calidad del Software
Ventajas de los PFA
Producto. Métricas internas
23
M.E.Manso.
115
• Los pesos de los tipos de función pueden variar con el tiempo.
• La interpretación de la medida es difícil, está sobredimensionada.
• A pesar de los estándares generados por el International Function Point Users Group (IFPUG), la evaluación de las funciones es subjetiva.
Calidad del Software
Inconvenientes de los PFA
Producto. Métricas internas
M.E.Manso.
116
Propuesto por Symons, para evitar los problemasde los PFA.
Transacciones lógicas• Entrada• Proceso• Salida
Características generales de la aplicación (19+)
Componentes del método
Calidad del Software
PF de MarkII
Producto. Métricas internas
24
M.E.Manso.
117
1. Examinar las transacciones lógicas del sistema fi.
• Cada Transacción fi es una combinación de:entrada proceso salida
• Cada evento de interés para el usuario onecesidad de recuperar informacióndesencadena una fi.
2. Calcular el factor desajustado, PFD = ∑ Fdi
3.Calcular el factor de complejidad técnica (fcti),(permite que el cliente defina características, etc.)
Calidad del Software
Técnica de los PFM
Producto. Métricas internas
M.E.Manso.
118
4. Calcular el Factor de Ajuste:FA= 0.65 + C ∑ (fcti)C se obtiene por calibrado (ha sido de .005)
5. Calcular Puntos de Función Ajustados:PFA = PFD x FA
Ejemplos de Transacciones: Crear un nuevo clienteActualizar un cuentaGenerar un informe mensual
Calidad del Software
Técnica de los PFM (ii)
Producto. Métricas internas
25
M.E.Manso.
119
Tamaño en PFA de aplicaciones Software
Calidad del Software Producto. Métricas internas