Existe una normativa ISO de calidad de software, llamada ISO 25010. Esta norma estándar define 8 características principales de calidad y también bastantes características secundarias.
8 características principales de calidad de software
Las 8 principales características de calidad del software son:
- Idoneidad funcional. El grado o nivel en que el software resultante proporciona funciones que satisfacen las necesidades establecidas para determinadas condiciones.
- Fiabilidad. El grado en que un sistema o componente software realiza sus funciones bajo determinadas condiciones y período de tiempo.
- Eficiencia en el desempeño. El rendimiento en relación con la cantidad de recursos utilizados en las condiciones establecidas.
- Usabilidad. El grado o nivel en que el software permite ser entendido, aprendido, usado y fácil para el usuario.
- Seguridad. El grado de protección de la información y los datos para que las personas o los sistemas no autorizados no puedan leerlos o modificarlos y que permita el acceso y uso a las personas o sistemas autorizados.
- Compatibilidad. El grado en que dos o más sistemas o componentes pueden intercambiar información y/o realizar sus funciones.
- Mantenibilidad. El grado de eficacia y eficiencia con que el software puede ser. Modificado y/o actualizado.
- Transferibilidad. El grado o nivel en que un sistema o componente transferido de un hardware, software u otro entorno operativo a otro.
Esta norma ISO 25010 es eficaz para determinar la calidad en una etapa temprana de desarrollo software.
Limitaciones y ventajas de la norma ISO 25010
Esta gran norma tiene algunas limitaciones:
- La norma no especifica cómo se han de medir las características de calidad.
- Algunas de las características de calidad parecen subjetivas.
- Aunque existe un estándar ISO 25023 que define métricas para medir la ISO 25010, tiene una limitación, y es que la mayoría de estas métricas están a nivel de comportamiento y no a nivel de código de software.
- La otra normativa que nos permite definir métricas de medida la ISO 5055, está limitada a solo 4 de las 8 características de calidad de la ISO 25010.
- Otra de las limitaciones es que la mayoría de las características de calidad definidas tienen diferentes significados en diferentes contextos, como velocidad de ejecución que en un contexto web puede ser válido pero que en un contexto de necesidades de tiempo real no lo sería.
A pesar de estas limitaciones podemos decir que la normativa nos permite medir las más significativas y que el sector ha reconocido que son las siguientes:
- Cobertura del código
- Interpretación abstracta
- Complejidad ciclomática
- Advertencias del compilador
- Normas de codificación
- Duplicación de código
- Despliegue
- Seguridad
La ventaja de medir es que nos permite saber si nuestro código ha sido bien desarrollado. Por tanto las normativas ayudan a generar buen código, pero no son suficientes.