SlideShare une entreprise Scribd logo
1  sur  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

Contenu connexe

Tendances

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
 

Tendances (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
 

En vedette

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
 

En vedette (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
 

Similaire à 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
 

Similaire à 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
 

Dernier

DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
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
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptELENA GALLARDO PAÚLS
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxPryhaSalam
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
celula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamicacelula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamicaFlor Idalia Espinoza Ortega
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxMaritzaRetamozoVera
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
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í
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSjlorentemartos
 

Dernier (20)

Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
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...
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
celula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamicacelula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamica
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docx
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.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
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
 

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