Cicle de vida i difusió del programari