Ir al contenido principal

METRICAS DEL PRODUCTO PARA EL SOFTWARE

La medicion es un elemento clave para cualquier proceso de ingenieria, las medidas se utilizan par comprender de mejor manera los atributos de los modelos que se cren y evaluar  la calidad de los productos de la ingenieria  o de los sistemas que se construyen

La medicion es el proceso mediante el cual se asignan numeros  o simbolos a los atributos de entidades reales para definirlas de acuerdo a reglas claramente establecidas, por supuesto  las medidas por lo general no tienen un alto grado de refinamiento, pero es de gran importancia tratar de medir lo inmedible para comprender de mejor manera entidades particulares del desarrollo de software.

La calidad  es el cumplimiento de los requisitos de funcionalidad  y desempeño explicitamente establecidos, de los estandares de desarrollo  explicitamente documentados y de las caracteristicas implicitas que se esperan de todo software de desarrollo profesionalmente.

FACTORES DE CALIDAD DE MCALL

Se dividen en dos grandes grupos
1. los que se miden directamente
2. los que solo se pueden medir indirectamente







Estos elementos son cualitativos al igual manera se pretende asignar numero o simbolos a entidades reales y esto merece un modelo de medicion que abarque un conjunto de reglas

Una medida proporciona una indicacion cuantitativa de la extension, la cantidad, la dimension, la capacidad  o el tamaño de algun atributo del producto o proceso.

Medicion es el acto de determinar una medida

Metrica, es la medida cuantitativa del grado de en que un sistema, componente o proceso posee un atributo determinado.

Un indicador es una metrica o una combinacion de metricas que proporciona conocimiento acerca del proceso de software, un proyecto de software o el propio producto.

Algunos principios en el uso de metricas pueden ser los siguientes.

Una metrica debe tener propiedades matematicas deseables

Cuando  una metrica representa  una caracteristica de software que aumenta cuando se representan rasgos positivos  o que disminuyen al encontrar rasgos indeseables el valor de la metrica debe aumentar o disminuir en  el mismo sentido.

Cada metrica debe valirdarse empiricamente en una amplia variedad de contextos antes de publicarse o aplicarse a toma de desiciones.

Existen muchas metricas que cumplen con los principios esto no indica que deban ser totalmente rechazadas o desmerecidas pero hay que tener cuidado al utilizarlas comprender sus objetivos y entender que no pueden ser usadas como comprobacion cientifica solida.

Las metricas y sus medidas deben ser.

Simples y calculables
Empirica e intuitivamente persuasiva
Consistentes y objetivas
Consistentes en el uso de unidades y dimensiones
Independientes del lenguaje de programacion
Mecanismo efectivo para la retroalimentacion de alta calidad

METRICAS PARA EL MODELO DE ANALISIS

Funcionalidad entregada
Tamaño del sistema
Calidad de la especificacion

Metricas para el modelo de diseño

Metricas arquitectonicas
Metricas a nivel de componentes
Metricas del diseño de la interfaz
Metricas especializadas en diseño orientado a objetos

Metricas para el codigo fuente

Metricas de  Halstead
Metricas de complejidad
Metricas de longitud

Metricas para pruebas

Metricas de cobertura de instrucciones y ramas
Metricas relacionadas con los defectos
Efectividad de la prueba
Metricas en el proceso

METRICAS BASADAS EN LA FUNCION

La metrica de punto de funcon PF se usa para medir la funcionalidad que entrega un sistema , empleando datos historicos el PF se usa para
Estimar el costo  o el esfuerzo requerido para diseñar codificar  y probar el software
Predecir el numero de errores que se encontraran durante la prueba
Pronosticar el numero de componentes, de lineas de codigo proyectadas o ambas en el sistema  implementado


La tabla se utiliza para recolectar el total de conteos luego se utiliza la siguiente formula

Fi son los valores de ajuste que se obtienen como respuestas a las siguientes preguntas.

1. ¿El sistema requiere respaldo y recuperacio confiables?
2.¿Se requiere  comunicaciones de datos especializadas para transferir informacion  a la aplicacion u obtenerla de ella?

3. ¿Hay funciones distribuidas en el proceso?

4. ¿El desempeño es critico?
5.¿el sistema se utilizara en un entorno existente que tiene un uso pesado de operaciones?
6.¿el sistema requiere entrada de datos en linea?
7.¿La entrada de datos en linea requiere la transaccion de entrada se construya en varias pantallas u operaciones.?
8.¿Los ali se actualizan en linea?
9.¿Las entradas, salidas los archivos o consultas son complejas?
10.¿Es complejo el procesamiento interno?
11.¿El codigo diseñado sera reutilizable?
12.¿Se incluye la conversion e instalacion en el diseño?
13.¿Esta diseñado para instalaciones multiples en diferentes organizaciones?
14.¿La aplicacion esta diseñada para facilitar el cambio y para que el usuario la utilize facilmente?

las preguntas se responden de 0  que significa no importante o no aplicable hasta 5 que significa esencial

Metricas de la calidad

suponga que existen Nr requisitos

Nr = Nf +Nnf

donde Nf es el numero de requisitos funcionales y Nnf el de no funcionales como por ejemplo el desempeño

Q1 = Nui/Nr

donde Nui es  el numero de todos los requisitos que todos los revisores interpretaron de la misma manera  cuanto Q1 sea mas cercano a 1  menor sera la ambiguedad de especificacion

El grado avance se determina por

Q2 = Nu / [Ni*Ns]

donde

Nu es el numero de requisitos de funcion unica
Ni el numero de entradas
Ns el numero de estados especificados

Q2 mide el porcentaje  de funciones necesarias que se han espeficado para un sistema.

La metrica general de grado de avance se debe considerar el grado de validacion de los requisitos

Q3 =  Nc/ [Nc+Nnv]

Nc es el numero de requisitos que se han validado como correctos

Metricas del diseño arquitectonico

La complejidad estructural de un modulo i se define de la siguiente manera

S(i) = F2 out(i)

donde fout(i) es la independencia hacia afuera del modulo, numero de modulos inmediatemente subordinados  al modulo i

La complejidad de datos proporciona  una indicacion de la complejidad de la interfaz interna del modulo i  y se define como
D(i) ) = v(i)/[Fout(i)+1]

vi es el numero de variables de entrada y de salida que pasan por el modulo y/o ser reciben de este

La complejidad del sistema se define como la suma de las complejidades estructural y de datos

C(i) = S(i)+D(i)

Metricas orientadas a objetos

el tamaño general de una clase se calcula por medio de

El numero total de operaciones
el numero de atributos.


* La tecnica de los puntos de funcion ofrece una tecnica de transformacion de lineas de codigo para cada Punto de funcion denominado "backfiring" utilizando la siguiente tabla que nos indica el equivalente en SLOC por unidades de PF sin ajustar

Comentarios

Entradas populares de este blog

DISEÑO AL NIVEL DE COMPONENTES

El diseño a nivel de componentes se presenta a menudo despues que se ha terminado la primera iteracion del diseño arquitectonico. y  el objetivo de esta fase es traducir el diseño en software operaciona. El diseño a nivel de componentes define las estructuras de datos, los algoritmos, las caracteristicas de la interfaz  y los mecanismos de comunicacion asignados a cada componente de software. esta fase permite revisar si los detalles de diseño son correctos y consistentes con las representaciones iniciales de diseño ¿QUE ES UN COMPONENTE? Es un bloque de construccion modular par el software de computo. una parte modular desplegable y reemplazable de un sistema que encapsula implementacion y expone un conjunto de interfaces. desde el punto de vista orientado a objetos un componente es un conjunto de clases ques se interrelacionan entre si. en el contexto convencional de ingenieria de software  un componente es un elemento funcional que incorpora  la logica del procesamiento y

ESTRATEGIAS DE PRUEBAS DE SOFTWARE

La estrategia de pruebas de software proporciona un mapa que describe los pasos que se daran como parte de la prueba indica cuando se planea y cuando se daran dichos pasos ademas cuanto tiempo, esfuerzo y recursos consumiran. un software se prueba para descubrir los errores cometidos, si se realiza sin ningun plan seguramente se desperdiciara tiempo, se dedicara un esfuerzo innecesario y lo que es peor puede que no se detecten los errores. Las pruebas se deben planificar con anticipacion y realizarlas de manera sistematica por lo que es importante tener una plantilla existen diferentes y en general tienen los siguientes pasos. 1. Revisiones tecnicas formales y efectivas 2. Se inicia a nivel de componentes y se trabaja hacia afuera hacia la integracion del sistema 3. Diferentes tecnicas en diferentes momentos 4. las pruebas las dirige el desarrollador 5. la prueba y la depuracion son actividades diferentes, pero la segunda debe incluirse en cualquier estrategia de pruebas. l

AGE OF EMPIRES ERROR INICIALIZAR DIRECT 3D

Instale age of empires 3 pero no me corria me salia un mensaje de error al inicializar posibles causas direct 3d y otras que no me acuerdo la solucion luego de buscar: abrir el archivo mis documentos\my games\Age of empires 3\users\NewProfile.xml en block de notas setting name="optiongrfxres">etting Name="optiongrfxres">1280 x 720 colocar los parametros en la configuarcion que tiene el ordenador en mi caso es wide screen 1280 X 720 Setting Name="optionrefreshrate">75 esta configuracion se mira en inicio > panel de control > apariencia y temas >pantalla lengeta configuarcion > boton opciones avanzadas lengueta adaptador > boton listar modos alli colocas el modo que queres y lo pones en el archivo newProfile.xml