LOG4430 : Architecture logicielle et conception avancée

Slides:



Advertisements
Présentations similaires
Applications N-Tiers Rappels: architecture et méthodologie
Advertisements

Module Systèmes d’exploitation
Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Architecture du logiciel I.
1 Modéliser Ou comment RE-présenter sa connaissance.
Eléments de Génie Logiciel
SOA et Services Web Dr. Rim Samia Kaabi 26 mars 2017.
Langage de modélisation objet unifié
6 — Aperçu du processus unifié
Génie Logiciel 2 Julie Dugdale
Architecture Technique de la plate-forme CASTORE
LOG4430 : Architecture logicielle et conception avancée
Projet n°4 : Objecteering
Urbanisation des Systèmes d'Information - Henry Boccon-Gibod1 Urbanisation de système d'information PLM 4 (Product Lifecycle Management) Préoccupation.
XML - Henry Boccon-Gibod 1 XML, Langage de description La question du choix de formalismes Les entités et leur représentations modalités de modèles et.
Modélisation des flux La méthode Merise Yves Giovannangeli
Module d’Enseignement à Distance pour l’Architecture Logicielle
UML - Présentation.
Reference Model of Open Distributed Processing
1 Les technologies XML Cours 1 : Les Web Services et Architectures Orientées Services Fé vrier Version 1.0 -
- TUTORIAL MCIE - Méthode de Conception d’Interfaces Ergonomiques
1 B Système Enjeux et principes Cours DESS Nantes 04 Décembre 2002 Didier ESSAME.
Introduction à la POO: Les classes vs les objets
Langage SysML.
Présentation SysML (Systems Modeling Language ) est basé sur UML et remplace la modélisation de classes et d'objets par la modélisation de blocs pour un.
Etude des Technologies du Web services
Principes de la technologie orientée objets
le profil UML en temps réel MARTE
Architecture Réseau Modèle OSI et TCP.
Réalisée par :Samira RAHALI
Modélisation E/R des Données
Chaque use-case génère un ou des scénarios, traduits par des diagrammes objets, qui permettent d’introduire et/ou de compléter les diagrammes des catégories.
1 Introduction : Management des systèmes dinformation version 1.1 du 13 Novembre 2001 Introduction : Management des systèmes dinformation ENSGI Cours MSI.
Vers la conception objet
Modélisation orientée objet UML
SYSTEMES D’INFORMATION
SCIENCES DE L ’INGENIEUR
Présentation du mémoire
Module d’Enseignement à Distance pour l’Architecture Logicielle
Portée, arrimages et intervenants Évolution des méthodes
Démarche de développement
Projet de Master première année 2007 / 2008
Processus d'un projet F.Pfister
Sensibilisation a la modelisation
Patrons de conceptions de créations
Langage de modélisation graphique de systèmes
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
Projet NavInc Florian Bastien Fabien Cornic Antoine Després
ANALYSE METHODE & OUTILS
1 Architecture orientée service SOA Architecture orientée service SOA (Service Oriented Architecture)
UML - Présentation.
Les principes de la modélisation de systèmes
Supports de formation au SQ Unifié
Présente Conception d’un petit site Web. 2 4-nov-03© Préambule Cette présentation fait suite à celle intitulée « Imaginer, concevoir, mettre.
Réalisé par : Mr IRZIM Hédi Mr JRAD Firas
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Mastère Professionnel Systèmes de Communication et Réseaux
© Petko ValtchevUniversité de Montréal Février IFT 2251 Génie Logiciel Conception Hiver 2002 Petko Valtchev.
Initiation à la conception des systèmes d'informations
François CARCENAC,Frédéric BONIOL ONERA-DTIM Zoubir MAMMERI IRIT
Diagramme de Déploiement
Le diagramme de composants
Chapitre 2 Rappels objet et Présentation des diagrammes UML
Chapitre 2 Rappels objet et Présentation des diagrammes UML
(UML) Unified Modeling Language
Nouvelles Technologies Internet & Mobile
1 JEE 2010 Architectures n-tiers F.Pfister
TP D’UML Groupe N° 3.
Diagramme de Composants
ARIANE : Interopérabilité sémantique et accès aux sources d'information sur Internet Sylvain Aymard, Michel Joubert, Dominique Fieschi, Marius Fieschi.
Transcription de la présentation:

LOG4430 : Architecture logicielle et conception avancée Architectures – Partie 2/2

5. Développer un modèle architectural Commencer par faire une esquisse de l’architecture En se basant sur les principaux requis des cas d’utilisation ; décomposition en sous-systèmes Déterminer les principaux composants requis Sélectionner un style architectural Raffiner l’architecture 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 d’utilisation et ajuster l’architecture pour qu’il soit réalisable Détailler l’architecture et la faire évoluer

Développer un modèle architectural Commencer par faire une esquisse de l’architecture En se basant sur les principaux requis des cas d’utilisation ; décomposition en sous-systèmes Déterminer les principaux composants requis Sélectionner un style architectural Raffiner l’architecture 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 d’utilisation et ajuster l’architecture pour qu’il soit réalisable Détailler l’architecture et la faire évoluer

Développer un modèle architectural Décrire l’architecture 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

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 d’un autre s’il l’utilise… SimpleChat Client Common OCSF Client Server <<import>>

Développer un modèle architectural Diagramme de composants Offre une vue de haut niveau de l’architecture du système Utilisé pour décrire le système d’un point de vue implémentation Permet de décrire les composants d’un 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 qu’on appelle composants

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

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 l’intégrité fonctionnelle d’un 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 d’interagir avec les autres composants L’utilisation d’une interface pour communiquer avec les autres composants du système facilite la maintenance puisqu’on peut alors en changer l’implémentation sans affecter les autres composants (induit un couplage plus faible du composant avec le reste du système) Les classes d’un composant devrait être vues comme un patron cohésif qui implémente la fonctionnalité du composant

Développer un modèle architectural Composants et interfaces - Notation EntréeCmdes Commande Personne PaiementComptes interface requise composant interfaces offertes Commande <<provided interfaces>> EntréeCmdes PaiementComptes <<required interface>> Person

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 RechercheClient Repositoire Clients Système de commande RechercheClient (3) dépendance (1) composant AccèsProduit AccèsProduit Système d’inventaire (2) interface

Développer un modèle architectural Composants et relations – notation réservations Gestionnaire d’horaires Planificateur réservations accèsBD mise à jour GUI accèsBD mise à jour Réunions_BD

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

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

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 n’apparaissent pas toutes sur les diagrammes

Développer un modèle architectural Construction d’un diagramme de composants Diviser pour régner Cohésion forte Faible couplage Abstraction Réutilisabilité Réutilisation Etc.

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

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

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

Parmi les objectifs d’apprentissage 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 d’une architecture pour la réalisation d’un logiciel, en tenant compte de ses exigences fonctionnelles et non fonctionnelles Définir ce qu’est un composant Expliquer le contenu décrit par un diagramme de paquetages, de composants et de déploiement (UML) Décrire le modèle d’une architecture avec la notation UML