4. MÉTRICAS DEL SOFTWARE

Texto completo

(1)

4. MÉTRICAS DEL SOFTWARE

MCC Irma Ardón

(2)

¿POR QUÉ MEDIR EL SOFTWARE?

 Calidad del producto

 Productividad del equipo de desarrollo

 Asegurar beneficios

 Facilitar las pruebas

 Justificar capacitación y nuevas herramientas

2

(3)

INSPECCIÓN PROMEDIO: 100

LÍNEAS POR HORA => PRUEBAS AUTOMATIZADAS

 Analizadores Sintácticos

 Métodos Formales

 Herramientas

 Bancos de Pruebas

(4)

ANALIZADORES SINTÁCTICOS…

Datos

1. Utilizadas antes de su inicialización 2. Declaradas pero nunca utilizadas 3. No declaradas

4. Asignadas dos veces pero nunca utilizadas entre asignaciones

5. Límites de los vectores

(5)

Control. Código inalcanzable

Entrada/Salida. Salidas duplicadas Interfaz

1. Tipo y número de parámetros 2. Valores retornados que no se

utilizan

3. Métodos que nadie invoca Almacenamiento

4. Apuntadores libres

5. Aritmética de apuntadores

…ANALIZADORES SINTÁCTICOS

(6)

HERRAMIENTAS…

 JUnit (Java)

 CPPUnit (C++)

 DUnit (Delphi)

 pyUnitPerf (python)

 accessUnit (Access)

 Neunit (cualquier lenguaje Unix)

 CUnit (C)

http://xprogramming.com/articles/software_testing/

(7)

…HERRAMIENTAS…

 ETester (Eiffel)…

 Checkstyle: Comprueba que el código cumpla reglas de estilo

 PMD: Detecta código no utilizado

 FindBugs: Búsqueda de errores comunes en la escritura de aplicaciones Java

 Simian: Detecta código duplicado

(8)

…HERRAMIENTAS LIBRES .NET

Nant

 NAntContrib

 NUnit

 NDoc

 CruiseControl.NET

FxCop

(9)

BANCOS DE PRUEBAS (PHP)

http://www.simpletest.org

(10)

http://www.polar-consultores.es/portalPolar/archivos/ficheros/1200569154230.pdf

(11)

WEBSERVER STRESS TOOL

Simula cualquier número de usuarios simultáneos accediendo al servidor web

Permite saber cuánto tiempo tendrán que esperar los clientes al visitar el sitio web y

cómo el servidor web se desempeña bajo una carga pesada

http://www.freedownloadmanager.org/es/downloads/ban co_de_pruebas_gratis/

(12)

NEOLOAD

¿Cuántos usuarios soporta mi sitio?

¿Cómo responde a la sobrecarga?

¿Cuáles son los tiempos de respuesta?

(13)

ESTRUCTURA GENERAL DE UN BANCO DE PRUEBAS

Códig o Fuent

e

Informe de Ejecución

Programa de Prueba

Resultados de la Prueba

Prediccione s de la Prueba

Especificació n

Datos de Prueba

Informe de Resultados de la Prueba Analizado

r dinámico

Administrado r de Pruebas

Simuladore s

Generador de Datos de

Prueba

Pre-decidor

Comparador de Archivos

Generador de Informes

(14)

MÉTRICAS

Tipos y ejemplos

14

(15)

Factores de Calidad del Software (McCALL)

Revisión Revisión

Facilidad de MantenimientoFacilidad de Mantenimiento

Flexibilidad Flexibilidad

Facilidad de Prueba Facilidad de

Prueba

Transición Transición

Portabilidad Portabilidad

Reutilización Reutilización

Interoperabilida d

Interoperabilida d

Operación Operación

Corrección Corrección

Fiabilidad Fiabilidad

Usabilidad Usabilidad

15

(16)

Orientadas Al Tamaño Del Código

 Productividad = KLDC en personas−mes (por proyecto, RF o site)

 Calidad = errores por KLDC

 Costo = Inversión por KLDC

 Documentación = Páginas por KLDC

También aplican a puntos de función (PF)…

(17)

PUNTOS DE FUNCIÓN (PF)…

Cantidad de:

 Entradas

 Salidas

 Archivos

 Consultas

 Interfaces

de un SI

17

(18)

…Ajuste de los PF de un Software (Pressman)

PF = PF * (0.65 + 0.01 * F)

Donde:

F = 46 (SI de complejidad media)

18

(19)

Fórmulas…

Fiabilidad: TMEF = TMDF + TMDR

Donde:

TMEF. Tiempo medio entre fallas TMDF. TM de fallo

TMDR. TM de reparación

19

(20)

…Fórmulas

Disponibilidad = TMDF / (TMDF + TMDR)

EJEMPLO: Un sistema falla después de estar nueve días en funcionamiento y repararlo

llevó dos días

¿Cuál es el porcentaje de disponibilidad?

¿Cuál el tiempo medio entre fallas?

20

(21)

De Desempeño

Autonomía del usuario

Independencia del software

Tiempo de atención al cliente

Facilidad de expansión

Independencia del hardware

(22)

Fórmulas…

Eficacia de la Eliminación De Defectos EED = E / (E + D)

Donde:

 E. Número de errores encontrados antes de la entrega al cliente

 D. Número de defectos encontrados después de la entrega

22

(23)

…Fórmulas

Capacidad del Equipo de Desarrollo por Fase

CEDF = Ei / (Ei + Ei+1)

Donde:

 Ei. Número de errores encontrados en la fase iesima

 Ei + 1. Número de errores encontrados en la fase i + 1

23

(24)

Otras Métricas:

 Cantidad y tipo de requisitos o errores por proyecto

 Costo de corrección de errores

 Horas/Hombre totales, y por fase

 Uso de componentes estándares

 Duración del proyecto

24

(25)

Fórmulas…

Líneas de Código Fuente:

SLOC = PF * SLOC_Lenguaje Donde:

PF. Puntos de Función

SLOC_Lenguaje. Lineas promedio por FP (60 OO)

Comparar lo analizado y el tamaño del código final

25

(26)

ACTIVIDADES DE LA MEDICIÓN DE SI

26

Definición Definición

Recolección Recolección

Análisis Análisis Interpretación

Interpretación Realimentació

n

Realimentació n

(27)

EJEMPLO. Definición…

27

Una empresa desarrolladora de software tiene la siguiente meta

estratégica:

Reducir el costo de

mantenimiento en un 30% para el 3er trimestre del año

(28)

…EJEMPLO. Definición…

28

a. ¿Cuál es el gasto mensual por mantenimiento?

b. ¿Qué fracción de los costos de mantenimiento está siendo invertida en cada aplicación a la que se le brinda soporte?

c. ¿Cuál es el monto gastado en mantenimiento adaptativo, perfectivo y correctivo?

d. ¿En qué fase se detectan los errores?

(29)

…EJEMPLO. Definición

29

a. GastoMensualXmantto b. CostoMttoPorApp

Por app:

c. GastosAdaptación, GastosPerfección,GastosCorrección d. ErroresPorFase

Figure

Actualización...

Related subjects :