lunes, 23 de septiembre de 2013

EVALUACIÓN DE SOFTWARE


Dada la complejidad de un proceso de evaluación de software, la metodología empleada debe ser elegida después de un concienzudo análisis donde se relacione los procesos de pruebas existentes, las técnicas de pruebas funcionales y la observación de los procesos y formas de trabajo para el desarrollo de software.

Lo primero a tener en cuenta es que el concepto de calidad es muy complejo, dado que no existe un consenso respecto a él. De esta manera, si pretendemos evaluar la calidad de un software, primero debemos descomponer el concepto en unidades factibles de ser medidas. Este tipo de descomposición recibe el nombre de modelo de calidad. Los modelos de calidad más conocidos y utilizados han sido los de Boehm y McCall.

El modelo de McCall desglosa la calidad en tres usos o capacidades:
  1. La capacidad de operación.
  2. La capacidad para ser modificado.
  3. La capacidad de transición o de adaptación a otros entornos.
A su vez, cada una de estas capacidades se divide en factores como por ejemplo Facilidad de uso, Integridad, Eficiencia, Fiabilidad, Flexibilidad, Facilidad de Prueba, Facilidad de Formación o Aprendizaje, Simplicidad, Generalidad, entre otros.

Si bien este tipo de modelos tuvieron una gran acogida, tanto así que se intentaron establecer como estándares y se crearon modelos muy semejantes, en los años ochenta se creó el concepto de calidad relativa, el cual promovió la creación de modelos particulares dependiendo de la empresa o incluso del proyecto. Entre estos modelos se encuentran el caso de Gilb (que propone determinar una lista de las características que definen la calidad de la aplicación) y el paradigma GQM (Goal-Question-Metric (Objetivo-Pregunta-Métrica).

Pero si nos remontamos a los inicios de las evaluaciones de los softwares, encontramos que para el enfoque más primitivo la calidad es la ausencia de errores. El programa de medición aplicado por Grady en Hewlett-Packard es uno de los ejemplos más representativos.

Dentro de los estándares más conocidos y empleados se encuentra la ISO/IEC 9126, el cual evalúa las características internas, externas y de calidad en uso del software. Esta norma internacional, publicada en 1992, describe seis características generales (Fucionalidad, Confiabilidad, Usabilidad, Eficiencia, Mantenibilidad y Portabilidad) y permite evaluar la calidad del software desde criterios relacionados con adquisición, requerimientos, desarrollo, uso, evaluación, soporte, mantenimiento, aseguramiento de la calidad y auditoría.

Los enfoques cualitativo y cuantitativo están presentes en el proceso de evaluación de software: el primero aparece en la fase inicial del proceso, mientras que el segundo en la última fase. El proceso debe ser registrado y debe cumplir con los siguientes pasos:

  1. Estado del Software
  2. Identificar el tipo de software
  3. Perfiles de Evaluadores
  4. Especificar los Objetivos
  5. Aplicar el modelo de calidad
  6. Criterios de la evaluación
  7. Seleccionar métricas
  8. Establecer criterios
  9. Tomar medidas
  10. Resultados
  11. Documentación
  12. Seguimiento