Vous êtes sur la page 1sur 56

Ingeniera de Software

Clase 10:
Mtricas del Software

Hugo R. Cordero S.
Clase 1
Objetivos
2

Comprender el clculo de la mtrica del punto de


funcin y de los factores de complejidad
Conocer otras mtricas aplicadas al Software
Temas
3

Mtricas basadas en la funcin


Factores de complejidad para los Puntos Funcin
Medicin y mtricas para el Software
Introduccin
4

Se aplica las mtricas para valorar la calidad de los


productos de ingeniera o los sistemas que se construyen
Proporcionan una manera sistemtica de valorar la
calidad basndose en un conjunto de reglas claramente
definidas
Se aplican a todo el ciclo de vida permitiendo descubrir
y corregir problemas potenciales
Mtricas basadas en la Funcin
5

La mtrica del punto de funcin (PF) se puede utilizar


como medio para predecir el tamao de un sistema
obtenido a partir de un modelo de Anlisis.
Al usar datos histricos, la mtrica PF puede entonces
usarse para:
Estimar el costo o esfuerzo requerido para disear, codificar y
probar el software
Predecir el nmero de errores que se encontrarn durante las
pruebas
Prever el nmero de componentes y/o lneas fuente
proyectadas
Mtricas basadas en la Funcin
6

Para visualizar esta mtrica se utiliza un diagrama de


flujo de datos, el cual se evala cada funcionalidad para
determinar las siguientes medidas clave que son
necesarias para el clculo:
Nmero de entradas del usuario
Nmero de salidas del usuario
Nmero de consultas del usuario
Nmero de archivos lgico internos
Nmero de interfaces externas
Sumando cada cantidad obtenida de cada funcionalidad
se obtiene la cuenta-total
Mtricas basadas en la Funcin
7

Parmetros de los puntos funcin:


Mtricas basadas en la Funcin
8
Mtricas basadas en la Funcin
9

La cuenta total debe ajustarse utilizando la siguiente


ecuacin:
PF = cuenta-total x (0,65 + 0,01 x Fi)
Donde Fi (i=1 a 14) son los "factores de complejidad".
No estn recogidos en la funcionalidad de la aplicacin
Toman un valor entre 0 y 5
Valor Significado del valor
0 Sin influencia, factor no presente
1 Influencia insignificante, muy baja
2 Influencia moderada o baja
3 Influencia media, normal
4 Influencia alta, significativa
5 Influencia muy alta, esencial
1. Comunicacin de Datos
10

Los datos usados en el sistema se envan o reciben


por lneas de comunicaciones
FC1: Comunicacin de datos
11

0: Sistema aislado del exterior


1: Batch, usa perifricos E o S remotos
2: Batch, usa perifricos E y S remotos
3: Captura de datos en lnea o teleproceso que pasa los
datos o sistema de consulta
4: Varios teleprocesos con mismo protocolo
5: Varios protocolos. Sistema Abierto y con interfaces de
todo tipo al exterior.
2. Proceso Distribuido
12

Existen Procesos o Datos distribuidos, y el control de


estos forma parte del sistema
FC2: Proceso distribuido
13

0: Sistema totalmente centralizado


1: Sistema realiza procesos en un equipo, salidas usadas va
software por otros equipos
2: Sistema captura, los trata en otro
3: Proceso distribuido, transacciones una sola direccin
4: idem, transferencia en ambas direcciones
5: procesos cooperantes ejecutndose en distintos equipos
3. Objetivos de Rendimiento
14

Si el rendimiento es un requisito
del sistema.
Es decir es crtico algn factor
como tiempo de respuesta o
cantidad de operaciones por
hora. Se tendr que hacer
consideraciones especiales
durante el diseo, codificacin y
mantenimiento
FC3: Objetivos de rendimiento
15

0: Rendimiento normal ( no se da nfasis )


1: Se indican requisitos, no medida especial.
2: Crtico en algunos momentos. Procesos acabados antes
de prxima sesin de trabajo.
3: Tiempo de respuesta es crtico.
4: ... en diseo hace anlisis de rendimiento en tiempo
respuesta o cantidad operaciones/hora
5: .. uso herramientas para alcanzar el rendimiento
demandado por el usuario
4. Configuracin de explotacin
16
usada por otros sistemas
El sistema tendr que ejecutarse
en un equipo en el que coexistir
con otros, compitiendo por los
recursos, teniendo que tenerse en
cuenta en las fase de diseo.

16
FC4: Conf. explotacin usada
17
intensamente por otros sistemas
0: No se indican restricciones
1: Existen las restricciones usuales
2: Caractersticas de seguridad o tiempos.
3: Restricciones en algn procesador
4: El software deber funcionar con restricciones de uso en
algn procesador.
5: Restricciones especiales para aplicacin en los
componentes distribuidos del sistema
5. Tasa de Transacciones
18

La tasa de transacciones
ser elevada. Se tendr
que hacer consideraciones
especiales durante el
diseo, codificacin e
instalacin.
FC5: Tasa de transacciones
19

0: No se prevn picos
1: Se prevn picos poco frecuentes (mensual)
2: Se prevn picos semanales
3: Se prevn horas punta, diarias
4: Tasa de transacciones tan elevada que en diseo se hace
anlisis de rendimiento
5: Anlisis de rendimiento en diseo, implementacin e
instalacin.
6. Entrada de datos en lnea
20

La entrada de datos ser


directa desde el usuario a
la aplicacin, de forma
interactiva.
0: Todo es Batch
5: Ms del 30% de las
entradas son en lnea

20
FC6: Entrada de datos en lnea
21

0: Todo es Batch
1: 1%<entradas interactivas <7%
2: 8%<entradas interactivas <15%
3: 16%<entradas interactivas <23%
4: 24%<entradas interactivas <30%
5: Entradas interactivas >30%
7. Eficiencia con el usuario final
22

Se demanda eficiencia
para el usuario en su
trabajo, es decir se tiene
que disear e implementar
la aplicacin con
interfaces fciles de usar y
con ayudas integradas.
7. Eficiencia con el usuario final
23

Mens
Uso de ratn
Ayudas "en lnea"
Movimiento automtico del cursor
Efectos de Scroll (papiro)
Teclas de funcin predefinidas
Lanzamiento de procesos Batch desde las transacciones
"en lnea"
7. Eficiencia con el usuario final
24

Seleccin mediante cursor de datos de la pantalla


Pantallas con muchos colores y efectos
Posibilidad de "hard-copy".
Ventanas de "pop-up"
Aplicacin bilinge (cuenta por cuatro)
Aplicacin Multilinge (mas de dos, cuenta por seis)
FC7: Eficiencia con el usuario final
25

0: No se da nfasis al tema
1: 1 a 3 de los factores
2: 4 a 5 de los factores
3: 6 o ms factores, sin requerir eficiencia
4: ... con requerimientos que implican estudio de los factores
humanos en el diseo
5: se demandan prototipos y herramientas para verificar
que se alcanzaran los objetivos
8. Actualizaciones en lnea
26

Los ficheros maestros y las Bases


de Datos son modificadas
directamente de forma
interactiva

26
FC8: Actualizaciones en lnea
27

0: No hay
1: De 1 a 3 ficheros con informacin de control. Cantidad
baja y ficheros recuperables
2: ... pero con 4 o ms ficheros de control
3: Actualizacin de ficheros importantes
4: ... esencial la proteccin ante prdidas
5: Gran cantidad de actualizaciones interactivas. Sistemas
de recuperacin muy automatizados
9. Lgica de proceso interno
28
compleja
La complejidad interna en un proceso esta
en funcin de las siguientes caractersticas:
Especificados algoritmos matemticos
complejos.
Proceso con lgica compleja.
Especificado muchas excepciones,
consecuencia de transacciones incompletas,
que debern tratarse.
Manejar mltiples dispositivos de
entrada/salida.
Se incorporaran sistemas de seguridad y
control.
FC9: Lgica de proceso interno
29
compleja
0: Ninguna de las caractersticas
1: 1 Caracterstica
2: 2 Caractersticas
...
5: Las 5 caractersticas
10. Reutilizacin del Cdigo
30

Se tendr que hacer consideraciones especiales durante


el diseo, codificacin y mantenimiento para que el
cdigo se reutilice en otras aplicaciones o lugares
Hablaremos de reutilizacin:
Dentro de la propia aplicacin
Por varios sistemas
Parametrizable
FC10: Reusabilidad del cdigo
31

0: No se prev
1: Reutilizar cdigo en la misma aplicacin
2: Menos de un 10% de la aplicacin tiene en cuenta
las necesidades de + de 1 usuario
3: El 10 % o ms ...
4: Aplicacin preparada para ser reutilizable. Nivel de
cdigo
5: Aplicacin preparada para ser reutilizable. Por
medio de parmetros
11. Contempla la Conversin e
32
Instalacin
Se proveern facilidades de conversin en el sistema, se
tendr que hacer consideraciones especiales durante el
diseo, codificacin y pruebas para que la conversin del
sistema antiguo sean fciles de realizar durante la puesta
en marcha del sistema nuevo.

Antiguo Nuevo
FC11: Contempla conversin e
33
instalacin
0: No se requiere conversin.
1: Se solicita facilidad de instalacin
2: Se solicitan procesos de conversin e instalacin, no
importantes para el proyecto
3: ... si son importantes
4: 2, y herramientas conversin e instalacin
5: 3, y herramientas conversin e instalacin. Sistema crtico
para la empresa
12. Facilidad de Operacin
34

Operacin del sistema: los trabajos asignados al centro


de proceso de datos.
Arranque, parada, recuperacin ante fallos, copias de
seguridad o minimizacin de las actividades manuales en el
CPD.
Se valora cuando ha sido descrita desde las primeras
fases dedicndose especial atencin durante el diseo,
codificacin y pruebas.
FC12: Facilidad de operacin
35

0: Nada, en todo caso, back-up


1 a 4: Suma de tems
Arranque, back-up y recuperacin
Idem, sin intervencin operador ( X2 )
Minimizar necesidad de disp. externos almacenamiento
Minimiza necesidad de manejar papel
5: Sistema automtico sin intervencin humana
13. Instalaciones mltiples
36

El sistema ha de incluir los requerimientos de diversas


empresas o departamentos en donde se ejecutara (incluso
plataformas). Estas caractersticas se estarn presentes
durante el diseo, codificacin y pruebas.
FC13: Instalaciones mltiples
37

0: 1 solo lugar
1: Mltiples lugares, mismo Hw y Sw
2: En diseo se tiene en cuenta el caso (1)
3: En diseo se tiene en cuenta mltiples entornos Hw y Sw
4: Se documenta y planea para (1) y (2)
5: Idem, para (3)
14. Facilidad de Cambios
38

Se tendr que hacer


consideraciones especiales
durante el diseo,
codificacin y
mantenimiento para que
en el sistema sea fcil de
introducir cambios y fcil
de adaptar al usuario.

38
FC14: Facilidad de cambios
39

Items a tener en cuenta:


Consultas flexibles del usuario:
Simples con condiciones. lgicas And/Or que implican un nico
fichero lgico
Medias con cond. lgicas sobre ms de 1 F.L. (X2)
Complejas con condiciones lgicas complejas que afectan a varios
F.L. (X3)
Parmetros de la aplicacin con tablas ajenas al cdigo:
El cambio se hace efectivo al arrancar el sistema
El cambio es interactivo (X2)
FC14: Facilidad de cambios
40

0: No se especifica nada
1: Un tem de valor 1
2: Items por valor 2
3: ...
5: Items por valor 5
Ejemplo del clculo de PF
41

Factor de ponderacin

Parmetro de medicin Cuenta Simple Media Compl.

Nmero de entradas del usuario 3 X 3 4 6 = 9

Nmero de salidas del usuario 2 X 4 5 7 = 8

Nmero de consultas del usuario 2 X 3 4 6 = 6

Nmero de archivos 1 X 7 10 15 = 7

Nmero de interfaces externas 4 X 5 7 10 = 20

Cuenta total 50

Figura Clculo de puntos de funcin


Ejemplo del clculo de PF
42

Para el ejemplo descrito en la figura anterior se asume


que la Fi es 46 (un producto moderadamente
complejo), por consiguiente:

PF = 50 x (0,65 + 0,01 x 46) = 56

El coste de desarrollo de software por cada punto


funcin vara dependiendo de la tecnologa utilizada, el
tamao del proyecto, los requisitos de calidad exigidos y
otros parmetros. La media general de todos los
proyectos est en 11.50 horas-hombre por punto-funcin.
Mtricas del modelo de Diseo
43

La gran irona de las mtricas de diseo para el


software es que las mismas estn disponibles, pero la
gran mayora de los desarrolladores de software
continan sin saber que existen
No son perfectas y contina el debate sobre su eficacia
y como deberan aplicarse
Algunos expertos sealan que es necesario mayor
experimentacin hasta que se puedan emplear
adecuadamente. Sin embargo el diseo sin medicin es
una alternativa inaceptable
Mtricas de diseo de Alto Nivel
44

Se concentran en las caractersticas de la arquitectura


del programa, con nfasis en la estructura arquitectnica
y en la eficiencia de los mdulos.
Estas mtricas son de caja negra en el sentido que no
requieren ningn conocimiento del trabajo interno de un
mdulo en particular del sistema.
Mtricas del Cdigo Fuente
45

La teora de la ciencia del software propuesta por


Halstead es probablemente la medida de complejidad
mejor conocida y minuciosamente estudiada. La ciencia
del software propuso la primera ley analtica y
cuantitativa para el software de computadora.
Utiliza un conjunto de medidas primitivas que pueden
obtenerse una vez que se han generado o estimado el
cdigo despus de completar el diseo.
Mtricas del Cdigo Fuente
46

Estas medidas son:


n1: nmero de operadores diferentes que aparecen en le
programa
n2: nmero de operandos diferentes que aparecen en el
programa
N1: nmero total de veces que aparece el operador
N2: nmero total de veces que aparecen el operando
Mtricas para las Pruebas
47

La mayora de las mtricas para pruebas se concentran


en el proceso de prueba, no en las caractersticas
tcnicas de las pruebas mismas.
En general, los responsables de las pruebas deben fiarse
en las mtricas de anlisis, diseo y cdigo para que
sirvan de gua en el diseo y ejecucin de los casos de
prueba.
El esfuerzo de las pruebas tambin se puede estimar
utilizando mtricas obtenidas de las medidas de
Halstead.
Medicin y mtricas de Software
48

La medicin del software se refiere a derivar a un valor


numrico para algn atributo de un producto de software
o un proceso de software.
Comparando estos valores entre ellos y con los estndares
aplicados en la organizacin, es posible sacar conclusiones
de la calidad del software o de los procesos del software.
Sin embargo , an es poco comn la utilizacin de medidas
y mtricas sistemticas de software. La reticencia al uso es
debido a que los beneficios no son claros.
Mtricas para predecir la calidad
49

A menudo es imposible medir los atributos de calidad del


software en forma directa.
Los atributos como la complejidad , la mantenibilidad y
la comprensin se ven afectados por diversos factores y
no existen mtricas directas para ellos.
Ms bien es necesario medir un atributo interno del
software ( como el tamao) y suponer que existe una
relacin entre lo que se puede medir y lo que se quiere
saber.
De forma ideal , existe una relacin clara vlida entre
los atributos de software internos y externos.
Relacin entre los atributos
50
externos e internos

Nmero de parmetros
del procedimiento
Mantenibilidad

Complejidad ciclomtica
Fiabilidad
Tamao del programa
Portabilidad en lneas de cdigo

Nmero de mensajes de
Usabilidad error

Extensin del manual


de usuario
Mtricas del Producto
51

Se refiere a las caractersticas del software.


En general las organizaciones construyen sus bases de
datos histricas para relacionar las mediciones obtenidas.
Se dividen en dos clases:
Mtricas dinmicas recolectadas por las mediciones hechas
en un programa en ejecucin.
Las mtricas estticas recolectadas por las mediciones
hechas en las representaciones del sistema como el diseo,
el programa o la documentacin.
Mtricas del Producto
52

Estas diferentes mtricas estn relacionadas con diversos


atributos de calidad.
Las mtricas dinmicas ayudan a valorar la eficiencia y
la fiabilidad de un programa mientras que las mtricas
estticas ayudan a valorar la complejidad, la
comprensin y la mantenibilidad de un sistema de
software.
Las mtricas estticas , por otro lado, tienen una relacin
indirecta con los atributos de calidad.
Las mtricas especficas relevantes dependen del
proyecto, de las metas del equipo de administracin de
la calidad y del tipo de software a desarrollar.
Mtricas del Proceso
53

Son datos cuantitativos de los procesos del software.


Se utilizan para evaluar si la eficiencia de un proceso ha
mejorado. Por ejemplo se puede medir el esfuerzo y
tiempo dedicado a las pruebas. Las mejoras efectivas
para los procesos de prueba reducen el esfuerzo , el
tiempo de prueba o ambos.
Se pueden recolectar tres clases de
54
mtricas del proceso:
1. El tiempo requerido para completar un proceso particular:
Tiempo total dedicado al proceso, el tiempo de calendario, el
tiempo invertido en el proceso por ingenieros particulares, etc.
2. Los recursos requeridos para un proceso en particular:
Los recursos pueden ser el esfuerzo total en personas-das, los
costos de viajes, los recursos de cmputo, etc. .
3. El nmero de ocurrencias de un evento en particular:
Ejemplos de eventos que se pueden supervisar son el nmero
de defectos descubiertos durante la inspeccin del cdigo, el
nmero de peticiones de cambios en los requerimientos, el
nmero promedio de lneas de cdigo modificadas, etc.
Preguntas?
55

Cules son los factores de complejidad ms


importantes?
Referencias
56

Ingeniera de Software: Un enfoque prctico (7ma edicin)


Roger S. Pressman
Captulo 23: Mtricas del producto
Captulo 25: Mtricas de proceso y de proyecto

Vous aimerez peut-être aussi