Outils pour utilisateurs

Outils du site


helloworld:architecture:notion

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
helloworld:architecture:notion [2019/01/10 22:01] – Ajout de "Cohésion" roothelloworld: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:architecture:uml#|UML]] 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:architecture:uml#|UML]]
 +
 +====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, paquetages, structures composites.|
 +|Processus|Allocations et interactions entre processus, threads ou tâches.|Activités, séquence, communication, états-transitions.|
 +|Déploiement|Environnement d'exécution y compris contraintes géographiques, de bandes passants et de performances du système.|Composants, déploiement.|
 +|Cas d'utilisation|Scénarios correspondant à une fonctionnalité du système s'activant depuis une interaction extérieure.|Cas d'utilisation, activités, séquence, communication, états-transitions.|
 +
 +{{ :helloworld:architecture:kruchten:interaction_vues.png |}}
 +
 +{{ :helloworld:architecture:kruchten:interaction_architecture.png |}}
  
 =====Qualité===== =====Qualité=====
Ligne 121: Ligne 133:
 |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).| |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.| |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'appliquent à un composant précis alors que les styles s'appliquent à un sous système entier.
 +
 +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.
 +
 +{{:helloworld:architecture:style:fig1_3.png|}}
 +
 +[[https://laurent-audibert.developpez.com/Cours-UML/?page=introduction-modelisation-objet|UML 2 - De l'apprentissage à la pratique]] {{ :helloworld:architecture:uml:uml2-apprentissage-pratique.pdf |Archive du 12/01/2009 le 28/04/2020}}
 +
 +===Architecture à flot de données (pipe-line)===
 +
 +Exemples : [[helloworld:design_pattern:chain_of_responsibility|Chaîne de responsabilité]]
 +
 +{{:helloworld:architecture:style:pipeline.png|}}
 +
 +[[http://parc.sourceforge.net/intro.html|Pipeline Architecture - Introduction]] {{ :helloworld:architecture:notion:pipeline_architecture_-_introduction_2020-04-28_11_07_03_pm_.html |Archive du 06/01/2004 le 28/04/2020}}
 +
 +===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, et les composants « référentiels de données » d’autre  part, qui maintiennent des données écrites et lues par les premiers.
 +
 +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:design_pattern:observer:java|observer]])
 +
 +{{:helloworld:architecture:style:cycleenv2.png|}}
 +
 +[[http://www.case-france.com/EnvisionArchitectureSysteme.html|Architecture système]] {{ :helloworld:architecture:notion:envision_system_architecture_2020-04-28_11_07_03_pm_.html |Archive du 2016 le 28/04/2020}}
 +
 +===Architecture à Invocation implicite===
 +
 +Voir [[helloworld:design_pattern:publish_subscribe|pub/sub]], [[helloworld:design_pattern:reactor|reactor]]
 +
 +===Architecture multi-couches===
 +
 +Chaque couche a accès uniquement à sa (ou des) couches inférieures.
 +
 +===Architecture distribuée, spécialisée en architectures N - tiers===
 +
 +Ici, chaque couche n'a accès qu'au niveau N+1 et N-1.
helloworld/architecture/notion.1547154071.txt.gz · Dernière modification : de root