Principe de l'architecture d'un logiciel

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.

Traitement effectué par l'ordinateur

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 :

Données volatiles

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.

Données persistantes

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

Interface entre l'utilisateur et le programme

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

Interface entre les autres programmes et le programme

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 :

Interface entre les autres ordinateurs et l'ordinateur où fonctionne ce programme

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 :