Chapitre 4 : Architecture &
Conception de logiciels
UP GL-BD
Objectifs Chapitre 4
• Concevoir l’architecture logique et physique d’un
logiciel.
• Etablir la conception détaillée d’un logiciel.
• S’assurer de l’adhérence aux exigences.
• Garantir la qualité du logiciel.
GL & AGL 2024 - 2025 2
Plan Chapitre 4
• Partie 1 : Conception logicielle :
• Conception logicielle - Définition.
• Processus de conception.
• Niveaux conceptuels.
• Architecture d’un logiciel - Définition.
• Types d’architectures.
• Partie 2 : Qualité de la conception architecturale :
• Critères de qualité de la conception architecturale.
• Patrons de conception.
• Patrons d’architecture logique.
• Patrons d’architecture physique.
GL & AGL 2024 - 2025 3
Partie 2 – Qualité de la conception
architecturale
I. Critères de qualité de la conception
architecturale
II. Patrons de conception
III. Patrons d’architecture logique
IV. Patrons d’architecture physique
GL & AGL 2024 - 2025 4
Patrons d’architecture logique
• Modèles standards de structuration qui couvrent les types
classiques d’application.
Exemples :
• Modèle en couches :
• S’applique aux applications munies d’une interface graphique manipulant
des données persistantes.
• Architecture logique en 3 couches.
• Architecture logique en 5 couches.
• MVC :
• Modèle : contient les données à afficher.
• Vue : fait l’affichage.
• Contrôleur : coordonne les deux.
GL & AGL 2024 - 2025 5
Patrons d’architecture logique
Modèle en 3 couches
6
3 couches de bases :
<<Layer>> <<Layer>> <<Layer>>
Présentation Applicative Infrastructure
GL & AGL 2024 - 2025 6
Patrons d’architecture logique
Modèle en 3 couches
• Exemple :
GL & AGL 2024 - 2025 7
Patrons d’architecture logique
Modèle en 3 couches
• Principe :
Ce type d'architecture permet de faire évoluer distinctement l'IHM (couche
présentation) et/ou le métier (couche applicative) et/ou la base de donnée
(couche infrastructure) sans remettre en question les autres niveaux.
• L’architecture en 3 couches définit une dépendance bi-
directionnelle entre « IHM » et « Metier »
• La « BDD » n'a aucune dépendance sur la couche « Metier »
donc les modifications que nous apporterons la couche
« Metier » n'auront pas d'impact sur « BDD ».
En revanche le package « BDD » devra répondre aux besoins de
« Metier ».
GL & AGL 2024 - 2025 8
Patrons d’architecture logique
Modèle en 3 couches
9
• Couche présentation :
o Prend en charge les interactions entre l’utilisateur et le logiciel.
o Permet de visualiser les informations.
o Permet de traduire les commandes de l’utilisateur en actions sur les
autres couches.
o Une application peut avoir plusieurs présentations (incarnations) :
▪ Une couche présentation basée sur une interface graphique (swing
ou GTK).
▪ Une couche présentation basée sur l’utilisation d’un navigateur web
(html, jsp, php, etc.).
▪ Une interface de commandes en ligne.
o Chaque incarnation est contenue dans un paquetage indépendant.
GL & AGL 2024 - 2025 9
Patrons d’architecture logique
Modèle en 3 couches
Acteur distant Acteur Informaticien Acteur Local
IHM IHM Ligne IHM
Navigateur Commande Graphique
<<Layer>>
Applicative
Exemple : Plusieurs présentations d’une application
GL & AGL 2024 - 2025 10
Patrons d’architecture logique
Modèle en 3 couches
• Couche applicative :
• Correspond à la partie fonctionnelle de l’application.
• Décrit les opérations que l'application opère sur les données en fonction
des requêtes des utilisateurs, effectuées au travers de la couche
présentation.
• Offre des services applicatifs et métiers à la couche présentation :
• S'appuie sur les données de la couche inférieure.
• Renvoie à la couche présentation les résultats qu'elle a calculés.
GL & AGL 2024 - 2025 11
Patrons d’architecture logique
Modèle en 3 couches
• Couche infrastructure :
• Ce niveau se compose de serveurs de bases de données.
• Permet de stocker les informations et de les récupérer.
• Conserve les données neutres et indépendantes de serveurs d'applications
ou de la logique métier (couche applicative).
• Elle peut être :
• Des acteurs systèmes externes,
• Des serveurs BD,
• Des systèmes de messagerie, etc.
GL & AGL 2024 - 2025 12
Patrons d’architecture logique
Modèle en 3 couches
• Découpage conforme à une démarche • Complexe.
structurée par les cas d’utilisation. • Plus d’exigence.
• On peut s’occuper d’une couche sans • Problèmes au niveau des performances.
savoir à connaitre le détail des autres
couches.
• Minimise les indépendances entre
couches.
• Favorise la standardisation (framework).
• Facilite la réutilisation et la substitution
(couplage plus faible et mieux contrôlé).
• La sécurité peut être renforcée.
GL & AGL 2024 - 2025 13
Patrons d’architecture logique
Modèle en 5 couches
• Autre découpage en couches : Modèle en 5 couches
• Modèle en 3 couches + couches intermédiaires : logique applicative +
accès données.
• Objectifs :
• Réduire la complexité.
• Faciliter la réutilisation et la substitution.
IHM
Logique applicative
Métier
Accès Données Middleware Interfaces acteurs systèmes
Gestion des
Infrastructure Acteurs externes
données
GL & AGL 2024 - 2025 14
Patrons d’architecture logique
Modèle en 5 couches
• La couche IHM (Présentation) : Gérer le dialogue Humain-
machine :
• Capter, sous forme d’évènements, les requêtes provenant de l’utilisateur
(clavier, souris, voix, etc.)
• Retranscrire ces évènements sous forme d’envoi de message à
destination de la couche applicative.
• Récupérer la réponse et afficher les résultats.
IHM
Logique applicative
Métier
Accès Données Middleware Interfaces acteurs systèmes
Gestion des
Infrastructure ActeursGL & AGL
externes 2024 - 2025 15
données
Patrons d’architecture logique
Modèle en 5 couches
• La couche Applicative : Implémenter les services (cas
d’utilisation) demandés par l’utilisateur :
• Utilise les services métier (propres au domaine de l’application,
couche inférieure).
• Utilise les services techniques (authentification, autorisation, etc.).
• Sollicitée la plupart du temps par l’IHM.
• Moyennement réutilisable
IHM
Logique applicative
Métier
Accès Données Middleware Interfaces acteurs systèmes
Gestion des
Infrastructure Acteurs externes
données
GL & AGL 2024 - 2025 16
Patrons d’architecture logique
Modèle en 5 couches
• La couche Métier : Implémenter les services atomiques
métiers propres au domaine et réutilisables par les
applications :
• Permet de capitaliser le savoir faire de la structure en matière de
règles métiers, de règles de gestion et de contrôle de cohérence.
• Sollicitée par la couche applicative.
• Potentiellement réutilisable. IHM
Logique applicative
Métier
Accès Données Middleware Interfaces acteurs systèmes
Gestion des
Infrastructure Acteurs externes
données
GL & AGL 2024 - 2025 17
Patrons d’architecture logique
Modèle en 5 couches
• La couche d’accès aux données : consiste en la partie gérant
l'accès aux données du système :
• Ces données peuvent être propres au système, ou gérées par un autre
système.
• La couche métier n'a pas à s'adapter à ces deux cas, ils sont
transparents pour elle, et elle accède aux données de manière
uniforme.
IHM
• Permet d’éviter un couplage
trop fort entre le modèle Objet Logique applicative
et le modèle Physique des
Métier
données.
Accès Données Middleware Interfaces acteurs systèmes
Gestion des
Infrastructure Acteurs externes
données
GL & AGL 2024 - 2025 18
Patrons d’architecture logique
Modèle en 5 couches
• La couche de gestion des données : Stocker les données de
manière persistante.
Exemples :
• Base de données
IHM
relationnelle, SGBD/R.
• Base de données Objet. Logique applicative
• Fichiers. Métier
Accès Données Middleware Interfaces acteurs systèmes
Gestion des
Infrastructure Acteurs externes
données
GL & AGL 2024 - 2025 19
Un autre exemple d’architecture en couches :
Système d’information orienté web
GL & AGL 2024 - 2025 20
Patrons d’architecture logique
Modèle MVC
• Problème :
• Un modèle (=un ensemble de données) peut être visualisé à l’aide
de différentes vues.
• Le modèle peut être modifié à partir de n’importe laquelle de ces
vues.
• Quand le modèle est modifié, toutes les vues doivent être
rafraichies.
GL & AGL 2024 - 2025 21
Patrons d’architecture logique
Modèle MVC
• Solution :
• On utilise 3 entités :
• Modèle: contient les données à afficher
• Vue: fait l’affichage
• Contrôleur: coordonne les deux
• MVC : le plus connu des patrons d’architecture.
• Utilise le patron de conception observateur-observé.
GL & AGL 2024 - 2025 22
Patrons d’architecture logique
Modèle MVC
• Le Modèle :
• Contient les données à afficher et à modifier.
• Définit la logique de manipulation de ces données.
• Envoie des événements quand les données sont modifiées.
• Ne connait ni la vue ni l’API du contrôleur :
• Le contrôleur et la vue sont des observateurs,
• Le modèle est l’observé.
GL & AGL 2024 - 2025 23
Patrons d’architecture logique
Modèle MVC
• La Vue :
• Est chargée de l’affichage à l’écran.
• Envoie des événements correspondants aux
actions de l’utilisateur (click, survol, sélection, etc.).
• Ne connait ni l’API du contrôleur, ni le modèle.
GL & AGL 2024 - 2025 24
Patrons d’architecture logique
Modèle MVC
• Le contrôleur :
• Assure l’interaction entre données et vue.
• Connait la vue et le modèle.
• Observe le modèle, modifie la vue en conséquence.
• Observe la vue, modifie le modèle en conséquence.
GL & AGL 2024 - 2025 25
Patrons d’architecture logique
Modèle MVC
• Avantages du MVC :
• Il peut y avoir plusieurs vues sur le même modèle.
• Plusieurs contrôleurs peuvent modifier le même modèle.
• Toutes les vues seront notifiées des modifications.
GL & AGL 2024 - 2025 26
Patron d’architecture physique
• Les architecture physique 1-niveau (1-tiers) : Toutes les couches
logiques sont situées sur la même machine (Exemple : un mainframe avec des
postes passifs).
• Les architecture 2-niveaux (2-tiers) : Les couches logiques sont
séparés sur deux sites :
• Les dispositifs du serveur (BD, service de messagerie, etc.) sur un site
• Le reste de l’architecture sur les postes client.
• Permet le partage d’information entre utilisateurs : Accès simultanés,
Synchronisation des données.
• Des variantes existent pour alléger le poste client (Plus d’applicatifs sur le
site serveur).
GL & AGL 2024 - 2025 27
Patron d’architecture physique
Exemple : Répartition de l’architecture logique sur l’architecture physique
GL & AGL 2024 - 2025 28
Exemple : Architecture logique en 5
couches/ frameworks et patrons
GL & AGL 2024 - 2025 29