Anda di halaman 1dari 2

Mtricas CK Chidamber y Kemerer

Son mtricas orientadas a clases: clases individuales, herencia y colaboraciones. Es uno de los conjuntos de mtricas ms referenciado. a) Mtodos ponderados por clase (WMC: Weighted Methods per Class). Calcula la suma de la complejidad ciclomtica de los mtodos de una clase: WMC=i..n mci , siendo mci la complejidad ciclomtica del mtodo i. El WMC debe ser lo ms bajo posible. Cuanto ms alto es el valor WMC, ms complejo el rbol de herencia y menos reutilizable. Las principales interpretaciones de esta mtrica son las siguientes: El nmero y la complejidad de los mtodos son indicadores del tiempo necesario para desarrollar/mantener la clase. Cuanto mayor sea el n de mtodos mayor impacto potencial tendr en los hijos, sus herederos potenciales. Las clases con gran n de mtodos sern de aplicacin especfica, y por lo tanto ms difciles de reutilizar. b) Profundidad en el rbol de herencia (DIT: Depth Inheritance Tree). Es la distancia desde una clase a la raz del rbol de herencia. Cuanto ms alto es el mayor valor de DIT, mayor complejidad hay en el diseo y cuanto ms alto sea el valor de DIT de una clase ms posibilidades existen de que reutilice/refine mtodos heredados. Las principales interpretaciones de esta mtrica son las siguientes: A mayor profundidad de la clase, ms mtodos pueden heredar y es ms difcil de explicar su comportamiento. A mayor profundidad de una clase, mayor posibilidad de reutilizacin de mtodos heredados. c) Nmero de hijos inmediatos en el rbol de herencia (NOC: Number Of Children). En principio, cuanto ms alto es el valor de NOC, una clase es ms reutilizable pero tambin la probabilidad de que se hayan hecho extensiones no apropiadas de la clase es mayor. Las principales interpretaciones de esta mtrica son las siguientes: Cuanto mayor sea NOC ms reutilizacin habr por herencia. Si NOC es muy grande hay un fallo en la abstraccin de la clase padre, falta algn nivel intermedio. NOC da una idea del peso que la clase tiene en el diseo, y de los recursos que se deben dedicar a probar sus mtodos. d) Acoplamiento entre clases (CBO: Coupling Between Object Classes). Es el nmero de clases acopladas a una clase. Dos clases estn acopladas cuando los mtodos de una de ellas usan variables o mtodos de una instancia de la otra clase. Si existen varias dependencias sobre una misma clase es computada como una sola. No es deseable que CBO > 14. Cuanto ms alto es el ms difcil ser el mantenimiento y el reso y en general el cdigo ser ms propenso a fallos. Las interpretaciones de esta mtrica son las siguientes: Cuanto mayor es CBO, peor es la modularidad y la reutilizacin. Cuanto mayor es CBO, peor es el encapsulamiento y ms cuesta mantenerlo. e) Respuesta para una clase (RPC: Response for a Class). Es el nmero de mtodos que pueden ser ejecutados en respuesta a un mensaje recibido por un objeto de esa clase. Cuanto mayor sea RPC, mayor esfuerzo se requiere para su comprobacin, y ms complejo es el diseo. Existen dos variaciones de esta mtrica: I. RPC: Slo considera el primer nivel del rbol de llamadas: nmero de mtodos de una clase ms el nmero de mtodos remotos llamados directamente por una clase. Estado del arte Universidad Complutense de Madrid Facultad de Informtica 11

II. RPC: Considera todo el rbol de llamadas: nmero de mtodos de una clase ms el nmero de mtodos remotos llamados recursivamente por una clase considerando el rbol entero de llamadas. Las principales interpretaciones de esta mtrica son las siguientes: a. Cuanto mayor sea la respuesta de una clase, ms complicadas sern las pruebas y el mantenimiento. b. Cuanto mayor sea la respuesta de una clase, mayor ser la complejidad de la clase. f) Carencia de cohesin (LCOM: Lack of Cohesion). Cada mtodo de una clase tiene acceso a uno o ms atributos. LCOM calcula el conjunto de atributos comunes en los mtodos de una clase. Dos mtodos son similares si comparten al menos un atributo de la clase. A mayor nmero de atributos similares, mayor cohesin hay en la clase. Ejemplos: III. Si ningn mtodo accede a sus atributos, LCOM=0. IV. Una clase tiene 6 mtodos y 4 de ellos tienen un atributo en comn, LCOM=4 Es interesante conseguir valores bajos de LCOM. Las principales interpretaciones de esta mtrica son las siguientes: a. A mayor cohesin o sea menor LCOM mayor encapsulamiento. b. Un valor grande de LCOM puede indicar que la clase debe dividirse. c. Baja cohesin indica alta complejidad y alta probabilidad de error en el desarrollo.

Anda mungkin juga menyukai