Post on 25-Jul-2015
5TIC1
Calidad en el desarrollo de SwMétricas Nivel Diseño y Conceptual
Cruz Leobardo Jesús Abraham Hernández Martínez Andrés de Jesús Sánchez Olguín Rosa Isela
MÉTRICAS DIAGRAMA DE CLASES (DISEÑO)
Participantes
+telefono: String+nombre: String+ap_paterno: String+ap_materno: String+edad: Int+sexo: Char+email: String+contraseña: String+puntos_acumulados: Int
+registrar_participantes()
Premios
+id_Premio: Int+nombre_Premio: String+descripcion: String+existencia_Premio: Int+valor_Puntos: Int
+agregar()+modificar()+consultar()+eliminar()
Productos
+codigo: String+puntos: Integer+telefono: String
+registrar_puntos()
*
1
Canje
+id_canje: Int+fecha: Date+id_premio: Int+telefono
+canjear_premio()
*
*
**
Diagrama de clases del Sistema Promocional Peñafiel-12
Métricas Valores ExplicaciónNAssoc 3 Asociaciones (Participantes-Canje), (Canje, Premios),
(Participantes-Productos),*NAgg 0*NDep 0*NGen 0*NAggH 0*NGenH 0*MaxHAgg 0
Objetivo: recopilar indicadores cuantitativos sobre entidad de software, siendo una entidad software todo elemento software sobre el que se puede aplicar un proceso de medición y que están caracterizadas por una serie de atributos.
NAssoc: número total de asociaciones dentro de un modelo de clases para medir la complejidad estructural.
*En las siguientes métricas los valores son nulos debido a que no existen tales en el diagrama de clases.
MÉTRICAS PARA BASE DE DATOS
Las bases y almacenes de datos se han convertido en la principal herramienta para la toma de decisiones. Por tanto, es esencial poder asegurar la calidad de los datos y la información. Por ello se muestra una métrica para evaluar la calidad de los modelos de datos a niveles conceptual y lógico.
Diagrama Entidad-Relación del Sistema Promocional Peñafiel-12
Métricas Valores ExplicaciónNE 3 Entidades=productos, participantes, premios
NA 17 Atributos simples, valores simples, no derivados=productos(codigo,puntos,telefono),participantes(telefono,edad,sexo,email, contrasena,puntos_acumulados), canje(id_canje,fecha),premios(existencia_premios,id_premio,descripcion,nombre_premio,valor_puntos),Atributos compuestos=participantes(nombre)
NDA 0NCA 1 Atributos compuestos=participantes(nombre)
NMVA 0NR 2 Relaciones=registra, canje
NM:NR 1 Relaciones M:N=canje
N1:NR 1 Relaciones 1:N=registra
NN_AryR 0NBinaryR 2 Relaciones binarias=registra, canje
NIS_AR 0NRefR 0
La idea de estos autores se centra en la medición de la mantenibilidad de los modelos E-R. Por ello han definido en peattini et al (2001) un conjunto de métricas para medir propiedades estructurales, como son el tamaño y la complejidad estructural de los modelos E-R.
METRICAS MOOD
Este conjunto de métricas fue propuesto por Brito e Abreu y Carapuca(1994) y su objetivo es medir los principales mecanismos del paradigma OO, tales como encapsulación, herencia, polimorfismo, y paso de mensajes, así como polimorfismo y su consecuente influencia sobre la calidad del software y la productividad en el desarrollo.
Calculo de métricas MHF
El Factor de Ocultamiento de los Métodos mide la proporción entre los métodos definidos como protegidos o privados y el número total de métodos. MHF se propone como una medida de encapsulación, cantidad relativa de información oculta.
Métrica MHF
Clase MH MV MD
Conexión 0 5 5ServCanje 3 4 7
ServConsulta 3 4 7ServRegistraPuntos 3 4 7
ServRegistro 3 4 7ServSesion 3 4 7
MH = Conexión=0ServCanje=3 (processRequest,doGet,doPost); ServConsulta=3 (processRequest,doGet,doPost); ServRegistraPuntos=3 (processRequest,doGet,doPost);ServRegistro=3 (processRequest,doGet,doPost);ServSesion=3 (processRequest,doGet,doPost);
MV = Conexión=5 (conexion,conDB,desconectar,getConexion,creaStat); ServCanje=4 (ServCanje,init,destroy,getServletInfo); ServConsulta=4 (ServConsulta,init,destroy,getServletInfo); ServRegistraPuntos=4 (ServRegistraPuntos,init,destroy,getServletInfo);ServRegistro=4 (ServRegistro,init,destroy,getServletInfo);ServSesion=4 (ServSesion,init,destroy,getServletInfo);
MHF= MH / MD = 15/40 = 0.375
Calculo de métricas AHF
El Factor de Ocultamiento de los Atributos se define como el cociente entre la suma de las invisibilidades de todos los atributos definidos en todas las clases y el número total de atributos definidos en el sistema considerado. AHF se definió como una medida de encapsulación.
Métrica AHF
Clase AH AV AD
Conexión 3 0 3ServCanje 4 0 4
ServConsulta 4 0 4ServRegistraPuntos 4 0 4
ServRegistro 4 0 4ServSesion 4 0 4
AH = Conexión=3 (conn,sentenciaSQL,controlador); ServCanje=4 (conexion,sentenciaSQL,cdr,conect); ServConsulta=4 (conexion,sentenciaSQL,cdr,conect); ServRegistraPuntos=4 (conexion,sentenciaSQL,cdr,conect);ServRegistro=4 (conexion,sentenciaSQL,cdr,conect);ServSesion=4 (conexion,sentenciaSQL,cdr,conect);
AV = Conexión=0 ServCanje=0 ServConsulta=0 ServRegistraPuntos=0 ServRegistro=0 ServSesion=0
AHF= AH / AD = 23/23 = 1
Calculo de métricas MIF
El Factor de Herencia de los Métodos se define como el cociente entre la suma de los métodos heredados en todas las clases del sistema considerado y el número total de métodos existentes en todas las clases. MIF se define como una medida de herencia, y por lo tanto como una medida de nivel de reutilización.
Métrica MIF
Clase MN MO MI MD MA
Conexión 5 0 0 5 5ServCanje 7 0 4 11 15
ServConsulta 7 0 4 11 15ServRegistraPuntos 7 0 4 11 15
ServRegistro 7 0 4 11 15ServSesion 7 0 4 11 15
MN = Conexión=5 (conexion,conDB,desconectar,getConexion,creaStat); ServCanje=7 (ServCanje,init,processRequest,doGet,doPost,destroy,getServletInfo); ServConsulta=7 (ServConsulta,init,processRequest,doGet,doPost,destroy,getServletInfo);ServRegistraPuntos=7 (ServRegistraPuntos,init,processRequest,doGet,doPost,destroy,getServletInfo);ServRegistro=7 (ServRegistro,init,processRequest,doGet,doPost,destroy,getServletInfo);ServSesion=7 (ServSesion,init,processRequest,doGet,doPost,destroy,getServletInfo);
MO = Conexión=0ServCanje=0ServConsulta=0ServRegistraPuntos=0ServRegistro=0ServSesion=0
MI = Conexión=0; ServCanje=4 (conDB,desconectar,getConexion,creaStat); ServConsulta=4 (conDB,desconectar,getConexion,creaStat); ServRegistraPuntos=4 (conDB,desconectar,getConexion,creaStat);ServRegistro=4 (conDB,desconectar,getConexion,creaStat);ServSesion=4 (conDB,desconectar,getConexion,creaStat);
MIF= MI / MA = 20/80= 0.25
Calculo de métricas AIF
El Factor de Herencia de los Atributos se define como el cociente entre la suma de los atributos heredados en todas las clases del sistema considerados y el número total de atributos existentes en todas las clases. Al igual que MIF, AIF se considera como un medio para expresar la capacidad de reutilización en un sistema.
Métrica AIF
Clase AN AO AI AD AA
Conexión 3 0 0 3 3ServCanje 4 0 2 4 6
ServConsulta 4 0 2 4 6ServRegistraPuntos 4 0 2 4 6
ServRegistro 4 0 2 4 6ServSesion 4 0 2 4 6
AN = Conexión=3 (conn,sentenciaSQL,controlador); ServCanje=4 (conexion,sentenciaSQL,cdr,conect); ServConsulta=4 (conexion,sentenciaSQL,cdr,conect);ServRegistraPuntos=4 (conexion,sentenciaSQL,cdr,conect);ServRegistro=4 (conexion,sentenciaSQL,cdr,conect);ServSesion=4 (conexion,sentenciaSQL,cdr,conect);
AO = Conexión=0ServCanje=0ServConsulta=0ServRegistraPuntos=0ServRegistro=0ServSesion=0
AI = Conexión=0 ServCanje=2 (conn,sentenciaSQL); ServConsulta=2 (conn,sentenciaSQL); ServRegistraPuntos=2 (conn,sentenciaSQL);ServRegistro=2 (conn,sentenciaSQL);ServSesion=2 (conn,sentenciaSQL);
AIF= MI / MA = 10/33 = 0.303030303
Participante
Registrar Asignar Puntos
Rechazar Petición
Leer Asignar Petición
Rechazar Petición
Leer Petición Registrar
Pet. AceptadaPet. Aceptada
Pet. Registro Pet. RechazadaPet. AsignarPet. Rechazada
MÉTRICAS DE HENRY Y KAFURA
Fan-in (concentración ) y fan-out(expansión) Propuesta por Henry y Kafura(1981). Ambas métricas trabajan sobre la estructura de un módulo representada como un árbol o grado de llamadas entre módulos. El fan-in de un módulo m es el número de flujos que terminan en m, mientras que el fan-out es el número de flujos que salen de m.
Se utilizan para determinar la complejidad de un módulo, midiendo el número de sentencias en el lenguaje de programación en el módulo.
Módulo Fan-In Fan-Out [Fin*FOut]2 Longitud* MHK*Participante 2 0 4Registrar 1 2 9Asignar Puntos
1 2 9
Leer Petición Registrar
0 1 1
Rechazar Petición
1 0 1
Leer Petición Asignar
0 1 1
Rechazar Petición
1 0 1
Producto
Registrar Producto Consultar
Rechazar Petición
Leer Petición Consultar
Rechazar Petición
Leer Petición Asignar Canje
Pet. AceptadaPet. Aceptada
Pet. Asignar Pet. RechazadaPet. ConsultarPet. Rechazada
MÉTRICAS DE HENRY Y KAFURA
Módulo Fan-In Fan-Out [Fin*FOut]2 Longitud* MHK*Producto 2 0 4Registrar Producto
1 2 9
Consultar 1 2 9Leer Petición Registrar Producto
0 1 1
Rechazar Petición
1 0 1
Leer Petición Consultar
0 1 1
Rechazar Petición
1 0 1
Premio
Consultar Premio
Rechazar Petición
Leer Petición Consultar Premio
Pet. Aceptada
Pet. Asignar Pet. Rechazada
MÉTRICAS DE HENRY Y KAFURA
Módulo Fan-In Fan-Out [Fin*FOut]2 Longitud* MHK*Premio 1 0 4Consultar Premio
1 2 9
Leer Petición Consultar Premio
0 1 1
Rechazar Petición
1 0 1
MÉTRICAS DE HENRY Y KAFURA
Canje
Asignar Canje Consultar
Rechazar Petición
Leer Petición Consultar
Rechazar Petición
Leer Petición Registrar Producto
Pet. AceptadaPet. Aceptada
Pet. Registro Pet. RechazadaPet. ConsultarPet. Rechazada
Módulo Fan-In Fan-Out [Fin*FOut]2 Longitud* MHK*Canje 2 0 4Asignar Canje 1 2 9Consultar 1 2 9Leer Petición Asignar Canje
0 1 1
Rechazar Petición
1 0 1
Leer Petición Consultar
0 1 1
Rechazar Petición
1 0 1
*(Estas mediciones aun no pueden ser realizadas, debido a que la etapa de desarrollo en que se encuentra el sistema no ha finalizado).