sábado, 18 de enero de 2014

Metricas de Calidad de Software


Métricas de calidad

Las métricas del software se aplican para valorar cualitativa mente algún factor relativo al mismo. No existen métricas generales y únicas, aún menos para la calidad, ya que se puede examinar el software a través de múltiples perspectivas y con diferentes objetivos.

4560409449_cb19bdd9fc_o.png



Métrica bang

Esta métrica, propuesta por De Marco, sirve para calcular el tamaño del software a desarrollar a partir del modelo de análisis.

Métrica de calidad de especificación

Propuesta por Pressman, mide la calidad del análisis y de los requisitos capturados. A pesar de medir factores cualitativos, propone métricas como por ejemplo el número de requisitos donde los revisores han interpretado lo mismo.

Métrica de complejidad de Card y Glass

Esta métrica se basa en dos factores, calculados para cada módulo a partir del diagrama de estructuras:
  • Complejidad estructural: número de módulos que controla un módulo dado
  • Complejidad de datos: suma de variables de entrada y salida de un módulo (dividido por el número de módulos que controla, para que no influya la complejidad estructural)
La complejidad del sistema se calcula como la suma de la complejidad estructural y la complejidad de datos de cada módulo

Métrica de cohesión y acoplamiento

Estas métricas sirven para cuantificar la cohesión y acoplamiento de los módulos en programación estructurada. A partir de los parámetros de entrada, los parámetros de salida, las variables globales utilizadas y el fan-in y fan-out de los módulos, genera un valor que es menor cuanto mejores son la cohesión y el acoplamiento.

Métricas orientadas a objetos

Las técnicas estructuradas no se aplican fácilmente en la POO. Para ello, se han diseñado otras métricas basadas en clases, no en módulos, que dan una idea

Profundidad árbol de herencia

Esta métrica se basa en la media de profundidad de la jerarquía de herencias: cuanto mayor es la profundidad, menor es la calidad del software
4561047848_62fb2155b9_o.png


Fase de codificación

Las métricas de la fase de codificación intentan dar una medida de la complejidad del software construido. Algunas de ellas son las siguientes:

Complejidad ciclomática y esencial

Las métricas de complejidad ciclomática y esencial fueron desarrolladas por McCabe para medir la complejidad lógica de un programa. Se basan en pintar el flujo de control como un grafo, donde los nodos son instrucciones y están conectadas si una se puede ejecutar después de otra.
La complejidad ciclomática mide el número de ciclos que existen en el grafo de control. La complejidad esencial, el máximo número de anidamiento de estructuras de control.

Métricas orientadas a objetos

En programación orientada a objetos, además de las métricas de programación estructurada pueden utilizarse otras como el número de métodos de la clase, el número de métodos que pueden invocarse desde otras clases, o la cohesión entre los métodos de la clase.


viernes, 17 de enero de 2014

Factores


Factores que determinan la calidad del software
corrección: el grado en la que la aplicación satisface sus necesidades y consigue los objetivos

Fiabilidad: es el grado que se puede esperar de un aaplicacion lleve a cabo las operaciones especificas

Eficiencia: es la cantidad de recursos hardware y software que necesita una aplicación para la realización de operaciones 

Integridad: puede controlarse el acceso al software o a los datos a personas no autorizadas

Flexibilidad: esfuerzo requerido para modificar una aplicación en funcionamiento 

Potabilidad: transferir la aplicación a otros hardware o sistema operativo 

Reusabilidad: esfuerzo necesario para comunicar la aplicación con otras aplicaciones o sistemas informáticos 

Interoperabilidad: esfuerzo necesario para comunicar la aplicación con otras aplicaciones o sistemas informáticos 

Estos algunos de los factores que determina la calidad de software como se puede observar son varios, cada uno de estos factores tiene una función para la calidad 

Corrección: mide el grado en que un programa satisface sus especificaciones y consigue los 
objetivos del usuario.

Fiabilidad: mide el grado en que se puede esperar que un programa lleve a cabo sus funciones 
esperada con la precisión requerida. 

Eficiencia: mide la cantidad de recursos de computadora y de código requerido por un programa 
para que lleve a cabo las funciones especificadas. 

Integridad: es el grado en que puede controlarse el acceso al software o a los datos por personal 
no autorizado. 

Facilidad de Uso: es el esfuerzo requerido para aprender un programa e interpretar la información 
de entrada y de salida. 

Facilidad de Mantenimiento: es el esfuerzo requerido para localizar y arreglar programas.

Facilidad de Prueba: es el esfuerzo requerido para probar un programa. 

Flexibilidad: es el esfuerzo requerido para modificar un sistema operativo.

• Potabilidad: es el esfuerzo requerido para transferir un software de un hardware o un entorno de 
sistemas a otro.

Reusabilidad: es el grado en que un programa (o partes de un programa) se puede reutilizar en 
otro.

Facilidad de Interoperación: es el esfuerzo requerido para asociar un programa a otro. 



jueves, 16 de enero de 2014

Calidad



Calidad


La calidad de un producto o servicio es la percepción del mismo, es una fijación mental del consumidor que asume conformidad con un producto o servicio determinado, que solo permanece hasta el punto de necesitar nuevas especificaciones. La calidad es un conjunto de propiedades inherentes a un objeto que le confieren capacidad para satisfacer necesidades implícitas o explícitas.
Normas de la calidad 
Existen normas internacionales de calidad adoptadas por un número cada vez mayor de países, destinadas a asegurar que las mercancías cumplan con requisitos mínimos de durabilidad y funcionamiento. La eso 9000 de un sistema de administración de la calidad, aplica a todo tipo de empresas, sin importar su giro de negocio o tamaño, incluyendo a la pequeña y mediana empresas (pymes).  

Estándares de calidad
Los estándares no son más que los niveles mínimo y máximo deseados, o aceptables de calidad que debe tener el resultado de una acción, una actividad, un programa, o un servicio. En otras palabras, el estándar es la norma técnica que se utilizará como parámetro de evaluación de la calidad.

Calidad del proceso
El control del proceso consiste en aplicar la calidad al proceso de fabricación de un producto. Para ello se utilizan técnicas como el control estadístico de procesos (spc statistical procesos control) aplicadas sobre muestras tomadas del producto.