0% encontró este documento útil (0 votos)
129 vistas79 páginas

Métricas Esenciales en Ingeniería de Software

Este documento describe las métricas del software y sus modelos de medición. Explica que las métricas de software se refieren a una amplia gama de medidas para el software a lo largo de todo su ciclo de vida, desde la planificación del proyecto hasta los productos finales. También describe los objetivos de la medición del software, como entender qué ocurre durante el desarrollo, permitir controlar los proyectos y mejorar los procesos y productos. Además, explica el enfoque GQM para seleccionar e implementar métricas de manera efect
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
129 vistas79 páginas

Métricas Esenciales en Ingeniería de Software

Este documento describe las métricas del software y sus modelos de medición. Explica que las métricas de software se refieren a una amplia gama de medidas para el software a lo largo de todo su ciclo de vida, desde la planificación del proyecto hasta los productos finales. También describe los objetivos de la medición del software, como entender qué ocurre durante el desarrollo, permitir controlar los proyectos y mejorar los procesos y productos. Además, explica el enfoque GQM para seleccionar e implementar métricas de manera efect
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

INGENIERIA DE SOFTWARE II

UNIDAD No. 2
METRICAS DEL SOFTWARE
METRICAS DEL SOFTWARE

MODELOS DE MEDICION
Métricas del Software
• La medición es esencial para cualquier disciplina de ingeniería y la
ingeniería de software no es una excepción.
• Las métricas de software se refieren a un amplio rango de medidas para el
software, dentro del contexto de la planificación del proyecto de software,
el proceso de desarrollo y de los productos finales.
• Siendo una métrica una medida estadística, estas medidas son aplicables a
todo el ciclo de vida del desarrollo, desde la iniciación, cuando se estiman
los costos, al seguimiento y control de la fiabilidad de los productos finales,
y a la forma en que los productos cambian a través del tiempo debido a la
aplicación de mejoras.
• Un ingeniero del Software recopila medidas y desarrolla métricas para
obtener indicadores.
Métricas del Software
La medición del software persigue tres objetivos fundamentales:
• Entender qué ocurre durante el desarrollo y el mantenimiento
• Permitir controlar qué es lo que ocurre en los proyectos, y
• Mejorar los procesos y productos
(Fenton y Pfleeger,1997).
Métricas del Software
ALCANCE DE LAS METRICAS
Proceso: Cualquier actividad relacionada con la producción de
software, todas las actividades del ciclo de vida del software:
Requisitos, diseño, codificación, pruebas, mantenimiento,
administración de configuraciones.
Producto: Cualquier artefacto, entregable o documentos que resultan
de cualquiera de las actividades del proceso de software:
Especificaciones de requisitos, plan, código, caso de prueba.
Recurso/ proyecto: Cualquier elemento que es necesario para realizar
el proceso: Gente, tiempo, hardware, software, método
Métricas del Software
Las métricas deben ser:
• Correctos: la recogida debe hacerse de acuerdo a las reglas exactas de
la definición o de la métrica
• Exactas: la diferencia entre el valor resultante de la medida y el valor
real del dato debe ser lo mínima posible
• Precisas: el número de cifras utilizadas para expresarlos debe ser la
apropiada.
• Consistentes: evaluaciones diferentes sobre los mismos datos deben
dar los mismos resultados
• Comparables: Para ello, debe estar normalizada.
Métricas del Software
Métricas del Software
El proceso de medición incluye las siguientes actividades [McGarry et al., 2002]:
• Planificación de las mediciones: proporciona un método consistente para
identificar las necesidades de información del proyecto, seleccionar y especificar
las medidas e integrarlas en los procesos técnicos y de gestión del proyecto
• Realización de las mediciones: implica la recolección de datos de medida, el
análisis de los datos y la presentación de resultados
• Evaluación de las mediciones: el proceso de medición y las medidas específicas se
evalúan periódicamente y se mejoran si es necesario
• Establecimiento y mantenimiento de un compromiso: consiste en establecer los
recursos, formación y herramientas para implementar un programa de medida
efectivo, así como asegurar que existe el compromiso de usar la información
producida
Métricas del Software
Métricas del Software
Recogida de datos métricos
GQM: Objetivos, Preguntas, Métricas
Modelo de medición
El enfoque GQM (Goal-Question-Metric) (Basili y Weiss, 1984) (Basili y
Rombach, 1988) puede utilizarse para seleccionar e implementar
métricas de una manera efectiva.
GQM se puede aplicar a todo el ciclo de vida del producto, procesos,
proyecto y se pude alinear fácilmente con el ambiente organizacional.
Tiene como principio básico que la medición debe ser realizada,
siempre, orientada a un objetivo.
GQM: Objetivos, Preguntas, Métricas
• El método GQM ayuda en la definición de objetivos de una entidad.
• Una vez establecidos los objetivos, se pueden refinar a través de
preguntas cuya respuesta permitirá concluir si los objetivos se
cumplieron o no.
• Asociado a las preguntas se definen métricas cuyos valores ayudaran
a contestar las preguntas.
GQM: Objetivos, Preguntas, Métricas
El enfoque GQM se aplica en tres pasos:
• Lista de los objetivos principales del desarrollo y mantenimiento del
proyecto.
• Para cada objetivo obtener las preguntas que deben contestarse para
saber si se están cumpliendo los objetivos.
• Decidir qué medir para poder contestar las preguntas de forma
adecuada.
GQM: Objetivos, Preguntas, Métricas
GQM: Objetivos, Preguntas, Métricas
GQM: Objetivos, Preguntas, Métricas

Ejercicio
OBJETIVO: Mejorar el rendimiento del sistema
Preguntas:

Medidas

Métricas
Métricas de producto
RAZONES PARA MEDIR UN PRODUCTO
• Para indicar la calidad del producto.
• Para evaluar la productividad de la gente que desarrolla el producto.
• Para evaluar los beneficios en términos de productividad y de calidad, derivados
del uso de nuevos métodos y herramientas de la ingeniería de software.
• Para establecer una línea de base para la estimación.
• Para ayudar a justificar el uso de nuevas herramientas o de formación adicional.
Métricas de producto
Un Producto se mide de acuerdo a sus
atributos:
• Atributos Internos: Pueden ser
medidos en términos puramente de
las entidades en si mismas.
• Atributos externos: Pueden ser
medidos únicamente con respecto a
su interacción con el ambiente.
Métricas de producto
Métricas de producto
Medidas del producto: Atributos internos
Los atributos internos describen los productos de software de forma
que dependen únicamente del producto mismo.
El producto puede ser descrito en función de:
• Su tamaño
• Sus propiedades estructurales
Medidas del producto: Atributos internos
Las propiedades estructurales del software son atributos internos relacionados con
la calidad del producto. Los tipos de medidas estructurales son:
• Flujo de control: secuencia en que se ejecutan las instrucciones.
• Flujo de datos: seguimiento de cómo los datos se crean y se manejan por un
programa.
• Estructura de los datos: organización de los datos independiente del programa.
Medidas del producto: Atributos internos
Los atributos usados para medir el tamaño del software:
• Longitud: Tamaño físico del producto.
• Funcionalidad: Funciones que proporciona el producto al usuario.
• Complejidad: Del problema, Algorítmica, Estructural, Cognitiva
Medidas del producto: Atributos internos
Tamaño - Longitud
• El tamaño se determina habitualmente tomando como referencia el programa en
código fuente.
• El tamaño es una medida empleada por tres razones:
 Es fácil de obtener una vez que el programa ha sido completado,
 es uno de los factores más importantes en los métodos de desarrollo,
 y la productividad se expresa tradicionalmente con el tamaño del código.
• Los principales productos que es útil medir son la especificación, el
diseño y el código.
Medidas del producto: Atributos internos
Tamaño - Longitud
Código
• El numero de líneas de código (LOC) es la medida más usada para medir la
longitud del código fuente.
• Para programas grandes es más adecuado el uso de KLOC (miles de líneas de
código).
• Se han realizado muchas propuestas para contarlas. La más extendida es la de HP
que contabiliza:
• Líneas de código efectivas (ELOC: effective lines of code), que corresponden a las líneas no
comentadas (NCLOC).
• Líneas de código comentadas (CLOC).
Medidas del producto: Atributos internos
Tamaño - Longitud

Código
• Es útil medir por separado las líneas comentadas (CLOC) de las no
comentadas para calcular esfuerzo, productividad, etc. La longitud
total será:
LOC = NCLOC + CLOC

• También puede se útil calcular la densidad de comentarios:


DC = CLOC/LOC
Medidas del producto: Atributos internos
Tamaño - Longitud

Código
• Para propósitos tales como la prueba es importante conocer cuanto
código ejecutable se produce, para ello se mide el número de
sentencias ejecutables (ES), ignorando los comentarios, declaraciones
de datos y cabeceras
• Otra propuesta consiste en contabilizar únicamente el código
entregado al cliente. Se cuenta el número de DSI (delivered source
instruction) que incluye las declaraciones de datos, las cabeceras y las
instrucciones del código fuente
Medidas del producto: Atributos internos
Tamaño - Longitud
Métricas de Halstead
• Considera un programa P como un conjunto de tokens que se pueden clasificar
como operandos y operadores
• Parecidos a los tokens que un compilador puede distinguir en ese código.
• Se basa en computar los operadores y operandos de un programa.
• Las métricas básicas para los tokens son:
n1: número de operadores únicos
n2: número de operandos únicos
N1: número total de ocurrencias de operadores
N2: número total de ocurrencias de operandos
Medidas del producto: Atributos internos
Tamaño - Longitud
Métricas de Halstead
• Los operadores son las palabras reservadas del lenguaje, tales como IF-THEN,
READ,FOR,...;
• Los operadores aritméticos +, -, *,..... los de asignación y los operadores lógicos
AND,EQUAL TO,....-
• Los operandos son las variables, literales y las constantes del programa.
• Halstead distingue entre el número de operadores y operandos únicos y el
número total de ocurrencias de operadores y operandos.
Medidas del producto: Atributos internos
Tamaño - Longitud
Métricas de Halstead
Por ejemplo, un programa puede tener un READ, siete asignaciones y un WRITE;
por lo tanto tiene tres operadores únicos, pero nueve ocurrencias en total de los
operadores, y de manera idéntica se procede con los operandos.
Medidas del producto: Atributos internos
Tamaño - Longitud
Métricas de Halstead: Métricas • Volumen:
compuestas para un programa: V = N log2(n)
• El tamaño (N) o longitud de un donde N = N1+ N2 y n = n1+ n2
programa:
• Esfuerzo de implementación:
N = N1 + N2 E = (n1. N2. N. log2(n) ) / (2. n2)
• Vocabulario (n) de un programa: • Tiempo de desarrollo de un
n = n1 + n2 programa:
• Longitud estimada: T=E/B
L = N1. log2(n1)+ N2. log2(n2) B : nº de discriminaciones mentales por segundo. Lo
fija en 18.
Medidas del producto: Atributos internos
Tamaño - Funcionalidad
Puntos de función (PF)
• Para realizar estimaciones de esfuerzo y duración es mejor estimar el tamaño del
producto en base a su funcionalidad.
• La mayoría de los enfoques miden la funcionalidad con los documentos de
especificación.
• El PF es una Medida de funcionalidad propuesta por Albrecht, 1979.
• Es una medida del producto y del proceso que se sigue para desarrollarlo.
• Está centrado en la “funcionalidad” o “utilidad” del producto.
• Los puntos de función son un número positivo con escala arbitraria que refleja el
tamaño de la funcionalidad del sistema (a mayor tamaño mayor número de
puntos de función)
Medidas del producto: Atributos internos
Tamaño - Funcionalidad
Puntos de función (PF)
Los Puntos de Función se caracterizan por:
1. Ser un método independiente de las herramientas de análisis, diseño y programación, debido a que se
preocupa sólo de la complejidad de las funciones a implementar.
2. Requerir de una descomposición funcional del proyecto de software a realizar, en términos tales que se
detecten todas las piezas elementales que componen el producto final. (Funciones elementales).
3. Estimar la "cantidad de Puntos de Función" de las funciones medidas, se realiza contando la cantidad de
entradas, salidas, archivos, consultas e interfaces que utiliza. A mayor cantidad, mayor es el "peso de
complejidad" que se le asignará.
4. Ajustar la estimación del esfuerzo requerido, por la vía de determinar la presencia de ciertos elementos
que dificultan el desarrollo del proyecto. 5.
5. Permitir realizar una estimación del esfuerzo requerido (y por ende de la duración del proyecto) en etapas
tempranas del proyecto (Etapa de Análisis).
Los beneficios de utilizar esta técnica son evidentes, permite realizar la estimación del trabajo requerido en
una etapa temprana del proyecto y es independiente del entorno tecnológico a utilizar.
Medidas del producto: Atributos internos
Tamaño - Funcionalidad
Puntos de función (PF)
• Utilizada para medir el tamaño del sistema a construir.
• Se calcula teniendo en cuenta las siguientes medidas:
• El numero de entradas,
• El numero de salidas,
• El numero de peticiones - consultas,
• El numero de archivos, y
• El numero de interfaces externas
• Asociados a un numero de complejidad (simple, medio, complejo), más un factor
de complejidad.
Medidas del producto: Atributos internos
Tamaño - Funcionalidad
Puntos de función (PF)
El PF es una métrica que se calcula en función de la siguiente medidas:
• Puntos de función Sin Ajuste (PSF)
• Factor de Complejidad de Procesamiento (FCP)
PF = PFS * FCP
donde,
PFS = Σ((número de ítems de la clase i) ∗pesoi)

FCP = 0.65 + (0.01 x Puntos de Complejidad de Procesamiento)


Medidas del producto: Atributos internos
Tamaño - Funcionalidad
Puntos de función (PF)
• Puntos de función Sin Ajuste (PSF) se obtiene utilizando una relación empírica
basada en ítems del producto y valoraciones subjetivas de la complejidad del
mismo.
• Se determinan los siguientes elementos de alguna representación del software:
 Entradas: Entradas de usuario que proporcionan datos a la aplicación.
 Salidas: Salidas que proporcionan información al usuario.
 Consultas: Peticiones interactivas que requieren una respuesta.
 Interfaces con otros sistemas : Interfaces con otros sistemas legibles por la
máquina.
 Almacenamientos lógicos (logical files): Ficheros maestros lógicos del
sistema.
Medidas del producto: Atributos internos
Tamaño - Funcionalidad
Entradas: Los datos se pueden dar por pantallas, formularios, cuadros de dialogo, controles o
mensajes, a través de los cuales un usuario final o cualquier otro programa pueda añadir, borrar o
cambiar datos de un programa.
Salidas: Pantallas, informes, gráficos o mensajes que el programa genera para el usuario final o
cualquier otro programa. Esto incluye cualquier salida que tenga formato diferente o requiera un
procesamiento diferente a otros tipos de salida.
Consultas: Una consulta está definida como una entrada interactiva que resulta de la generación de
algún tipo de respuesta en forma de salida interactiva. Recuperación de datos de uno o más
archivos lógicos internos y de archivos externos de la interfaz
Almacenamientos lógicos: Los principales grupos lógicos de datos de usuarios finales o información
de control que están completamente controlados por el programa. Un archivo lógico podría
constar de un único archivo plano o de una sola tabla en una base de datos relacional.
Archivos de interfaz externos: Archivos controlados por otros programas, con los que el programa
va a interactuar. Esto incluye cada uno de los principales grupos de datos lógicos o información de
control que entre o salga en el programa.
Medidas del producto: Atributos internos
Tamaño - Funcionalidad
Puntos de función (PF)
Para cada ítem se le asigna un
índice de complejidad (simple, PFS = Σ((número de ítems de la clase i) ∗pesoi)
medio o complejo) y un factor de
peso en función del índice, cuyos
valores se recogen de la tabla
siguiente:
Simple: Contiene pocos datos/tipos/campos, pocos
archivos internos se ven afectados en su
procesamiento, y/o su interfaz de usuario es
simple/fácil de desarrollar
Promedio: No es claramente ni simple ni complejo
Complejo: Contiene muchos datos/tipos/campos,
muchos archivos internos se ven afectados en su
procesamiento, y/o su interfaz de usuario es
compleja/difícil de desarrollar
Medidas del producto: Atributos internos
Tamaño - Funcionalidad
Factor de Complejidad de Procesamiento
• Son una medida del grado de influencia en la complejidad del sistema,
de una serie de factores preestablecidos
• Se consideran14 factores diferentes
• Cada factor se evalúa en una escala de 0 (no tiene influencia) a 5
(influencia muy fuerte). 0=sin influencia, 1=accidental, 2=moderado,
3=medio, 4=significativo, 5=esencial.
Medidas del producto: Atributos internos
Tamaño - Funcionalidad
Medidas del producto: Atributos internos
Tamaño - Funcionalidad
Factor de Complejidad de Procesamiento (FCP)
Se calcula con la fórmula:
FCP= 0.65 + (0.01 x Puntos de Complejidad de
Procesamiento)

• Su rango de valores está entre 0.65 (0 puntos de


complejidad ) hasta 1.35 (70 puntos de complejidad)
Medidas del producto: Atributos internos
Tamaño - Funcionalidad

PFS = Σ((número de items de la clase i) ∗pesoi)

FCP= 0.65 + (0.01 x PCP)

PF = PFS * FCP
Medidas del producto: Atributos internos
Tamaño - Funcionalidad
• Para este sencillo
programa, el
número de
elementos es
1+3+1+1+1=7.
Medidas del producto: Atributos internos
Tamaño - Funcionalidad
Líneas de código KLOC se determinan, teniendo en
cuenta los puntos de función PF:
KLOC= (PF * Líneas de código por cada PF)/1000

[Link]
Medidas del producto: Atributos internos
Tamaño - Complejidad

Métricas de complejidad Complejidad Complejidad del


McCabe: Ciclomatica código

La complejidad ciclomatica se 1-10 Simple, sin


basa en la cuenta del numero de 11-20 riesgos
caminos lógicos individuales Algo complejo,
riesgo moderado
contenidos en un programa. 21-50
V (G) = a – n + 2 Complejo, riesgo
Donde elevado
a : # de arcos o aristas del grafo. 51+
Muy difícil de
n : # de nodos. probar, riego muy
alto
Medidas del producto: Atributos internos
Especificaciones y diseño
• Los documentos de especificación de requisitos y de diseño tienen
representaciones de muchos tipos (texto, gráficos, símbolos...)
• La medición del atributo longitud exige la identificación de elementos
atómicos que puedan contarse. Ejemplo:
• Diagramas de flujo de datos: procesos, entidades externas, almacenes
de datos y flujo de datos
– Salidas, funciones, operaciones y axiomas, líneas de especificación (declaraciones y
predicados), páginas de documentación como objetos atómicos.
Medidas del producto: Atributos internos.
METRICAS ORIENTADAS A CLASES
La clase es la unidad principal de todo sistema orientado a objetos. Las
características principales del enfoque orientado a objetos son:
• Localización: La localización es una característica del software que indica la forma
que se concentra la información dentro de un programa.
• Dado que las clases constituyen la unidad básica de los sistemas 00, la localización está basada
en los objetos. Por tanto, las métricas deberían de ser aplicables a la clase (objeto) como si se
tratara de una entidad completa.
• Encapsulamiento: Inclusión dentro de un mismo objeto de los datos (información
que describe su estado) y los métodos (mecanismos de transformación o de acceso
al estado de dichos objetos).
• El encapsulamiento influye en las métricas cambiando el objetivo de la medida,
que pasa de ser un único módulo a ser un paquete de datos (atributos) y de
módulos de procesamiento (operaciones).
Medidas del producto: Atributos internos.
METRICAS ORIENTADAS A CLASES
Características:
• Ocultamiento de información: Suprimir los detalles operacionales de un
componente de un programa.
• Un sistema 00 bien diseñado debería de impulsar al ocultamiento de
información. Por tanto, aquellas métricas que proporcionen una indicación del
grado en que se ha logrado el ocultamiento proporcionarán una indicación de la
calidad del diseño 00.
• Herencia: El mecanismo que permite que las responsabilidades de un objeto
puedan ser propagadas a otros objetos.
• La herencia se basa en una relación jerárquica entre varias clases de tal forma
que se pueden compartir atributos y operaciones en la subclase de la
superclase de la que hereda ciertas propiedades y añade propiedades
particulares.
Medidas del producto: Atributos internos.
METRICAS ORIENTADAS A CLASES
Características:
• Abstracción: Mecanismo que permite a los diseñadores enfocarse en los detalles
esenciales de un componente del programa con un poco conocimiento de los
detalles de bajo nivel.
• Dado que una clase es una abstracción que se puede visualizar con muchos niveles distintos de
detalles, y de muchas maneras diferentes, las métricas OO representan la abstracción en
términos de medidas de una clase ([Link].: número de instancias por clase por aplicación).
Medidas del producto: Atributos internos.
METRICAS ORIENTADAS A CLASES
Serie de métricas CK (Chidamber/Kemerer)
• Estas métricas propuestas de diseño basadas en clases
 Métodos ponderados por clase
 Árbol de profundidad de herencia
 Número de descendientes
 Acoplamiento entre clases
 Respuesta para una clase
 Carencia de cohesión en los métodos

Medidas del producto: Atributos internos
Métricas Orientadas A Clases

Serie de métricas CK (Chidamber/Kemerer) • El WMC debe ser lo más bajo posible.


Métodos ponderados por clase (WMC: Cuanto más alto es el valor WMC, más
complejo el árbol de herencia y menos
Weighted Methods per Class). Calcula la reutilizable. Las principales
suma de la complejidad ciclomática de los interpretaciones de esta métrica son las
métodos de una clase: siguientes:
• El número y la complejidad de los métodos
WMC=ΣCi i=1……n son indicadores del tiempo necesario para
desarrollar/mantener la clase.
• Siendo Ci la complejidad ciclomática del • Cuanto mayor sea el nº de métodos mayor
método i. La complejidad está relacionado impacto potencial tendrá en los hijos, sus
con el esfuerzo requerido para implementar herederos potenciales.
y probar una clase. • Las clases con gran nº de métodos serán de
aplicación específica, y por lo tanto más
difíciles de reutilizar.
Medidas del producto: Atributos internos
Métricas Orientadas A Clases
Serie de métricas CK (Chidamber/Kemerer) Las principales interpretaciones de esta
Profundidad en el árbol de herencia (DIT: métrica son las siguientes:
Depth Inheritance Tree). Es la distancia • A mayor profundidad de la clase, más
desde una clase a la raíz del árbol de métodos puede heredar y es más
herencia. difícil de explicar su comportamiento.
• Cuanto más alto es el mayor valor de DIT, • A mayor profundidad de una clase,
mayor complejidad hay en el diseño
mayor posibilidad de reutilización de
• Cuanto más alto sea el valor de DIT de una
clase más posibilidades existen de que métodos heredados.
reutilice/refine métodos heredados.
Medidas del producto: Atributos internos
Métricas Orientadas A Clases
Serie de métricas CK (Chidamber/Kemerer) Las principales interpretaciones de esta
Número de hijos inmediatos en el árbol de métrica son las siguientes:
herencia (NOC: Number Of Children). • Cuanto mayor sea NOC más
reutilización habrá por herencia.
• Cuanto más alto es el valor de NOC, una • Si NOC es muy grande hay un fallo en
clase es más reutilizable pero también la la abstracción de la clase padre, falta
probabilidad de que se hayan hecho algún nivel intermedio.
extensiones no apropiadas de la clase es • NOC da una idea del peso que la clase
mayor. tiene en el diseño, y de los recursos
que se deben dedicar a probar sus
métodos.
Medidas del producto: Atributos internos
Métricas Orientadas A Clases
Serie de métricas CK (Chidamber/Kemerer) Las interpretaciones de esta métrica son las
siguientes:
Acoplamiento entre clases (CBO: Coupling
• Cuanto mayor es CBO, peor es la
Between Object Classes). modularidad y la reutilización.
• Es el número de clases acopladas a una • Cuanto mayor es CBO, peor es el
clase. encapsulamiento y más cuesta
mantenerlo.
• Dos clases están acopladas cuando los • No es deseable que CBO > 14. Cuanto
métodos de una de ellas usan variables o más alto es el más difícil será el
métodos de una instancia de la otra clase. mantenimiento y el reúso y en general el
código será más propenso a fallos.
• Si existen varias dependencias sobre una
misma clase es computada como una
sola.
Medidas del producto: Atributos internos
Métricas Orientadas A Clases
Serie de métricas CK (Chidamber/Kemerer) • El conjunto respuesta para la clase puede ser
expresado de la siguiente manera:
Respuesta de una clase - RFC (Response 𝑹𝑺 = 𝑴 ∪ {𝑹𝒊 } , donde {𝑹𝒊 } es el
for a class). conjunto de métodos llamados por el
• Es el conjunto de métodos que potencialmente se método i; y 𝑴 es el conjunto de todos los
ejecutan en respuesta de un mensaje recibido por métodos en la clase.
un objeto de esa clase. • Cuanto mayor es 𝑹𝑭𝑪 , más complejidad
• Se suman los métodos públicos de la clase más tiene el sistema ya que se puede invocar un
los métodos que son llamados dentro del código mayor número de métodos como repuesta a
interno de la clase. un mensaje.
• Aumenta la dificultad de las pruebas. • A mayor respuesta de una clase, mayor
complejidad de esta.
• Aumenta la complejidad del diseño.
Medidas del producto: Atributos internos
Métricas Orientadas A Clases
Serie de métricas CK (Chidamber/Kemerer) • A mayor número de atributos similares,
mayor cohesión hay en la clase.
Falta de cohesión de los métodos LCOM • Si ningún método accede a sus atributos, LCOM=0.
(Lack of cohesion in methods) • Si una clase tiene 6 métodos y 4 de ellos tienen un
atributo en común, LCOM=4
• Cuando un método de una clases accede a uno o
más atributos de la clase. Las interpretaciones de esta métrica son las
siguientes:
• LCOM es el número de métodos que acceden uno
o más atributos iguales. • A mayor cohesión mayor encapsulamiento.
• Dos métodos son similares si comparten al menos • Un valor grande puede indicar que la clase
un atributo de la clase. debe dividirse.
• Baja cohesión indica alta complejidad y alta
probabilidad de error en el desarrollo.
Medidas del producto: Atributos internos
Métricas Orientadas A Clases
Métricas propuestas por Lorenz y Kidd
Lorenz y Kidd dividen las métricas basadas en clases en cuatro categorías:
• Tamaño
• Herencia
• Valores internos
• Valores externos.
Medidas del producto: Atributos internos
Métricas Orientadas A Clases
Métricas propuestas por Lorenz y Kidd
Métricas de Tamaño: Las métricas orientadas a tamaños para una clase se centran en
cálculos de atributos y de operaciones para una clase individual, y promedian los valores
para el sistema orientado a objetos en su totalidad. Las métricas correspondientes al
tamaño son:
• PIM: Número de métodos de instancia públicos.
• NIM: Todos los métodos de una instancia.
• NIV: Todas las variables de una instancia.
• NCM: Todos los métodos de una clase.
• NIM: Todas las variables de una clase.
• Si existen valores grandes de Tamaño éstos mostrarán que una clase puede tener
demasiada responsabilidad, lo cual reducirá la reutilización de la clase y complicará la
implementación y su comprobación.
• Cuanto menor sea el valor medio para el tamaño, más probable es que las clases
existentes dentro del sistema se puedan reutilizar ampliamente.
Medidas del producto: Atributos internos
Métricas Orientadas A Clases
Métricas propuestas por Lorenz y Kidd
Métricas de herencia: Las métricas basadas en herencia se centran en la forma en que se
reutilizan las operaciones a lo largo y ancho de la jerarquía de clases.
• NMO: Número de métodos sobrecargados.
• NMI: Número de métodos heredados.
• NMA: Número de métodos añadidos, número total de métodos que se definen en una
subclase.
• IE: Índice de especialización para cada clase. Cómo una subclase redefine el
comportamiento de superclase.
IE = (Número de métodos sobrescritos * nivel de anidamiento jerarquía) /
número total de métodos
• Cuanto más elevado sea el valor de IE es más probable que la jerarquía de clases tenga clases que
no se ajustan a la abstracción de la superclase.
Medidas del producto: Atributos internos
Métricas Orientadas A Clases
Métricas propuestas por Lorenz y Kidd
• Las métricas para valores internos de clase examinan la cohesión y asuntos
relacionados con el código.
• Las métricas orientadas a valores externos examinan el acoplamiento y la
reutilización.
Medidas del producto: Atributos internos.

METRICAS ORIENTADAS A CLASES


• Colección de métricas MDOO
• Factor de herencia de métodos
• Factor de acoplamiento
• Factor de polimorfismo
Medidas del producto: Atributos Externos

• Los atributos externos de un producto son aquellos que pueden


medirse únicamente con respecto a cómo el producto se relaciona
con su entorno.
• Los atributos externos sólo son medibles cuando el producto está
completo.
• La mayoría están relacionados con algún aspecto de la calidad.
Medidas del producto: Atributos Externos

• Los modelos de calidad recogen


atributos denominados factores de
calidad (atributos de alto nivel).
• Los factores de calidad puede
descomponerse en atributos de bajo
nivel denominados criterios de calidad.
• Los criterios de calidad pueden
asociarse con un conjunto de atributos
de bajo nivel medibles directamente
obteniendo las métricas de calidad.
Medidas del producto: Atributos Externos
Medidas del producto: Atributos Externos

Características operacionales
• Fiabilidad
• Corrección: un programa es correcto cuando efectúa sin errores las tareas que le son
encomendadas.
• Robustez: capacidad de un programa para responder a situaciones no previstas.
• Eficiencia: ofrecer un máximo de prestaciones requiriendo un mínimo de
recursos.
• Facilidad de uso: esfuerzo que se necesita para aprender un programa,
para trabajar con él, preparar la entrada e interpretar su salida.
• Integridad: el grado en que puede controlarse el acceso al software o a los
datos por personal no autorizado.
Medidas del producto: Atributos Externos

Características de modificación: capacidad de soportar cambios.


• Facilidad de mantenimiento: el esfuerzo requerido para modificar un
programa operativo.
• Extensibilidad: adición de nuevas funcionalidades de manera sencilla.
• Facilidad de prueba: el esfuerzo requerido para probar un programa
de forma que asegure que realiza su función requerida.
Medidas del producto: Atributos Externos

Características de transición: adaptabilidad a nuevos entornos.


• Portabilidad: capacidad de ejecutarse en diferentes plataformas sin
cambios.
• Reusabilidad: propiedad de los componentes software por la que
pueden aplicarse a tareas distintas de aquellas para las que se
construyeron inicialmente.
• Interoperabilidad: los sistemas deben ser capaces de interoperar con
otros componentes software.
Medidas del producto: Atributos Externos

Medición de la portabilidad
Capacidad del producto o componente de ser transferido de forma efectiva y
eficiente de un entorno hardware, software, operacional o de utilización a otro.
Esta característica se subdivide a su vez en las siguientes subcaracterísticas:
• Adaptabilidad. Capacidad del producto que le permite ser adaptado de forma
efectiva y eficiente a diferentes entornos determinados de hardware,
software, operacionales o de uso.
• Capacidad para ser instalado. Facilidad con la que el producto se puede
instalar y/o desinstalar de forma exitosa en un determinado entorno.
• Capacidad para ser reemplazado. Capacidad del producto para ser utilizado
en lugar de otro producto software determinado con el mismo propósito y en
el mismo entorno.
Medidas del producto: Atributos Externos

Medición de la portabilidad
• Se entiende por portabilidad la facilidad de mover una aplicación de un
entorno a otro.
• La portabilidad se puede expresar como:
portabilidad = 1 -(ET/ER)
ET: medida de los recursos necesarios para mover el sistema a otro
entorno
ER: medida de los recursos necesarios para crear el sistema en el
entorno residente
Medidas del producto: Atributos Externos

Medición de la portabilidad
Medidas del producto: Atributos Externos
Medición de la portabilidad
Coexistencia: capacidad de un producto de Reemplazabilidad: capacidad del
software para coexistir con otros productos software para ser usado en lugar de
de software independientes dentro de un otro, para el mismo propósito y en el
mismo entorno, compartiendo recursos mismo entorno.
comunes
Grado de coexistencia = 1-(A/B) Grado de reemplazabilidad = 1-(A/B)
A: No de errores de incompatibilidad en A: funciones ejecutadas que no logran
una prueba el propósito
B: No de pruebas totales B: No total de funciones ejecutadas

Adaptabilidad= 1 – (A/B);
A: tiempo medio del entorno nuevo;
B: tiempo medio del entorno anterior
Medidas del producto: Atributos Externos
Métricas de Usabilidad del producto
• Las métricas de usabilidad son una Algunas métricas de usabilidad:
herramienta que ayudan a definir la • Tasa de éxito de ejecución de una tarea
intersección entre la efectividad, la
eficiencia y la satisfacción en el contexto
del uso.
• Tiempo que toma realizar una tarea.
• Consisten en lograr finalizar las tareas y
en la satisfacción de los usuarios mientras
las realizan. Como: • Número de clics necesarios para realizar
• Si están consiguiendo realizar lo que una tarea
desean,
• no les cuesta demasiado tiempo hacerlo,
• no cometen muchos fallos o errores, • Medición de satisfacción o frustración
• y tienen un alto concepto de la aplicación
después de usarla,
entonces estamos hablando de un
producto usable.
Medidas del producto: Atributos Externos
Métricas de eficiencia del producto
• Para evaluar el rendimiento de un sistema Para determinar qué tan eficiente es un producto, se ha
informático se requiere un conjunto de subdividido en tres subcaracterísticas que abarcan los aspectos
más relevantes que se deben tener en cuenta al respecto:
variables cuyos valores definen el
comportamiento del sistema. Estas variables • Comportamiento en el tiempo: Esta subcaracterística se refiere
a la capacidad del producto de software para proporcionar
pueden hacer referencia tanto al adecuados tiempos de respuesta, de procesamiento y de tasas
comportamiento del hardware o del software de eficiencia en el desempeño de su función, bajo condiciones
como al comportamiento que el usuario establecidas.
percibe del sistema. • Consumo de Recursos: Esta subcaracterística principal se
refiere a la capacidad del producto de software para utilizar una
• La eficiencia es una característica principal apropiada cantidad y tipos de recursos cuando el software
que se refiere a la capacidad del producto de desempeña su función bajo condiciones establecidas. Los
software para proporcionar un desempeño recursos humanos están incluidos como parte de la
apropiado, en relación con la cantidad de productividad.
recurso utilizado, bajo condiciones • Conformidad en la eficiencia: Esta subcaracterística se refiere a
establecidas en determinado momento del la capacidad del producto de software para adherirse a
estándares o convenciones definidos para que el software
tiempo. cumpla con los lineamientos establecidos.
Medidas del producto: Atributos Externos
Métricas de mantenibilidad del producto
Es el conjunto de atributos relacionados con • Facilidad para ser cambiado: Es la
la facilidad de extender, modificar o corregir capacidad del producto software que se
errores en un sistema de software. La permite que una determinada modificación
subcaracterísticas de este factor son: sea implementada.
• Facilidad de Análisis • Facilidad de ser probado: Es la capacidad
• Facilidad de Cambio del producto software que permite que el
• Estabilidad software modificado sea validado.
• Facilidad de Prueba • Estabilidad: Es la capacidad del producto
• Conformidad software para evitar efectos inesperados
• Facilidad para ser analizado: Es la debido a modificaciones del software.
capacidad del producto software para ser • Conformidad: Es la capacidad del producto
diagnosticadas las deficiencias o causas software para adherirse a normas o
de los fallos en el software o para convenciones relacionadas con la
identificar las partes que han de ser mantenibilidad.
modificadas.
Medidas del producto: Atributos Externos
Medida de la calidad basada en defectos

Medición de la densidad de defectos


• Para cualquier producto software se pueden considerar dos tipos de defectos:
• Defectos conocidos
• Defectos latentes
• La densidad de defectos se puede definir en función de los primeros:
número de defectos conocidos
Densidad de defectos = -------------------------------
tamaño del producto
Medidas del producto: Atributos Externos

Medida de la calidad basada en defectos

Se puede medir la calidad en función de la relación:

Tiempo empleado en la corrección de defectos


----------------------------------------------------------------
Tiempo total de desarrollo del sistema
Referencias
• [Link]

También podría gustarte