La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Foutse Khomh © Guéhéneuc, 2009; Khomh, 2010 Département de génie informatique et de génie logiciel École Polytechnique de Montréal LOG4430 : Architecture.

Présentations similaires


Présentation au sujet: "Foutse Khomh © Guéhéneuc, 2009; Khomh, 2010 Département de génie informatique et de génie logiciel École Polytechnique de Montréal LOG4430 : Architecture."— Transcription de la présentation:

1 Foutse Khomh © Guéhéneuc, 2009; Khomh, 2010 Département de génie informatique et de génie logiciel École Polytechnique de Montréal LOG4430 : Architecture logicielle et conception avancée Architectures – Partie 2/2

2 2/19 5. Développer un modèle architectural Commencer par faire une esquisse de larchitecture –En se basant sur les principaux requis des cas dutilisation ; décomposition en sous-systèmes –Déterminer les principaux composants requis –Sélectionner un style architectural Raffiner larchitecture –Identifier les principales interactions entre les composants et les interfaces requises –Décider comment chaque donnée et chaque fonctionnalité sera distribuée parmi les différents composants –Déterminer si on peut réutiliser un cadriciel existant (réutilisation) ou si on peut en construire un (réutilisabilité) Considérer chacun des cas dutilisation et ajuster larchitecture pour quil soit réalisable Détailler larchitecture et la faire évoluer

3 3/19 Développer un modèle architectural Commencer par faire une esquisse de larchitecture –En se basant sur les principaux requis des cas dutilisation ; décomposition en sous-systèmes –Déterminer les principaux composants requis –Sélectionner un style architectural Raffiner larchitecture –Identifier les principales interactions entre les composants et les interfaces requises –Décider comment chaque donnée et chaque fonctionnalité sera distribuée parmi les différents composants –Déterminer si on peut réutiliser un cadriciel existant (réutilisation) ou si on peut en construire un (réutilisabilité). Considérer chacun des cas dutilisation et ajuster larchitecture pour quil soit réalisable Détailler larchitecture et la faire évoluer

4 4/19 Développer un modèle architectural Décrire larchitecture avec UML –Tous les diagrammes UML peuvent être utiles pour décrire les différents aspects du modèle architectural –Trois des diagrammes UML sont particulièrement utile pour décrire une architecture logicielle Diagramme de packages Diagramme de composants Diagramme de déploiement

5 5/19 Développer un modèle architectural Diagramme de packages –Paquetage = Collection déléments de modélisation UML (e.g., classes, use cases, etc.) groupés ensemble car liés logiquement –Il faut essayer de maximiser la cohésion au sein des paquetages (éléments liés) et minimiser le couplage entre eux Dépendance : un paquetage est dépendant dun autre sil lutilise… SimpleChat Client Common OCSF Client Server >

6 6/19 Développer un modèle architectural Diagramme de composants –Offre une vue de haut niveau de larchitecture du système –Utilisé pour décrire le système dun point de vue implémentation –Permet de décrire les composants dun système et les interactions entre ceux-ci –Illustre comment grouper concrètement et physiquement les éléments (objets, interfaces, etc.) du système au sein de modules quon appelle composants

7 7/19 Développer un modèle architectural Quest-ce quun composant? –Unité autonome faisant partie dun système ou dun sous-système qui encapsule un comportement (i.e., implémentation) et qui offre une ou plusieurs interfaces publiques –Partie constituante dun système qui peut être remplacée ou/et réutilisée –Élément dimplémentation (un sous- système, un fichier exécutable, une classe dimplémentation (i.e., non abstraite, etc.) muni dinterface(s) –Chaque composant est le représentant dune ou plusieurs classes qui implémentent un service à lintérieur du système –Granularité ? Un composant peut représenter quelque chose daussi fin quun objet, comme il peut représenter un sous-système complexe –Différence entre composant et instance de composant –Composant : vue de haut niveau dun élément logiciel qui compose le système (~classe) –Instance de composant: le composant effectivement utilisé (~objet) –Exemples de composants: Binaire exécutable ( >), bibliotheque dynamique/statique ( >), un fichier à interpréter ( >)… Composant

8 8/19 Développer un modèle architectural Les composants et le principe de séparation des préoccupations –La séparation des préoccupation est le principe qui assure lintégrité fonctionnelle dun composant Chaque composant réalise une, et seulement une fonction au sein du système, mais peut néanmoins exposer plusieurs méthodes. Typiquement, chaque composant est défini par une interface qui constitue son seul moyen dinteragir avec les autres composants Lutilisation dune interface pour communiquer avec les autres composants du système facilite la maintenance puisquon peut alors en changer limplémentation sans affecter les autres composants (induit un couplage plus faible du composant avec le reste du système) Les classes dun composant devrait être vues comme un patron cohésif qui implémente la fonctionnalité du composant

9 9/19 Développer un modèle architectural Composants et interfaces - Notation Commande EntréeCmdes PaiementComptes Personne composantinterface requiseinterfaces offertes Commande > EntréeCmdes PaiementComptes > Person

10 10/19 Développer un modèle architectural Composants et relations – notation –Une flèche de dépendance permet de mettre en relation des composant via les interfaces requises et fournies Système de commande AccèsProduit RechercheClient Système dinventaire Repositoire Clients RechercheClient AccèsProduit (3) dépendance (1) composant (2) interface

11 11/19 Développer un modèle architectural Composants et relations – notation Planificateur réservations GUI Gestionnaire dhoraires réservations mise à jour Réunions_BD accèsBD

12 12/19 Développer un modèle architectural Composants – Vue de la structure interne –Pour montrer la structure interne dun composant :Commande Personne :Produit :Client ItemCommandable Magasin EntréeCmdes > Compte EntréeCmdes > port Assembly connector Entête LigneCmde *

13 13/19 Développer un modèle architectural Diagramme de composants MVC

14 14/19 Développer un modèle architectural La Bouquinerie (c.f. démo 9) –Architecture 3-niveaux (client plus lourd que dans la version 4-niveaux) –Architecture 4-niveaux (version web, basée sur la technologie JSP) –Remarque : les interfaces napparaissent pas toutes sur les diagrammes

15 15/19 Développer un modèle architectural Construction dun diagramme de composants –Diviser pour régner –Cohésion forte –Faible couplage –Abstraction –Réutilisabilité –Réutilisation –Etc.

16 16/19 Développer un modèle architectural Diagramme de déploiement GPS satellite M1:MachineX M2:MachineX C1:Client C2:Client S:Serveur Communication sans fil TCP/IP noeuds lien

17 17/19 Machine de Joe:PC Développer un modèle architectural Diagramme de déploiement – exemple 1 :Planificateur GUI mise à jour Admin:MachineHote :Gestionnaire Horaires :Réunions_BD réservations Accès_bd internet

18 18/19 Développer un modèle architectural Diagramme de déploiement – exemple 2

19 19/19 Parmi les objectifs dapprentissage Expliquer les objectifs visés par la conception architecturale –Décrire le fonctionnement et les caractéristiques de chacun des styles architecturaux –Justifier le choix dune architecture pour la réalisation dun logiciel, en tenant compte de ses exigences fonctionnelles et non fonctionnelles –Définir ce quest un composant –Expliquer le contenu décrit par un diagramme de paquetages, de composants et de déploiement (UML) –Décrire le modèle dune architecture avec la notation UML


Télécharger ppt "Foutse Khomh © Guéhéneuc, 2009; Khomh, 2010 Département de génie informatique et de génie logiciel École Polytechnique de Montréal LOG4430 : Architecture."

Présentations similaires


Annonces Google