Académique Documents
Professionnel Documents
Culture Documents
Option: SCI
Module: CL2
Chapitre 5:
Conception avancée /
architecture logicielle
2
2.DÉFINITION
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
3
2.DÉFINITION
7
3.REPRÉSENTATION DES ARCHITECTURES /
CONNECTEUR
8
4. VUE PHYSIQUE ET VUE LOGIQUE
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.
9
4. VUE PHYSIQUE ET VUE LOGIQUE
10
5.UTILISATION DE L’ARCHITECTURE
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
11
5. MODÉLISER AVEC UML LES
ARCHITECTURES LOGICIELLES
Les vues (structurelles) d’une architecture logicielle
Vue logique. Description logique du système
décomposé en sous-systèmes (modules + interface)
❑ UML : diagramme de paquetages
o Vue d’implémentation. Description de
l’implémentation (physique) du système logiciel en
termes de composants et de connecteurs
❑ UML : diagramme de composants
Vue de déploiement. Description de l’intégration et de
la distribution de la partie logicielle sur la partie
matérielle
❑ UML: diagramme combiné de composants et de
déploiement 12
5. MODÉLISER AVEC UML LES
ARCHITECTURES LOGICIELLES
Diagramme de composant
13
5. MODÉLISER AVEC UML LES
ARCHITECTURES LOGICIELLES
14
6.VUE D’IMPLÉMENTATION
DIAGRAMME DE COMPOSANTS
16
6.VUE D’IMPLÉMENTATION
DIAGRAMME DE COMPOSANTS
Notation
17
6.VUE D’IMPLÉMENTATION
DIAGRAMME DE COMPOSANTS
Interface de composant
Permet à un composant d’exposer les moyens à
utiliser pour communiquer avec lui
Types d’interfaces
Types de dépendances
21
6.VUE D’IMPLÉMENTATION
DIAGRAMME DE COMPOSANTS
22
6.VUE D’IMPLÉMENTATION
DIAGRAMME DE COMPOSANTS
23
7.LA VUE DE DÉPLOIEMENT
Un diagramme de déploiement représente la façon
dont déployer les différents éléments d’un
système
Les ressources matérielles et l’implantation du
logiciel dans ces ressources
Les éléments
❑ Les nœuds
❑ Les modules
24
7.LA VUE DE DÉPLOIEMENT
Un diagramme de déploiement propose une
vision statique de la topologie du matériel sur
lequel s’exécute le système
Un diagramme de déploiement montre les
associations (connexions) existant entre les
nœuds du système
Un diagramme de déploiement ne montre pas les
interactions entre les nœuds
25
7.LA VUE DE DÉPLOIEMENT
26
7.LA VUE DE DÉPLOIEMENT
Une connexion est une connexion physique
reliant deux nœuds entre-eux.
Elle indique en général la méthode utilisée : ex
TCP/IP
Exemples de connexion :
❑ un bus partagé.
27
7.LA VUE DE DÉPLOIEMENT
EXEMPLE DE DÉPLOIEMENT
28
29
1. DEFINITION
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 connecteurset les
contraintes définissant l’architecture d’un
système
30
2.QUELQUES STYLES D’ARCHITECTURE
LOGICIELLE
Centré sur les Données
Entrepôt de données centralisée qui communique avec un
certain nombre de clients.
Utilisée dans le cas où des données sont partagées et
fréquemment échangées entre les composants
On distingue deux sous-types: référentiel et tableau noir
Flots de Données
Succession de transformations des données d'entrée.
On distingue deux sous-types types : séquentiel ou pipeline
❑ Hiérarchique
❑ En couches
Invocation implicite
31
❑ Model-View-Controller
3. ARCHITECTURE CENTRÉ SUR LES DONNÉES
Référenciel
Point fort :Indépendances des clients les uns des
autres on peut ajouter ou retirer des clients
32
4. ARCHITECTURE FLOTS DE DONNÉES
Style séquentiel : chaque étape s'exécute jusqu'à la
fin avant que la prochaine étape commence
Style pipeline : certaines étapes peuvent
fonctionner simultanément.
❑ Le filtre est un composant qui traite l’information
33
4. ARCHITECTURE FLOTS DE DONNÉES
Pipeline (Pipe / Filtre).
Avantages
Forte décomposition du systèmes
Facilite la maintenance
Inconvénients
Ne convient pas aux applications à haute
interactivité
Les performances dépendent des pipes
34
5.ARCHITECTURE HIÉRARCHIQUE
Organisation hiérarchique du système en un
ensemble de couches
Des interfaces bien définies entre les couches
Chaque couche agit comme un
❑ Serveur : Fournisseur de services de couches
"supérieures":
❑ Client: consommateur de services de couche (s) »ci-
dessous"
Les connecteurs sont des protocoles de la couche
d'interaction
Objectifs :
❑ Réduire la complexité,
❑ Améliorer la modularité, réutilisabilité 35
5.ARCHITECTURE HIÉRARCHIQUE
Client-serveur N-tiers
Chaque niveau dépend
uniquement du niveau qui
est au dessus
36
5.ARCHITECTURE HIÉRARCHIQUE
Client-serveur
Avantages
Séparation des tâches
Simple à utiliser
Inconvénients
Souvent insuffisant pour des cas complexes
N-Tiers
Avantages
Séparation poussée des tâches
Haute flexibilité
Inconvénients
Nécessite des ressources matérielles importantes 37
5.ARCHITECTURE HIÉRARCHIQUE
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
38
5.ARCHITECTURE HIÉRARCHIQUE
Les service sont autonomes
Les services sont composables: créer un
service à partir d’autres services
Les services sont réutilisables
39
5.ARCHITECTURE HIÉRARCHIQUE
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
40
5.ARCHITECTURE HIÉRARCHIQUE
Avantages
Indépendance et facilité de découverte
41
6. INVOCATION IMPLICITE
Modèle : noyau de l’application
Vue : interface (graphique) de l’application
Contrôleur : partie de l’application qui prend les
décisions.
42
6. INVOCATION IMPLICITE
Avantages
Approprié pour les systèmes interactifs,
particulièrement ceux impliquant plusieurs vues
du même modèle de données. Peut être utilisé
pour faciliter la maintenance de la cohérence
entre les données distribuées
Inconvénients
Assez complexe.