Está en la página 1de 5

Actividad 10.

Licenciatura en Ingeniería de Software


Métricas de Software
Actividad 10.0

Tipo: Individual/durante la sesión

Sesión 12.

Unidad 2. Mediciones en la Ingeniería de Software.

Tema 2.0 : Métricas para sistemas OO.


Subtema:
2.2: Métricas MOOD.

Instrucciones: Considera el ejemplo de código escrito en C++ que a continuación se presenta,


para calcular los valores de las métricas MOOD: MHF, AHF, MIF, AIF, PF. Utiliza como guía las
tablas asociadas a cada una de las métricas.

class FormaGeometrica{
protected:
double posicionX;
double posicionY;
void Dibujar();
public:
void Cortar();
void Borrar();
void Mover(double desplazX, double desplazY);
void Desagrupar();
virtual void Posicionar(double posX, double posY); //constr
virtual void Escribir(int color);
virtual double Area();
}

class Cuadro:public FormaGeometrica{


protected:
double anchura;
double altura;
double DameAnchura();
double DameAltura();
public:
void EstablecerDimensiones(double altura, double anchura);
virtual void Posicionar(double posX, double posY);
virtual void Escribir(int color);
virtual double Area();
}

class Circulo:public FormaGeometrica{


protected:
double radio;
public:
void EstablecerRadio(double radio);
virtual void Posicionar(double posX, double posY);
virtual void Escribir(int color);
virtual double Area();
}

1
Actividad 10.0

Cálculo de la métrica MHF

𝑴 (𝑪𝒊)
𝒅
Clase 𝑽(𝑴𝒎𝒊 ) |---| ∑𝒎=𝟏 (𝟏 − 𝑽(𝑴𝒎𝒊 ))

𝐷𝐶(𝐹𝑜𝑟𝑚𝑎𝐺𝑒𝑜𝑚é𝑡𝑟𝑖𝑐𝑎) 2
𝑉(𝐷𝑖𝑏𝑢𝑗𝑎𝑟) = = = 1
𝑇𝐶 − 1 3−1

V(Cortar) = 1
V(Borrar) = 1
V(Mover) = 1
V(Desagrupar) = 1
V(Posicionar) = 1
V(Escribir) = 1
FormaGeometrica V(Area) = 1

𝑀𝑑 (𝐹𝑜𝑟𝑚𝑎𝐺𝑒𝑜𝑚𝑒𝑡𝑟𝑖𝑐𝑎)

∑ (1 − 𝑉(𝑀𝑚𝑖 ))
𝑚=1
= (1 − 𝑉(𝐷𝑖𝑏𝑢𝑗𝑎𝑟)) + (1 − 𝑉(𝐶𝑜𝑟𝑡𝑎𝑟)) + (1 − 𝑉(𝐵𝑜𝑟𝑟𝑎𝑟))
+ (1 − 𝑉(𝑀𝑜𝑣𝑒𝑟)) + (1 − 𝑉(𝐷𝑒𝑠𝑎𝑔𝑟𝑢𝑝𝑎𝑟)) + (1
− 𝑉(𝑃𝑜𝑠𝑖𝑐𝑖𝑜𝑛𝑎𝑟)) + (1 − 𝑉(𝐸𝑠𝑐𝑟𝑖𝑏𝑖𝑟)) + (1 − 𝑉(𝐴𝑟𝑒𝑎))
= 0

𝐷𝐶(𝐶𝑢𝑎𝑑𝑟𝑜) 0
𝑉(𝐷𝑎𝑚𝑒𝐴𝑛𝑐ℎ𝑢𝑟𝑎) = = = 0
𝑇𝐶 − 1 3−1
𝐷𝐶(𝐶𝑢𝑎𝑑𝑟𝑜) 0
𝑉(𝐷𝑎𝑚𝑒𝐴𝑙𝑡𝑢𝑟𝑎) = = = 0
𝑇𝐶 − 1 3−1

V(EstablecerDimensiones) = 1
V(Posicionar) = 1
V(Escribir) = 1
V(Area) = 1
Cuadro

𝑀𝑑 (𝐶𝑢𝑎𝑑𝑟𝑜)

∑ (1 − 𝑉(𝑀𝑚𝑖 ))
𝑚=1
= (1 − 𝑉(𝐷𝑎𝑚𝑒𝐴𝑛𝑐ℎ𝑢𝑟𝑎)) + (1 − 𝑉(𝐷𝑎𝑚𝑒𝐴𝑙𝑡𝑢𝑟𝑎)) + (1
− 𝑉(𝐸𝑠𝑡𝑎𝑏𝑙𝑒𝑐𝑒𝑟𝐷𝑖𝑚𝑒𝑛𝑠𝑖𝑜𝑛𝑒𝑠)) + (1 − 𝑉(𝑃𝑜𝑠𝑖𝑐𝑖𝑜𝑛𝑎𝑟)) + (1
− 𝑉(𝐸𝑠𝑐𝑟𝑖𝑏𝑖𝑟)) + (1 − 𝑉(𝐴𝑟𝑒𝑎)) = 2

V(EstablecerRadio) = 1
V(Posicionar) = 1
V(Escribir) = 1
V(Area) = 1

Círculo 𝑀𝑑 (𝐶𝑖𝑟𝑐𝑢𝑙𝑜)

∑ (1 − 𝑉(𝑀𝑚𝑖 ))
𝑚=1
= (1 − 𝑉(𝐸𝑠𝑡𝑎𝑏𝑙𝑒𝑐𝑒𝑟𝑅𝑎𝑑𝑖𝑜)) + (1 − 𝑉(𝑃𝑜𝑠𝑖𝑐𝑖𝑜𝑛𝑎𝑟)) + (1
− 𝑉(𝐸𝑠𝑐𝑟𝑖𝑏𝑖𝑟)) + (1 − 𝑉(𝐴𝑟𝑒𝑎)) = 0

2
Actividad 10.0

𝑻𝑪 𝑴𝒅 (𝑪𝒊 )

∑ ∑ (𝟏 − 𝑽(𝑴𝒎𝒊 ))
𝒊=𝟏 𝒎=𝟏
𝑇𝐶 𝑀𝑑 (𝐶𝑖 ) 𝑀𝑑 (𝐹𝑜𝑟𝑚𝑎𝐺𝑒𝑜𝑚𝑒𝑡𝑟𝑖𝑐𝑎)

∑ ∑ (1 − 𝑉(𝑀𝑚𝑖 )) = ∑ (1 − 𝑉(𝑀𝑚𝑖 ))
𝑖=1 𝑚=1 𝑚=1
𝑀𝑑 (𝐶𝑢𝑎𝑑𝑟𝑜)

+ ∑ (1 − 𝑉(𝑀𝑚𝑖 ))
𝑚=1
𝑀𝑑 (𝐶𝑖𝑟𝑐𝑢𝑙𝑜)

+ ∑ (1 − 𝑉(𝑀𝑚𝑖 )) = 0 + 2 + 0 = 2
𝑚=1
𝑻𝑪
∑ 𝑴𝒅 (𝑪𝒊 )
𝒊=𝟏
𝑇𝐶
∑ 𝑀𝑑 (𝐶𝑖 ) = 𝑀𝑑 (𝐹𝑜𝑟𝑚𝑎𝐺𝑒𝑜𝑚𝑒𝑡𝑟𝑖𝑐𝑎) + 𝑀𝑑 (𝐶𝑢𝑎𝑑𝑟𝑜) + 𝑀𝑑 (𝐶𝑖𝑟𝑐𝑢𝑙𝑜) = 8 + 6 + 4 = 18
𝑖=1
𝑴𝑯𝑭
𝑀𝑑 (𝐶𝑖 )
∑𝑇𝐶
𝑖=1 ∑𝑚=1 (1 − 𝑉(𝑀𝑚𝑖 )) 2 1
𝑀𝐻𝐹 = = =
∑𝑇𝐶
𝑖=1 𝑀𝑑 (𝐶𝑖 ) 18 9

Cálculo de la métrica AHF

𝒅 𝑨 (𝑪𝒊)
Clase 𝑽(𝑨𝒎𝒊 ) |---| ∑𝒎=𝟏 (𝟏 − 𝑽(𝑨𝒎𝒊 ))
𝐷𝐶(𝐹𝑜𝑟𝑚𝑎𝐺𝑒𝑜𝑚é𝑡𝑟𝑖𝑐𝑎) 2
𝑉(𝑝𝑜𝑠𝑖𝑐𝑖𝑜𝑛𝑋) = = = 1
𝑇𝐶 − 1 3−1

𝐷𝐶(𝐹𝑜𝑟𝑚𝑎𝐺𝑒𝑜𝑚é𝑡𝑟𝑖𝑐𝑎) 2
𝑉(𝑝𝑜𝑠𝑖𝑐𝑖𝑜𝑛𝑌) = = = 1
𝑇𝐶 − 1 3−1
FormaGeometrica
𝐴𝑑 (𝐹𝑜𝑟𝑚𝑎𝐺𝑒𝑜𝑚𝑒𝑡𝑟𝑖𝑐𝑎)

∑ (1 − 𝑉(𝐴𝑚𝑖 )) = (1 − 𝑉(𝑝𝑜𝑠𝑖𝑐𝑖𝑜𝑛𝑋)) + (1 − 𝑉(𝑝𝑜𝑠𝑖𝑐𝑖𝑜𝑛𝑌))


𝑚=1
= 0

𝐷𝐶(𝐶𝑢𝑎𝑑𝑟𝑜) 0
𝑉(𝑎𝑛𝑐ℎ𝑢𝑟𝑎) = = = 0
𝑇𝐶 − 1 3−1
𝐷𝐶(𝐶𝑢𝑎𝑑𝑟𝑜) 0
𝑉(𝑎𝑙𝑡𝑢𝑟𝑎) = = = 0
𝑇𝐶 − 1 3−1
Cuadro
𝐴𝑑 (𝐶𝑢𝑎𝑑𝑟𝑜)

∑ (1 − 𝑉(𝑀𝑚𝑖 )) = (1 − 𝑉(𝑎𝑛𝑐ℎ𝑢𝑟𝑎)) + (1 − 𝑉(𝑎𝑙𝑡𝑢𝑟𝑎)) = 2


𝑚=1

𝐷𝐶(𝐶𝑖𝑟𝑐𝑢𝑙𝑜) 0
Círculo 𝑉(𝑟𝑎𝑑𝑖𝑜) = = = 0
𝑇𝐶 − 1 3−1

3
Actividad 10.0

𝐴𝑑 (𝐶𝑖𝑟𝑐𝑢𝑙𝑜)

∑ (1 − 𝑉(𝑀𝑚𝑖 )) = (1 − 𝑉(𝑟𝑎𝑑𝑖𝑜)) = 1
𝑚=1

𝑻𝑪 𝑨𝒅 (𝑪𝒊 )

∑ ∑ (𝟏 − 𝑽(𝑨𝒎𝒊 ))
𝒊=𝟏 𝒎=𝟏
𝑇𝐶 𝐴𝑑 (𝐶𝑖 ) 𝐴𝑑 (𝐹𝑜𝑟𝑚𝑎𝐺𝑒𝑜𝑚𝑒𝑡𝑟𝑖𝑐𝑎) 𝐴𝑑 (𝐶𝑢𝑎𝑑𝑟𝑜)

∑ ∑ (1 − 𝑉(𝐴𝑚𝑖 )) = ∑ (1 − 𝑉(𝐴𝑚𝑖 )) + ∑ (1 − 𝑉(𝐴𝑚𝑖 ))


𝑖=1 𝑚=1 𝑚=1 𝑚=1
𝐴𝑑 (𝐶𝑖𝑟𝑐𝑢𝑙𝑜)

+ ∑ (1 − 𝑉(𝐴𝑚𝑖 )) = 0 + 2 + 1 = 3
𝑚=1
𝑻𝑪
∑ 𝑨𝒅 (𝑪𝒊 )
𝒊=𝟏
𝑇𝐶
∑ 𝐴𝑑 (𝐶𝑖 ) = 𝐴𝑑 (𝐹𝑜𝑟𝑚𝑎𝐺𝑒𝑜𝑚𝑒𝑡𝑟𝑖𝑐𝑎) + 𝐴𝑑 (𝐶𝑢𝑎𝑑𝑟𝑜) + 𝐴𝑑 (𝐶𝑖𝑟𝑐𝑢𝑙𝑜) = 2 + 2 + 1 = 5
𝑖=1
𝑨𝑯𝑭
𝐴𝑑 (𝐶𝑖 )
∑𝑇𝐶
𝑖=1 ∑𝑚=1 (1 − 𝑉(𝐴𝑚𝑖 )) 3
𝐴𝐻𝐹 = =
∑𝑇𝐶
𝑖=1 𝐴𝑑 (𝐶𝑖 ) 5

Cálculo de la métrica MIF

Clase MN MO MI MD MA

MIF = ?

Proporciona los nombres de los elementos contemplados en la obtención de las métricas M N, MO y


MI.

Clase MN MO MI

4
Actividad 10.0

Cálculo de la métrica AIF

Clase AN AO AI AD AA

AIF = ?

Proporciona los nombres de los elementos contemplados en la obtención de las métricas AN, AO y
AI.
Clase AN AO AI

Cálculo de la métrica PF

Clase MO MN DC MN • DC

PF = ?

Proporciona los nombres de los elementos contemplados en la obtención de las métricas M O, MN y


DC.

Clase MO MN DC

Valor: Formativa.
Forma de entrega: Por escrito, comentar las respuestas ante el grupo.

También podría gustarte