Soumettre la recherche
Mettre en ligne
A SIMPLIFIED APPROACH FOR QUALITY.pdf
•
0 j'aime
•
8 vues
B
BabacarDIOP48
Suivre
A SIMPLIFIED APPROACH FOR QUALITY MANAGEMENT IN DATA WAREHOUSE
Lire moins
Lire la suite
Formation
Signaler
Partager
Signaler
Partager
1 sur 99
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
Génie Logiciels : Introduction aux architectures
Génie Logiciels : Introduction aux architectures
Mohammed Amine Mostefai
Introduction à Sysml
Introduction à Sysml
Yassine SIDKI
2-Composants.docx
2-Composants.docx
bochramiinfo
Architecture .net
Architecture .net
Institut supérieur des études technologiques de Radès
cours2diagStatiq.pdf
cours2diagStatiq.pdf
torrenttorrent
Génie Logiciel : Conception
Génie Logiciel : Conception
Mohammed Amine Mostefai
Cours chapitre2 2012
Cours chapitre2 2012
Yves Caseau
Language de description d’architecture ACME
Language de description d’architecture ACME
Amira Hakim
Recommandé
Génie Logiciels : Introduction aux architectures
Génie Logiciels : Introduction aux architectures
Mohammed Amine Mostefai
Introduction à Sysml
Introduction à Sysml
Yassine SIDKI
2-Composants.docx
2-Composants.docx
bochramiinfo
Architecture .net
Architecture .net
Institut supérieur des études technologiques de Radès
cours2diagStatiq.pdf
cours2diagStatiq.pdf
torrenttorrent
Génie Logiciel : Conception
Génie Logiciel : Conception
Mohammed Amine Mostefai
Cours chapitre2 2012
Cours chapitre2 2012
Yves Caseau
Language de description d’architecture ACME
Language de description d’architecture ACME
Amira Hakim
Présentation cours UML.pptx
Présentation cours UML.pptx
PrinceLankoand
Partie3 cif et dcif
Partie3 cif et dcif
Lilia Sfaxi
Splpv2 annexes-c
Splpv2 annexes-c
xerty
informatique_logiquarchitecture_applicative
informatique_logiquarchitecture_applicative
Narjes Weslati
uml ikram elcaid.pdf
uml ikram elcaid.pdf
ikram679173
Composants Adaptables au dessus d'OSGi
Composants Adaptables au dessus d'OSGi
Madjid KETFI
Entity_framework_db first
Entity_framework_db first
Zineb ELGARRAI
Lecon 1.1
Lecon 1.1
rebaoui ammar
Cours spring
Cours spring
mohamed el haddad
cours_SOA_AO+FB_en_informatique_SOA_.pdf
cours_SOA_AO+FB_en_informatique_SOA_.pdf
waliakeabraham
Cours chapitre3 2012
Cours chapitre3 2012
Yves Caseau
Cy35558564
Cy35558564
IJERA Editor
ppt sur Le langage de modélisation UML.pdf
ppt sur Le langage de modélisation UML.pdf
imenhamada17
Présentation UML.ppt
Présentation UML.ppt
NajiHita1
TP N1 Initiation à lutilisation.docx
TP N1 Initiation à lutilisation.docx
SouadZid
Diagramme de-composants152
Diagramme de-composants152
Sirafina Rosa
Environnements & Développements
Environnements & Développements
Paulin CHOUDJA
Livre LabVIEW : Programmation et applications
Livre LabVIEW : Programmation et applications
Luc Desruelle
Livre LabVIEW 2015 : Programme et Applications
Livre LabVIEW 2015 : Programme et Applications
Luc Desruelle
Mysql
Mysql
ismail1989
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
ssusercbaa22
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadership
M2i Formation
Contenu connexe
Similaire à A SIMPLIFIED APPROACH FOR QUALITY.pdf
Présentation cours UML.pptx
Présentation cours UML.pptx
PrinceLankoand
Partie3 cif et dcif
Partie3 cif et dcif
Lilia Sfaxi
Splpv2 annexes-c
Splpv2 annexes-c
xerty
informatique_logiquarchitecture_applicative
informatique_logiquarchitecture_applicative
Narjes Weslati
uml ikram elcaid.pdf
uml ikram elcaid.pdf
ikram679173
Composants Adaptables au dessus d'OSGi
Composants Adaptables au dessus d'OSGi
Madjid KETFI
Entity_framework_db first
Entity_framework_db first
Zineb ELGARRAI
Lecon 1.1
Lecon 1.1
rebaoui ammar
Cours spring
Cours spring
mohamed el haddad
cours_SOA_AO+FB_en_informatique_SOA_.pdf
cours_SOA_AO+FB_en_informatique_SOA_.pdf
waliakeabraham
Cours chapitre3 2012
Cours chapitre3 2012
Yves Caseau
Cy35558564
Cy35558564
IJERA Editor
ppt sur Le langage de modélisation UML.pdf
ppt sur Le langage de modélisation UML.pdf
imenhamada17
Présentation UML.ppt
Présentation UML.ppt
NajiHita1
TP N1 Initiation à lutilisation.docx
TP N1 Initiation à lutilisation.docx
SouadZid
Diagramme de-composants152
Diagramme de-composants152
Sirafina Rosa
Environnements & Développements
Environnements & Développements
Paulin CHOUDJA
Livre LabVIEW : Programmation et applications
Livre LabVIEW : Programmation et applications
Luc Desruelle
Livre LabVIEW 2015 : Programme et Applications
Livre LabVIEW 2015 : Programme et Applications
Luc Desruelle
Mysql
Mysql
ismail1989
Similaire à A SIMPLIFIED APPROACH FOR QUALITY.pdf
(20)
Présentation cours UML.pptx
Présentation cours UML.pptx
Partie3 cif et dcif
Partie3 cif et dcif
Splpv2 annexes-c
Splpv2 annexes-c
informatique_logiquarchitecture_applicative
informatique_logiquarchitecture_applicative
uml ikram elcaid.pdf
uml ikram elcaid.pdf
Composants Adaptables au dessus d'OSGi
Composants Adaptables au dessus d'OSGi
Entity_framework_db first
Entity_framework_db first
Lecon 1.1
Lecon 1.1
Cours spring
Cours spring
cours_SOA_AO+FB_en_informatique_SOA_.pdf
cours_SOA_AO+FB_en_informatique_SOA_.pdf
Cours chapitre3 2012
Cours chapitre3 2012
Cy35558564
Cy35558564
ppt sur Le langage de modélisation UML.pdf
ppt sur Le langage de modélisation UML.pdf
Présentation UML.ppt
Présentation UML.ppt
TP N1 Initiation à lutilisation.docx
TP N1 Initiation à lutilisation.docx
Diagramme de-composants152
Diagramme de-composants152
Environnements & Développements
Environnements & Développements
Livre LabVIEW : Programmation et applications
Livre LabVIEW : Programmation et applications
Livre LabVIEW 2015 : Programme et Applications
Livre LabVIEW 2015 : Programme et Applications
Mysql
Mysql
Dernier
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
ssusercbaa22
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadership
M2i Formation
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.
Franck Apolis
Guide Final de rédaction de mémoire de fin d'étude
Guide Final de rédaction de mémoire de fin d'étude
BenamraneMarwa
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
SAID MASHATE
Présentation de cartes d'extension zhr..pptx
Présentation de cartes d'extension zhr..pptx
popzair
Pâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie Pelletier
Unidad de Espiritualidad Eudista
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film de A nnne Fontaine
Txaruka
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expert
ChristianMbip
MaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.ppt
ssusercbaa22
Evaluación Alumnos de Ecole Victor Hugo
Evaluación Alumnos de Ecole Victor Hugo
IES Turina/Rodrigo/Itaca/Palomeras
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
Faga1939
presentation l'interactionnisme symbolique finale.pptx
presentation l'interactionnisme symbolique finale.pptx
MalikaIdseaid1
Cours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptx
lamourfrantz
Fondation Louis Vuitton. pptx
Fondation Louis Vuitton. pptx
Txaruka
Dernier
(15)
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadership
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.
Guide Final de rédaction de mémoire de fin d'étude
Guide Final de rédaction de mémoire de fin d'étude
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
Présentation de cartes d'extension zhr..pptx
Présentation de cartes d'extension zhr..pptx
Pâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie Pelletier
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film de A nnne Fontaine
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expert
MaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.ppt
Evaluación Alumnos de Ecole Victor Hugo
Evaluación Alumnos de Ecole Victor Hugo
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
presentation l'interactionnisme symbolique finale.pptx
presentation l'interactionnisme symbolique finale.pptx
Cours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptx
Fondation Louis Vuitton. pptx
Fondation Louis Vuitton. pptx
A SIMPLIFIED APPROACH FOR QUALITY.pdf
1.
Cours 6 : Architectures de
logiciels COURS IGL COURS 6 INTRODUCTION AUX ARCHITECTURES DE LOGICIELS 1 Mostefai Mohammed Amine – m_mostefai@esi.dz Batata Sofiane – s_batata@esi.dz
2.
Cours IGL, Copyright © 2011, ESI Présenter la
notion d’architecture logicielle Donner un aperçu des principaux styles architecturaux Découvrir le lien entre l’architecture et le déploiement physique à travers le diagramme de déploiement OBJECTIFS DU COURS 2 Cours 6 – Introduction Aux Architectures de Logiciels Objectifs du cours
3.
Cours IGL, Copyright
© 2011, ESI Cours 6 Introduction aux architectures logicielles 3 INTRODUCTION AU GÉNIE LOGICIEL Section 1 : Introduction Section 2 : Diagramme de composants Section 2 : Styles architecturaux Section 5 : Diagramme de déploiement
4.
Cours IGL, Copyright
© 2011, ESI Cours N° 6 Introduction aux architectures logicielles 4 COURS IGL Section 1 : Introduction
5.
Cours IGL, Copyright © 2011, ESI L’architecture d’un
programme ou d’un système informatique est la structure (ou les structures) du système qui comprend les éléments logiciels, leurs propriétés visibles et leur relations SECTION 1 - INTRODUCTION 5 Cours 6 – Introduction Aux Architectures de Logiciels Définition
6.
Cours IGL, Copyright © 2011, ESI L’architecture d’un
système est sa conception de haut niveau N’importe quel système complexe est composé de sous- systèmes qui interagissent entre eux La conception de haut niveau est le processus qui consiste à identifier ces sous-systèmes ainsi que les relations qu’ils entretiennent entre eux L’architecture d’un système est le résultat de ce processus SECTION 1 - INTRODUCTION 6 Cours 6 – Introduction Aux Architectures de Logiciels Introduction
7.
Cours IGL, Copyright © 2011, ESI L’architecture implique
plusieurs choix dont les technologies, les produits et les serveurs à utiliser Il n’y a pas une architecture unique permettant de réaliser le système, il y en a plusieurs. Le concepteur ou l’architecte tâchera de choisir la meilleure architecture possible selon plusieurs critères dont la nature du projet, les compétences de l’équipe, les budgets et outils disponibles, …etc. SECTION 1 - INTRODUCTION 7 Cours 6 – Introduction Aux Architectures de Logiciels Introduction
8.
Cours IGL, Copyright © 2011, ESI Il existe
plusieurs représentations graphiques des architectures Une des représentations les plus utilisées est la représentation C&C : Composants et Connecteurs Un composant est un module logiciel (application, bibliothèque, module, …etc.) ou un entrepôt de données (base de données, système de fichiers, …etc.) Le connecteur représente les interactions entre les composants La représentation C&C est un graphe contenant des composants et des connecteurs SECTION 1 - INTRODUCTION 8 Cours 6 – Introduction Aux Architectures de Logiciels Représentation des architectures
9.
Cours IGL, Copyright © 2011, ESI Un composant
est un module logiciel ou un entrepôt de données Un composant est identifié par son nom qui indique son rôle dans le système Les composants communique entre eux en utilisant des ports (ou interfaces) Les architectures utilisent des composants standards : serveurs, bases de données, application, clients, …etc. SECTION 1 - INTRODUCTION 9 Cours 6 – Introduction Aux Architectures de Logiciels Composants
10.
Cours IGL, Copyright © 2011, ESI Un serveur
est un module logiciel qui répond aux requêtes d’autres modules appelés clients Généralement, les services et les clients sont hébergés dans des machines différentes et communiquent via le réseau (intranet / internet) Par exemple, le service http répond aux requêtes des clients qui sont les navigateurs web SECTION 1 - INTRODUCTION 10 Cours 6 – Introduction Aux Architectures de Logiciels Serveurs et clients
11.
Cours IGL, Copyright © 2011, ESI Une application
est un module logiciel qui a un rôle défini dans le système logiciel Par exemple, une application d’envoi de mails SECTION 1 - INTRODUCTION 11 Cours 6 – Introduction Aux Architectures de Logiciels Application
12.
Cours IGL, Copyright © 2011, ESI Une base
de données est un entrepôt stockant les données sous un format normalisé L’interrogation et la modification des données se fait en utilisant un langage spécial appelé SQL La plupart des bases de données obéissent au modèle relationnel Un SGBD (Système de Gestion de Base de Données) est une base de données puissante et accessible sur le réseau conçue généralement pour les gros systèmes SQL Server, Oracle, MySQL, PostgreSQL sont des exemples de SGBD connus sur le marché SECTION 1 - INTRODUCTION 12 Cours 6 – Introduction Aux Architectures de Logiciels Base de données
13.
Cours IGL, Copyright © 2011, ESI SECTION 1 - INTRODUCTION 13 Cours
6 – Introduction Aux Architectures de Logiciels Vue C&C Client Serveur Base de données Application
14.
Cours IGL, Copyright © 2011, ESI Le connecteur
modélise une interaction entre deux composants Un connecteur peut modéliser une interaction simple (appel de procédure) ou une interaction complexe (par exemple utilisation d’un protocole comme http) SECTION 1 - INTRODUCTION 14 Cours 6 – Introduction Aux Architectures de Logiciels Connecteurs
15.
Cours IGL, Copyright © 2011, ESI SECTION 1 - INTRODUCTION 15 Cours
6 – Introduction Aux Architectures de Logiciels Exemple – Site JSP Navigateur Serveur web SGBD MySQL JDBC
16.
Cours IGL, Copyright © 2011, ESI La vue
logique d’une architecture logicielle définit les principaux composants d’une architecture sans se soucier des détails physiques (équipements, machines, …etc.) La vue physique s’intéresse au déploiement physique des différents services La vue physique est peu précise lors de la conception. Elle devient concrète lors de la phase de déploiement. SECTION 1 - INTRODUCTION 16 Cours 6 – Introduction Aux Architectures de Logiciels Vue Physique et Vue Logique
17.
Cours IGL, Copyright © 2011, ESI Serveur 1 Exemple
1 : services déployés dans le même serveur SECTION 1 - INTRODUCTION 17 Cours 6 – Introduction Aux Architectures de Logiciels Vue Physique et Vue Logique Navigateur Serveur web SGBD MySQL JDBC
18.
Cours IGL, Copyright © 2011, ESI Serveur 2 Serveur 1
Exemple 2 : services déployés dans des serveurs différents SECTION 1 - INTRODUCTION 18 Cours 6 – Introduction Aux Architectures de Logiciels Vue Physique et Vue Logique Navigateur Serveur web SGBD MySQL JDBC
19.
Cours IGL, Copyright © 2011, ESI Donne un
aperçu de haut niveau du système qui va faciliter la communication et la compréhension Aide à comprendre des systèmes existants Décompose le système en sous-systèmes et sous-modules ce qui réduit la complexité et facilite la distribution des tâches Facilite l’évolution du système en remplaçant uniquement le sous-système désiré SECTION 1 - INTRODUCTION 19 Cours 6 – Introduction Aux Architectures de Logiciels Utilisation de l’architecture
20.
Cours IGL, Copyright © 2011, ESI Plusieurs formalismes
peuvent décrire une architecture logicielle UML 2 est un bon moyen de représenter une architecture logicielle Le diagramme de composants peut servir à représenter la vue logique d’une architecture Le diagramme de déploiement peut servir à représenter la vue physique d’une architecture SECTION 1 - INTRODUCTION 20 Cours 6 – Introduction Aux Architectures de Logiciels UML et les architectures logicielles
21.
Cours IGL, Copyright
© 2011, ESI Cours N° 6 Introduction aux architectures logicielles 21 COURS IGL Section 1 : Introduction, débat (05 mns)
22.
Cours IGL, Copyright
© 2011, ESI Cours N° 6 Introduction aux architectures logicielles 22 COURS IGL Section 2 : Diagramme de composants
23.
Cours IGL, Copyright © 2011, ESI Un composant
est une unité autonome dans un système Un composant définit un système ou un sous-système de n’importe quelle taille ou complexité Les diagrammes de composants permettent de modéliser les composants et leurs interactions Les composants d’un système sont facilement réutilisés ou remplacés SECTION 2 – DIAGRAMME DE COMPOSANTS 23 Cours 6 – Introduction Aux Architectures de Logiciels Composant
24.
Cours IGL, Copyright © 2011, ESI Un composant
est une unité modulaire avec des interfaces bien définies Les interfaces définissent comment le composant peut être appelé ou intégré Le composant est remplaçable et autonome L’implémentation du composant est cachée (encapsulée) aux entités externes SECTION 2 – DIAGRAMME DE COMPOSANTS 24 Cours 6 – Introduction Aux Architectures de Logiciels Caractéristiques d’un composant
25.
Cours IGL, Copyright © 2011, ESI SECTION 2 – DIAGRAMME
DE COMPOSANTS 25 Cours 6 – Introduction Aux Architectures de Logiciels Représentation UML Composant
26.
Cours IGL, Copyright © 2011, ESI Un composant
a un nom unique dans son contexte Un composant peut être étendu par un stéréotype Il existe des stéréotypes standard pour les composants comme « subsytem », « database » ou « executable » L’utilisateur peut ajouter ses propres stéréotypes à condition que ça soit consistant avec l’objectif du diagramme Dans le cadre d’architectures logicielle, ces stéréotypes peuvent être utilisés : « service », « client », … etc. SECTION 2 – DIAGRAMME DE COMPOSANTS 26 Cours 6 – Introduction Aux Architectures de Logiciels Caractéristiques d’un composant
27.
Cours IGL, Copyright © 2011, ESI SECTION 2 – DIAGRAMME
DE COMPOSANTS 27 Cours 6 – Introduction Aux Architectures de Logiciels Exemples de stéréotypes «service» Composant1 «client» Composant2 «database» Composant3 «subsystem» Composant4
28.
Cours IGL, Copyright © 2011, ESI Un composant
définit son comportement en terme d’interfaces fournies et interfaces requises Une interface est une collection d’opérations ayant un lien sémantique et qui n’ont pas d’implémentation L’implémentation des interface se fait par une ou plusieurs classes implémentant le composant Les noms d’interfaces commencent par « I » (convention) Un contrat entre C1 et C2 est défini quand C1 fournit une interface I qui est requise par C2 SECTION 2 – DIAGRAMME DE COMPOSANTS 28 Cours 6 – Introduction Aux Architectures de Logiciels Interfaces
29.
Cours IGL, Copyright © 2011, ESI SECTION 2 – DIAGRAMME
DE COMPOSANTS 29 Cours 6 – Introduction Aux Architectures de Logiciels Interfaces - Exemple «interface» IEmployeeManager + getEmployeeById(int) : Employee + addEmployee(Employee) : void
30.
Cours IGL, Copyright © 2011, ESI SECTION 2 – DIAGRAMME
DE COMPOSANTS 30 Cours 6 – Introduction Aux Architectures de Logiciels Interfaces - Exemple «interface» IEmployeeManager + getEmployeeById(int) : Employee + addEmployee(Employee) : void Nom de l’interface Opérations
31.
Cours IGL, Copyright © 2011, ESI Une interface
fournie définie les fonctions qu’un composant pourrait faire Exemple : un serveur web peut gérer les requêtes HTTP de type get ou post SECTION 2 – DIAGRAMME DE COMPOSANTS 31 Cours 6 – Introduction Aux Architectures de Logiciels Interfaces fournie ServeurWeb IGet IPost
32.
Cours IGL, Copyright © 2011, ESI Définit la
(ou les interfaces) qu’un composant attend de son environnement SECTION 2 – DIAGRAMME DE COMPOSANTS 32 Cours 6 – Introduction Aux Architectures de Logiciels Interfaces requise Navigateur IGet IPost
33.
Cours IGL, Copyright © 2011, ESI Un assemblage
entre deux composants est lorsqu’une même interface est requise pour un composant et fournie par l’autre SECTION 2 – DIAGRAMME DE COMPOSANTS 33 Cours 6 – Introduction Aux Architectures de Logiciels Assemblage «client» Navigateur «service» ServeurWeb get
34.
Cours IGL, Copyright © 2011, ESI Un composant
C1 dépend d’un autre composant C2 lorsque C1 requiert C2 pour son implémentation (C1 appelle un des services de C2) En d’autres mots, l’exécution de C1 requiert la présence de C2 SECTION 2 – DIAGRAMME DE COMPOSANTS 34 Cours 6 – Introduction Aux Architectures de Logiciels Utilisation Component1 Component2 «use»
35.
Cours IGL, Copyright © 2011, ESI Un composant
peut être lui-même composé d’autres composants. On parle alors de composition. Par exemple, le navigateur est composé de getManager (gestionnaire des requêtes get), postManager (gestionnaire des requêtes POST) et GUI (interface) SECTION 2 – DIAGRAMME DE COMPOSANTS 35 Cours 6 – Introduction Aux Architectures de Logiciels Composition
36.
Cours IGL, Copyright © 2011, ESI SECTION 2 – DIAGRAMME
DE COMPOSANTS 36 Cours 6 – Introduction Aux Architectures de Logiciels Composition «client» Navigateur getManager postManager «UI» GUI «use» «use»
37.
Cours IGL, Copyright © 2011, ESI Un composant
peut avoir des sous-composants qui incluent des interfaces fournies ou des interfaces requises La délégation consiste à transférer les interfaces fournies / requises du composant interne vers le composant externe SECTION 2 – DIAGRAMME DE COMPOSANTS 37 Cours 6 – Introduction Aux Architectures de Logiciels Délégation
38.
Cours IGL, Copyright © 2011, ESI SECTION 2 – DIAGRAMME
DE COMPOSANTS 38 Cours 6 – Introduction Aux Architectures de Logiciels Délégation «client» Navigateur IGet IPost getManager IGet postManager IPost «delegate» «delegate»
39.
Cours IGL, Copyright © 2011, ESI SECTION 2 – DIAGRAMME
DE COMPOSANTS 39 Cours 6 – Introduction Aux Architectures de Logiciels Délégation – Exemple 2 «client» Navigateur IGet IPost getManager IGet postManager IPost «service» Serveur IGet IPost serverGetManager IGet serverPostManager IPost «delegate» «delegate» «delegate» «delegate»
40.
Cours IGL, Copyright © 2011, ESI Les paquets
peuvent être aussi utilisés dans les diagrammes de composants pour organiser les composants SECTION 2 – DIAGRAMME DE COMPOSANTS 40 Cours 6 – Introduction Aux Architectures de Logiciels Paquets
41.
Cours IGL, Copyright © 2011, ESI SECTION 2 – DIAGRAMME
DE COMPOSANTS 41 Cours 6 – Introduction Aux Architectures de Logiciels Paquets «database» BDD DataAccess EmployeeAccess SalaryAccess Presentation EmployeeView SalaryView «use» «use» «use» «use»
42.
Cours IGL, Copyright © 2011, ESI Les classes
sont « packagées » dans des bibliothèques Par exemple une bibliothèque est un fichier jar (java) ou une assembly dll (.NET) Le diagramme de composants définit aussi le packaging des classes du système Le connecteur liant les classes aux composants est le connecteur « realize » SECTION 2 – DIAGRAMME DE COMPOSANTS 42 Cours 6 – Introduction Aux Architectures de Logiciels Composants et classes
43.
Cours IGL, Copyright © 2011, ESI Un artifact
est une pièce physique utilisée par le système Un artifact peut être un document, un fichier, un code source ou n’importe quel élément ayant une relation avec le système La dépendance avec le stéréotype « manifest » indique qu’un artifact est la représentation physique d’un composant. Par exemple, un fichier jar est une représentation physique d’une classe java SECTION 2 – DIAGRAMME DE COMPOSANTS 43 Cours 6 – Introduction Aux Architectures de Logiciels Artifacts
44.
Cours IGL, Copyright © 2011, ESI SECTION 2 – DIAGRAMME
DE COMPOSANTS 44 Cours 6 – Introduction Aux Architectures de Logiciels Artifacts
45.
Cours IGL, Copyright © 2011, ESI SECTION 2 – DIAGRAMME
DE COMPOSANTS 45 Cours 6 – Introduction Aux Architectures de Logiciels Composants et classes
46.
Cours IGL, Copyright
© 2011, ESI Cours N° 6 Introduction aux architectures logicielles 46 COURS IGL Section 2 : Diagramme de composants, débat (05 mns)
47.
Cours IGL, Copyright
© 2011, ESI Cours N° 6 Introduction aux architectures logicielles 47 COURS IGL Section 3 : Styles architecturaux
48.
Cours IGL, Copyright © 2011, ESI Un style
architectural est un modèle définissant comment sera le système Comme les systèmes ont des points communs, ces systèmes auront des architectures qui se ressemblent. Le regroupement de ces architectures est appelé « style architectural » Un style architectural définit quels sont les composants, les connecteurs et les contraintes définissant l’architecture d’un système SECTION 3 – STYLES ARCHITECTURAUX 48 Cours 6 – Introduction Aux Architectures de Logiciels Introduction
49.
Cours IGL, Copyright © 2011, ESI Un style
architectural aide à avoir un aperçu du système avant son développement Le styles sont indépendants des technologies. Plusieurs technologies peuvent réaliser un certain style. Par exemple des serveur sous Linux et des clients sous Windows. Facilite la réutilisation Un système peut s’appuyer sur plusieurs styles SECTION 3 – STYLES ARCHITECTURAUX 49 Cours 6 – Introduction Aux Architectures de Logiciels Bénéfices d’un style architectural
50.
Cours IGL, Copyright © 2011, ESI Il existe
plusieurs standards Les styles standards les plus connus sont « pipe / filtre », « client/serveur », « 3 tiers / N-tiers », « architecture multi-couches », « MVC », « cloud computing » SECTION 3 – STYLES ARCHITECTURAUX 50 Cours 6 – Introduction Aux Architectures de Logiciels Styles standards
51.
Cours IGL, Copyright © 2011, ESI Permet à
l’information d’être traitée par plusieurs composants d’une manière séquentielle La configuration détermine l’ordre des traitements Le filtre est un composant qui traite l’information La pipe est un canal par lequel transite l’information SECTION 3 – STYLES ARCHITECTURAUX 51 Cours 6 – Introduction Aux Architectures de Logiciels Pipe / Filtre - Définition
52.
Cours IGL, Copyright © 2011, ESI SECTION 3 –
STYLES ARCHITECTURAUX 52 Cours 6 – Introduction Aux Architectures de Logiciels Pipe / Filtre - Définition «application» filtre1 «application» filtre2 «application» filtre3 pipe pipe
53.
Cours IGL, Copyright © 2011, ESI SECTION 3 –
STYLES ARCHITECTURAUX 53 Cours 6 – Introduction Aux Architectures de Logiciels Pipe / Filtre - Fonctionnement SourceDeDonnées «application» filtre1 pipe1 «application» filtre2 lire() traiter() ecrire() lire() traiter()
54.
Cours IGL, Copyright © 2011, ESI Unix Shell
Windows Powershell Unix Shell : cat fichier.txt | grep logiciel | wc : compte le nombre de mots logiciel dans le fichier fichier.txt SECTION 3 – STYLES ARCHITECTURAUX 54 Cours 6 – Introduction Aux Architectures de Logiciels Pipe / Filtre - Exemples
55.
Cours IGL, Copyright © 2011, ESI Forte décomposition
du systèmes Filtres faciles à réutiliser Facilite la maintenance La dépendance entre les filtres est faible SECTION 3 – STYLES ARCHITECTURAUX 55 Cours 6 – Introduction Aux Architectures de Logiciels Pipe / Filtre - Avantages
56.
Cours IGL, Copyright © 2011, ESI Ne convient
pas aux applications à haute interactivité Les performances dépendent des pipes SECTION 3 – STYLES ARCHITECTURAUX 56 Cours 6 – Introduction Aux Architectures de Logiciels Pipe / Filtre - Inconvénients
57.
Cours IGL, Copyright © 2011, ESI MVC =
Model View Controller Le modèle représente les entités du système Le contrôleur implémente la logique métier et la logique des interactions La vue représente l’interface utilisateur SECTION 3 – STYLES ARCHITECTURAUX 57 Cours 6 – Introduction Aux Architectures de Logiciels MVC - Définition
58.
Cours IGL, Copyright © 2011, ESI SECTION 3 –
STYLES ARCHITECTURAUX 58 Cours 6 – Introduction Aux Architectures de Logiciels MVC - Exemple Modèle Model::Page Model::Blog Controleur Controller::CMSHandler Vue HTML
59.
Cours IGL, Copyright © 2011, ESI .NET :
ASP.NET MVC, MonoRail Java : JavaServer Faces (JSF), Struts Ruby On Rails Python : Zope SECTION 3 – STYLES ARCHITECTURAUX 59 Cours 6 – Introduction Aux Architectures de Logiciels MVC - Exemples
60.
Cours IGL, Copyright © 2011, ESI Modèle de
conception largement apprécié de la communauté de développeurs Séparation de la logique de l’interface Testabilité accrue (les tests unitaires supportent le modèle et le contrôleur) SECTION 3 – STYLES ARCHITECTURAUX 60 Cours 6 – Introduction Aux Architectures de Logiciels MVC - Avantages
61.
Cours IGL, Copyright © 2011, ESI Assez complexe
Plus d’efforts de développement car chaque tâche concerne les trois couches SECTION 3 – STYLES ARCHITECTURAUX 61 Cours 6 – Introduction Aux Architectures de Logiciels MVC - Inconvénients
62.
Cours IGL, Copyright © 2011, ESI Le système
est composé de deux composants principaux se trouvant généralement dans des machines séparées : le client et le serveur Le client envoie des requêtes au serveur Le serveur réagit au requêtes en renvoyant des réponses L’interface utilisateur se trouve au niveau du client SECTION 3 – STYLES ARCHITECTURAUX 62 Cours 6 – Introduction Aux Architectures de Logiciels Client-Serveur - Définition
63.
Cours IGL, Copyright © 2011, ESI SECTION 3 –
STYLES ARCHITECTURAUX 63 Cours 6 – Introduction Aux Architectures de Logiciels Client-Serveur – Fonctionnement «client» client «service» serveur requête réponse
64.
Cours IGL, Copyright © 2011, ESI Serveur web
(IIS / Apache), Client web (FireFox / Chrome / Internet Explorer) Serveur FTP (ftpd) / Client FTP (FileZilla) SECTION 3 – STYLES ARCHITECTURAUX 64 Cours 6 – Introduction Aux Architectures de Logiciels Client-Serveur - Exemples
65.
Cours IGL, Copyright © 2011, ESI SECTION 3 –
STYLES ARCHITECTURAUX 65 Cours 6 – Introduction Aux Architectures de Logiciels Client-Serveur - Exemples client FTP serveur FTP demanderFichier() trouverFichier() :File
66.
Cours IGL, Copyright © 2011, ESI AVANTAGES Séparation des
tâches Simple à utiliser INCONVÉNIENTS Souvent insuffisant pour des cas complexes SECTION 3 – STYLES ARCHITECTURAUX 66 Cours 6 – Introduction Aux Architectures de Logiciels Client-Serveur – Avantages et inconvénients
67.
Cours IGL, Copyright © 2011, ESI Fragmente le
système en plusieurs niveaux Le niveau présentation, le niveau logique ou le niveau données sont des exemples de niveaux Chaque niveau dépend uniquement du niveau qui est au dessus Exemple : applications web modernes SECTION 3 – STYLES ARCHITECTURAUX 67 Cours 6 – Introduction Aux Architectures de Logiciels Architecture N-Tiers - Définition
68.
Cours IGL, Copyright © 2011, ESI SECTION 3 –
STYLES ARCHITECTURAUX 68 Cours 6 – Introduction Aux Architectures de Logiciels Architecture N-Tiers - Exemple «client» client «service» serveur web «service» interpréteur «database» BDD
69.
Cours IGL, Copyright © 2011, ESI SECTION 3 –
STYLES ARCHITECTURAUX 69 Cours 6 – Introduction Aux Architectures de Logiciels Architecture N-Tiers - Exemple «client» client «service» serveur web «service» interpréteur «database» BDD get(url) invoquer() executerSQL() :resultats formaterResultats() :HTML :HTML
70.
Cours IGL, Copyright © 2011, ESI AVANTAGES Séparation poussée
des tâches Haute flexibilité INCONVÉNIENTS Nécessite des ressources matérielles importantes SECTION 3 – STYLES ARCHITECTURAUX 70 Cours 6 – Introduction Aux Architectures de Logiciels N-Tiers – Avantages et inconvénients
71.
Cours IGL, Copyright © 2011, ESI SOA ou
(Service-Oriented Architecture) est une évolution du modèle client-serveur SOA est basée sur des services faiblement couplés, indépendants des protocoles, basés sur les standards et distribués Chaque ressource disponible sur le réseau est utilisée comme un service SECTION 3 – STYLES ARCHITECTURAUX 71 Cours 6 – Introduction Aux Architectures de Logiciels SOA - Définition
72.
Cours IGL, Copyright © 2011, ESI Les service
sont autonomes Les services sont composables : créer un service à partir d’autres services Les services sont réutilisables Les services permettent leur découverte SECTION 3 – STYLES ARCHITECTURAUX 72 Cours 6 – Introduction Aux Architectures de Logiciels Caractéristiques des services
73.
Cours IGL, Copyright © 2011, ESI Une architecture
SOA est basé sur un consommateur de service, un fournisseur de service et un registre de services (Service Broker) Le consommateur utilise le service Le fournisseur assure le service Le registre fait le lien entre le fournisseur et le consommateur SECTION 3 – STYLES ARCHITECTURAUX 73 Cours 6 – Introduction Aux Architectures de Logiciels Composants de SOA
74.
Cours IGL, Copyright © 2011, ESI SECTION 3 –
STYLES ARCHITECTURAUX 74 Cours 6 – Introduction Aux Architectures de Logiciels Composants de SOA «client» consommateur «service» registre «client» fournisseur contrat «use» «use»
75.
Cours IGL, Copyright © 2011, ESI Deux tendances
permettent d’implémenter SOA : SOAP / WSDL / UDDI ou REST SOAP est un protocole basé sur XML permettant de véhiculer des données via HTTP en utilisant XML WSDL permet de décrire un service web UDDI permet de découvrir un service web SOAP / WSDL / SOAP sont utilisées conjointement REST est un protocole basée sur HTTP uniquement Dans REST, HTTP est le protocole de transmission et aussi le service web en même temps SECTION 3 – STYLES ARCHITECTURAUX 75 Cours 6 – Introduction Aux Architectures de Logiciels SOA – Technologies
76.
Cours IGL, Copyright © 2011, ESI Indépendance et
facilité de découverte Permettent à l’utilisation des applications depuis n’importe quel équipement (PC, mobile, etc…) SECTION 3 – STYLES ARCHITECTURAUX 76 Cours 6 – Introduction Aux Architectures de Logiciels SOA – Avantages
77.
Cours IGL, Copyright © 2011, ESI Google Search
Engine (web + application android + application iOs) Youtube (web + application android + application WP7 + application blackberry + application iOs) Facebook (web + applications mobiles) SECTION 3 – STYLES ARCHITECTURAUX 77 Cours 6 – Introduction Aux Architectures de Logiciels SOA – Exemples
78.
Cours IGL, Copyright © 2011, ESI Le Cloud
Computing est une technologie basée sur internet qui permet de fournir des ressources d’une manière évolutive sur internet Le Cloud Computing décharge le client de l’infrastructure IT puisqu’elle fournit le matériel et l’infrastructure Le Cloud Computing est la base du SaaS (Software As A Service) Avec le SaaS, les utilisateurs ne se soucient plus de l’évolution et de la maintenance des logiciels SECTION 3 – STYLES ARCHITECTURAUX 78 Cours 6 – Introduction Aux Architectures de Logiciels Cloud Computing
79.
Cours IGL, Copyright © 2011, ESI Le Cloud
Computing permet aux entreprises une réduction des coûts car le client ne paye que le stockage et l’utilisation des processeurs Une structure basée sur le cloud est théoriquement infaillible car lorsque les serveurs actuels ne peuvent plus répondre à la demande, un nouveau serveur virtuel est automatiquement créé SECTION 3 – STYLES ARCHITECTURAUX 79 Cours 6 – Introduction Aux Architectures de Logiciels Cloud Computing
80.
Cours IGL, Copyright © 2011, ESI Google AppEngine
Amazon Windows Azure SECTION 3 – STYLES ARCHITECTURAUX 80 Cours 6 – Introduction Aux Architectures de Logiciels Cloud Computing - Infrastructures
81.
Cours IGL, Copyright © 2011, ESI Le cloud
est dit privé lorsqu’une entreprise décide de mettre en œuvre le cloud dans sa propre infrastructure IT SECTION 3 – STYLES ARCHITECTURAUX 81 Cours 6 – Introduction Aux Architectures de Logiciels Cloud privé
82.
Cours IGL, Copyright © 2011, ESI Office 365
Google Documents SECTION 3 – STYLES ARCHITECTURAUX 82 Cours 6 – Introduction Aux Architectures de Logiciels SaaS basés sur le cloud
83.
Cours IGL, Copyright © 2011, ESI Office 365
Google Documents SECTION 3 – STYLES ARCHITECTURAUX 83 Cours 6 – Introduction Aux Architectures de Logiciels SaaS basés sur le cloud
84.
Cours IGL, Copyright © 2011, ESI Idéal lorsqu’une
entreprise ne veut pas (ou ne peut pas) se charger de l’infrastructure IT Peut répondre à n’importe quelle charge Evolution instantanée des SaaS (pas de besoin de redéploiement) SECTION 3 – STYLES ARCHITECTURAUX 84 Cours 6 – Introduction Aux Architectures de Logiciels Avantages
85.
Cours IGL, Copyright © 2011, ESI Grosses problématiques
de sécurité : le client ne sait pas où sont ses données et si elles sont vraiment sécurisées SECTION 3 – STYLES ARCHITECTURAUX 85 Cours 6 – Introduction Aux Architectures de Logiciels Inconvénients
86.
Cours IGL, Copyright
© 2011, ESI Cours N° 6 Introduction aux architectures logicielles 86 COURS IGL Section 4 : Diagramme de déploiement
87.
Cours IGL, Copyright © 2011, ESI Le diagramme
de composants s’intéresse à l’architecture d’un point de vue logique tandis que le diagramme de déploiement s’y intéresse d’un point de vue physique Le diagramme de déploiement s’intéresse aux relations entre les relations entre les composants et les équipements Les équipements hébergeant des unités logicielles sont appelés nœuds (nodes) SECTION 4 – DIAGRAMME DE DÉPLOIEMENT 87 Cours 6 – Introduction Aux Architectures de Logiciels Introduction
88.
Cours IGL, Copyright © 2011, ESI Le diagramme
de déploiement est composé de nœuds et de connecteurs Un nœud représente un équipement dans le système Un connecteur représente une communication entre les noeuds SECTION 4 – DIAGRAMME DE DÉPLOIEMENT 88 Cours 6 – Introduction Aux Architectures de Logiciels Introduction
89.
Cours IGL, Copyright © 2011, ESI Dans UML
2, un nœud est illustré comme ceci : SECTION 4 – DIAGRAMME DE DÉPLOIEMENT 89 Cours 6 – Introduction Aux Architectures de Logiciels Noeud Noeud
90.
Cours IGL, Copyright © 2011, ESI Dans UML,
un nœud peut aussi avoir un stéréotype pour préciser la nature du nœud «cdrom», «cd-rom», «computer», «disk array», «pc», «pc client», «pc server», «secure», «server», «storage», «unix server», «user pc» sont des exemples de stéréotypes Deux stéréotypes très importants : « device » et « execution environment » Le stéréotype « device » représente un équipement hardware Le stéréotype « execution environment » détermine un environnement où les processus s’exécutent : par exemple un framework ou un système d’exploitation Les nouds peuvent être imbriqué SECTION 4 – DIAGRAMME DE DÉPLOIEMENT 90 Cours 6 – Introduction Aux Architectures de Logiciels Nœud
91.
Cours IGL, Copyright © 2011, ESI SECTION 4 – DIAGRAMME
DE DÉPLOIEMENT 91 Cours 6 – Introduction Aux Architectures de Logiciels Nœud - Exemple «device» PC Toshiba «executionEnvironment» Windows 7 «executionEnvironment» .NET Framework «device» Serveur HP Pavillon «executionEnvironment» Linux Ubuntu «executionEnvironment» Java Runtime
92.
Cours IGL, Copyright © 2011, ESI Un composant
réside physiquement dans un nœud L’artifact est la manifestation physique d’un composant où tout autre élément physique (document, exécutable, code source,…) SECTION 4 – DIAGRAMME DE DÉPLOIEMENT 92 Cours 6 – Introduction Aux Architectures de Logiciels Nœuds, composants et artifacts
93.
Cours IGL, Copyright © 2011, ESI Les composants
Listener et Diagnostic sont hébergés dans « Serveur » SECTION 4 – DIAGRAMME DE DÉPLOIEMENT 93 Cours 6 – Introduction Aux Architectures de Logiciels Exemple 1 «device» Serveur Listener Diagnostic
94.
Cours IGL, Copyright © 2011, ESI Les composants
Listener et Diagnostic sont hébergés dans « Serveur ». Les artifastc représentent les exécutables associés SECTION 4 – DIAGRAMME DE DÉPLOIEMENT 94 Cours 6 – Introduction Aux Architectures de Logiciels Exemple 2
95.
Cours IGL, Copyright © 2011, ESI Le lien
de communication est une association entre les nœuds modélisation la communication entre ces nœuds SECTION 4 – DIAGRAMME DE DÉPLOIEMENT 95 Cours 6 – Introduction Aux Architectures de Logiciels Lien de communication
96.
Cours IGL, Copyright © 2011, ESI SECTION 4 – DIAGRAMME
DE DÉPLOIEMENT 96 Cours 6 – Introduction Aux Architectures de Logiciels Lien de communication - Exemple «device» Serveur «network» réseau local «device» PC Client +1 tcp 1 0..* tcp 1
97.
Cours IGL, Copyright © 2011, ESI SECTION 4 – DIAGRAMME
DE DÉPLOIEMENT 97 Cours 6 – Introduction Aux Architectures de Logiciels Exemple d’architecture N/Tiers «device» Serveur BDD «database» BDD «device» Serveur Application Application web Serveur web PC Client «executable» Navigateur TCP HTTP
98.
Cours IGL, Copyright
© 2011, ESI Cours N° 6 Introduction aux architectures logicielles 98 COURS IGL Section 4 : Diagramme de déploiement, débat (05 mns)
99.
Cours IGL, Copyright © 2011, ESI UML Component
Diagrams, Veronica Carrega, 2004 Introduction to Software Architecture”David Garlanand Mary Shaw, January 1994 Analyse, Conception Objet Diagrammes de déploiement, SIMMO/ENSM.SE, 2002 BIBLIOGRAPHIE 99 Cours 6 – Introduction aux architectures de logiciels Bibliographie
Télécharger maintenant