lunes, 23 de septiembre de 2013

Evaluación de Software - Control de la Calidad de Software


El interés por la calidad crece de forma continua, a medida que los clientes se vuelven más selectivos y comienzan a rechazar los productos poco fiables o que realmente no dan respuesta a sus necesidades. 

Como primera aproximación es importante diferenciar entre la calidad del PRODUCTO software y la calidad del PROCESO de desarrollo. Las metas que se establezcan para la calidad del producto van a determinar las metas a establecer para la calidad del proceso de desarrollo, ya que la calidad del producto va a estar en función de la calidad del proceso de desarrollo. Sin un buen proceso de desarrollo es casi imposible obtener un buen producto. 

También es importante destacar que la calidad de un producto software debe ser considerada en todos sus estados de evolución a medida que avanza el desarrollo de acuerdo al ciclo de vida seleccionado para su construcción (especificaciones, diseño, código, etc.). No basta con tener en cuenta la calidad del producto una vez finalizado, cuando los problemas de mala calidad ya no tienen solución o la solución es muy costosa. 

Los principales problemas a los que se enfrenta el desarrollo de software a la hora de tratar la calidad de un producto software son la definición de calidad y su comprobación: 

Con respecto a la definición de la calidad del software: ¿Es realmente posible encontrar un conjunto de propiedades en un producto software que nos den una indicación de su calidad? Para dar respuesta a estas preguntas aparecen los Modelos de Calidad. En los Modelos de Calidad, la misma se define de forma jerárquica. Resuelven la complejidad mediante la descomposición. La calidad es un concepto que se deriva de un conjunto de sub-conceptos. 

En el caso de la calidad del software, el término es difícil de definir. Con el fin de concretizar a qué nos referimos con calidad de un sistema software, se subdivide en atributos: 

  • Funcionalidad – Habilidad del software para realizar el trabajo deseado. 
  • Fiabilidad – Habilidad del software para mantenerse operativo (funcionando). 
  • Eficiencia – Habilidad del software para responder a una petición de usuario con la velocidad apropiada.
  • Usabilidad – Habilidad del software para satisfacer al usuario. 
  • Mantenibilidad – Habilidad del software para poder realizar cambios en él fácilmente y con una adecuada proporción cambio/costo. 
  • Portabilidad – Habilidad del software para operar en diferentes entornos informáticos. 

A su vez, cada una de estas características del software puede subdividirse en atributos aún más  concretos. La Tabla 1 muestra una posible subdivisión. Aunque existen muchas otras descomposiciones de la calidad del software, ésta es una de las más aceptadas.

No hay comentarios:

Publicar un comentario