Documentos de Académico
Documentos de Profesional
Documentos de Cultura
EVALUACIÓN DE SISTEMAS DE
INFORMACIÓN
Externos
Atributos que relacionan a las entidades con el entorno.
Se miden mediante métricas indirectas
Suelen relacionarse con la Calidad
Producto
Atributos Internos: Tamaño, acoplamiento, cohesión, reutilización, número de casos, porcentaje de cobertura de
pruebas.
Atributos Externos: Calidad, legibilidad, complejidad, facilidad de mantenimiento, fiabilidad.
Proceso
Atributos Internos: Tiempo, esfuerzo, número de requisitos, número de errores
Atributos Externos: Calidad, coste, estabilidad
Recurso
Atributos Internos: Edad, salario, # personas, coste, # licencias, marca, especificaciones técnicas
Atributos Externos: Productividad, experiencia, usabilidad, fiabilidad
Evaluación cuantitativa del grado en el cual un producto o proceso de software posee un atributo
determinado
Tipos de métricas de software
Directas: Obtenidas directamente de la entidad. Ej: longitud de código, número de defectos
Indirectas: Derivadas de una o más métricas. Ej: densidad de defectos
Objetivas: Valor independiente del operador
Subjetivas: La persona que realiza la medición introduce factores de juicio en el resultado
Complejidad ciclomática
Número de caminos independientes dentro de un método.
NO mide ciclos.
Fórmula: Número de condiciones + 1.
Resultados
1-10 Programa Simple, sin mucho riesgo.
11-20 Programa de riesgo moderado.
21-50 Programa de alto riesgo.
50 Programa de muy alto riesgo, no se puede probar.
Tamaño = n + a
n es el número de nodos
a es el número de arcos
Profundidad = trayectoria más larga desde el
nodo raíz (superior) hasta un nodo hoja.
Ancho = número máximo de nodos en cualquier
nivel de la arquitectura.
Precisión
Reusabilidad
Internas
Tiempo Modelos de mejora de procesos
Esfuerzo CMMI
Incidentes ISO/IEC 15504 SPICE
Cambios ISO 9000
Externas Six Sigma
Facilidad de observación COBIT
Herramientas
Productividad
Coste, tipo de licencia, curva de aprendizaje,
Tamaño = Líneas de código o Puntos Función reutilización en otros proyectos
Esfuerzo = Persona por mes Materiales
Productividad=Tamaño/Esfuerzo Oficinas, material tangible, desplazamientos, aire
Personal acondicionado, etc. Influyen en el costo y por lo
tanto en la productividad del producto
Salario, experiencia, edad, productividad individual
Métodos
Complejidad de la comunicación entre el equipo
(métricas Hewlelt-Packad) Análisis post-mortem del proyecto y los métodos
usados
Pregunta
Analizar DB relacionales
¿Cómo influye la complejidad de las tablas en la
Con el propósito de Entender mantenibilidad de las BD relacionales?
Con respecto a Mantenibilidad Métricas
Desde el punto de vista de Los diseñadores de BD NA = #AtributosTabla
En el contexto de Desarrollo y mantenimiento de BD NFK = #ClavesForáneas
RFK = NFK / NA
6. Identificar preguntas cuantificables y los 10. Preparar un plan para la implantación de las
indicadores relacionados que se usarán para medidas.
ayudar a lograr las metas de medición.
Encuestas
Documentar relaciones y resultados
Una de las herramientas más útiles para recabar un buen número de datos que posteriormente serán
analizados.
Casos de estudio
Identificar y documentar factores clave que pueden afectar los resultados de una actividad.
Experimentos formales
Investigar de forma controlada, rigurosa y cuantitativa aquellos factores que afectan a las actividades a realizar.
Definición, planificación, operación, interpretación, conclusiones y presentación de resultados
Rodríguez, D., Ángel Sicilia, M., & Sánchez, S. (2012). Ingeniería de Software Un enfoque desde la guía
SWEBOK. México: Alfaomega. Capítulo 3
Pantaleo, G., & Rinaudo, L. (2015). Ingeniería de software. Alfaomega Grupo Editor. Capítulo 15, 22.2
Muñoz, C. C., Velthuis, M. G. P., & de la Rubia, M. Á. M. (2010). Calidad del producto y proceso software.
Editorial Ra-Ma.
Piattini Velthuis, M. G., Garcia Rubio, F., & Caballero Muñoz-Reja, I. (2015). Calidad de sistemas de
información. Alfaomega Ra-Ma,. Capítulo 8, 12, 14, 15, 16 y 18.
Pressman, R. S. 7ed. (2010). Software engineering: a practitioner's approach. Palgrave Macmillan. Capítulo
9.5, 15.3, 16.3, 23, 25, 26
Sommerville, I. 9 ed. (2011). Software engineering. Addison-wesley. Capítulo 4.1.2, 12.3, 15.2, 24.4, 26.2
Métricas de software, Moreno M., Departamento de Informática y Automática. Universidad de Salamanca
Vargas Torres, L. Á., Torres, Y., & Emilio, H. (2011). Herramienta para estimar el tamaño de software por el
método de puntos de función.
Jerarquía de métricas
Métricas de producto Orientadas a Objetos
Métricas de producto de Base de Datos
Métricas de producto para web
Métricas de revisión
Métricas de mantenimiento
Polimétricas
Desarmonías (Code smells)
Simple y calculable
Empírica e intuitivamente convincente.
Congruente y objetiva
“Se han propuesto cientos de métricas para el
Constante en su uso de unidades y software de computadora, pero no todas brindan
dimensiones. apoyo práctico al ingeniero de software”
Independiente del lenguaje de programación. Roger Pressman
Un mecanismo efectivo para retroalimentación
de alta calidad.
Métricas de Herencia
Métricas de tamaño Número de Métodos Sobrecargados (NMO)
Número de Métodos de Instancia Públicos (PIM) Número de Métodos Heredados (NMI)
Servicios para otras clases Número de Métodos Añadidos (NMA)
Número de Métodos de Instancia (NIM) Métodos que se definen en las subclases
Conteo de todos los métodos de una clase Índice de Especialización para una clase (SIX)
Número de Variables de Instancia (NIV) En que medida las subclases redefinen el comportamiento de
sus superclases.
Conteo de todos los atributos
(NúmeroMetodosRedefinidos * AnidamientoJerarquía) /
Número de Métodos de Clase (NCM) NúmeroTotalMétodos
Conteo de los métodos static Métrica de características internas de una clase
Número de Variables de Clase (NVV) Promedio de Parámetros por Método (APPM)
Conteo de los atributos static (NúmeroTotalParametros) / NúmeroTotalMétodos
Es una marcha hacia atrás a través de un módulo Símbolos superpegamento (superglue tokens).
que busca valores de datos que afecten la Estos tokens de datos son comunes a cada
ubicación del módulo donde comenzó la marcha. rebanada de datos en un módulo.
Símbolos de datos (data tokens). Pegajosidad (stickiness).
Las variables definidas por un módulo pueden La pegajosidad relativa de un token pegamento es
definirse como tokens de datos para el módulo. directamente proporcional al número de rebanadas
de datos que enlaza.
Corrección
Completitud
Número de violaciones a las formas normales.
Número de elementos que no corresponden con
requisitos de usuario Simplicidad
Número de requisitos no representados en el modelo Número entidades
de datos
Número entidades y relaciones
Integridad
Número de constructores
Número de reglas de negocio que no se hacen
cumplir por el Modelo de Datos Integración
Flexibilidad Número de conflictos con el modelo de datos
corporativo.
Costes estimados de los cambios.
Implementabilidad
Comprensibilidad
Estimación del coste de desarrollo.
Valoración sobre la comprensibilidad del modelo
Complejidad de reconocimiento Número promedio de distintos ítems que el usuario debe buscar antes de realizar una navegación o decidir la entrada de datos
Tiempo de reconocimiento Tiempo promedio (en segundos) que tarda un usuario en seleccionar la acción adecuada para una tarea determinada
Esfuerzo de escritura Número promedio de golpes de tecla requeridos para una función específica
Complejidad de selección Número promedio de vínculos que pueden seleccionarse por página
Tiempo de adquisición de contenido Número promedio de palabras de texto por página web
Carga de memoria Número promedio de distintos ítems de datos que el usuario debe recordar para lograr un objetivo específico
Eficiencia de remoción de defecto Tiempo requerido (horas o días) para hacer el cambio,
(tcambio).
Medida de mejora del proceso
Errores descubiertos durante el trabajo para hacer el
Ecambio / (Ecambio + Dcambio) cambio, (Ecambio).
Defectos descubiertos después de liberar el cambio al
cliente base, (Dcambio).
Tradition Breaker
Refused Parent Bequest (Fowler)
Una clase derivada proporciona un conjunto de
La clase secundaria solo usa parcialmente o no
servicios que no están relacionados con los de su
usa métodos heredados.
clase base.
Rodríguez, D., Ángel Sicilia, M., & Sánchez, S. (2012). Ingeniería de Software Un enfoque desde la guía SWEBOK. México:
Alfaomega. Capítulo 3
Pantaleo, G., & Rinaudo, L. (2015). Ingeniería de software. Alfaomega Grupo Editor. Capítulo 15, 22.2
Muñoz, C. C., Velthuis, M. G. P., & de la Rubia, M. Á. M. (2010). Calidad del producto y proceso software. Editorial Ra-Ma.
Piattini Velthuis, M. G., Garcia Rubio, F., & Caballero Muñoz-Reja, I. (2015). Calidad de sistemas de información. Alfaomega
Ra-Ma,. Capítulo 8, 12, 14, 15, 16 y 18.
Pressman, R. S. 7ed. (2010). Software engineering: a practitioner's approach. Palgrave Macmillan. Capítulo 9.5, 15.3, 16.3,
23, 25, 26
Sommerville, I. 9 ed. (2011). Software engineering. Addison-wesley. Capítulo 4.1.2, 12.3, 15.2, 24.4, 26.2
Ditz, L. M. (2016). Análisis de dependencia entre refactorings.
Métricas de software, Moreno M., Departamento de Informática y Automática. Universidad de Salamanca
Vargas Torres, L. Á., Torres, Y., & Emilio, H. (2011). Herramienta para estimar el tamaño de software por el método de
puntos de función.