# Gestión de calidad del software

Uno de los principales objetivos de la Ingeniería del Software es conseguir sofware de calidad. Existen distintas técnicas, métricas... que persiguen conseguir dicha calidad en el ámbito del software.

## Introducción

¿Qué entendemos por 'calidad del software'? Existen muchas definiciones de calidad, El grado en el que un sistema, componente o proceso cumple con los requisitos. (IEEE), Calidad significa adecuarse a los requisitos. (Crosby, 1979) o La calidad del software se define como la adecuación a los requisitos de funcionalidad y rendimiento explícitamente expresados, a los estándares de desarrollo explícitamente documentados y a las características implícitas que se esperan del software profesional.(Pressman, 2000).
Para medir la calidad se necesitan métricas, no puede hacerse directamente. Al conjunto de técnicas para conseguir esta calidad se le llama Control de la Calidad del Sofware (SQA).

## Tipos

Distinguimos dos tipos de calidad:

#### Calidad de diseño

La Calidad de diseño es la adecuación de las características especificadas para un elemento. Por ejemplo, los documentos SRS y los documentos de diseño

#### Calidad de concordancia

La Calidad de concordancia hace referencia al grado de cumplimiento de las especificaciones de diseño durante su realización. Es decir, hablamos de la implementación o el código desarrollado.

## Garantía y control de calidad

Al hablar de calidad del software, las palabras recurrentes son “garantía” y “control”.
El control de la calidad es el conjunto de técnicas para evaluar la calidad de un cierto producto. Dado que evalúan un producto, este tiene que estar acabado. La garantía de calidad trata de minimizar el coste de asegurar la calidad durante el proceso de desarrollo. Para ello busca y corrige errores en las primeras etapas del desarrollo. Además, para garantizar la calidad, se debe estudiar el producto una vez terminado. Por tanto, podemos considerar el control de calidad como la última fase del proceso de garantía de calidad.

## Verificación y validación

La verificación comprueba si se esta construyendo el producto correctamente mientras que la validación comprueba si se está construyendo el producto correcto.
Dentro del proceso de Verificación y Validación (V&V) existen dos aproximaciones complementarias para el análisis y la comprobación de los sistemas:

#### Revisiones del software (estáticas)

Hay muchos tipos y pueden aplicarse en distintas etapas del proceso. Las más destacadas son las Revisiones Técnicas Formales o Inspecciones formales.

## Coste de la calidad

Conseguir la calidad en un producto tiene unos costes asociados.
* Costes de control, que incluyen los costes para prevenir y detectar errores.
** Costes de prevención: inversiones generales en calidad.
** Costes de evaluación: costes para detectar errores en un proyecto concreto.
* Costes de fallo de control, que incluyen los fallos que ocurrieron al no ser capaces de prevenir o detectar ciertos errores.
** Costes de fallo interno: los costes de detección de errores por el personal interno.
** Costes de fallo externo: costes de los errores detectados por el cliente.

## Conclusiones

Para que un proyecto software tenga éxito es imprescindible que tenga un mínimo de gestión de calidad.
La Calidad Sofware es uno de los pilares de la Ingeniería del Sofware. Aplicar técnicas de gestión de calidad a los proyectos sofware ayuda para que estos se finalicen con éxito en los plazos y con los requisitos solicitados por el cliente, siendo imprescindible en la mayoría de los proyectos.