Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
INTEGRANTES :
Introduccin
La medicin es un elemento clave en cualquier proceso de ingeniera. Las medidas se emplean para comprender mejor los atributos de los modelos que se crean y evaluar la calidad de los productos de la ingeniera o de los sistemas que se construyen. Qu es? Por su naturaleza la ingeniera es una disciplina cuantitativa. Las mtricas del producto ayudan a conocer mejor el diseo y la construccin del software que elaboran los ingenieros de software. Quin lo hace? Los ingenieros de software usan las mtricas del producto como apoyo para construir software de mayor calidad.
Introduccin
Por qu es importante? Las mtricas del producto proporcionan una base para que el anlisis, el diseo, la codificacin y la prueba se realicen con mayor objetividad y se evalen de manera mas cuantitativa. Cules son los pasos? El primer paso del proceso de medicin consiste en derivar, a partir del software las medidas y mtricas apropiados para la representacin del software que se esta considerando.
1. Calidad general
En cuanto a los objetivos de este libro, la definicin sirve para destacar tres puntos importantes: 1. Los requisitos del software son la base de las medidas de calidad. La falta de concordancia con estos requisitos es una falta de calidad. 2. Los estndares de especificados definen un conjunto de criterios de desarrollo que guan la ingeniera de software. Si no se siguen los criterios, el resultado ser, casi seguramente, la falta de calidad. 3. A menudo se soslaya un conjunto de requisitos implcitos (ej: el deseo de alcanzar la facilidad de uso). Si el software cumple con sus requisitos explcitos pero no con los implcitos, la calidad del software estar en duda.
CORRECCION
FACILIDAD DE USO
EFICIENCIA
CONFIABILIDAD
INTEGRIDAD
Interpretacin.- La evaluacin de las mtricas en un esfuerzo por conocer mejor la calidad de la representacin. Retroalimentacin.-Recomendaciones derivadas de la interpretacin de las mtricas del producto transmitidas al equipo del software. Las mtricas del software solo sern tiles si estn caracterizadas de manera efectiva y se validan para probar su valor. Los siguientes principios son representativos de muchos otros que podran proponerse para caracterizar y validar las mtricas: Una mtrica debe tener propiedades matemticas deseables. Es decir, el valor de la mtrica debe estar en un rango significativo(de 0= ausencia a 1=valor mximo y 0.5= valor medio).
Cuando una mtrica representa una caracterstica de software que aumenta cuando se presentan rasgos positivos o que disminuye al encontrar rasgos indeseables, el valor de la mtrica debe aumentar o disminuir en el mismo sentido.
2.3. Medicin del software orientado a objetivos Basilli y Weiss desarrollaron el paradigma objetivo/pregunta/mtrica como una tcnica para identificar mtricas significativas aplicables en cualquier parte del proceso del software. La OPM destaca la necesidad de 1) establecer un objetivo de medicin explicito que sea especifico para la actividad del proceso o las caractersticas del producto que se esta evaluando, 2)definir un conjunto de preguntas que deben responderse con el fin de alcanzar el objeto, y 3) identificar mtricas bien formuladas que ayuden a responder esas preguntas.
Ejiogu define un conjunto de atributos que toda mtrica efectiva del software debe abarcar. La mtrica derivada y las medidas que llevan a ella deben ser: Simples y calculables. Debe ser relativamente fcil aprender a derivar la mtrica, y su calculo no debe exigir cantidades anormales de tiempo o esfuerzo Emprica e intuitivamente persuasivas. La mtrica debe satisfacer las nociones intuitivas del ingeniero acerca del atributo
Consistentes en el uso de unidades y dimensiones. . El calculo matemtico de la mtrica debe emplear medidas que no lleven a combinaciones extraas de unidades. Independientes del lenguaje de programacin. Las mtricas deben basarse en el modelo de anlisis o diseo, o en la estructura propia del programa. Mecanismos efectivos para la retroalimentacin de alta calidad. Es decir, la mtrica debe llevar a un producto final de la mas alta calidad.
Mtricas para el modelo del diseo. Estas mtricas cuantifican los atributos del diseo de manera tal que que le permiten al ingeniero de software evaluar la calidad de diseo. La mtrica incluye: Mtricas arquitectnicas Mtricas al nivel del componente Mtricas de diseo de interfaz Mtricas especializadas en diseo orientados a objetos Mtricas para el cdigo fuente. . Estas mtricas miden el cdigo fuente y se usan para evaluar su complejidad, adems de la facilidad con que se mantiene y prueba entre otras caractersticas: Mtricas de Halstead Mtricas de complejidad Mtricas de Longitud
Mtricas para pruebas. Estas mtricas ayudan a disear casos de prueba efectivos y a evaluar la eficacia de las pruebas: Mtricas de cobertura de instrucciones y ramas: Lleva al diseo de casos de prueba que proporcionan cobertura del programa. Mtricas relacionadas con los defectos: Se concentran en encontrar defectos y no en las propias pruebas. Efectividad de la prueba: Proporcionan un indicio en tiempo real de la efectividad de las pruebas aplicadas.
El tamao en ocasiones es un indicador de la complejidad del diseo, y tambin es un indicador del esfuerzo de codificacin, integracin y prueba.
como medio para medir la funcionalidad que entrega un sistema I. estimar el costo II. predecir el numero de errores que se encontraran en la prueba III. pronosticar el numero de componentes, de lneas de cdigo proyectadas
1.-NUMERO DE ENTRADAS EXTERNAS: cada entrada externa se origina en un usuario o es transmitida desde otra aplicacin y proporciona distintos datos orientados a la aplicacin o informacin de control. las entradas deben distinguirse de las consultas, que se cuentan por separado.
2 .-NUMERO DE SALIDAS EXTERNAS: cada salida externa se deriva en el interior de la aplicacin y proporciona informacin al usuario. en este contexto salida externa alude a informes, pantallas, mensajes de error, etc. los elementos de datos individuales dentro de un informe no se cuentan por separado
3.- NUMERO DE CONSULTAS EXTERNAS: una consulta externa se define como la entrada en lnea que lleva a la generacin de alguna respuesta inmediata por parte del software, en la forma de salida en lnea.
4.-NUMERO DE ARCHIVOS LOGICOS: cada archivo lgico interno es un agrupamiento lgico de datos que reside dentro de limites de las aplicaciones que se mantiene mediante entradas externas.
5.NUMERO DE ARCHIVOS DE INTERFAZ EXTERNOS: Cada archivo de interfaz externo es un agrupamiento lgico de datos externo a la aplicacin pero que proporciona datos que podran usarse en esta.
mtodos de puntos de funcin desarrollan criterios para determinar si una entrada determinada es simple, promedio o compleja.
todas las entradas de PF obtenidas en la figura anterior Fi (i=1 a 14 ) son factores de ajuste de valor basados en las respuestas de las siguientes preguntas:
1.
2.
3. 4. 5. 6. 7.
El sistema requiere respaldo y recuperacin confiables? Se requieren comunicaciones de datos especializadas para transferir informacin a la aplicacin, u obtenerla de ella? Hay funciones distribuidas de procesamiento? El desempeo es critico? El sistema se ejecutara en un entorno existente que tiene un uso pesado de operaciones? El sistema requiere entrada de datos en lnea? La entrada de datos en lnea requiere que la transaccin de entrada se construya en varias pantallas u operaciones?
pf= conteo total *[0.65+0.01*(fi)] y los factores de peso que se aplican a los conteos del dominio de la informacin se determinan empricamente
determinar un conjunto de medidas clave del dominio de informacin que se requieren para calcular la mtrica del punto de funcin. en la figura podemos encontrar 3 entradas externas(comtrasea, botn de pnico y activar/desactivar) junto con 2 consultas externas (consulta de zona y consulta de sensor) . se muestra un ALI (archivo de configuracin del sistema). tambin estn presentes 2 salidas de usuarios (mensajes y estatus de sensor) y cuatro AIE(sensor de prueba, configuracin de zona, activar/desactivar y alerta de alarma)
suma de todas las entradas de PF obtenidas de la figura y fi (i=1 a 14) son factores de ajuste de valor. SUPONIENDO QUE (Fi) ES 46 (MODERADAMENTE CONPLEJO). PF=50*[0.65+(0.01*46)]=56 con este valor el equipo del proyecto puede estimar el tama implementado general de la funcion de interacion del usuario de hogarseguro
que los puntos de fusin tambin pueden calcularse a partir de diagramas UML de clase y secuencia
ESPECIFICACION: Davis y sus colegas proponen una lista de caractersticas con las cuales puede evaluarse el modelo de anlisis y la correspondiente especificacin de requisitos ESPECIFICIDAD: GRADO DE AVANCE CORRECCION FACILIDAD DE COMPRENSION FACILIDAD DE VERIFICACION CONSISTENCIA INTERNA Y EXTERNA FACILIDAD PARA ALCANZAR LOS OBJETIVOS CONCISION FACILIDAD PARA DARLE SEGUIMIENTO FACILIDAD PARA MODIFICARSE PRECISION FACILIDAD DE REUTILIZACION
Nr =Nf + Nnf
Donde Nf ES EL NUMERO DE REQUISITOS FUNCIONALES
Nnf EL DE NO FUNCIONALES
ambigedad) de los requisitos , Davis y colegas sugieren una mtrica basada en la consistencia de la interpretacin de los revisores de cada requisito: QI=Nui /Nr Donde Nui es el numero de requisitos que todos los revisores interpretaron de la misma manera. Cuanto mas cerca este el valor de Q a 1, menor ser la ambigedad de la especificacin.
Ni es el numero de entradas definidos o implcitos en la especificacin. Ns el numero de estados especificados Esta funcin Q2 mide el porcentaje de funciones necesarias que se han especificado para un sistema.
son funcionales. Para incorporarlos a una mtrica general del grado de avance, se debe considerar el grado de validacin de los requisitos: Q3 =Nc/[Nc *Nnv ] Donde Nc es el numero de requisitos que se han validado como correctos y Nnv requisitos que aun no se validan
tiene las medidas del diseo ya establecidas. pero a menudo el diseo de sistemas de software complejos suelen avanzar casi sin medicin ,a pesar de que disponemos de mtricas de diseo para el software. a pesar de que existe un debate sobre la aplicacin del mismo; podemos decir que un diseo sin medicin es inaceptable.
del programa, estas mtricas son de caja negra ya que requieren ningn conocimiento del funcionamiento interno de un componente de software en particular.
se definen 3 medidas de complejidad del diseo del software: estructural de datos del sistema
ESTRUCTURAL o ARQUITECTURAS
JERARQUICAS. La complejidad estructural de un modulo i se define de la siguiente manera: S(I)=F2OUT (I) Donde FOUT (I) es la tendencia hacia fuera del modulo i.
ESTRUCTURAL o ARQUITECTURAS
JERARQUICAS. La complejidad de datos proporciona una indicacin de la complejidad de la interface interna de un modulo i y se define como: D(I)=V(i)/[F2OUT (i)+1] Donde v(i) es el numero de variables de entrada y salida que se pasan al modulo i o se reciben de este.
ESTRUCTURAL o ARQUITECTURAS
JERARQUICAS. La complejidad del sistema se define como la suma de las complejidades estructural y de datos C(i)=S(i)+D(i)
morfologa que permiten la comparacin entre diferentes arquitecturas de programas empleando un conjunto de dimensiones directas
las F.A.U.S.A.-.
ARQUITECTONICO PARA DERIVAR UN INDICE CALIDAD DE LA ESTRUCTURA DE DISEO QUE VA DE 0 A 1 ES IMPORTANTE DETERMINAR LOS SIGUIENTES VALORES: I. EL NUMERO TOTAL DE MODULOS DEFINIDOS EN LA ARQUITECTURA DEL PROGRAMA II. EL NUMERO DE MODULOS CUYA FUNCION CORRECTA DEPENDE DE LA FUENTE DE ENTRADA DE DATOS O QUE PRODUCE DATOS QUE SE USARAN EN OTRO LUGAR III. EL NUMERO DE MODULOS CUYA FUNCION CORRECTA DEPENDE DEL PROSECAMIENTO ANTERIOR IV. EL NUMERO DE ELEMENTOS EN LA BASE DE DATOS V. EL NUMERO TOTAL DE ELEMENTOS UNICOS EN LA BASE DE DATOS VI. EL NUMERO DE SEGMENTOS DE BASE DE DATOS VII. EL NUEMRO DE MODULOS CON UNA SOLA ENTRADA Y SALIDA
intermedios estructura del programa:D1 , DONDE D1 se define como : si el diseo arquitectonico se desarrollo empleando un metodo distinto, entonces D1=1, de lo contrariuo D1=0. independencia del modulo: D2=1-(S2/S1) modulos no dependientes del procedimioento anterior D3=1(S3/S1) tamao de la base de datos : D4=1-(S5/S4) division en compartimentos de la base de datos: D5=1-(S6/S4) caracteristica de entrada/salida del modulo: D6=1-(S7/S1) obteniendo estos datos, podemos calcular el iced ICED=WIDI
de los valores intermedios, y wi=1 ; Se determinan el valor de ICED PARA LOS DISEOS ANTERIORES Y SE COMPARA CON UN DISEO QUE ESA EN DESARROLLO .
orientado a objetos. a) tamao b) complejidad c) acoplamiento d) suficiencia e) grado de avance f) cohesin g) primitivismo h) similitud i) volatilidad
entidades orientadas a objetos. VOLUMEN.-a diferencia de poblacin estos se recopilan dinmicamente. LONGITUD.- es una medida de una cadena de elementos de diseo interconectados. FUNCIONALIDAD.-proporcionan una indicacin indirecta del valor entregado al cliente en una aplicacin orientada a objetos.
de las caractersticas estructurales. c) ACOPLAMIENTO las conexiones fsicas entre los elementos de un diseo orientados a objetos representa el acoplamiento dentro de un sistema orientado a objetos
caractersticas que se le piden. e) GRADO DE AVANCE Se diferencia de la suficiencia en que es el conjunto de caractersticas contra las que comparamos el componente de abstraccin de diseo
en cuanto a su estructura, funcin, comportamiento o propsito. i) VOLATILIDAD La volatilidad de un componente orienta do a objetos mide la probabilidad de que ocurra un cambio.
La clase es la unidad fundamental de un sistema orientado a objetos por tanto las medidas y mtricas de una clase individual, la jerarqua de clase y las colaboraciones de clase sern invaluables.
METRICAS DEL PRODUCTO PARA EL SOFWARE METRICAS PARA EL DICEO METRICAS PARA EL CODIGO FUENTE METRICAS PARA LAS PRUEBAS METRICAS PARA EL MANTENIMIENTO
METRICAS PARA EL MODELO DICEO METRICAS ORIENTADO A OBJETOS: Estas mtricas hacen hincapi en el encapsulamiento, la herencia, complejidad de clases y polimorfismo. mtricas que se pueden aplicar a las caractersticas de encapsulamiento, ocultamiento de informacin, herencia y tcnicas de abstraccin de objetos que hagan nica a esa clase. Chidamber y Kemer propusieron una coleccin de 6 mtricas CK, basados en sistemas orientados a Objetos. 1. Mtodos ponderados por clase(MPC). 2. rbol de profundidad de herencia (APH) 3. Numero de descendientes (NDD) 4. Acoplamiento entre clases de objetos (AECO) 5. Respuesta para una clase (RPC) 6. Falta de cohesin en mtodos (FCM)
Falta de cohesin en mtodos FCM La FCM es el numero de mtodos que acceden a uno o mas de los mismos atributos. Ejms Mientras mas cohesionen aumenta la complejidad del diseo de clases entonces es bueno que FCM=0.
Donde la sumatoria se presenta desde i=1 hasta T C es una clase dentro de la arquitectura. Ma= Es el # de metodos que pueden involucrarse Md= El # de metodos declarados en C Mi= El # de metodos heredados
Factor de acoplamiento FA
El acoplamiento es una indicacin de la conexiones entre elementos. El conjunto de mtricas define el acoplamiento as:
En general a medida que la profundidad de la jerarqua de clase aumenta , debe caer el valor de NOA en los niveles inferiores de la jerarqua.
Mtricas de cohesin.
Se define como una coleccin de mtricas que proporcionan una indicacin del grado de cohesin Las mtricas se definen a partir de cinco conceptos fundamentales: Porcin de datos: Define simplemente, una porcin de datos es un recorrido hacia atrs por un mdulo y que se concentra en instricciones y condiciones, Muestras de datos: Son la variable definida para un mdulo. Seales de Unin. Muestra de datos que cae en una o ms porciones de datos.
Seales de superacin. Estas muestras de datos son comunes a todas las porciones de datos de un mdulo. Todas estas mtricas de cohesin abarcan valores de 0 y 1. Tiene un valor de 0 cuando un procedimiento cuenta con ms de una salida y no muestra atributos algunos de cohesin.
Mtricas de acoplamiento.
El acoplamiento del mdulo proporciona una indicacin de la conectividad de un mdulo con otro modulo hay 3 tipos de acoplamiento.(flujo, de datos, de control y global) De= nmero de parmetros de datos de entrada Ce= nmero de parmetros de control de entrada De= nmero de parmetros de datos de salida CS= Numero de parmetros de control de salida
Acoplamiento global
Gd=Numero de variables globales usadas como datos Gc=Numero de variable globales usadas como control Acoplamiento de Entorno W=Numero de Mdulos llamados(dependencia hacia afuera) R= numero de mdulos que llaman al modulo en cuestin(dependencia hacia adentro)
Con esta formula se define un indicador de acoplamiento Ma=K/M Donde k es una constante de proporcionalidad
A medida que que el valor de Ma aumenta, disminuye el acoplamiento general del modulo.
Mtricas de complejidad. Es posible calcular diversas mtricas del software para determinar la complejidad del flujo de control del programa. Muchas de estas se basan en la grfica de flujo.
Las mtricas de complejidad se utilizan para predecir la informacin crtica acerca de la confiabilidad y la factibilidad de mantenimiento de sistemas de software a partir del anlisis automtico del cdigo fuente. Las mtricas de complejidad tambin ofrecen retroalimentacin durante el proyecto de software para ayudar a controlar. Durante las pruebas y el mantenimiento, ofrecen una informacin detallada acerca de los mdulos de software para ayudar a detectar reas de posible inestabilidad.
1-Tamao medio de operacin (TO prom) El nmero de mensajes por una operacin, proporciona una opcin del tamao de operacin.
2-Complejidad de operacin (CO) La complejidad de una operacin se calcula empleando cualquier mtrica: ejms Complejidad ciclomtica: mide cuantitativamente la complejidad lgica de un programa
Indica la caracteristicas simple de los elementos de la plantilla, que puede tener uns pagina web app. para la seleccion de un diseo de una interfaz de usuario se puede usar mtricas, pero el arbitro final debe ser la entrada de usuario en base a los prototipos de la interfaz.
En la ctualidad no existen mtricas que midas aspectos como la usabilidadc,la estetica, la navegacin, la arquitectura, puesto solo puede abordarse de manera cualitativa. A continuacion se presenta una muestra de mtricas para webapp, aunque cabe destacar, que muchas de ellas aun no se validad, y se usan debe de hacerselo juiciosamente:
METRICAS DE DICEO DE LA INTERFAZ DE USUARIO Ser humano / maquina Aprender por lo menos un principio del diseo de interfaces de usuario si echa la ropa en una lavadora. Si pone demasiada ropa, nada queda limpio. KoKol- define una mtrica que consiste en: Comparar pantallas. Interaccin con la interfaz tiempo de escenario a otro Numero de datos objetos presentados en una pantalla. El tamao de el texto. Facilidad de uso. Nielsen y Levy. Sugiere que ser un existo de calidad si se basa exclusivamente en las opciones de los usuarios
METRICAS PARA EL CODIGO FUENTE Halstead. Siguiere un conjunto de medidas que derivan que despus que se genero el cdigo y son:
Consiste en el descubrimiento de errores, en los mdulos. Quienes apliquen deben de depender de as mtricas de anlisis, diseo y cdigo como gua para la ejecucin de las pruebas.
METRICAS DE HALTEAD APLICADA A LAS PRUEBAS NP= nivel de programa
Mtricas para pruebas OO Englobamos por caractersticas de diseo importantes: Encapsulamiento Porcentaje pblico y protegido (PPP) Los atributos pblicos son los que se heredan, mientras que los protegidos son una especializacin y son los privados. PPP indica el porcentaje de los atributos clase que son pblicos. Si los valores de PPP son altos existe la probabilidad de mayores efectos colaterales entre clases Acceso pblico a datos miembros (APQ) Son el nmero de clases o mtodos que pueden acceder a los atributos de otra clase, violando el encapsulamiento. Un nivel alto de APQ da origen a un potencial nivel alto de efectos colaterales entre clases
Herencia Nmero de clases raz (NCR) Esta mtrica mide el nmero de jerarquas de clases distintas en el modelo de diseo Es preciso desarrollar un conjunto de pruebas para cada clase raz A medida que crece NCR se incrementa el esfuerzo de comprobacin Admisin (ADM) Es la medida que indica herencia mltiple Si ADM es mayor que 1, implica que la clase hereda atributos y operaciones de diferentes clases raz. Es preferible evitar herencia mltiple Nmero de descendientes (NDD) y profundidad del rbol (APH).
Un stand IEEE std.982-11988. Siguiere un ndice de madurez del software (IMS) basado en cambios que ocurren con cada versin del producto y se determina la siguiente informacin: