Son las entradas necesarias para que un módulo pueda realizar las operaciones para las que fue creado
Capacidad de reaccionar apropiadamente ante condiciones excepcionales.
Facilidad de combinar unos elementos de software con otros. Eficiencia: Capacidad para exigir la menor cantidad posible de recursos (tiempo de procesador, espacio de memoria, ancho de banda, etc.).
Debe poder cumplir las condiciones de caja negra, es decir, deben ser independiente del resto de los módulos y comunicarse con ellos (con todos o sólo con una parte) a través de unas entradas y salidas bien definidas.
Va muy relacionada con las clases y es un principio de la Programación Orientada a Objetos que consiste en dividir un sistema en partes pequeñas que serán los módulos y que pueden funcionar de manera independiente.
Capacidad para realizar con exactitud las tareas definidas en las especificaciones.
Facilidad de transferir los productos de software a diferentes entornos de hardware y software.
Cubre la facilidad de instalación, de operación y de supervisión.
Correctitud
Facilidad de uso
Compatibilidad
Paso de parámetro
Robustez
Portabilidad
Módulo
Modularidad