helloworld:architecture:notion
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
helloworld:architecture:notion [2019/01/10 10:18] – Ajout de "Couplage" root | helloworld:architecture:notion [2020/05/10 23:46] (Version actuelle) – Suppression de la taille par défaut pour les images root | ||
---|---|---|---|
Ligne 86: | Ligne 86: | ||
====Artefact==== | ====Artefact==== | ||
La manifestation concrète d’un composant est appelée artefact. C’est une instance concrète du composant déployée dans l’environnement d’exécution. Voir [[helloworld: | La manifestation concrète d’un composant est appelée artefact. C’est une instance concrète du composant déployée dans l’environnement d’exécution. Voir [[helloworld: | ||
+ | |||
+ | ====Kruchten : 4+1 vues==== | ||
+ | ^Vue^Description^Diagrammes^ | ||
+ | |Logique|Composants présents et leurs interactions| Paquetages, classes, objets et structures (UML), blocs (SysML)| | ||
+ | |Réalisation|Organisation des composants concrets sur une plateforme.|Composants, | ||
+ | |Processus|Allocations et interactions entre processus, threads ou tâches.|Activités, | ||
+ | |Déploiement|Environnement d' | ||
+ | |Cas d' | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | {{ : | ||
=====Qualité===== | =====Qualité===== | ||
Ligne 99: | Ligne 111: | ||
Le couplage reprendre le niveau d' | Le couplage reprendre le niveau d' | ||
- | Selon Pressman, 7 niveaux de couplages, classé par niveau de dépendances : | + | Selon Pressman, 7 niveaux de couplage, classé par niveau de dépendances, le meilleur est le premier |
^Couplage^Description^ | ^Couplage^Description^ | ||
|Sans couplage|Les composants n' | |Sans couplage|Les composants n' | ||
Ligne 108: | Ligne 120: | ||
|Commun (global)|Les composants échangent de l' | |Commun (global)|Les composants échangent de l' | ||
|Par contenu (interne)|Les composants échangent de l' | |Par contenu (interne)|Les composants échangent de l' | ||
+ | |||
+ | ====Cohésion==== | ||
+ | La cohésion est une mesure d' | ||
+ | |||
+ | Selon Pressman, 7 niveaux de cohésion, classé par niveau, le meilleur est le dernier : | ||
+ | ^Cohésion^Description^ | ||
+ | |Arbitraire|Absence de lien logique entre les éléments.| | ||
+ | |Logique|Les fonctions sont de même catégorie ou reliées par un ou plusieurs critères communs.| | ||
+ | |Temporelle|Les fonctions s’exécutent dans une même période de temps.| | ||
+ | |Procédurale|Les fonctions sont appelées selon une séquence bien déterminée (et non arbitrairement au gré de l’appelant).| | ||
+ | |Communicationnelle|Les fonctions ont les mêmes types d’entrées sorties.| | ||
+ | |Séquentielle|Les opérations forment des séquences d’exécution bien identifiées (la sortie de l’une est l’entrée de l’autre).| | ||
+ | |Fonctionnelle|Les fonctions contribuent à une même fonction de plus haut niveau, ou bien relèvent d’une abstraction commune.| | ||
+ | |||
+ | =====Styles===== | ||
+ | Les styles architecturaux et les pattern design sont proches. Les pattern s' | ||
+ | |||
+ | Principaux styles de base: | ||
+ | ===Architectures hiérarchique et orientée objets=== | ||
+ | |||
+ | Arborescence en arbre avec à la racine le main. Chaque descendant sont un sous-module. | ||
+ | |||
+ | {{: | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | ===Architecture à flot de données (pipe-line)=== | ||
+ | |||
+ | Exemples : [[helloworld: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | ===Architecture avec référentiel de données (repository centric), Architecture Tableau noir (blackboard)=== | ||
+ | |||
+ | Il y a les composants accesseurs de données d’une part, qui implémentent les traitements, | ||
+ | |||
+ | Dans la version de base, les référentiels sont passifs (vocation de stockage). Dans la version tableau noir, les référentiels informent les accesseurs des modifications ([[helloworld: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | ===Architecture à Invocation implicite=== | ||
+ | |||
+ | Voir [[helloworld: | ||
+ | |||
+ | ===Architecture multi-couches=== | ||
+ | |||
+ | Chaque couche a accès uniquement à sa (ou des) couches inférieures. | ||
+ | |||
+ | ===Architecture distribuée, | ||
+ | |||
+ | Ici, chaque couche n'a accès qu'au niveau N+1 et N-1. |
helloworld/architecture/notion.1547111895.txt.gz · Dernière modification : de root