Tradicionalmente, un producto de alta calidad se describe en términos de su idoneidad para el propósito. Es decir, un producto de alta calidad será específicamente lo que los usuarios necesitan que pruebe. Para los productos de código, la idoneidad del propósito generalmente se toma en términos de satisfacción de las necesidades establecidas en el documento SRS. aunque la «adecuación del propósito» podría ser una definición satisfactoria de calidad para varios productos, como un automóvil, un ventilador de mesa, una máquina de pulir, etc., para los productos de código, la «adecuación del propósito» no es una definición completamente satisfactoria de la calidad. Para transmitir un ejemplo de grado asociado, piense en un software que sea funcionalmente correcto.
Realiza todas las funciones establecidas en el documento SRS . Pero, tiene un programa de grado asociado prácticamente inutilizable. a pesar de que debería ser funcionalmente correcto, tendemos a pensar que no es un producto de alta calidad. Otro ejemplo es también el de un producto que tendrá todo lo que los usuarios necesitan, pero tiene un código virtualmente incomprensible y no mantenible. Por lo tanto, la construcción normal de la calidad como «adecuación del propósito» para la mercancía de código no es totalmente satisfactoria.
La lectura moderna de alta calidad asocia con software muchos factores de calidad como los siguientes:
- Portabilidad:
Se dice que un software es transportable, si puede ser simplemente creado para funcionar en varios entornos de paquetes, en varias máquinas, con productos de código alternativo, etc. - Usabilidad:
un software tiene una usabilidad inteligente si diferentes clases de usuarios (es decir, tanto usuarios experimentados como novatos) simplemente invocan las funciones del producto. - Reutilización:
una aplicación tiene una reutilización inteligente si se reutilizan diferentes módulos del producto para desarrollar nuevos productos. - Corrección:
un software es correcto si se cumplen correctamente las necesidades completamente diferentes a las establecidas en el documento SRS. - Mantenibilidad:
un software es reparable, si los errores pueden corregirse fácilmente a medida que aparecen, simplemente se pueden agregar nuevas funciones a los productos y, por lo tanto, las funcionalidades de los productos pueden cambiarse fácilmente, etc.