<< Chapter < Page Chapter >> Page >
Breve descripción de la Clasificación de las Métricas Orientadas a Objetos según Chidamber&Kemerer.

Las métricas orientadas a objetos se centran en métricas que se pueden aplicar a las características de encapsulamiento, ocultamiento de información, herencia y técnicas de abstracción de objetos que haganúnica a esa clase.

Chidamber&Kemerer

Chidamber, S.R., D.P. y C.F.Kemerer,“Management Use of Metrics for Object-Oriented Software: An Exploratory Analysis”, IEEE Trans. Software Engineering.
proponen una familia de medidas para desarrollos orientados a objetos:

  • Métodos ponderados por clase (MPC): Tamaño y complejidad
  • Profundidadárbol de herencia (PAH): Tamaño
  • Número de descendientes (NDD): Tamaño, acoplamiento y cohesión
  • Acoplamiento entre clases (ACO): Acoplamiento
  • Respuesta para una clase (RPC): Comunicación y complejidad
  • Carencia de cohesión en los métodos (CCM): Cohesión interna

Estas métricas, en líneas generales, permiten averiguar cuán bien están definidas las clases y el sistema, lo cual tiene un impacto directo en la mantenibilidad del mismo, tanto por la comprensión de lo desarrollado como por la dificultad de modificarlo conéxito.

MÉTodos ponderados por clase

Los métodos ponderados por clase

Weighted methods per class (WMC)
asumen que n métodos de complejidad c1,c2,…cn se definen para la clase C. La métrica de complejidad específica que se eligiódebe normalizarse de manera que la complejidad nominal para un método toma un valor de 10. MPC = sumatorio de ci para cada i=1 hasta n.

El número de métodos y su complejidad son indicadores razonables de la cantidad de esfuerzo requerido para implementar y verificar una clase. Cuanto mayor sea el número de métodos, más complejo es elárbol de herencia. A medida que crece el número de métodos para una clase dada, más probable es que vuelvan más y más específicos de la aplicación, asíque se limita el potencial de reutilización. El MPC debe mantenerse bajo.

Profundidad delÁRbol de herencia

Todos los autores hacen notar la necesidad de medir las estructuras hereditarias en términos de profundidad o de densidad de nodos. Dichas jerarquías pueden medirse como la profundidad de cada clase dentro de su jerarquía, es decir, la longitud máxima desde el nodo que representa la clase hasta la raíz delárbol.

A medida que crece el valor del PAH, es más probable que las clases de niveles inferiores hereden muchos métodos. Esto da lugar a posibles dificultades cuando se intenta predecir el comportamiento de una clase y por lo tanto, mantenerla. Una jerarquía profunda lleva también a una mayor complejidad de diseño. Por otro lado, los valores grandes de PAH implican que se pueden reutilizar muchos métodos, lo que debe ser considerado como un elemento a favor de la mantenibilidad.

Si tenemos el siguienteárbol:

El valor del PAH para la jerarquía de las clases mostradas es de 4.

NÚMero de descendientes

Las subclases que son inmediatamente subordinadas a una clase de la jerarquía de clases se denominan sus descendientes. A medida que crece el número de descendientes

Number of children (NOC)
NDD, se incrementa la reutilización, pero también implica que la abstracción representada por la clase predecesora se ve diluida. Esto dificulta el mantenimiento, ya que existe la posibilidad de que algunos de los descendientes no sean realmente miembros propios de la clase.

Acoplamiento entre clases

Para una clase determinada el acoplamiento entre clases

Coupling between objects (CBO)
se define como el número de otras clases con las cuales está“acoplada”. Es por lo tanto una medida del fan-out, esto es, del número de colaboradores (clases que se utilizan desde esa). Sistemas en los cuales una clase tiene un alto ACO y todas las demás tienen valores próximos a cero indican una estructura no orientada a objetos, con una clase principal dirigente. Por el contrario, la existencia de muchas clases con un ACO grande indica que el diseñador ha afinado demasiado la“granularidad”del sistema. Ninguna de las dos situaciones es deseable para la mantenibilidad: la primera situación hace complejo el mantenimiento de la clase con gran ACO y en la segunda situación la complejidad para entender el flujo del programa complica el mantenimiento.

Respuesta para una clase

La respuesta para una clase (RPC)

Response for class (RFC)
mide tanto la comunicación interna como la externa. Esta métrica captura el tamaño del conjunto de respuesta para una clase. Este conjunto de respuesta para una clase consiste en todos los métodos llamados por los métodos locales. Definimos RPC como el número de métodos locales más el número de métodos llamados por los métodos locales.

Otra definición que podemos dar del conjunto de respuesta de una clase es la siguiente:“conjunto de métodos que pueden ser ejecutados potencialmente en respuesta a un mensaje recibido por un objeto de esa clase”. La RPC se definiría como el número de métodos existentes en el conjunto de respuesta.

Hay que precisar que no se discrimina entre dos mensajes enviados a un mismo método pero desde diferentes partes de la clase.

A medida que el RPC crece, el esfuerzo necesario para las verificaciones y pruebas crece, ya que la complejidad global de diseño de la clase crece también.

Carencia de cohesiÓN en los mÉTodos

La cohesión de una clase estácaracterizada por cuán estrechamente están relacionados los métodos locales a las instancias de variables locales en una clase. La carencia de cohexión en los métodos (CCM)

Lack of cohesion in methods (LCOM)
se define como el número de conjuntos disjuntos de métodos locales.

Unos valores elevados para CCM implican que la clase podría diseñarse mejor descomponiéndola en dos o más clases distintas. Aun cuando existen casos en que es justificable un valor elevado de CCM, es deseable mantener un elevado grado de cohesión, esto es, mantener un valor bajo para CCM.

Questions & Answers

what is Nano technology ?
Bob Reply
write examples of Nano molecule?
Bob
The nanotechnology is as new science, to scale nanometric
brayan
nanotechnology is the study, desing, synthesis, manipulation and application of materials and functional systems through control of matter at nanoscale
Damian
Is there any normative that regulates the use of silver nanoparticles?
Damian Reply
what king of growth are you checking .?
Renato
What fields keep nano created devices from performing or assimulating ? Magnetic fields ? Are do they assimilate ?
Stoney Reply
why we need to study biomolecules, molecular biology in nanotechnology?
Adin Reply
?
Kyle
yes I'm doing my masters in nanotechnology, we are being studying all these domains as well..
Adin
why?
Adin
what school?
Kyle
biomolecules are e building blocks of every organics and inorganic materials.
Joe
anyone know any internet site where one can find nanotechnology papers?
Damian Reply
research.net
kanaga
sciencedirect big data base
Ernesto
Introduction about quantum dots in nanotechnology
Praveena Reply
what does nano mean?
Anassong Reply
nano basically means 10^(-9). nanometer is a unit to measure length.
Bharti
do you think it's worthwhile in the long term to study the effects and possibilities of nanotechnology on viral treatment?
Damian Reply
absolutely yes
Daniel
how to know photocatalytic properties of tio2 nanoparticles...what to do now
Akash Reply
it is a goid question and i want to know the answer as well
Maciej
characteristics of micro business
Abigail
for teaching engĺish at school how nano technology help us
Anassong
Do somebody tell me a best nano engineering book for beginners?
s. Reply
there is no specific books for beginners but there is book called principle of nanotechnology
NANO
what is fullerene does it is used to make bukky balls
Devang Reply
are you nano engineer ?
s.
fullerene is a bucky ball aka Carbon 60 molecule. It was name by the architect Fuller. He design the geodesic dome. it resembles a soccer ball.
Tarell
what is the actual application of fullerenes nowadays?
Damian
That is a great question Damian. best way to answer that question is to Google it. there are hundreds of applications for buck minister fullerenes, from medical to aerospace. you can also find plenty of research papers that will give you great detail on the potential applications of fullerenes.
Tarell
what is the Synthesis, properties,and applications of carbon nano chemistry
Abhijith Reply
Mostly, they use nano carbon for electronics and for materials to be strengthened.
Virgil
is Bucky paper clear?
CYNTHIA
carbon nanotubes has various application in fuel cells membrane, current research on cancer drug,and in electronics MEMS and NEMS etc
NANO
so some one know about replacing silicon atom with phosphorous in semiconductors device?
s. Reply
Yeah, it is a pain to say the least. You basically have to heat the substarte up to around 1000 degrees celcius then pass phosphene gas over top of it, which is explosive and toxic by the way, under very low pressure.
Harper
Do you know which machine is used to that process?
s.
how to fabricate graphene ink ?
SUYASH Reply
for screen printed electrodes ?
SUYASH
What is lattice structure?
s. Reply
of graphene you mean?
Ebrahim
or in general
Ebrahim
in general
s.
Graphene has a hexagonal structure
tahir
On having this app for quite a bit time, Haven't realised there's a chat room in it.
Cied
how did you get the value of 2000N.What calculations are needed to arrive at it
Smarajit Reply
Privacy Information Security Software Version 1.1a
Good
Got questions? Join the online conversation and get instant answers!
Jobilize.com Reply

Get the best Algebra and trigonometry course in your pocket!





Source:  OpenStax, Métricas del mantenimiento de software. OpenStax CNX. Jan 09, 2009 Download for free at http://cnx.org/content/col10583/1.9
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Métricas del mantenimiento de software' conversation and receive update notifications?

Ask