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.
Selon Pressman, il existe sept niveaux de couplage, du plus faible au plus fort :
Sans couplage : les composants n'échangent pas d'information.
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).
Par paquet : les composants échangent de l'information par des méthodes utilisant des arguments de type composé (structure, classe).
Par contrôle : les composants se passent ou modifient leur contrôle par changement d'un drapeau (verrou).
Externe : les composants échangent de l'information par un moyen de communication externe (fichier, pipeline, lien de communication).
Commun (global) : les composants échangent de l'information via un ensemble de données (variables) commun.
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.
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 :
Risque d'interblocage.
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.
La programmation orientée objet (POO), ou programmation par objet, est un paradigme de programmation informatique. Elle consiste en la définition et l'interaction de briques logicielles appelées objets ; un objet représente un concept, une idée ou toute entité du monde physique, comme une voiture, une personne ou encore une page d'un livre. Il possède une structure interne et un comportement, et il sait interagir avec ses pairs.
La cohésion est un principe de conception informatique définissant un degré d'accord entre les différents éléments d'un module. Selon Larman, un module cohérent a ses éléments étroitement liés et effectuant un nombre réduit d'opérations. Des modules peu cohérents sont généralement difficiles à comprendre, à réutiliser et à maintenir, et sont fragiles, puisqu'ils sont affectés par les modifications apportées aux autres modules. La cohésion peut être une métrique mesurant l'application des principes d'encapsulation des données et de masquage de l'information.
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.
Ce cours complète les connaissances sur le langage C++, en particulier sur le développement d'application modulaire
robuste (principe de séparation des fonctionnalités). La dimension pratique étant ju
The "Introduction to Applied Data Science" (I2ADS) course is aimed at students of all levels to train them in the core computer science software stack and techniques forming the pillars of open & repr
The helicity, h -, of μ - in π-decay has been determined as positive (h -≥+0.90) from the average polarization, P av≡〈J B·s μ〉, of 12B produced in the μ -+ 12C→ν μ+ 12B reaction. We obtain also dynami