O conjunto específico de atributos que se pode propor a um software tem relação direta com sua aplicação, sabemos disto, porém, se formos considerar os atributos essenciais para o desenvolvimento de um bom software, poder-se-ia afirmar que os atributos essenciais são:
Baixo custo, usabilidade escalabilidade e robustez.
Modularização, escalabilidade, manutenibilidade e eficiência
Preço, fornecedor, documentação e portabilidade
Manutenibilidade, confiança, proteção, eficiência e aceitabilidade.