SlideShare a Scribd company logo
1 of 5
METRICAS ORIENTADAS A CLASES.
Las métricasCK.Uno de los conjuntosde métricasOO más ampliamente referenciados,ha
sidoel propuestoporChidamberyKemerer.Normalmenteconocidascomolaserie de métricasCK,
los autores han propuesto seis métricas basadas en clases para sistemas OO.
Árbol de profundidadde herencia(APH). Esta métricase define como“lamáximalongitud
del nodoa laraíz del árbol”.ConreferenciaalaFigura1, el valordel APHpara la jerarquíade clases
mostradaesde 4. A medidaque el APHcrece,esposible que clasesde másbajosnivelesheredarán
muchos métodos.
Estoconllevadificultadespotenciales,cuandoseintentapredecirelcomportamientodeuna
clase. Una jerarquía de clases profunda (el APH es largo) también conduce a una complejidad de
diseño mayor. Por el lado positivo,los valores APH grandes implican un gran número de métodos
que se reutilizarán.
Númerode descendientes(NDD). Lassubclasesinmediatamente subordinadasauna clase
en la jerarquía de clases se denominan sus descendientes. Con referencia a la Figura 1, la clase C2
tiene tres descendientes (subclases C21, C22 y C23) . A medida que el número de descendientes
crece,lareutilizaciónse incrementa,peroademásesciertoque cuandoelNDDcrece,laabstracción
representada por la clase predecesora puede diluirse. Esto significa que existe una posibilidad de
que algunos descendientes no sean miembros, realmente apropiados, de la clase predecesora. A
medida que el NDD crece, la cantidad de pruebas (requeridas para ejercitar cada descendiente en
su contexto operativo) se incrementará también.
Acoplamientoentre clasesobjeto (ACO). En esencia,ACOes el númerode colaboraciones
listadasparaunaclase,enlatarjetaíndice CRC(Clase ResponsabilidadColaboración).A medidaque
ACO se incrementa, es más probable que el grado de reutilización de una clase decrezca. Valores
altos de ACO además complican las modificaciones y las pruebas, que se producen cuando se
realizanmodificaciones.Engeneral, losvaloresde ACOparacadaclase debenmantenersetanbajos
como sea razonable.Esto esconsistente conla regla general para reducirel acoplamiento,parael
software convencional.
Respuesta para una clase (RPC). El conjunto de respuesta de una clase es “una serie de
métodos que pueden potencialmente ser ejecutados, en respuesta a un mensaje recibido por un
objeto, en la clase”. RPC se define como el número de métodos en el conjunto de respuesta. A
medida que la RPC aumenta, el esfuerzorequeridopara la comprobación tambiénse incrementa,
ya que la secuencia de comprobación se incrementa también. Así mismo, se dice que, así como la
RPC aumenta, la complejidad del diseño global de la clase se incrementa.
Carencia de cohesiónen los métodos (CCM). Cada métododentrode una clase,C, accede
a unoo más atributos(tambiénllamadosvariablesde instancia)CCMesel númerode métodosque
accede a uno o más de los mismos atributos. Si no existenmétodos que accedan a los mismos
atributos, entonces CCM= 0.
Para ilustrarel caso enel que CCMes diferentede 0,considéreseunaclase con6 métodos.
Cuatro de los métodos tienen uno o más atributos en común (es decir, acceden a atributos
comunes).De estamanera,CCM=4. Si CCMesalto,losmétodosdebenacoplarseaotro,pormedio
de los atributos. Esto incrementa la complejidad del diseñode clases.En general,los valores altos
paraCCMimplicanque laclase debediseñarse mejordescomponiendoendosomásclasesdistintas.
Aunque existan casos en los que un valor alto para CCM es justificable, es deseable mantener la
cohesión alta, es decir, mantener CCMbajo.
MÉTRICAS OO (LORENZ Y KIDD).
Métricas propuestas por Lorenz y Kidd. En su libro sobre métricas OO, Lorenz y Kidd
separan las métricas basadas en clases en cuatro amplias categorías: tamaño, herencia, valores
internos y valores externos. Las métricas orientadas al tamaño para las clases OO se centran en el
recuento de atributos y operaciones para cada clase individual, y los valores promedio para el
sistema OO como un todo. Las métricas basadas en la herencia se centran en la forma en que las
operaciones se reutilizan en la jerarquía de clases. Las métricas para valores internos de clase
examinanlacohesiónylosaspectosorientadosal código;lasmétricasorientadasavaloresexternos,
examinan el acoplamiento y la reutilización. A continuación, una muestra de métricas propuestas
por Lorenz y Kidd.
Primera. Tamaño de clase (TC). El tamaño general de una clase puede medirse
determinando las siguientes medidas:
 El total de operaciones (operaciones tanto heredadas como privadas de la
instancia), que se encapsulan dentro de la clase.
 El númerode atributos(atributostanto heredadoscomoprivadosde la instancia),
encapsulados por la clase.
La métricaMPCpropuestaporChidamberyKemererestambiénunamétricaponderadadel
tamañode clase.Comose indicóconanterioridad,valoresgrandesparaTCindicanquelaclase debe
tener bastante responsabilidad. Esto reducirá la reutilización de la clase y complicará la
implementaciónylaspruebas.En general,operacionesyatributosheredadosopúblicosdebenser
ponderados con mayor importancia, cuando se determina el tamaño de clase. Operaciones y
atributos privados, permiten la especialización y son más propios del diseño.
También se pueden calcular los promedios para el número de atributos y operaciones de
clase.Cuanto menorsea el valor promediopara el tamaño, será más posible que lasclasesdentro
del sistema puedan reutilizarse.
Segunda. Número de operaciones redefinidas para una subclase (NOR). Existen casos en
que unasubclase reemplazaunaoperaciónheredadadesusuperclase porunaversiónespecializada
para su propiouso. A estose le llamaredefinición.Losvaloresgrandesparael NOR, generalmente
indican un problema de diseño. Tal como indican Lorenz y Kidd:
“Dado que una subclase debe serla especializaciónde sussuperclases,deben,sobre todo,
extender los servicios (operaciones) de las superclases. Esto debe resultar en nuevos nombresde
métodos únicos”.
Si el NOR esgrande,el diseñadorhavioladolaabstracción representadaporlasuperclase.
Esto provoca una débil jerarquía de clases y un software OO, que puede ser difícil de probar y
modificar.
Tercera. Número de operaciones añadidas por una subclase (NOA). Las subclases se
especializan añadiendo operaciones y atributos privados. A medida que el valor NOA se
incrementa, la subclase se aleja de la abstracción representada por la superclase. En
general, a medida que la profundidad de la jerarquía de clases incrementa (APH se vuelve
grande), el valor para NOA a niveles más bajos en la jerarquía debería disminuir.
Cuarta. Índice de especialización (IES). El índice de especialización proporciona una
indicación aproximada del grado de especialización, para cada una de las subclases en un
sistema OO. La especialización se puede alcanzar añadiendo o eliminando operaciones,
pero también redefiniendo.
IE = [ NOR * nivel ] / Mtotal
Donde: nivel corresponde al nivel en la jerarquía de clases en que reside la clase, y
Mtotal es el número total de métodos de la clase. Cuanto más elevado sea el valor de IE,
más probable será que la jerarquía de clases tenga clases que no se ajusten a la abstracción
de la superclase.
MÉTRICAS DE DISEÑO A NIVEL DE COMPONENTES DE SOFTWARE CONVENCIONAL
Las métricasde diseñoanivelde componentesse concentranenlascaracterísticasinternas
de los componentes del software e incluyen medidas de las «3Cs» la cohesión, acoplamiento y
complejidaddelmódulo.Estastresmedidaspuedenayudaral desarrolladorde software ajuzgarla
calidad de un diseño a nivel de los componentes.
Las métricaspresentadasenestasecciónsonde cajablancaen el sentidode que requieren
conocimiento del trabajo interno del módulo en cuestión. Las métricas de diseño de los
componentesse puedenaplicarunavezque se ha desarrolladoundiseñoprocedimental.También
se pueden retrasar hasta tener disponible el código fuente.
Métricas de Cohesión: Bieman y Ott definen una colección de métricas que proporcionan
unaindicaciónde lacohesióndeunmódulo.Lasmétricassedefinenconcincoconceptosymedidas:
 Porción de datos. Dicho simplemente,unaporciónde datoses una marcha atrás a
través de un módulo que busca valores de datos que afectan a la localización de
móduloenel que empezólamarchaatrás.Deberíaresaltarse quese puedendefinir
tanto porcionesde programas(que se centranen enunciadosycondiciones) como
porciones de datos.
 Muestras (tokens) de datos. Las variables definidas para un módulo pueden
definirse como muestras de datos para el módulo.
 Señales de unión. El conjunto de muestras de datos que se encuentran en una o
más porciones de datos.
 Señales de superunión. La muestras de datos comunes a todas las porciones de
datos de un módulo.
 Pegajosidad. La pegajosidad relativa de una muestra de unión es directamente
proporcional al número de porciones de datos que liga.
Métricas de acoplamiento: El acoplamiento de módulo proporciona una indicación de la
conectividad» de un módulo con otros módulos, datos globales y el entorno exterior.
Dhama ha propuesto una métrica para el acoplamiento del módulo que combina el
acoplamiento de flujo de datos y de control, acoplamiento global y acoplamiento de entorno.Las
medidas necesarias para calcular el acoplamiento de módulo se definen en términos de cada uno
de los tres tipos de acoplamiento apuntados anteriormente.
Para el acoplamiento de flujo de datos y de control:
di = número de parámetros de datos de entrada
ci = número de parámetros de control de entrada
do = número de parámetros de datos de salida
co = número de parámetros de control de salida
Para el acoplamiento global:
g, = número de variables globales usadas como datos
g, = número de variables globales usadas como control
Para el acoplamiento de entorno:
w = número de módulos llamados (expansión)
r = número de módulos que llaman al módulo en cuestión
Métricas de Complejidad: Se pueden calcular una variedad de métricas del software para
determinar la complejidaddel flujo de control del programa. Muchas de éstas se basan en una
representacióndenominada grafode flujo.Un grafo es una representacióncompuestade nodosy
enlaces(tambiéndenominadosaristas).Cuandose dirigenlosenlaces(aristas),el grafode flujoes
un grafo dirigido.
McCabe identifica un número importante de usos para las métricas de complejidad:
Las métricasde complejidadpuedenemplearse parapredecir lainformacióncríticasobre la
fiabilidad y mantenimiento de sistemas software de análisis automáticos de código fuente (o
información de diseño procedimental). Las métricas de complejidad también realimentan la
información durante el proyecto de software para ayudar a controlar la [actividad del diseño].
Durante las pruebas y el mantenimiento, proporcionan una detallada información sobre los
módulos software para ayudar a resaltar las áreas de inestabilidad potencial.
McCabe también defiende que la complejidad ciclomática puede emplearse para
proporcionar una indicación cuantitativa del tamaño máximo del módulo. Recogiendo datos de
varios proyectos de programación reales, ha averiguado que una complejidadciclomática de 10
parece ser el límite práctico superior para el tamaño de un módulo. Cuando la complejidad
ciclomática de los módulos excedían ese valor, resultaba extremadamente difícil probar
adecuadamente el módulo.
Referencias Bibliográficas
Métricas para Sistemas Orientados a Objetos
http://catarina.udlap.mx/u_dl_a/tales/documentos/lis/gonzalez_d_h/capitulo6.pdf
Métodos y herramientas Orientados a Objetos a la Calidad del Software
http://www.frre.utn.edu.ar/gics/clean/files/get/item/6425
Ingeniería de Software III
http://ing-software3.blogspot.com/2012/11/metricas-del-modelo-del-diseno.html

More Related Content

What's hot

MODELO COCOMO (INGENIERA DE SOFTWARE)
MODELO COCOMO (INGENIERA DE SOFTWARE)MODELO COCOMO (INGENIERA DE SOFTWARE)
MODELO COCOMO (INGENIERA DE SOFTWARE)Yadith Miranda Silva
 
Estimacion de proyectos de software
Estimacion de proyectos de softwareEstimacion de proyectos de software
Estimacion de proyectos de softwareMartin Perez
 
Proyecto de Software y Estimacion de Costo
Proyecto de Software y Estimacion de CostoProyecto de Software y Estimacion de Costo
Proyecto de Software y Estimacion de CostoCAMILO
 
Clasificacion de las Metodologias de Desarrollo de Software
Clasificacion de las Metodologias de Desarrollo de SoftwareClasificacion de las Metodologias de Desarrollo de Software
Clasificacion de las Metodologias de Desarrollo de Softwaremireya2022
 
Trabajo de Christian Oblitas
Trabajo de Christian OblitasTrabajo de Christian Oblitas
Trabajo de Christian OblitasChristian1705
 
Tecnicas de estimacion de costos de proyecto software
Tecnicas de estimacion de costos de proyecto softwareTecnicas de estimacion de costos de proyecto software
Tecnicas de estimacion de costos de proyecto softwareantonio
 
Modelos empiricos de_estimacion
Modelos empiricos de_estimacionModelos empiricos de_estimacion
Modelos empiricos de_estimaciondanymieres33
 
Cuadro comparativo
Cuadro comparativoCuadro comparativo
Cuadro comparativoKleo Jorgee
 
Clase no. 1 unidad no. iii introduccion al analisis y diseño estructurado d...
Clase no. 1 unidad no. iii  introduccion al analisis y diseño estructurado  d...Clase no. 1 unidad no. iii  introduccion al analisis y diseño estructurado  d...
Clase no. 1 unidad no. iii introduccion al analisis y diseño estructurado d...negroues
 
Tema 2 -_metricas_y_modelos_de_estimacion_del_software
Tema 2 -_metricas_y_modelos_de_estimacion_del_softwareTema 2 -_metricas_y_modelos_de_estimacion_del_software
Tema 2 -_metricas_y_modelos_de_estimacion_del_softwarexavazquez
 
Diseño estructurado
Diseño estructuradoDiseño estructurado
Diseño estructuradoazuajesimon
 
Utilización de software en la Distribución en Planta de instalaciones
Utilización de software en la Distribución en Planta de instalacionesUtilización de software en la Distribución en Planta de instalaciones
Utilización de software en la Distribución en Planta de instalacionesmarco6
 
Diseño estructurado
Diseño estructuradoDiseño estructurado
Diseño estructuradoMarilugosale
 
Diseño estructurado
Diseño estructuradoDiseño estructurado
Diseño estructuradomateraactivo
 
Sistemas, redes y riesgos en los computadores
Sistemas, redes y riesgos en los computadoresSistemas, redes y riesgos en los computadores
Sistemas, redes y riesgos en los computadoresmetalvash
 

What's hot (20)

Entrega ii
Entrega iiEntrega ii
Entrega ii
 
MODELO COCOMO (INGENIERA DE SOFTWARE)
MODELO COCOMO (INGENIERA DE SOFTWARE)MODELO COCOMO (INGENIERA DE SOFTWARE)
MODELO COCOMO (INGENIERA DE SOFTWARE)
 
Estimacion de proyectos de software
Estimacion de proyectos de softwareEstimacion de proyectos de software
Estimacion de proyectos de software
 
Proyecto de Software y Estimacion de Costo
Proyecto de Software y Estimacion de CostoProyecto de Software y Estimacion de Costo
Proyecto de Software y Estimacion de Costo
 
Modelado de los requerimientos
Modelado de los requerimientosModelado de los requerimientos
Modelado de los requerimientos
 
Desarrollo en espiral
Desarrollo en espiralDesarrollo en espiral
Desarrollo en espiral
 
Clasificacion de las Metodologias de Desarrollo de Software
Clasificacion de las Metodologias de Desarrollo de SoftwareClasificacion de las Metodologias de Desarrollo de Software
Clasificacion de las Metodologias de Desarrollo de Software
 
Trabajo de Christian Oblitas
Trabajo de Christian OblitasTrabajo de Christian Oblitas
Trabajo de Christian Oblitas
 
Tecnicas de estimacion de costos de proyecto software
Tecnicas de estimacion de costos de proyecto softwareTecnicas de estimacion de costos de proyecto software
Tecnicas de estimacion de costos de proyecto software
 
Modelos empiricos de_estimacion
Modelos empiricos de_estimacionModelos empiricos de_estimacion
Modelos empiricos de_estimacion
 
Cuadro comparativo
Cuadro comparativoCuadro comparativo
Cuadro comparativo
 
Clase no. 1 unidad no. iii introduccion al analisis y diseño estructurado d...
Clase no. 1 unidad no. iii  introduccion al analisis y diseño estructurado  d...Clase no. 1 unidad no. iii  introduccion al analisis y diseño estructurado  d...
Clase no. 1 unidad no. iii introduccion al analisis y diseño estructurado d...
 
Estimación De Proyectos De Software
Estimación De Proyectos De SoftwareEstimación De Proyectos De Software
Estimación De Proyectos De Software
 
Tema 2 -_metricas_y_modelos_de_estimacion_del_software
Tema 2 -_metricas_y_modelos_de_estimacion_del_softwareTema 2 -_metricas_y_modelos_de_estimacion_del_software
Tema 2 -_metricas_y_modelos_de_estimacion_del_software
 
Diseño estructurado
Diseño estructuradoDiseño estructurado
Diseño estructurado
 
COCOMO
COCOMOCOCOMO
COCOMO
 
Utilización de software en la Distribución en Planta de instalaciones
Utilización de software en la Distribución en Planta de instalacionesUtilización de software en la Distribución en Planta de instalaciones
Utilización de software en la Distribución en Planta de instalaciones
 
Diseño estructurado
Diseño estructuradoDiseño estructurado
Diseño estructurado
 
Diseño estructurado
Diseño estructuradoDiseño estructurado
Diseño estructurado
 
Sistemas, redes y riesgos en los computadores
Sistemas, redes y riesgos en los computadoresSistemas, redes y riesgos en los computadores
Sistemas, redes y riesgos en los computadores
 

Viewers also liked

TECNOLOGÍA DE LA INFORMACIÓN Y COMUNICACIÓN TIC
TECNOLOGÍA DE LA INFORMACIÓN Y COMUNICACIÓN TICTECNOLOGÍA DE LA INFORMACIÓN Y COMUNICACIÓN TIC
TECNOLOGÍA DE LA INFORMACIÓN Y COMUNICACIÓN TICDavid Leon Sicilia
 
SAPI (SERVICIO AUTONOMO A LA PROPIEDAD INTELECTUAL)
SAPI (SERVICIO AUTONOMO A LA PROPIEDAD INTELECTUAL)SAPI (SERVICIO AUTONOMO A LA PROPIEDAD INTELECTUAL)
SAPI (SERVICIO AUTONOMO A LA PROPIEDAD INTELECTUAL)David Leon Sicilia
 
CONCEPTUALIZACIÓN DE LA INFORMACIÓN
CONCEPTUALIZACIÓN DE LA INFORMACIÓNCONCEPTUALIZACIÓN DE LA INFORMACIÓN
CONCEPTUALIZACIÓN DE LA INFORMACIÓNDavid Leon Sicilia
 
Re Engineering Michigan Brochure
Re Engineering Michigan BrochureRe Engineering Michigan Brochure
Re Engineering Michigan Brochureterryshare2b
 
InstallShield 2015-DE
InstallShield 2015-DEInstallShield 2015-DE
InstallShield 2015-DEFlexera
 
Zero Waste Antigua Strategy
Zero Waste Antigua StrategyZero Waste Antigua Strategy
Zero Waste Antigua StrategyJessica Brookes
 
Welcome to Care2
Welcome to Care2Welcome to Care2
Welcome to Care2gladcare2
 
Consumerization of IT: What Are the Risks and How Can They Be Alleviated? Inf...
Consumerization of IT: What Are the Risks and How Can They Be Alleviated? Inf...Consumerization of IT: What Are the Risks and How Can They Be Alleviated? Inf...
Consumerization of IT: What Are the Risks and How Can They Be Alleviated? Inf...Flexera
 
2011 proposal-renovasi-2-okok
2011 proposal-renovasi-2-okok2011 proposal-renovasi-2-okok
2011 proposal-renovasi-2-okokzaenal mukodir
 

Viewers also liked (19)

Integracion de las metricas
Integracion de las metricasIntegracion de las metricas
Integracion de las metricas
 
Metricas
MetricasMetricas
Metricas
 
Firmas digitales
Firmas digitales Firmas digitales
Firmas digitales
 
TECNOLOGÍA DE LA INFORMACIÓN Y COMUNICACIÓN TIC
TECNOLOGÍA DE LA INFORMACIÓN Y COMUNICACIÓN TICTECNOLOGÍA DE LA INFORMACIÓN Y COMUNICACIÓN TIC
TECNOLOGÍA DE LA INFORMACIÓN Y COMUNICACIÓN TIC
 
Soberanía tecnológica
Soberanía tecnológicaSoberanía tecnológica
Soberanía tecnológica
 
SAPI (SERVICIO AUTONOMO A LA PROPIEDAD INTELECTUAL)
SAPI (SERVICIO AUTONOMO A LA PROPIEDAD INTELECTUAL)SAPI (SERVICIO AUTONOMO A LA PROPIEDAD INTELECTUAL)
SAPI (SERVICIO AUTONOMO A LA PROPIEDAD INTELECTUAL)
 
SOFTWARE LIBRE
SOFTWARE LIBRESOFTWARE LIBRE
SOFTWARE LIBRE
 
CONCEPTUALIZACIÓN DE LA INFORMACIÓN
CONCEPTUALIZACIÓN DE LA INFORMACIÓNCONCEPTUALIZACIÓN DE LA INFORMACIÓN
CONCEPTUALIZACIÓN DE LA INFORMACIÓN
 
Formacion de emprendedores
Formacion de emprendedores Formacion de emprendedores
Formacion de emprendedores
 
Re Engineering Michigan Brochure
Re Engineering Michigan BrochureRe Engineering Michigan Brochure
Re Engineering Michigan Brochure
 
Henry Ford Period 4
Henry Ford Period 4Henry Ford Period 4
Henry Ford Period 4
 
InstallShield 2015-DE
InstallShield 2015-DEInstallShield 2015-DE
InstallShield 2015-DE
 
Slides5
Slides5Slides5
Slides5
 
Fall 2014 NYJL Sustainer Slideshow
Fall 2014 NYJL Sustainer SlideshowFall 2014 NYJL Sustainer Slideshow
Fall 2014 NYJL Sustainer Slideshow
 
Zero Waste Antigua Strategy
Zero Waste Antigua StrategyZero Waste Antigua Strategy
Zero Waste Antigua Strategy
 
Welcome to Care2
Welcome to Care2Welcome to Care2
Welcome to Care2
 
Consumerization of IT: What Are the Risks and How Can They Be Alleviated? Inf...
Consumerization of IT: What Are the Risks and How Can They Be Alleviated? Inf...Consumerization of IT: What Are the Risks and How Can They Be Alleviated? Inf...
Consumerization of IT: What Are the Risks and How Can They Be Alleviated? Inf...
 
2011 proposal-renovasi-2-okok
2011 proposal-renovasi-2-okok2011 proposal-renovasi-2-okok
2011 proposal-renovasi-2-okok
 
Forest week belgium
Forest week belgiumForest week belgium
Forest week belgium
 

Similar to Métricas orientadas a la clase

Clasificacion Supervisada Y Algoritmos Evolutivos
Clasificacion Supervisada Y Algoritmos EvolutivosClasificacion Supervisada Y Algoritmos Evolutivos
Clasificacion Supervisada Y Algoritmos EvolutivosALONSO UCHIHA
 
Metodología Estructurada
Metodología EstructuradaMetodología Estructurada
Metodología Estructuradarenyv123
 
Algoritmos de Clasificación
Algoritmos de ClasificaciónAlgoritmos de Clasificación
Algoritmos de ClasificaciónUTPL
 
Semanas01y02
Semanas01y02Semanas01y02
Semanas01y02luisortiz
 
capitulo v materiales y métodos
capitulo v materiales y métodoscapitulo v materiales y métodos
capitulo v materiales y métodosDiskCom - Negocios
 
Tipos de modelo y metodologias
Tipos de modelo y metodologiasTipos de modelo y metodologias
Tipos de modelo y metodologiasJosafat Mtz
 
Uso de-patrones-de-arquitectura-capitulo-4
Uso de-patrones-de-arquitectura-capitulo-4Uso de-patrones-de-arquitectura-capitulo-4
Uso de-patrones-de-arquitectura-capitulo-4Ozzy Bull
 
Metodologã­a orientada-a-objetos-omt.-rumbaugh
Metodologã­a orientada-a-objetos-omt.-rumbaughMetodologã­a orientada-a-objetos-omt.-rumbaugh
Metodologã­a orientada-a-objetos-omt.-rumbaughviisistemas
 
Clasificación Automática de Documentos
Clasificación Automática de DocumentosClasificación Automática de Documentos
Clasificación Automática de Documentosnando85
 
Patrones de programación y uml en java
Patrones de programación y uml en javaPatrones de programación y uml en java
Patrones de programación y uml en javaGuille Villaf
 
Acceso a datos en aplicaciones web del entorno servidor
Acceso a datos en aplicaciones web del entorno servidorAcceso a datos en aplicaciones web del entorno servidor
Acceso a datos en aplicaciones web del entorno servidorJomicast
 
Alumno david gimenez ci 26846136 metodología
Alumno david gimenez ci 26846136 metodologíaAlumno david gimenez ci 26846136 metodología
Alumno david gimenez ci 26846136 metodologíaDavid Alexander
 

Similar to Métricas orientadas a la clase (20)

Clasificacion Supervisada Y Algoritmos Evolutivos
Clasificacion Supervisada Y Algoritmos EvolutivosClasificacion Supervisada Y Algoritmos Evolutivos
Clasificacion Supervisada Y Algoritmos Evolutivos
 
Metodología Estructurada
Metodología EstructuradaMetodología Estructurada
Metodología Estructurada
 
Algoritmos de Clasificación
Algoritmos de ClasificaciónAlgoritmos de Clasificación
Algoritmos de Clasificación
 
Capitulo6
Capitulo6Capitulo6
Capitulo6
 
Semanas01y02
Semanas01y02Semanas01y02
Semanas01y02
 
Semanas01y02
Semanas01y02Semanas01y02
Semanas01y02
 
Paradigmas
ParadigmasParadigmas
Paradigmas
 
capitulo v materiales y métodos
capitulo v materiales y métodoscapitulo v materiales y métodos
capitulo v materiales y métodos
 
Métricas OO
Métricas OOMétricas OO
Métricas OO
 
Aprendizaje no supervisado
Aprendizaje no supervisadoAprendizaje no supervisado
Aprendizaje no supervisado
 
Sis05 s simulacion
Sis05 s simulacionSis05 s simulacion
Sis05 s simulacion
 
Tipos de modelo y metodologias
Tipos de modelo y metodologiasTipos de modelo y metodologias
Tipos de modelo y metodologias
 
U2 dinamica de sistemas
U2 dinamica de sistemasU2 dinamica de sistemas
U2 dinamica de sistemas
 
Uso de-patrones-de-arquitectura-capitulo-4
Uso de-patrones-de-arquitectura-capitulo-4Uso de-patrones-de-arquitectura-capitulo-4
Uso de-patrones-de-arquitectura-capitulo-4
 
Metodologã­a orientada-a-objetos-omt.-rumbaugh
Metodologã­a orientada-a-objetos-omt.-rumbaughMetodologã­a orientada-a-objetos-omt.-rumbaugh
Metodologã­a orientada-a-objetos-omt.-rumbaugh
 
Clasificación Automática de Documentos
Clasificación Automática de DocumentosClasificación Automática de Documentos
Clasificación Automática de Documentos
 
Patrones de programación y uml en java
Patrones de programación y uml en javaPatrones de programación y uml en java
Patrones de programación y uml en java
 
Practicas susana todo unidad1
Practicas susana todo unidad1Practicas susana todo unidad1
Practicas susana todo unidad1
 
Acceso a datos en aplicaciones web del entorno servidor
Acceso a datos en aplicaciones web del entorno servidorAcceso a datos en aplicaciones web del entorno servidor
Acceso a datos en aplicaciones web del entorno servidor
 
Alumno david gimenez ci 26846136 metodología
Alumno david gimenez ci 26846136 metodologíaAlumno david gimenez ci 26846136 metodología
Alumno david gimenez ci 26846136 metodología
 

Recently uploaded

Programacion Anual Matemática4 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática4    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática4    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...JAVIER SOLIS NOYOLA
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática5    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática5    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICAÁngel Encinas
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfNancyLoaa
 
plande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfplande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfenelcielosiempre
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosJonathanCovena1
 
Valoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCVValoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCVGiustinoAdesso1
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
Estrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxEstrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxdkmeza
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñotapirjackluis
 
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIAFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIIsauraImbrondone
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 

Recently uploaded (20)

Programacion Anual Matemática4 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática4    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática4    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdf
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática5    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática5    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdf
 
plande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfplande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdf
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficios
 
Valoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCVValoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCV
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
Estrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxEstrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptx
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
 
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIAFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 

Métricas orientadas a la clase

  • 1. METRICAS ORIENTADAS A CLASES. Las métricasCK.Uno de los conjuntosde métricasOO más ampliamente referenciados,ha sidoel propuestoporChidamberyKemerer.Normalmenteconocidascomolaserie de métricasCK, los autores han propuesto seis métricas basadas en clases para sistemas OO. Árbol de profundidadde herencia(APH). Esta métricase define como“lamáximalongitud del nodoa laraíz del árbol”.ConreferenciaalaFigura1, el valordel APHpara la jerarquíade clases mostradaesde 4. A medidaque el APHcrece,esposible que clasesde másbajosnivelesheredarán muchos métodos. Estoconllevadificultadespotenciales,cuandoseintentapredecirelcomportamientodeuna clase. Una jerarquía de clases profunda (el APH es largo) también conduce a una complejidad de diseño mayor. Por el lado positivo,los valores APH grandes implican un gran número de métodos que se reutilizarán. Númerode descendientes(NDD). Lassubclasesinmediatamente subordinadasauna clase en la jerarquía de clases se denominan sus descendientes. Con referencia a la Figura 1, la clase C2 tiene tres descendientes (subclases C21, C22 y C23) . A medida que el número de descendientes crece,lareutilizaciónse incrementa,peroademásesciertoque cuandoelNDDcrece,laabstracción representada por la clase predecesora puede diluirse. Esto significa que existe una posibilidad de que algunos descendientes no sean miembros, realmente apropiados, de la clase predecesora. A medida que el NDD crece, la cantidad de pruebas (requeridas para ejercitar cada descendiente en su contexto operativo) se incrementará también. Acoplamientoentre clasesobjeto (ACO). En esencia,ACOes el númerode colaboraciones listadasparaunaclase,enlatarjetaíndice CRC(Clase ResponsabilidadColaboración).A medidaque ACO se incrementa, es más probable que el grado de reutilización de una clase decrezca. Valores
  • 2. altos de ACO además complican las modificaciones y las pruebas, que se producen cuando se realizanmodificaciones.Engeneral, losvaloresde ACOparacadaclase debenmantenersetanbajos como sea razonable.Esto esconsistente conla regla general para reducirel acoplamiento,parael software convencional. Respuesta para una clase (RPC). El conjunto de respuesta de una clase es “una serie de métodos que pueden potencialmente ser ejecutados, en respuesta a un mensaje recibido por un objeto, en la clase”. RPC se define como el número de métodos en el conjunto de respuesta. A medida que la RPC aumenta, el esfuerzorequeridopara la comprobación tambiénse incrementa, ya que la secuencia de comprobación se incrementa también. Así mismo, se dice que, así como la RPC aumenta, la complejidad del diseño global de la clase se incrementa. Carencia de cohesiónen los métodos (CCM). Cada métododentrode una clase,C, accede a unoo más atributos(tambiénllamadosvariablesde instancia)CCMesel númerode métodosque accede a uno o más de los mismos atributos. Si no existenmétodos que accedan a los mismos atributos, entonces CCM= 0. Para ilustrarel caso enel que CCMes diferentede 0,considéreseunaclase con6 métodos. Cuatro de los métodos tienen uno o más atributos en común (es decir, acceden a atributos comunes).De estamanera,CCM=4. Si CCMesalto,losmétodosdebenacoplarseaotro,pormedio de los atributos. Esto incrementa la complejidad del diseñode clases.En general,los valores altos paraCCMimplicanque laclase debediseñarse mejordescomponiendoendosomásclasesdistintas. Aunque existan casos en los que un valor alto para CCM es justificable, es deseable mantener la cohesión alta, es decir, mantener CCMbajo. MÉTRICAS OO (LORENZ Y KIDD). Métricas propuestas por Lorenz y Kidd. En su libro sobre métricas OO, Lorenz y Kidd separan las métricas basadas en clases en cuatro amplias categorías: tamaño, herencia, valores internos y valores externos. Las métricas orientadas al tamaño para las clases OO se centran en el recuento de atributos y operaciones para cada clase individual, y los valores promedio para el sistema OO como un todo. Las métricas basadas en la herencia se centran en la forma en que las operaciones se reutilizan en la jerarquía de clases. Las métricas para valores internos de clase examinanlacohesiónylosaspectosorientadosal código;lasmétricasorientadasavaloresexternos, examinan el acoplamiento y la reutilización. A continuación, una muestra de métricas propuestas por Lorenz y Kidd. Primera. Tamaño de clase (TC). El tamaño general de una clase puede medirse determinando las siguientes medidas:  El total de operaciones (operaciones tanto heredadas como privadas de la instancia), que se encapsulan dentro de la clase.  El númerode atributos(atributostanto heredadoscomoprivadosde la instancia), encapsulados por la clase. La métricaMPCpropuestaporChidamberyKemererestambiénunamétricaponderadadel tamañode clase.Comose indicóconanterioridad,valoresgrandesparaTCindicanquelaclase debe
  • 3. tener bastante responsabilidad. Esto reducirá la reutilización de la clase y complicará la implementaciónylaspruebas.En general,operacionesyatributosheredadosopúblicosdebenser ponderados con mayor importancia, cuando se determina el tamaño de clase. Operaciones y atributos privados, permiten la especialización y son más propios del diseño. También se pueden calcular los promedios para el número de atributos y operaciones de clase.Cuanto menorsea el valor promediopara el tamaño, será más posible que lasclasesdentro del sistema puedan reutilizarse. Segunda. Número de operaciones redefinidas para una subclase (NOR). Existen casos en que unasubclase reemplazaunaoperaciónheredadadesusuperclase porunaversiónespecializada para su propiouso. A estose le llamaredefinición.Losvaloresgrandesparael NOR, generalmente indican un problema de diseño. Tal como indican Lorenz y Kidd: “Dado que una subclase debe serla especializaciónde sussuperclases,deben,sobre todo, extender los servicios (operaciones) de las superclases. Esto debe resultar en nuevos nombresde métodos únicos”. Si el NOR esgrande,el diseñadorhavioladolaabstracción representadaporlasuperclase. Esto provoca una débil jerarquía de clases y un software OO, que puede ser difícil de probar y modificar. Tercera. Número de operaciones añadidas por una subclase (NOA). Las subclases se especializan añadiendo operaciones y atributos privados. A medida que el valor NOA se incrementa, la subclase se aleja de la abstracción representada por la superclase. En general, a medida que la profundidad de la jerarquía de clases incrementa (APH se vuelve grande), el valor para NOA a niveles más bajos en la jerarquía debería disminuir. Cuarta. Índice de especialización (IES). El índice de especialización proporciona una indicación aproximada del grado de especialización, para cada una de las subclases en un sistema OO. La especialización se puede alcanzar añadiendo o eliminando operaciones, pero también redefiniendo. IE = [ NOR * nivel ] / Mtotal Donde: nivel corresponde al nivel en la jerarquía de clases en que reside la clase, y Mtotal es el número total de métodos de la clase. Cuanto más elevado sea el valor de IE, más probable será que la jerarquía de clases tenga clases que no se ajusten a la abstracción de la superclase. MÉTRICAS DE DISEÑO A NIVEL DE COMPONENTES DE SOFTWARE CONVENCIONAL Las métricasde diseñoanivelde componentesse concentranenlascaracterísticasinternas de los componentes del software e incluyen medidas de las «3Cs» la cohesión, acoplamiento y complejidaddelmódulo.Estastresmedidaspuedenayudaral desarrolladorde software ajuzgarla calidad de un diseño a nivel de los componentes.
  • 4. Las métricaspresentadasenestasecciónsonde cajablancaen el sentidode que requieren conocimiento del trabajo interno del módulo en cuestión. Las métricas de diseño de los componentesse puedenaplicarunavezque se ha desarrolladoundiseñoprocedimental.También se pueden retrasar hasta tener disponible el código fuente. Métricas de Cohesión: Bieman y Ott definen una colección de métricas que proporcionan unaindicaciónde lacohesióndeunmódulo.Lasmétricassedefinenconcincoconceptosymedidas:  Porción de datos. Dicho simplemente,unaporciónde datoses una marcha atrás a través de un módulo que busca valores de datos que afectan a la localización de móduloenel que empezólamarchaatrás.Deberíaresaltarse quese puedendefinir tanto porcionesde programas(que se centranen enunciadosycondiciones) como porciones de datos.  Muestras (tokens) de datos. Las variables definidas para un módulo pueden definirse como muestras de datos para el módulo.  Señales de unión. El conjunto de muestras de datos que se encuentran en una o más porciones de datos.  Señales de superunión. La muestras de datos comunes a todas las porciones de datos de un módulo.  Pegajosidad. La pegajosidad relativa de una muestra de unión es directamente proporcional al número de porciones de datos que liga. Métricas de acoplamiento: El acoplamiento de módulo proporciona una indicación de la conectividad» de un módulo con otros módulos, datos globales y el entorno exterior. Dhama ha propuesto una métrica para el acoplamiento del módulo que combina el acoplamiento de flujo de datos y de control, acoplamiento global y acoplamiento de entorno.Las medidas necesarias para calcular el acoplamiento de módulo se definen en términos de cada uno de los tres tipos de acoplamiento apuntados anteriormente. Para el acoplamiento de flujo de datos y de control: di = número de parámetros de datos de entrada ci = número de parámetros de control de entrada do = número de parámetros de datos de salida co = número de parámetros de control de salida Para el acoplamiento global: g, = número de variables globales usadas como datos g, = número de variables globales usadas como control Para el acoplamiento de entorno:
  • 5. w = número de módulos llamados (expansión) r = número de módulos que llaman al módulo en cuestión Métricas de Complejidad: Se pueden calcular una variedad de métricas del software para determinar la complejidaddel flujo de control del programa. Muchas de éstas se basan en una representacióndenominada grafode flujo.Un grafo es una representacióncompuestade nodosy enlaces(tambiéndenominadosaristas).Cuandose dirigenlosenlaces(aristas),el grafode flujoes un grafo dirigido. McCabe identifica un número importante de usos para las métricas de complejidad: Las métricasde complejidadpuedenemplearse parapredecir lainformacióncríticasobre la fiabilidad y mantenimiento de sistemas software de análisis automáticos de código fuente (o información de diseño procedimental). Las métricas de complejidad también realimentan la información durante el proyecto de software para ayudar a controlar la [actividad del diseño]. Durante las pruebas y el mantenimiento, proporcionan una detallada información sobre los módulos software para ayudar a resaltar las áreas de inestabilidad potencial. McCabe también defiende que la complejidad ciclomática puede emplearse para proporcionar una indicación cuantitativa del tamaño máximo del módulo. Recogiendo datos de varios proyectos de programación reales, ha averiguado que una complejidadciclomática de 10 parece ser el límite práctico superior para el tamaño de un módulo. Cuando la complejidad ciclomática de los módulos excedían ese valor, resultaba extremadamente difícil probar adecuadamente el módulo. Referencias Bibliográficas Métricas para Sistemas Orientados a Objetos http://catarina.udlap.mx/u_dl_a/tales/documentos/lis/gonzalez_d_h/capitulo6.pdf Métodos y herramientas Orientados a Objetos a la Calidad del Software http://www.frre.utn.edu.ar/gics/clean/files/get/item/6425 Ingeniería de Software III http://ing-software3.blogspot.com/2012/11/metricas-del-modelo-del-diseno.html