L termo fui criado na década de 1960 i outelizado ouficialmente an 1968 na NATO Science Committe. Sue criaçon surgiu nua tentatiba de cuntornar la crise de l software i dar un tratamiento d'angenharie (mais sistemático i cuntrolado) al zambolbimiento de sistemas de software cumplexos. Un sistema de software cumplexo se carateriza por un cunjunto de cumponentes abstratos de software (struturas de dados i algoritmos) ancapsulados na forma de procedimientos, funçones, módulos, oubjetos ó agentes i anterconetados antre si, cumpondo la arquitetura de l software, que debiran ser eisecutados an sistemas cumputacionales.