El software debe ser capaz de afrontar diferentes dificultades posibles, que incluyen: