Principe de l'architecture d'un logiciel

Traitement effectué par l'ordinateur...
Données volatiles...
Données persistantes...
Interface entre l'utilisateur et le programme...
Interface entre les autres programmes et le programme...
Interface entre les autres ordinateurs et l'ordinateur où fonctionne ce programme...

Prenons un traitement de texte ou un tableur. Prenons une base de données, encapsulée dans un logiciel tel un gestionnaire d'agendas ou une base en tant que telle qui est le support d'un applicatif. Prenons un navigateur Internet. Prenons un outil de développement. Prenons un progiciel de comptabilité.
Quel que soit le programme, simple ou complexe, autonome ou partie d'un autre programme, nous pouvons effectuer le même constat : tout traitement automatique de l'information, quelque soit sa nature, repose sur six piliers fondamentaux :

A cela s'ajoute le langage de programmation jouant le rôle de ciment entre ces six volets.

L'objectif est d'effectuer une succession d'actions en réponse à une action extérieure au programme.

Cette action extérieure est déclenchée soit par :

La suite d'actions déclenchées peut être : Voici des exemples d'actions déclenchant un traitement Voici des exemples d'actions déclenchées : Revenir en haut de la page...
Les données volatiles permettent au programme de conserver une trace des actions effectuées ou de conserver les résultats d'un calcul.
Par définition, la durée de vie des données volatiles est identique à de la durée de vie du programme. Lorsque le programme se termine, ces données sont perdues.

Revenir en haut de la page...
Les données persistantes permettent au programme de conserver une trace des actions effectuées ou de conserver les résultats d'un calcul entre deux exécutions du programme.
Par définition, la durée de vie des données persistantes est indépendante de la durée de vie du programme. Lorsque le programme se termine, ces données sont encore disponibles. Si le programme est ré exécuté ultérieurement, il pourra recharger les données persistantes.
Voici un exemple de conservation des données persistantes Revenir en haut de la page...
L'interface entre l'utilisateur et ce programme peut être minimale : il s'agit en ce cas d'un système de saisie de texte pour la communication de l'utilisateur vers le programme, d'un système d'écriture de texte pour la communication du programme vers l'utilisateur. Ceci est appelé l'entrée-sortie standard.
Elle peut être néanmoins plus conviviale. Elle est alors composée de fenêtres, menus, listes, boîtes à cocher, etc. Elle repose en ce cas sur un des grands standards visuels dénommés Interface Homme-Machine (IHM).
Voici des exemples d'interface entre l'homme et le programme Revenir en haut de la page...
L'ère où un programme était autonome est révolue depuis longtemps : un programme ne peut plus ignorer les autres, sinon il serait condamné à intégrer les fonctionnalités de tous les autres programmes réunis ! Un programme est spécialisé sur une fonctionnalité. En revanche, il a besoin des fonctionnalités des autres programmes pour fonctionner.
Voici des exemples d'interface entre les autres programmes et le programme : Voici des exemples de fonctionnalité d'un programme : Revenir en haut de la page...
L'ère où un ordinateur est autonome est en passe d'être révolue : un ordinateur peut à son tour ne plus ignorer les autres, sinon il faudrait qu'il ait la puissance de tous les autres ordinateurs réunis ! Un ordinateur à une spécialisation fonctionnelle. En revanche, il a besoin des spécialisations fonctionnelles des autres programmes pour fonctionner.
Voici des exemples entre les autres ordinateurs et l'ordinateur où fonctionne le programme : Voici des exemples de spécialisation fonctionnelle d'un ordinateur : Revenir en haut de la page...