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. Elle mesure également la cohésion sémantique des interfaces des modules et des classes.
Selon Pressman, il existe sept niveaux de cohésion :
Accidentel : décrivant le niveau le plus faible où le lien entre les différentes méthodes est inexistant ou bien créé sur la base d'un critère futile.
Logique : lorsque les méthodes sont reliées logiquement par un ou plusieurs critères communs.
Temporel : lorsque les méthodes doivent être appelées au cours de la même période de temps.
Procédural : lorsque les méthodes doivent être appelées dans un ordre spécifique.
Communicationnel : lorsque les méthodes manipulent le même ensemble spécifique de données.
Séquentiel : lorsque les méthodes qui manipulent le même ensemble de données doivent être appelées dans un ordre spécifique.
Fonctionnel : réalise le niveau le plus élevé lorsque la classe ou le module est dédié à une seule et unique tâche bien spécifique.
Le niveau accidentel est celui de plus faible cohésion, le niveau fonctionnel celui de plus forte cohésion ; une bonne architecture logicielle nécessite la plus forte cohésion possible.
En programmation objet, le respect des principes d'encapsulation des données permet d'obtenir le niveau de cohésion communicationnel. Le niveau séquentiel est atteint par observation du principe de masquage de l'information et l'utilisation de patrons de conception reconnus qui permettent de créer des interfaces dont l'ordre des appels est normalisé (vous en connaissez une, vous les connaissez toutes).
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.
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.
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.
En informatique, la programmation modulaire reprend l'idée de fabriquer un produit (le programme) à partir de composants (les modules). Elle décompose une grosse application en modules, groupes de fonctions, de méthodes et de traitement, pour pouvoir les développer et les améliorer indépendamment, puis les réutiliser dans d'autres applications. Le développement du code des modules peut être attribué à des (groupes de) personnes différentes, qui effectuent leurs tests unitaires indépendamment.
The students will acquire a solid knowledge on the processes necessary to design, write and use scientific software. Software design techniques will be used to program a multi-usage particles code, ai