Está en la página 1de 11

Diego Montero Jenny Palma Alvaro Tituaa

rbol de Profundidad de Herencia (APH).

A medida que crece el APH, es ms probable que las clases de niveles inferiores hereden muchos mtodos. Esto da lugar a posibles dificultades cuando se intenta predecir el comportamiento de una clase. Una jerarqua de clases profunda (con un valor grande de APH) lleva tambin a una mayor complejidad de diseo. Por el lado positivo, los valores grandes de APH implican que se pueden reutilizar muchos mtodos.

Respuesta Para una Clase (RPC)


y El conjunto de respuestas de una clase es un conjunto

de mtodos que pueden ser ejecutados potencialmente en respuesta a y un mensaje recibido por un objeto de esa clase [Pressman 98]. RPC se define como el nmero de mtodos existentes en el conjunto de respuestas.

Carencia de Cohesin en los Mtodos (CCM)


Todo mtodo situado dentro de una clase, accesa a uno o ms atributos, y en donde CCM es el nmero de mtodos que acceden a uno o ms de los mismos atributos. Si ningn mtodo accede a los mismos atributos, entonces CCM ser 0. Para ensear el caso en que CCM es distinto de 0, supngase una clase con 6 mtodos, en donde cuatro de los mtodos tienen en comn uno o ms atributos, por consiguiente, CCM = 4. Si CCM es elevado, los mtodos pueden estar acoplados entre s a travs de atributos. Esto incrementar la complejidad del diseo de clases. En general, unos valores elevados para CCM implican que la clase podra disearse mejor descomponindola en dos o ms clases distintas.

Mtricas propuestas por Lorenz y Kidd

Tamao de Clase (TC).


El tamao general de una clase se puede determinar empleando las medidas siguientes: y El nmero total de operaciones (tanto operaciones heredadas como privadas de la instancia) que estn encapsuladas dentro de la clase. y El nmero de atributos (tanto atributos heredados como atributos privados de la Instancia) que estn encapsulados en la clase. Si existen valores grandes de TC stos mostrarn que una clase puede tener demasiada responsabilidad, lo cual reducir la reutilizabilidad de la clase y complicar la implementacin y la comprobacin, por otra parte cuanto menor sea el valor medio para el tamao, ms probable es que las clases existentes dentro del sistema se puedan reutilizar ampliamente.

Nmero de Operaciones Invalidadas por una subclase (NOI).


Existen casos en que una subclase sustituye una operacin heredada de su superclase por una versin especializada para su propio uso, ya esto se le denomina invalidacin. Los grandes valores de NOI suelen indicar un problema de diseo ya que si NOI es elevado, entonces el diseador ha violado la abstraccin implicada por la superclase. Esto da lugar a una jerarqua de clases dbil, y a un software que pueda resultar difcil de comprobar y modificar.

ndice de Especializacin (IE).


El ndice de especializacin proporciona una indicacin aproximada del grado de especializacin de cada una de las subclases existentes en un sistema orientado a objetos. La especializacin se puede alcanzar aadiendo o borrando operaciones, o bien por invalidacin. IE = [NOI x nivel] Mtotal en donde nivel es el nivel de la jerarqua de clases en que reside la clase, y Mtotal es el nmero total de mtodos para la clase. Cuanto ms elevado sea el valor de IE es ms probable que la jerarqua de clases tenga clases que no se ajustan a la abstraccin de la superclase.

Mtricas de Cohesin
y Las mtricas de cohesin miden cuan bien los

mtodos de una clase estn relacionados unos con otros. Una clase cohesiva es la que realiza una sola funcin. Una clase no cohesiva es la que realiza dos o ms funciones no relacionadas. Una clase cohesiva debera ser reestructurada en dos o tres clases ms pequeas.

Mtricas de Cohesin
y La mtrica de cohesin de C&K se calcula tomando cada para de mtodos en una clase. Si acceden a distintas variables de instancias, se aumenta P en uno. Si comparte por lo menos un valor, se aumenta Q en uno. y LCOM = P-Q si P>Q, caso contrario y LCOM = 0 y Un valor alto en LCOM indica que la clase estara intentando cumplir con ms de un objetivo, posee ms de una funcin.

Mtricas de Acoplamiento
Coupling between object classes(Acoplamiento entre objetos de clases) CBO de una clase es el nmero de clases con las que est acoplada. Una clase est acoplada a otra si utiliza sus mtodos o variables de instancia, excluyendo acoplamiento por herencia.

También podría gustarte