El software se compone de instrucciones y estructuras de datos que proporcionan funcionalidad, así como documentos que describen su desarrollo, uso e instalación. Es un elemento lógico no físico que se desarrolla pero no se fabrica. Sus principales atributos de calidad incluyen fiabilidad, eficiencia, robustez, corrección, portabilidad, adaptabilidad, inteligibilidad y reutilización. El desarrollo de software ha evolucionado desde un enfoque artesanal en las décadas de 1950-1960 hasta los enfo