Vous êtes sur la page 1sur 77

MTRICAS DEL SOFTWARE:

Conceptos bsicos, definicin y


formalizacin

Calidad de Sistemas de Informacin
4 de Mayo de 2005

Dra. Coral Calero Muoz
Departamento de Informtica
Universidad de Castilla-La Mancha
2
CONTENIDOS

Introduccin
Formalizacin de mtricas
Medicin en IS
La ISO9126
Conclusiones
3


Cmo saber cual es mayor?
8,05 cm
Introduccin
4
Las mtricas son un buen medio para entender,
monitorizar, controlar, predecir y probar el
desarrollo software y los proyectos de
mantenimiento (Briand et al., 1996)
En general, la medicin persigue tres objetivos
fundamentales: ayudarnos a entender qu ocurre
durante el desarrollo y el mantenimiento,
permitirnos controlar qu es lo que ocurre en
nuestros proyectos y poder mejorar nuestros
procesos y nuestros productos (Fenton y Pfleeger,
1997).
INTRODUCCIN
5
Las mtricas del software es un trmino que se
asigna a un amplio rango de actividades diversas,
por ejemplo:
medidas y modelos de estimacin de coste y esfuerzo
modelos y medidas de productividad
aseguramiento y control de calidad.
recogida de datos
medidas y modelos de calidad
modelos de fiabilidad
modelos y evaluacin de ejecucin
complejidad computacional o algortmica.
mtricas estructurales o de complejidad

INTRODUCCIN
6
En software hay tres clases de entidades cuyos atributos
podemos querer medir:
Procesos: Son actividades software que normalmente conllevan el factor
tiempo. Atributos internos interesantes: el tiempo (duracin del proceso), el
esfuerzo (asociado al proceso) y el nmero de incidentes de un tipo especfico
que se dan durante el proceso (por ejemplo el nmero de errores de requisitos
encontrados durante la construccin de la especificacin).
Productos: son entregables, artefactos o documentos generados en el ciclo de
vida del software. Ejemplos de atributos externos: la fiabilidad del cdigo, la
entendibilidad de un documento de especificacin, la mantenibilidad del
cdigo fuente e.t.c., ejemplos de atributos internos: la longitud, funcionalidad,
modularidad o correcin sintctica de los documentos de especidicacin.
Recursos: son todos aquellos elementos que hacen de entrada a la produccin
software. Por ejemplo el personal, los materiales, las herramientas y los
mtodos. Un atributo interesante es el coste. En el caso del personal, adems
del coste, se suele medir la productividad.
INTRODUCCIN
7
ltimamente ha aparecido un gran nmero de
mtricas para capturar atributos del software de
una forma cuantitativa.
Sin embargo, muy pocas mtricas han sobrevivido
a la fase de definicin y se usan en la industria.
Esto se debe a mltiples problemas, entre ellos:
Las mtricas no se definen siempre en un contexto en el
que el objetivo de inters industrial que se pretende
alcanzar
Incluso si el objetivo es explcito, las hiptesis
experimentales a menudo no se hacen explcitas
INTRODUCCIN
8
Las definiciones de mtricas no siempre tienen en cuenta el
entorno o contexto en el que sern aplicadas
No siempre es posible realizar una validacin terica
adecuada de la mtrica porque el atributo que queremos
medir no siempre est bien definido
Un gran nmero de mtricas nunca se ha validado
empricamente
Esta situacin ha conducido frecuentemente a cierto
grado de ambigedad en las definiciones,
propiedades y asunciones de las mtricas, haciendo
que el uso de las mismas sea difcil, la interpretacin
peligrosa y los resultados contradictorios.
Para evitarlo es necesario contar con un mtodo de
definicin de mtricas y con una base para su
formalizacin
INTRODUCCIN
9
CONTENIDOS

Introduccin
Formalizacin de mtricas
Medicin en IS
La ISO9126
Conclusiones
10
La medicin de software es una disciplina
relativamente joven, y no existe consenso
general sobre la definicin exacta de los
conceptos y terminologa que maneja.
Creacin de una ontologa entre:
Universidad de Castilla-La Mancha
Universidad de Mlaga
Universidad Nacional de La Pampa
Universidad Politcnica de Catalua
Universidad Politcnica de Valencia

FORMALIZACIN DE MTRICAS
11
Qu es una ontologa? (Gruber, 1995)
Una ontologa es una especificacin de una
conceptualizacin
En otras palabras:
Mediante la definicin de ontologas se
pretende reunir y formalizar el conocimiento
sobre un determinado dominio de problema.
Se mejora el entendimiento y la comunicacin
mediante el establecimiento de vocabularios
comunes, lo que facilita la reutilizacin y la
interoperabilidad de los sistemas software.
FORMALIZACIN DE MTRICAS
12
La propuesta aqu presentada est basada en
cuatro conceptos fundamentales:
la forma de medir;
la accin de medir (denominada medicin);
el resultado de la medicin (denominada
medida); y
el concepto de mtrica (definido como una
forma de medir + una escala)
FORMALIZACIN DE MTRICAS
13
Ontologa de la medicin
FORMALIZACIN DE MTRICAS
14
Software Measurement
Ontology
Characterization
and Objectives
Software Metrics
Measurement
Approaches
Characterization
and Objectives
Software Metrics
Measurement Action
Measurement
Approaches
Measurement Action
FORMALIZACIN DE MTRICAS
15
Entidad 0..* 0..*
sub-Entidad
Categora de Entidad
0..*
1..*
0..*
1..*
pertenece a
0..*
0..*
0..*
incluye
0..*
Atributo
1..* 1 1..* 1
tiene
Modelo de Calidad
clase
*
1
*
1
definido para
Necesidad de Informacin
Concepto Medible
1..*
1..*
1..*
1..*
relaciona
1..* 1..* 1..* 1..*
evala
1..*
1
1..*
1
se corresponde con
0..*
0..*
0..*
sub-Concepto Medible
0..*
Software Measurement
Ontology
Characterization
and Objectives
Software Metrics
Measurement
Approaches
Characterization
and Objectives
Software Metrics
Measurement Action
Measurement
Approaches
Measurement Action
FORMALIZACIN DE MTRICAS
16
Necesidad de informacin
Definicin
Informacin necesaria para gestionar un proyecto (sus objetivos, hitos,
riesgos y problemas).
Relaciones
Una necesidad de informacin se asocia a un concepto medible.
Una necesidad de informacin se satisface con uno o ms indicadores.
Ejemplos
Conocer el nivel de productividad de los programadores del proyecto en
comparacin con lo habitual en otros proyectos en la organizacin (ver
ejemplo desarrollado).
Determinar si los recursos del proyecto son adecuados para satisfacer sus
objetivos.
Evaluar el rendimiento de la actividad de codificacin.
Evaluar si un producto software satisface las expectativas del cliente.
FORMALIZACIN DE MTRICAS
17
Concepto medible
Definicin
Relacin abstracta entre atributos y necesidades de informacin
Relaciones
Un concepto medible se asocia a una o varias necesidades de informacin.
Un concepto medible puede incluir otros conceptos medibles.
Un concepto medible relaciona uno o ms atributos.
Un concepto medible est incluido en uno o ms modelos de calidad.
Ejemplos
Ratio de productividad de un equipo de desarrollo frente a un grado de
productividad objetivo.
Adecuacin de la tecnologa.
FORMALIZACIN DE MTRICAS
18
Modelo (de calidad)
Definicin
Un marco conceptual que especifica una serie de conceptos medibles y sus
relaciones, para una determinada categora de entidad.
Relaciones
Un modelo (de calidad) est definido para una determinada categora de
entidad.
Un modelo (de calidad) evala uno o varios conceptos medibles.
Ejemplos
Modelo de calidad para productos software de ISO 9126.
Factores de calidad de McCall [McCall 1977].
FORMALIZACIN DE MTRICAS
19
Categora de entidad
Definicin
Una coleccin de entidades caracterizadas por satisfacer un cierto
predicado comn.
Relaciones
Una categora de entidad puede incluir a una o varias categoras de
entidad, y puede estar incluida en una o varias categoras de
entidad.
Una categora de entidad tiene uno o varios atributos.
Una categora de entidad puede tener definidos varios modelos de
calidad.
Ejemplos
Programas, Programas en C, Componentes software,
Componentes COTS, Componentes software para
comunicaciones, etc.
Procesos, productos, servicios, proyectos, o recursos son ejemplos de
categoras de entidad.
FORMALIZACIN DE MTRICAS
20
Entidad
Definicin
Un objeto que va a ser caracterizado mediante una medicin de sus
atributos [ISO-15939]
Relaciones
Una entidad puede pertenecer a una o ms categoras de entidad.
Una medicin se realiza sobre los atributos de una entidad
Ejemplos
El programa holaMundo.c.
Notas
Una entidad puede ser un proceso, un producto, un servicio, un proyecto,
o un recurso concreto.
Una entidad puede ser fsica tangible (p.e. un ordenador) o abstracta
(p.e. un programa en C).
FORMALIZACIN DE MTRICAS
21
Atributo
Definicin
Una propiedad mensurable, fsica o abstracta, que comparten todas las
entidades de una categora de entidad.
Relaciones
Un atributo solo puede pertenecer a una categora de entidad.
Una medicin se realiza sobre los atributos de una entidad
Un atributo tiene definida cero, una o varias mtricas.
Un atributo est relacionado con uno o ms conceptos medibles.
Ejemplos
El atributo tamao de cdigo fuente, como atributo de la categora de
entidad programas en C va a ser diferente del atributo tamao de
cdigo fuente de la categora de entidad programa en Ada.
El tamao de un mdulo en C no es el mismo atributo (aunque tenga
el mismo nombre) que el tamao de un diagrama de clases UML.
Tamao de cdigo fuente, precio.
FORMALIZACIN DE MTRICAS
22
Software Measurement
Ontology
Characterization
and Objectives
Software Metrics
Measurement
Approaches
Characterization
and Objectives
Software Metrics
Measurement Action
Measurement
Approaches
Measurement Action
Tipo de Escala
Unidad
Atributo
(from Caracterizacin y Objetivos)
Escala
1
1..*
1
1..*
es de
Mtrica
0..1
1..*
0..1
1..*
expresada en
1..*
0..*
1..*
0..*
se define para
0..*
0..*
0..*
se transforma en
0..*
1
1..*
1
1..*
tiene
Mtrica Directa Mtrica Indirecta Indicador
FORMALIZACIN DE MTRICAS
23
Atributo
Definicin
Una propiedad mensurable, fsica o abstracta, que comparten todas las
entidades de una categora de entidad.
Relaciones
Un atributo solo puede pertenecer a una categora de entidad.
Una medicin se realiza sobre los atributos de una entidad
Un atributo tiene definida cero, una o varias mtricas.
Un atributo est relacionado con uno o ms conceptos medibles.
Ejemplos
El atributo tamao de cdigo fuente, como atributo de la categora de
entidad programas en C va a ser diferente del atributo tamao de
cdigo fuente de la categora de entidad programa en Ada.
El tamao de un mdulo en C no es el mismo atributo (aunque tenga
el mismo nombre) que el tamao de un diagrama de clases UML.
Tamao de cdigo fuente, precio.
FORMALIZACIN DE MTRICAS
24
Mtrica
Definicin
Una forma de medir (mtodo de medicin, funcin de clculo o modelo de
anlisis) y una escala, definidas para realizar mediciones de uno o
varios atributos .
Relaciones
Una mtrica est definida para uno o ms atributos
Dos mtricas pueden relacionarse mediante una funcin de
transformacin. El tipo de dicha funcin de transformacin va a
depender del tipo de escala de ambas mtricas.
Una mtrica puede expresarse en una unidad (slo para mtricas cuya
escala sea de tipo intervalo o ratio)
Ejemplos
La mtrica lneas de cdigo puede ser definida para realizar mediciones
del tamao de un mdulo en C y para realizar mediciones del
tamao de un programa en Ada.
FORMALIZACIN DE MTRICAS
25
Unidad
Definicin
Una cantidad particular, definida y adoptada por convencin, con la que
poder comparar otras cantidades de la misma clase para expresar sus
magnitudes respecto a esa cantidad particular [ISO-15939]
Relaciones
Una unidad sirve para expresar una o varias mtricas cuyo tipo de escala
sea intervalo o ratio.
Ejemplos
Kilmetros, metros, millas.
Lneas de cdigo, Pginas, Persona-mes,
Nmero de mdulos, Nmero de clases,...
Dlares, Pesetas, Horas, das, Meses, Aos,...
FORMALIZACIN DE MTRICAS
26
Escala
Definicin
Un conjunto de valores con propiedades definidas [ISO 14598-1]
Relaciones
Toda escala es de un cierto Tipo de Escala.
Ejemplos
Los valores que puede tomar la mtrica lenguaje de Programacin usado
en un proyecto: Pascal, C, Java (Nominal).
El nivel de madurez CMM: 1, 2, 3, 4, 5 (Ordinal).
El tamao de un cdigo software expresado en lneas de cdigo: Conjunto
de los nmeros naturales (Ratio).
La temperatura expresada en grados centgrados o grados Fahrenheit
(Intervalo).
FORMALIZACIN DE MTRICAS
27
Tipo de Escala
Definicin
Indica la naturaleza de la relacin entre los valores
de la escala [ISO 15939]
Relaciones
A un Tipo de Escala pertenecen una o ms Escalas.
Ejemplos
Nominal, Ordinal, Intervalo, Ratio y Absoluta
FORMALIZACIN DE MTRICAS
28
Mtrica directa
Definicin
Una mtrica de la cual se pueden realizar mediciones sin depender de
ninguna otra mtrica y cuya forma de medir es un mtodo de medicin.
Relaciones
La forma de medir una mtrica directa es un mtodo de medicin.
Una mtrica directa puede ser utilizada en funciones de clculo.
Ejemplos
LCF (lneas de cdigo fuente escritas).
HPD (horas-programador diarias).
CHP (coste por hora-programador, en unidades monetarias).
FORMALIZACIN DE MTRICAS
29
Mtrica indirecta
Definicin
Una mtrica cuya forma de medir es una funcin de clculo, es decir, las
mediciones de dicha mtrica utilizan las medidas obtenidas en
mediciones de otras mtricas directas o indirectas.
Relaciones
La forma de medir una mtrica indirecta es una funcin de clculo.
Una mtrica indirecta puede usarse en una funcin de clculo.
Ejemplos
HPT (horas-programador totales).
LCFH (lneas de cdigo fuente por hora de programador).
CTP (coste total actual del proyecto, en unidades monetarias).
CLCF (coste por lnea de cdigo fuente).
FORMALIZACIN DE MTRICAS
30
Indicador
Definicin
Una mtrica cuya forma de medir es un modelo de anlisis, es
decir, las mediciones de dicha mtrica utilizan las medidas
obtenidas en las mediciones de otras mtricas (directas,
indirectas o indicadores) junto con criterios de decisin.
Relaciones
Un indicador satisface necesidades de informacin.
Un indicador es definido por un modelo de anlisis.
Ejemplos
PROD (productividad de los programadores).
CAR (caresta del proyecto).
FORMALIZACIN DE MTRICAS
31
Software Measurement
Ontology
Characterization
and Objectives
Software Metrics
Measurement
Approaches
Characterization
and Objectives
Software Metrics
Measurement Action
Measurement
Approaches
Measurement Action
usa
Forma de Medir
(from Accin de Medir)
Mtrica Indirecta
(from Mtricas)
Funcin de Clculo
1
1..*
1
1..*
calculada con
0..*
0..*
0..*
0..*
usa
Mtrica Directa
(from Mtricas)
0..*
0..*
0..*
0..*
usa
Mtodo de Medicin
1
1..*
1
1..*
medida con
Instrumento de Medicin
1..*
0..*
1..*
0..*
asiste a
Necesidad de Informacin
(from Caracterizacin y Objetivos)
Indicador
(from Mtricas)
0..*
1..*
0..*
1..*
satisface
Criterio de Decisin
Modelo de Anlisis
1
1..*
1
1..*
definido por
1..*
1..*
1..*
1..*
utiliza
Mtrica
(from Mtricas)
0..*
1..*
0..*
1..*
FORMALIZACIN DE MTRICAS
32
Mtrica
Definicin
Una forma de medir (mtodo de medicin, funcin de clculo o modelo de
anlisis) y una escala, definidas para realizar mediciones de uno o
varios atributos .
Relaciones
Una mtrica est definida para uno o ms atributos
Dos mtricas pueden relacionarse mediante una funcin de
transformacin. El tipo de dicha funcin de transformacin va a
depender del tipo de escala de ambas mtricas.
Una mtrica puede expresarse en una unidad (slo para mtricas cuya
escala sea de tipo intervalo o ratio)
Ejemplos
La mtrica lneas de cdigo puede ser definida para realizar mediciones
del tamao de un mdulo en C y para realizar mediciones del
tamao de un programa en Ada.
FORMALIZACIN DE MTRICAS
33
Mtrica directa
Definicin
Una mtrica de la cual se pueden realizar mediciones sin depender de
ninguna otra mtrica y cuya forma de medir es un mtodo de medicin.
Relaciones
La forma de medir una mtrica directa es un mtodo de medicin.
Una mtrica directa puede ser utilizada en funciones de clculo.
Ejemplos
LCF (lneas de cdigo fuente escritas).
HPD (horas-programador diarias).
CHP (coste por hora-programador, en unidades monetarias).
FORMALIZACIN DE MTRICAS
34
Mtrica indirecta
Definicin
Una mtrica cuya forma de medir es una funcin de clculo, es decir, las
mediciones de dicha mtrica utilizan las medidas obtenidas en
mediciones de otras mtricas directas o indirectas.
Relaciones
La forma de medir una mtrica indirecta es una funcin de clculo.
Una mtrica indirecta puede usarse en una funcin de clculo.
Ejemplos
HPT (horas-programador totales).
LCFH (lneas de cdigo fuente por hora de programador).
CTP (coste total actual del proyecto, en unidades monetarias).
CLCF (coste por lnea de cdigo fuente).
FORMALIZACIN DE MTRICAS
35
Indicador
Definicin
Una mtrica cuya forma de medir es un modelo de anlisis, es
decir, las mediciones de dicha mtrica utilizan las medidas
obtenidas en las mediciones de otras mtricas (directas,
indirectas o indicadores) junto con criterios de decisin.
Relaciones
Un indicador satisface necesidades de informacin.
Un indicador es definido por un modelo de anlisis.
Ejemplos
PROD (productividad de los programadores).
CAR (caresta del proyecto).
FORMALIZACIN DE MTRICAS
36
Necesidad de informacin
Definicin
Informacin necesaria para gestionar un proyecto (sus objetivos, hitos,
riesgos y problemas).
Relaciones
Una necesidad de informacin se asocia a un concepto medible.
Una necesidad de informacin se satisface con uno o ms indicadores.
Ejemplos
Conocer el nivel de productividad de los programadores del proyecto en
comparacin con lo habitual en otros proyectos en la organizacin (ver
ejemplo desarrollado).
Determinar si los recursos del proyecto son adecuados para satisfacer sus
objetivos.
Evaluar el rendimiento de la actividad de codificacin.
Evaluar si un producto software satisface las expectativas del cliente.
FORMALIZACIN DE MTRICAS
37
Mtodo de medicin
Definicin
La forma de medir una mtrica directa. Secuencia lgica de operaciones,
descritas de forma genrica, usadas para realizar mediciones de un
atributo respecto de una escala especfica.
Relaciones
Un mtodo de medicin define una o ms mtricas directas.
Un mtodo de medicin puede usar Instrumentos de Medicin.
Ejemplos
Contar lneas de cdigo.
Anotar cada da las horas dedicadas por los programadores al proyecto.
Valorar el grado de dificultad de un problema.
FORMALIZACIN DE MTRICAS
38
Funcin de clculo
Definicin
La forma de medir una mtrica indirecta. Algoritmo o clculo realizado para
combinar dos o ms mtricas directas y/o indirectas.
Relaciones
Una funcin de clculo usa cero o ms mtricas directas.
Una funcin de clculo usa cero o ms mtricas indirectas.
Una funcin de clculo utiliza al menos una mtrica (sea directa o indirecta).
Una funcin de clculo define una o ms mtricas indirectas.
Ejemplos
Vanse los ejemplos descritos en la seccin 4.
LCFH = LCF / HPT [mtrica indirecta definida en base a 2 mtricas directas].
[mtrica indirecta definida en base a slo 1 mtrica directa].
CTP = CHP * HPT [mtrica indirecta definida en base a 2 mtricas, una directa y
otra indirecta].
FORMALIZACIN DE MTRICAS
39
Modelo de anlisis
Definicin
La forma de medir un indicador. Algoritmo o clculo realizado para combinar una
o ms mtricas (directas, indirectas o indicadores) con criterios de decisin
asociados.
Relaciones
Un modelo de anlisis define uno o ms indicadores.
Un modelo de anlisis utiliza uno o ms criterios de decisin.
Un modelo de anlisis usa una o ms mtricas.
Ejemplos
Vanse los ejemplos descritos en la seccin 4.
Modelo de Anlisis para obtener la mtrica PROD. Utiliza los valores de las
mtricas 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 histrica de proyectos de la organizacin 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%)
FORMALIZACIN DE MTRICAS
40
Instrumento de medicin
Definicin
Instrumento que asiste o es til a un mtodo de medicin.
Relaciones
Un instrumento de medicin asiste a uno o ms mtodos de
medicin.
Ejemplos
Un reloj es un instrumento de medicin que asiste al mtodo
de medicin contar el paso del tiempo.
Una herramienta CASE que sirva para contar lneas de cdigo
es un instrumento de medicin que asiste al mtodo de
medicin contar lneas de cdigo.
FORMALIZACIN DE MTRICAS
41
Forma de medir
Definicin
Conjunto de operaciones cuyo objeto es determinar el valor
de una medida. Una forma de medir puede ser un mtodo
de medicin, funcin de clculo o modelo de anlisis.
Relaciones
Una forma de medir es ejecutada en cada medicin,
dependiendo de la mtrica que calcula.
Ejemplos
Vase los ejemplos de mtodo de medicin, funcin de
clculo o modelo de anlisis, ya que la forma de medir es
una generalizacin de ellos.
FORMALIZACIN DE MTRICAS
42
Criterio de decisin
Definicin
Valores umbrales, objetivos, o patrones, usados para determinar la
necesidad de una accin o investigacin posterior, o para describir el
nivel de confianza de un resultado dado.
Relaciones
Un criterio de decisin es utilizado en uno o ms modelos de anlisis.
Ejemplos
Vase los ejemplo descritos en la seccin 4.
LCFH/LCFHvm < 070 => PROD=muy baja.
070 LCFH/LCFHvm < 090 => PROD=baja.
090 LCFH/LCFHvm < 110 => PROD=normal.
110 LCFH/LCFHvm < 130 => PROD=alta.
130 LCFH/LCFHvm => PROD=muy alta.
FORMALIZACIN DE MTRICAS
43
Software Measurement
Ontology
Characterization
and Objectives
Software Metrics
Measurement
Approaches
Characterization
and Objectives
Software Metrics
Measurement Action
Measurement
Approaches
Measurement Action
Forma de Medir
Mtrica
(from Mtricas)
Medida
valor
Entidad
(from Caracterizacin y Objetivos)
Atributo
(from Caracterizacin y Objetivos)
Medicin
instanteTemporal
*
1
*
1
ejecuta
1
*
1
*
usa
1
1
1
1
produce
1
*
1
*
se realiza sobre
1
*
1
*
se realiza sobre
FORMALIZACIN DE MTRICAS
44
Entidad
Definicin
Un objeto que va a ser caracterizado mediante una medicin de sus
atributos [ISO-15939]
Relaciones
Una entidad puede pertenecer a una o ms categoras de entidad.
Una medicin se realiza sobre los atributos de una entidad
Ejemplos
El programa holaMundo.c.
Notas
Una entidad puede ser un proceso, un producto, un servicio, un proyecto,
o un recurso concreto.
Una entidad puede ser fsica tangible (p.e. un ordenador) o abstracta
(p.e. un programa en C).
FORMALIZACIN DE MTRICAS
45
Atributo
Definicin
Una propiedad mensurable, fsica o abstracta, que comparten todas las
entidades de una categora de entidad.
Relaciones
Un atributo solo puede pertenecer a una categora de entidad.
Una medicin se realiza sobre los atributos de una entidad
Un atributo tiene definida cero, una o varias mtricas.
Un atributo est relacionado con uno o ms conceptos medibles.
Ejemplos
El atributo tamao de cdigo fuente, como atributo de la categora de
entidad programas en C va a ser diferente del atributo tamao de
cdigo fuente de la categora de entidad programa en Ada.
El tamao de un mdulo en C no es el mismo atributo (aunque tenga
el mismo nombre) que el tamao de un diagrama de clases UML.
Tamao de cdigo fuente, precio.
FORMALIZACIN DE MTRICAS
46
Forma de medir
Definicin
Conjunto de operaciones cuyo objeto es determinar el valor
de una medida. Una forma de medir puede ser un mtodo
de medicin, funcin de clculo o modelo de anlisis.
Relaciones
Una forma de medir es ejecutada en cada medicin,
dependiendo de la mtrica que calcula.
Ejemplos
Vase los ejemplos de mtodo de medicin, funcin de
clculo o modelo de anlisis, ya que la forma de medir es
una generalizacin de ellos.
FORMALIZACIN DE MTRICAS
47
Medicin (Accin de medir)
Definicin
La accin que permite obtener el valor de una medida para un atributo de
una entidad, usando una forma de medir.
Relaciones
Cada medicin produce una medida.
Una medicin usa una mtrica, la cual debe estar definida para el atributo
objeto de la medicin.
Una medicin es llevada a cabo usando una forma de medir. Esta forma de
medir es la que define la mtrica usada en la medicin.
Una medicin se realiza para un atributo de una entidad. El atributo ha de
estar definido para la categora a la que pertenece dicha entidad.
Ejemplos
Accin consistente en usar la forma de medir contar el nmero de lneas
de cdigo para obtener la medida del atributo tamao de la entidad
mdulo nominas.c.
FORMALIZACIN DE MTRICAS
48
Mtrica
Definicin
Una forma de medir (mtodo de medicin, funcin de clculo o modelo de
anlisis) y una escala, definidas para realizar mediciones de uno o
varios atributos .
Relaciones
Una mtrica est definida para uno o ms atributos
Dos mtricas pueden relacionarse mediante una funcin de
transformacin. El tipo de dicha funcin de transformacin va a
depender del tipo de escala de ambas mtricas.
Una mtrica puede expresarse en una unidad (slo para mtricas cuya
escala sea de tipo intervalo o ratio)
Ejemplos
La mtrica lneas de cdigo puede ser definida para realizar mediciones
del tamao de un mdulo en C y para realizar mediciones del
tamao de un programa en Ada.
FORMALIZACIN DE MTRICAS
49
Medida
Definicin
Resultado de una medicin.
Relaciones
Una medida es el resultado de una medicin
Ejemplos
35.000 lneas de cdigo, 200 pginas, 50 clases.
5 meses desde el comienzo al fin del proyecto.
0,5 fallos por cada 1.000 lneas de cdigo.
FORMALIZACIN DE MTRICAS
50
Ontologa de la medicin
FORMALIZACIN DE MTRICAS
51
Ejemplo
Supongamos una organizacin que lleva a cabo
un proyecto de desarrollo de un software X. En
un determinado momento el responsable del
proyecto necesita saber si la productividad es
adecuada, es decir:

La necesidad de informacin es conocer el nivel de
productividad de los programadores del proyecto en
comparacin con lo habitual en otros proyectos en la
organizacin.
FORMALIZACIN DE MTRICAS
52
Las mtricas a utilizar podran ser:
Directas:
LCF (lneas de cdigo fuente escritas). El mtodo de
medicin es contar las lneas utilizando como instrumento
una herramienta CASE.
HPD (horas-programador diarias). El mtodo de medicin
es que el responsable del proyecto anota cada da las horas
dedicadas por los programadores al proyecto.
CHP (coste por hora-programador, en unidades
monetarias). El mtodo de medicin es consultar el plan
del proyecto, donde se tuvo que indicar este valor, previa
consulta a un responsable de personal.
FORMALIZACIN DE MTRICAS
53
Indirectas:
HPT (horas-programador totales). La funcin de clculo es un
sumatorio de las HPD de cada da: [mtrica indirecta definida en
base a slo 1 mtrica directa].
LCFH (lneas de cdigo fuente por hora de programador). La
funcin de clculo es una simple divisin: LCFH = LCF / HPT
[mtrica indirecta definida en base a 2 mtricas directas].
CTP (coste total actual del proyecto, en unidades monetarias). La
funcin de clculo establece que el CTP es el producto del coste
unitario de cada hora por el total de horas empleadas: CTP = CHP
* HPT [mtrica indirecta definida en base a 2 mtricas, una directa
y otra indirecta].
CLCF (coste por lnea de cdigo fuente). CLCF = LCF/CTP.
FORMALIZACIN DE MTRICAS
54
Indicadores:
PROD (productividad de los programadores). El
modelo de anlisis utiliza los valores de las mtricas
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
histrica de proyectos de la organizacin 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 decisin
establecidos son:
LCFH/LCFHvm < 070 => PROD=muy baja.
070 LCFH/LCFHvm < 090 => PROD=baja.
090 LCFH/LCFHvm < 110 => PROD=normal.
110 LCFH/LCFHvm < 130 => PROD=alta.
130 LCFH/LCFHvm => PROD=muy alta.
FORMALIZACIN DE MTRICAS
55
CONTENIDOS

Introduccin
Formalizacin de mtricas
Medicin en IS
Conclusiones
56
Ingeniera del Software:
Coleccin de tcnicas utilizadas cuando se aplica una
aproximacin ingenieril a la construccin de productos
software.
Con aproximacin ingenieril queremos decir gestionar,
presupuestar, planificar, modelar, analizar, disear,
implementar, testear y mantener.
Estas actividades junto con las herramientas y
tcnicas para integrarlas se han visto como la
solucin a la llamada crisis del software:
poca calidad, sistemas entregados tarde o con el
presupuesto sobrepasado.
MEDICIN EN IS
57
Las disciplinas ingenieriles necesitan mtodos
desarrollados en base a modelos y teoras.
Cuando diseamos circuitos elctricos usamos teoras como la Ley
de Ohm que describe la relacin entre resistencia, intensidad y
voltaje en un circuito.
Estas teoras han evolucionado teniendo la medicin como
base, tambin usamos la medicin para poder aplicarlas.
Por lo tanto, para poder construir un circuito con una
intensidad y corriente especficas, sabemos qu voltaje se
requiere y tenemos los instrumentos que nos permiten
medir si tenemos ese voltaje en una pila dada.
Sera difcil imaginar cmo las disciplinas de Ingeniera
Elctrica o Mecnica podran haber evolucionado sin la
medicin con un papel principal.
MEDICIN EN IS
58
Sin embargo, la medicin ha sido completamente ignorada
dentro de la Ingeniera del Software:
Todava fallamos en dar objetivos medibles cuando desarrollamos
productos software. Por ejemplo, se dice que ser amigable, fiable
y mantenible, sin especificar qu significa esto en trminos
medibles.
Fallamos al medir diferentes componentes que permiten calcular
los costes reales de los proyectos software. Por ejemplo,
normalmente no sabemos cunto tiempo fue realmente invertido en
el diseo, comparado con el testeo.
No intentamos cuantificar la calidad de los productos que
producimos. Estos, por ejemplo, significa que no podemos decir a
un usuario cmo de fiable va a ser un producto en trminos de
fallos en un periodo dado de uso.
Todava nos basamos en evidencias anecdticas para convencernos
de comprobar otra nueva tecnologa o herramienta de desarrollo
revolucionaria.

MEDICIN EN IS
59
Solemos ver informes que hacen afirmaciones como que el
80% de los costes del software son de mantenimiento o
que hay una media de 55 errores en cada 1.000 lneas de
cdigo.
Sin embargo, no se dice cmo se obtuvieron esos
resultados, cmo se disearon y ejecutaron los
experimentos, qu entidades fueron medidas y cmo y
cuales fueron los mrgenes de error, sin estos datos no
podemos repetir las mediciones de forma objetiva en
nuestros entornos para tener comparaciones con los
estndares de la industria.
Todos estos problemas derivados de una medicin
insuficiente se agravan por una falta de aproximacin
rigurosa a la medicin.
MEDICIN EN IS
60
Como ya hemos dicho, se dice que la
produccin software est en crisis, tiene
costes excesivos, baja productividad y poca
calidad.
En resumen, la produccin software est
generalmente fuera de control y se ha
llegado a sugerir que esto es debido a que
no medimos.
MEDICIN EN IS
61
Las actividades de medicin deben tener objetivos
claros, que sern los que determinarn los tipos de
entidades o atributos que deben ser medidos, los
objetivos variarn de acuerdo con el tipo de
personal involucrado en los diferentes niveles de
desarrollo y uso del software.
A continuacin vamos a dar una lista de diferentes
cosas que se necesita medir para alcanzar
diferentes objetivos.
Adems se van a presentar desde el punto de vista
de los gestores y los ingenieros.
MEDICIN EN IS
62
Gestores:
Necesitan medir el coste de los diferentes procesos de la
produccin software.
Necesitan medir la productividad de la plantilla para
determinar los pagos.
Necesitan medir la calidad de los productos software para
poder comprobar diferentes proyectos.
Necesitan definir objetivos medibles para los proyectos.
Por ejemplo, cmo de fiable debe ser el sistema final.
Necesitan medir repetidamente atributos de recursos y
procesos con el fin de determinar los factores que afectan
al coste y a la productividad.
Necesitan evaluar la eficacia de diferentes mtodos y
herramientas para determinar si sera til incorporarlos a la
compaa.
MEDICIN EN IS
63
Ingenieros:
Necesitan monitorizar la calidad de la evolucin de los sistemas a
travs de la medicin de los procesos. Esto incluye los cambios hechos
durante el diseo o los errores detectados durante diferentes fases de
testeo.
Necesitan especificar requisitos de calidad y realizacin en trminos
medibles estrictamente. De forma que estos requisitos sean testeables.
Por ejemplo, el requisito de que un sistema sea fiable debe ser
sustituido por: el tiempo medio hasta un fallo debe ser mayor de 15
horas de CPU.
Necesita medir atributos de proceso y producto para certificacin. Por
ejemplo, la certificacin puede requerir propiedades medibles del
producto, como menos de 20 errores detectados por cada sitio de beta-
testeo o, no habr mdulos con ms de 100 lneas.
Necesita medir atributos de productos existentes o procesos reales para
hacer predicciones sobre futuros productos y procesos.
MEDICIN EN IS
64
Por tanto, tenemos mediciones utilizadas:
Por un lado para la evaluacin
Por otro para predecir caractersticas importantes de los
proyectos.
Alcance de las mtricas del Software
medidas y modelos de estimacin de coste y esfuerzo
modelos y medidas de productividad
recogida de datos
medidas y modelos de calidad
modelos de fiabilidad
complejidad computacional o algortmica.
mtricas estructurales o de complejidad
MEDICIN EN IS
65
CONTENIDOS

Introduccin
Formalizacin de mtricas
Medicin en IS
La ISO9126
Conclusiones
66
Este estndar est pensado para los desarrolladores,
adquirentes, personal de aseguramiento de calidad y
evaluadores independientes, responsables de especificar y
evaluar la calidad del producto software.
Por tanto, puede servir para validar la completitud de una
definicin de requisitos, identificar requisitos de calidad de
software, objetivos de diseo y prueba, criterios de
aseguramiento de la calidad, etc.
La calidad de cualquier proceso del ciclo de vida del
software (estndar ISO 12.207) influye en la calidad del
producto software que, a su vez, contribuye a mejorar la
calidad en el uso del producto.
La calidad del software puede evaluarse midiendo los
atributos internos (medidas estticas o productos
intermedios) o atributos externos (comportamiento del
cdigo cuando se ejecuta).
ISO 9126
67
ISO 9126
CALIDAD DEL
PROCESO
CALIDAD DEL
PROCESO
CALIDAD
INTERNA
CALIDAD
INTERNA
CALIDAD
EXTERNA
CALIDAD
EXTERNA
CALIDAD
EN USO
CALIDAD
EN USO
9
1
2
6
-
1
9126-3
9126-2
9126-4
68
CALIDAD
Usabilidad
Eficiencia
Fiabilidad
Mantenibilidad
Funcionalidad
Transportabilidad
ISO 9126
ISO 9126
69
Funcionalidad: capacidad del producto software para
proporcionar funciones que satisfagan las necesidades
especificadas e implcitas.
Fiabilidad: capacidad del producto software para mantener un
nivel especificado de rendimiento.
Usabilidad: la capacidad del producto software de ser entendido,
aprendido, utilizado y atractivo al usuario.
Eficiencia: la capacidad del producto software para proporcionar
el rendimiento apropiado, relativo a la cantidad de recursos
utilizados.
Mantenibilidad: la capacidad del producto software para ser
modificado. Las modificaciones pueden incluir correcciones,
mejoras o adaptacin del software a cambios en el entorno, en los
requisitos o en las especificaciones funcionales.
Portabilidad: la capacidad del producto software de ser
transferido de un entorno a otro.
ISO 9126
70
La funcionalidad se subdivide en cinco subcaractersticas:
Adecuacin: la capacidad del producto software para
proporcionar un conjunto apropiado de funciones para
tareas especficas y objetivos de los usuarios.
Exactitud: la capacidad del producto software para
proporcionar los resultados o efectos correctos y con el
grado de precisin acordado.
Interoperabilidad: la capacidad del producto software para
interactuar con uno o ms sistemas especificados.
Seguridad: referido a la capacidad del producto software
para proteger la informacin y los datos.
Conformidad: la capacidad del producto software para
adaptarse a los estndares, convenciones o regulaciones en
leyes y prescripciones relativos a la funcionalidad.
ISO 9126
71
La fiabilidad se subdivide en cuatro subcaractersticas:
Madurez: la capacidad del producto software para evitar
fallos provocados por errores en el software.
Tolerancia a fallos: la capacidad del producto software
para mantener un nivel de rendimiento determinado en
caso de defectos en el software o incumplimiento de su
interfaz.
Recuperabilidad: la capacidad del producto software para
restablecer un determinado nivel de rendimiento y
recuperar los datos afectados directamente en caso de
ocurrir un fallo.
Conformidad: la capacidad del producto software para
adaptarse a estndares, convenciones y regulaciones
referidas a la fiabilidad.
ISO 9126
72
La usabilidad se subdivide en cinco subcaractersticas:
Comprensibilidad: la capacidad del producto software para
permitir al usuario que entienda si el software es adecuado,
y como debe utilizarse para determinadas tareas y bajo
ciertas condiciones de uso.
Facilidad de aprendizaje: la capacidad del producto
software para permitir al usuario aprender su aplicacin.
Operabilidad: la capacidad del producto software para
permitir que el usuario lo opere y lo controle.
Atraccin: la capacidad del producto software para atraer
al usuario.
Conformidad: la capacidad del producto software para
adaptarse a estndares, convenciones, guas de estilo y
regulaciones relacionadas con la usabilidad.
ISO 9126
73
La eficiencia se subdivide en tres subcaractersticas:
Comportamiento temporal: la capacidad del
producto software para proporcionar tiempos de
respuesta y de procesamiento apropiados cuando
realiza sus funciones bajo condiciones
determinadas.
Utilizacin de recursos: la capacidad del producto
software para utilizar cantidades y tipos de
recursos apropiados cuando el software realiza su
funcin bajo determinadas condiciones.
Conformidad: la capacidad del producto software
para adaptarse a estndares o convenciones
relacionadas con la eficiencia.
ISO 9126
74
La mantenibilidad se subdivide en cinco subcaractersticas:
Analizabilidad: Capacidad del producto software de
diagnosticar sus deficiencias o causas de fallos, o de
identificar las partes que deben ser modificadas.
Cambiabilidad: Capacidad del producto software de
permitir implementar una modificacin especificada. La
implementacin incluye los cambios en el diseo, el
cdigo y la documentacin.
Estabilidad: Capacidad del producto software de evitar los
efectos inesperados de las modificaciones.
Facilidad de prueba: Capacidad del producto software de
permitir validar las partes modificadas.
Conformidad: Capacidad del producto software de cumplir
los estndares o convenciones relativas a la
mantenibilidad.
ISO 9126
75
La portabilidad se subdivide en cinco subcaractersticas:
Adaptabilidad: la capacidad del producto software para ser
adaptado para ambientes determinados sin realizar
acciones o aplicar medios, ms que los proporcionados
para este propsito para el software considerado.
Facilidad de instalacin: la capacidad del producto
software para ser instalado en un ambiente determinado.
Coexistencia: la capacidad del producto software para
coexistir con otro software independiente en un ambiente
comn compartiendo recursos.
Reemplazabilidad: la capacidad del producto software para
ser utilizado en lugar de otro producto de software para el
mismo propsito en el mismo ambiente.
Conformidad: la capacidad del producto software para
adaptarse a estndares relacionados con la portabilidad.
ISO 9126
76
CONTENIDOS

Introduccin
Formalizacin de mtricas
Medicin en IS
La ISO9126
Conclusiones
77
Conclusiones
Importancia de las mtricas
Utilidad de la formalizacin
Aplicabilidad de la medicin en IS
Importancia de la ISO9126