Master Professionnel en Informatique, option Génie Logiciel (MGL) › Master 1 › Master GL · S2 · UE3 — Environnement de développement
Architecture logicielle
👤 Dr ABDOU Abdoul Dalibou — Docteur en Informatique
Présentation
L’architecture logicielle est l’ensemble des décisions structurantes d’un système : sa décomposition en éléments, les relations entre ces éléments et les principes qui gouvernent leur évolution. Ce cours prépare l’ingénieur génie logiciel à concevoir, documenter et évaluer l’architecture d’applications d’entreprise : plateformes de paiement mobile, systèmes bancaires, portails d’e-gouvernement, applications de gestion scolaire. Il articule trois niveaux : les principes de conception orientée objet (SOLID, couplage, cohésion, patrons GoF), les styles d’architecture (couches, MVC, hexagonale, microservices, événementiel) et les méthodes d’évaluation (scénarios de qualité, ATAM, calculs de disponibilité et de performance, dette technique). Les TP portent sur la documentation d’une architecture (modèle C4, ADR) et la restructuration d’une application monolithique.
Objectifs d’apprentissage
- Documenter une architecture selon plusieurs vues (4+1, C4) et consigner les décisions dans des ADR.
- Traduire des exigences de qualité (ISO/IEC 25010) en scénarios mesurables et en tactiques architecturales.
- Appliquer les principes SOLID et les patrons de conception pour obtenir un code faiblement couplé et fortement cohésif.
- Comparer et choisir un style d’architecture adapté au contexte (taille d’équipe, charge, contraintes réseau).
- Évaluer une architecture (ATAM, disponibilité, latence, métriques de Martin) et piloter la dette technique.
Prérequis
Modélisation objet UML, programmation Java ou Python orientée objet, bases de données relationnelles, notions de réseaux et de protocole HTTP.
Plan du cours
- Leçon 1 — Fondements de l’architecture logicielle : vues, qualités et décisions
- Leçon 2 — Principes de conception, SOLID et patrons de conception
- Leçon 3 — Styles et patrons d’architecture : couches, MVC, hexagonale, microservices, événementiel
- Leçon 4 — Évaluation d’architectures, disponibilité, performance et dette technique
Modalités d’évaluation
Volume horaire : 10 h de CM, 10 h de TD, 10 h de TP et 30 h de TPE (60 h, 3 crédits). Évaluation : contrôle continu (dossier d’architecture réalisé en binôme et TP : 40 %) et examen terminal écrit (60 %) comportant une étude de cas.
Bibliographie
- Len Bass, Paul Clements, Rick Kazman, Software Architecture in Practice, Addison-Wesley (SEI Series).
- Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley, 1994.
- Robert C. Martin, Clean Architecture, Prentice Hall, 2017.
- Martin Fowler, Patterns of Enterprise Application Architecture, Addison-Wesley, 2002.
- Sam Newman, Building Microservices, O’Reilly.
- Norme ISO/IEC 25010 — Modèle de qualité des systèmes et du logiciel ; ISO/IEC/IEEE 42010 — Description d’architecture.
Évaluation globale de la matière
Connectez-vous pour suivre votre progression.
Programme
- 🔒 Leçon 1 — Fondements de l'architecture logicielle : vues, qualités et décisions · 90 min
- 🔒 Leçon 2 — Principes de conception, SOLID et patrons de conception · 90 min
- 🔒 Leçon 3 — Styles et patrons d'architecture : couches, MVC, hexagonale, microservices, événementiel · 90 min
- 🔒 Leçon 4 — Évaluation d'architectures, disponibilité, performance et dette technique · 90 min
- 🔒 Quiz — Architecture logicielle · quiz
Évaluation globale de la matière
Connectez-vous pour suivre votre progression.
