Está en la página 1de 21

Mtricas de Software para Sistemas OO

Teora 3:
Caractersticas de Sistemas OO y Mtricas OO
TEORIA 3 - IS 2007 - Marcela Daniele - UNRC

Mtricas Orientadas a Clases Mtricas Orientadas a las Operaciones Mtricas Para Pruebas OO Mtricas Tcnicas para el SW

Mtricas para sistemas OO

Los Objetivos de las mtricas en general son: Enteder y mejorar la calidad del producto. Evaluar la efectividad del proceso. Mejorar la calidad del trabajo realizado a nivel de proyecto. Las mtricas tcnicas para sistemas OO deben ajustarse a las caractersticas que distinguen el SW OO del SW convencional: Localizacin, Encapsulamiento, Ocultamiento de informacin, Herencia, Tcnicas de Abstraccin
TEORIA 3 - IS 2007 - Marcela Daniele - UNRC

Caractersticas de Sistemas OO y sus mtricas


Localizacin Indica la forma de concentrar la informacin en un programa. En el contexto OO, la informacin se localiza en clases u objetos, mediante el encapsulamiento tanto de datos como de procesos.
TEORIA 3 - IS 2007 - Marcela Daniele - UNRC

Las mtricas deben aplicarse a la clase y a la colaboracin entre clases, y adaptarse a todo tipo de relaciones y cardinalidad. Encapsulamiento Es el empaquetamiento de una coleccin de elementos. En sistemas OO el encapsulamiento abarca las responsabilidades, atributos y operaciones de la clase. Las mtricas deben tener en cuenta el paquete de datos (atributos) y los mdulos de procesamiento (operaciones).

Caractersticas de Sistemas OO y sus mtricas


Ocultamiento de Informacin Ocultar los detalles operativos de un componente y proporcionar solo la informacin necesaria para que otros lo accedan. Las mtricas deben proporcionar una indicacin del grado en que se ha logrado el ocultamiento de la informacin.
TEORIA 3 - IS 2007 - Marcela Daniele - UNRC

Herencia Las responsabilidades de un objeto se propagan a otro. La herencia es una caracterstica fundamental de sistemas OO y hay muchas mtricas en torno a ella. Por ej., contar nro de descendientes, nro de predecesores, profundidad de una clase dentro de una jerarqua de herencia. Tcnicas de Abstraccin de Objetos Centrarse en los detalles esenciales de un componente. Las mtricas OO representan abstracciones con las medidas de una clase. Por ejemplo: nro de instancias por clase por aplicacin.

Mtricas Orientadas a Clases


Mtricas CK (Chidamber y Kemner 1994)

La clase es la unidad fundamental de un sistema OO. Las mtricas sobre las clases y sus colaboraciones ayudan a estimar la calidad del diseo.

Mtodos ponderados por Clase (MPC). MPC = ci i=1 a n


Siendo c1,c2,..,cn los mtodos de complejidad para una clase C.
TEORIA 3 - IS 2007 - Marcela Daniele - UNRC

El valor dado por MPC debera ser tan bajo como sea posible.

A > nro de mtodos, ms complejo ser el rbol de herencia.


A > nro de mtodos para una clase, se vuelve ms especfica de la aplicacin, limitando su potencial de reutilizacin.

rbol de Profundidad de Herencia (APH)


Define la longitud mxima desde un nodo hasta la raz del rbol. A > APH, las clases de niveles inferiores heredaran ms mtodos, implicando mayor dificultad p/ predecir comportamiento de la clase. A > APH, mayor complejidad en el diseo. A > APH, se podrn reutilizar muchos mtodos.

Mtricas Orientadas a Clases


Mtricas CK (Chidamber y Kemner 1994)

Nmero de Descendientes (NDD) Nro de subclases que estn subordinadas a la clase en curso.
A > NDD, se incrementa la reutilizacin. A > NDD, la abstraccin representada por la clase predecesora puede verse diluida, porque algunos de los descendientes pueden no ser realmente miembros propios de la clase predecesora.
TEORIA 3 - IS 2007 - Marcela Daniele - UNRC

Acoplamiento entre Clases Objeto (ACO) Nro de colaboraciones de una clase.


ACO puede ser determinado usando el modelo CRC. (CRC: ClaseResponsabilidades-Colaboraciones. Tarjeta de cada clase con el nombre de la clase, sus responsabilidades y colaboradores) A > ACO, puede descender la reutilizacin de la clase. A > ACO, puede complicar las modificaciones. El ACO p/clase debe mantenerse en los valores ms bajos razonables.

Mtricas Orientadas a Clases


Mtricas CK (Chidamber y Kemner 1994)

Respuesta Para una Clase (RPC) Nmero de mtodos en el conjunto de respuesta de una clase.
El conjunto de respuesta de una clase es el conjunto de mtodos que pueden ser ejecutados potencialmente en respuesta a un mensaje recibido por algn objeto de dicha clase. A > RPC, mayor ser el nmero de comprobaciones. A > RPC, mayor ser la complejidad global del diseo de la clase.

TEORIA 3 - IS 2007 - Marcela Daniele - UNRC

Carencia de Cohesin de los Mtodos (CCM) Nmero de mtodos que acceden a los mismos atributos (1 o ms)
Ej. Una clase posee 6 mtodos, de los cuales 4 tienen en comn 1 o ms atributos, entonces el CCM=4. A > CCM, mayor complejidad en el diseo de las clases, y puede implicar que la clase debera dividirse en dos o ms clases distintas.

Mtricas Orientadas a Clases


Mtricas propuestas por Lorenz y Kidd

Tamao de Clase (TC). Una clase puede medirse por: Total de operaciones (heredadas o privadas) encapsuladas en la clase. Nro de atributos (heredados o privados) encapsulados por la clase. A > TC, menor reutilizacin, complica la implementacin y comprob. Nmero de Operaciones redefinidas por una subclase (NOR) Cuando una subclase sustituye una operacin heredada de su superclase por una versin especializada para su propio uso. A > NOR, jerarqua de clases dbil, difcil de modificar y comprobar. Nmero de Operaciones Aadidas por una subclase (NOA) A > profundidad de la jerarqua de clases, el valor de NOA en los niveles inferiores debera disminuir. Indice de Especializacin (IE) IE = [NOR x Nivel] Mtotal Nivel de la clase en la jerarqua de clases. Mtotal nro total de mtodos A > IE, es ms probable que la jerarqua de clases tenga clases que no se ajustan a la abstraccin de la superclase.
TEORIA 3 - IS 2007 - Marcela Daniele - UNRC

Mtricas Orientadas a las Operaciones


Tamao medio de Operacin (TOmedio)
Cuenta el nmero de mensajes enviados por la operacin. Un nro muy grande de mensajes enviados por una operacin, puede indicar que no hay una buena asignacin de responsabilidades dentro de la clase.

TEORIA 3 - IS 2007 - Marcela Daniele - UNRC

Complejidad de Operacin (CO)


Pueden usarse mtricas propuestas para software convencional. (Captulo 4 y19 Pressman). CO debe mantenerse lo ms bajo posible, debido a que las operaciones deben limitarse a una responsabilidad especfica.

Nmero medio de Parmetros por operacin (NPmedia)


Cuanto ms grande sea el nmero de parmetros, ms compleja ser la colaboracin entre objetos. Debera mantenerse lo ms bajo posible.

Mtricas para Pruebas OO (Binder 1994)


Mtricas con influencia directa en la comprobabilidad de sistema OO.

ENCAPSULAMIENTO Carencia de Cohesin de Mtodos (CCM)


A > CCM, ms estados se necesitarn probar para asegurar que los mtodos no den lugar a efectos colaterales.
TEORIA 3 - IS 2007 - Marcela Daniele - UNRC

Porcentaje Pblico y Protegido (PPP)


Indica el % de atributos de clase que son pblicos. A > PPP, incrementa la probabilidad de efectos colaterales entre clases. Disear comprobaciones que permitan descubrir esos efectos.

Acceso pblico a datos miembros (APD)


Indica el nmero de clases o mtodos que pueden acceder a los atributos de otra clase, violando as el encapsulamiento. A > APD, incrementa la probabilidad de efectos colaterales entre clases. Disear comprobaciones que permitan descubrir esos efectos.

Mtricas para Pruebas OO (Binder 1994)


HERENCIA Nmero de Clases Raz (NCR)
Cuenta las jerarquas de clases que se describen en el modelo de diseo. Es necesario crear casos de pruebas para cada clase raz y sus jerarquas A > NCR, mayor ser el esfuerzo en comprobacin.
TEORIA 3 - IS 2007 - Marcela Daniele - UNRC

Nmero de Padres Directos (NPD)


Es una indicacin de herencia mltiple. ADM > 1 indica que la subclase hereda de ms de una clase raz.

Nmero de Descendientes (NDD) y Profundidad del rbol de Herencia (APH)


Los mtodos de cada superclase debern ser comprobados nuevamente para cada una de las subclases.

Mtricas sobre el tamao del software


El Gerente de Proyecto debe planificar, coordinar, seguir y controlar. Debe estimar el tamao del software, y el tamao es directamente proporcional al esfuerzo y duracin.

Nmero de Escenarios (NE)


Es el nmero de casos de uso, y es directamente proporcional al nmero de clases necesarias para satisfacer los requisitos, al nmero de mtodos, atributos y colaboraciones.
TEORIA 3 - IS 2007 - Marcela Daniele - UNRC

Nmero de Clases Clave (NCC)


Las clases clave se centran en el dominio del negocio y por lo tanto sern menos reutilizables. Lorenz y Kidd sugieren entre un 20 y un 40 % de todas las clases. El resto son de infraestructura de apoyo (GUI, base de datos, etc.)

Nmero de Subsistemas (NSUB)


Proporciona una idea general de la asignacin de recursos, de la planificacin y del esfuerzo de integracin. Estas mtricas son generalmente recolectadas de proyectos pasados.

Bibliografa Consultada
Ingeniera del Software. Un Enfoque Prctico. Quinta Edicin. Roger S. Pressman. 2002. Captulo 24: Mtricas Tcnicas para sistemas Orientados a Objetos.
TEORIA 3 - IS 2007 - Marcela Daniele - UNRC

Factores de Calidad del Software segn McCall


Segn McCall(1977) los factores de calidad del software se concentran en tres aspectos importantes de un producto SW: sus caractersticas operativas, su capacidad de cambios y
TEORIA 3 - IS 2007 - Marcela Daniele - UNRC

su adaptabilidad a nuevos entornos.

Factores de Calidad del Software segn McCall


Correccin: satisface un programa su especificacin y logra los objetivos. Fiabilidad: el programa lleva a cabo su funcin con exactitud requerida. Eficiencia: cantidad de recursos informticos y de cdigo necesarios para
que un programa realice su funcin.

Integridad: se puede controlar el acceso al SW de elementos no


autorizados.

TEORIA 3 - IS 2007 - Marcela Daniele - UNRC

Usabilidad (facilidad de manejo): esfuerzo necesario para aprender a


operar el sistema, preparar los datos de entrada e interpretar las salidas.

Facilidad de mantenimiento: esfuerzo p/ localizar y arreglar errores. Flexibilidad: esfuerzo necesario para modificar un programa funcionando. Facilidad de prueba: esfuerzo necesario para probar un programa. Portabilidad: esfuerzo necesario para transferir el programa de un
entorno hardware/software a otro entorno diferente.

Reusabilidad (capacidad de reutilizacin): se puede volver a emplear un programa (o partes de un programa) en otras aplicaciones?. Interoperatividad: esfuerzo necesario para acoplar un sistema con otro.

Mtricas segn McCall


El esquema de puntuacin propuesto es una escala del O (bajo) al 10 (alto).

Facilidad de auditora: facilidad para comprobar el cumplimiento de


estndares.

Exactitud: exactitud de los clculos y del control. Estandarizacin de comunicaciones: grado de empleo de estndares de
TEORIA 3 - IS 2007 - Marcela Daniele - UNRC

interfaces, protocolos y anchos de banda.

Complecin: grado de logro de la implementacin total de una funcin. Concisin: lo compacto que es el programa en trminos de LDC. Consistencia: empleo de un diseo uniforme y de tcnicas de
documentacin a lo largo del proyecto de desarrollo del software.

Estandarizacin de datos: empleo de estructuras y tipos de datos


estndares.

Tolerancia al error: dao causado cdo un programa encuentra un error. Eficiencia de ejecucin: rendimiento del funcionamiento de un programa. Capacidad de expansin: capacidad p/ ampliar el diseo arquitectnico. Generalidad: amplitud de aplicacin potencial de los componentes del
programa.

Mtricas segn McCall


Independencia del HW: grado que se desacopla el SW del HW donde opera. Instrumentacin: grado en que el programa vigila su propio funcionamiento
e identifica los errores que ocurren.

Modularidad: La independencia funcional de componentes de programas. Operatividad: La facilidad de operacin de un programa. Seguridad: disponibilidad de mecanismos que protegen programas y datos. Autodocumentacin: grado en que el cdigo fuente proporciona
documentacin significativa.
TEORIA 3 - IS 2007 - Marcela Daniele - UNRC

Simplicidad: grado de facilidad con que se puede entender un programa. Independencia del sistema SW: grado de independencia del programa
respecto a las caractersticas del lenguaje de programacin, del sistema operativo y otros.

Trazabilidad: capacidad de seguir una representacin del diseo o un


componente del programa hasta los requisitos.

Formacin: grado en que ayuda el SW a manejar el sistema a los nvos


usuarios.

Fq = c1 x m1 + c2 x m2 +....+ cn x mn
Fq es un factor de calidad del SW
c son coeficientes de regresin m son las mtricas que afectan al factor de calidad
TEORIA 3 - IS 2007 - Marcela Daniele - UNRC

Factores de Calidad segn Hewlett-Packard (87)


FURPS: funcionalidad, facilidad de uso, fiabilidad, rendimiento y
capacidad de soporte. Provienen de trabajos anteriores y definen los sig. atributos: La funcionalidad se valora evaluando el conjunto de caractersticas y capacidades del programa, la generalidad de las funciones entregadas y la seguridad del sistema global. La facilidad de uso se valora considerando factores humanos, la esttica, la consistencia y la documentacin general. La fiabilidad se evala midiendo la frecuencia y gravedad de los fallos, la exactitud de las salidas, el tiempo de medio de fallos, la capacidad de recuperacin de un fallo y la capacidad de prediccin del programa. El rendimiento se mide por la velocidad de procesamiento, el tiempo de respuesta, consumo de recursos, rendimiento efectivo total y eficacia. La capacidad de soporte combina la capacidad de ampliar el programa (extensibilidad), adaptabilidad y servicios. Capacidad de hacer pruebas, compatibilidad, capacidad de organizar elementos de configuracin del SW, facilidad de instalacin de un sistema y para localizar problemas.

TEORIA 3 - IS 2007 - Marcela Daniele - UNRC

Factores de Calidad ISO 9126


El estndar ISO 9126 identifica seis atributos clave de calidad:

Funcionalidad. Grado en que el SW satisface las necesidades indicadas


por los sig. subatributos: correccin, interoperatividad, conformidad y seguridad.

Confiabilidad. Cantidad de tiempo que el SW est disponible para su uso.


TEORIA 3 - IS 2007 - Marcela Daniele - UNRC

Referido por los subatributos: madurez, tolerancia a fallos y facilidad de recuperacin.

Usabilidad. Grado en que el SW es fcil de usar. Reflejado por los sig.


subatributos: facilidad de comprensin, de aprendizaje y operatividad.

Eficiencia. Grado en que el software hace ptimo el uso de recursos.


Indicado por los sig. subatributos: tiempo de uso y recursos utilizados.

Facilidad de mantenimiento. La facilidad con que una modificacin


puede ser realizada. Dada por los siguientes subatributos: facilidad de anlisis, facilidad de cambio, estabilidad y facilidad de prueba.

Portabilidad. La facilidad con que el software puede ser llevado de un


entorno a otro. Est referido por los siguientes subatributos: facilidad de instalacin, facilidad de ajuste, facilidad de adaptacin al cambio.

Bibliografa Consultada
Ingeniera del Software. Un Enfoque Prctico. Quinta Edicin. Roger S. Pressman. 2002. Captulo 19: Mtricas Tcnicas del Software.
TEORIA 3 - IS 2007 - Marcela Daniele - UNRC