Couplage et cohésion
Mesurer et juger les dépendances : les types de couplage entre modules, le couplage entrant et sortant, l'instabilité, et les niveaux de cohésion à l'intérieur d'un module, de coïncidente à fonctionnelle.
- 26 cartes
- 7 thèmes
- Gratuit
Le programme, thème par thème
Le poids de chaque thème suit celui que lui donne l'examen.
- Notions
- Questions
- Ranger et relier
- Sur la frise
- Les chiffres
- Mises en situation
- Comprendre
Quelques cartes du deck
Couplage : de quoi s'agit-il ?
Voir la réponse
Degré de dépendance entre deux modules : plus l'un connaît le fonctionnement interne de l'autre, plus une modification de l'un force à retoucher l'autre.
On vise un faible niveau : des modules qui ne se connaissent que par une interface étroite et stable se modifient et se testent séparément.
De quel type de couplage relève cet appel entre deux modules ?
```java
void afficher(String message, boolean enMajuscules) {
if (enMajuscules) { System.out.println(message.toUpperCase()); }
else { System.out.println(message); }
}
afficher("bonjour", true);`- Couplage de contrôle : le drapeau choisit la branche exécutée
- Couplage de données : seules des valeurs simples sont passées
- Couplage de contenu : l'appelant modifie les données de l'autre module
- Couplage global : les deux modules partagent une variable
Voir la réponse
Couplage de contrôle : le drapeau choisit la branche exécutée
Le booléen ne transporte pas une donnée à traiter : il commande le comportement de
afficher, donc l'appelant doit connaître son fonctionnement interne. Deux méthodes distinctes ou un paramètre de stratégie réduisent ce couplage.On cherche un couplage … entre les modules et une cohésion … à l'intérieur de chacun.
Voir la réponse
On cherche un couplage faible entre les modules et une cohésion forte à l'intérieur de chacun.
Les deux vont ensemble : des modules qui regroupent ce qui change ensemble ont moins besoin de se connaître.
Cohésion : de quoi s'agit-il ?
Voir la réponse
Degré auquel les éléments d'un module (méthodes, champs) servent une même responsabilité et vont ensemble.
On vise un niveau élevé : un module dont les éléments n'ont rien à voir entre eux est difficile à nommer, à comprendre et à réutiliser.