Que se passe t'il quand on fait un simple "clic" sur un bouton "enregistrer" par exemple ?

-> le système va emmagasiner les données
-> vérifier les données
-> les mettre sous une forme établie
-> les transmettre à un serveur d'application qui lui va
-> décapsuler les données
-> se connecter à un serveur de base de données
-> traduire les données dans un autre format
-> lui envoyer les données
-> analyser la réponse de la base de données
-> renvoyer une réponse d'un certain format via un protocole
-> le programme initial va analyser des retours de données
-> faire un affichage "OK enregistrement réussi" ou "Erreur : "

chacune de ces étapes peut être synonymes de cinquantaines de lignes de code dans un langage précis. Ceci est une fonction classique, enregistrer une saisie.

- le métier de l'analyste, c'est après étude des besoins, d'imaginer une solution, en avoir la vision globale, que tout soit cohérent, stable, d'uniformiser et maitriser les échanges de données, leur stockage. etc."
- le métier de développeur, consiste à mettre en place tous ces processus et échanges de données, le tout de façon efficace et sans erreurs, en gérant toutes les éventualités possibles
Imaginez un logiciel ayant des centaines d'écrans, chacun des dizaines de boutons. (Exemple Word). Chacun faisant des opérations complexes en arrière plan. Il y a quantité de travail et de réflexion derrière.

Les principales difficultés proviennent de :
- la complexité même des applications : s'insérer de façon cohérente dans une mécanique déjà en place peut demander beaucoup plus de temps que prévu. On n'est pas libre de faire n'importe quoi
- il n'est pas rare de travailler dans l'urgence : Les deadlines sont présentes, ou alors il faut corriger rapidement des problèmes survenus