Accueil🇫🇷Chercher

Couplage (informatique)

Le couplage est une métrique indiquant le niveau d'interaction entre deux ou plusieurs composants logiciels (fonctions, modules, objets ou applications). Deux composants sont dits couplés s'ils échangent de l'information. On parle de couplage fort ou couplage serré si les composants échangent beaucoup d'information. On parle de couplage faible, couplage léger ou couplage lâche si les composants échangent peu d'information et/ou de manière désynchronisée.

Niveaux de couplage

Selon Pressman[1], il existe sept niveaux de couplage, du plus faible au plus fort :

  1. Sans couplage : les composants n'Ă©changent pas d'information.
  2. Par données : les composants échangent de l'information par des méthodes utilisant des arguments (paramètres) de type simple (nombre, chaîne de caractères, tableau).
  3. Par paquet : les composants échangent de l'information par des méthodes utilisant des arguments de type composé (structure, classe).
  4. Par contrĂ´le : les composants se passent ou modifient leur contrĂ´le par changement d'un drapeau (verrou).
  5. Externe : les composants Ă©changent de l'information par un moyen de communication externe (fichier, pipeline, lien de communication).
  6. Commun (global) : les composants échangent de l'information via un ensemble de données (variables) commun.
  7. Par contenu (interne) : les composants échangent de l'information en lisant et écrivant directement dans leurs espaces de données (variables) respectifs.

Une bonne architecture logicielle nécessite le couplage le plus faible possible.

Inconvénients d'un couplage fort

Un couplage fort est Ă  proscrire pour plusieurs raisons :

  • Un couplage fort gĂ©nère l'antipattern plat de spaghetti :
    • On ne peut pas dĂ©terminer le qui, le quoi et le comment d’une modification de donnĂ©es.
  • Un couplage fort implique nĂ©cessairement une faible indĂ©pendance fonctionnelle :
    • Le composant logiciel est difficilement rĂ©utilisable,
    • Le composant logiciel est difficilement testable.
  • Si deux tâches accèdent, par couplage fort, Ă  une ressource commune (ressource critique) et qu'elles s'exĂ©cutent en exclusion mutuelle, alors si une des tâches reste bloquĂ©e en section critique elle bloque automatiquement l'autre :

Les composants perdent leur autonomie. On peut difficilement remplacer un composant par un autre. Les structures fonctionnant avec du couplage fort sont donc peu souples et peu ouvertes.

Solution

L'idée générale du couplage faible consiste à établir un protocole d'échange et à effectuer le moins d'hypothèses (ou à imposer le moins de contraintes) possible entre les composants. Ainsi, les composants interagissent dans un cadre défini.

Le couplage lâche véhicule l'idée de ne pas rendre critique une ressource de manière synchrone par exemple.

Une métaphore classique est celle de la prise électrique qui est un standard pour le branchement d'appareils électriques. Cela se traduit en informatique par le concept de plugin.

Applications

Articles connexes

Notes et références

  1. (en) Pressman R. S., Software Engineering: A Practitioner's Approach, Third Edition. McGraw-Hill. Chapitre 10, 1992
Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.