Chapitre 23
23-Annexes
> Glossaire, cheat sheets, tables de correspondance et guides de notation.
Cours : Annexes — Glossaire, Cheat Sheets, Tables de Correspondance
Introduction
Ce chapitre regroupe les ressources de référence : glossaire de 200+ termes, cheat sheets pour chaque notation, tables de correspondance entre Merise et UML, guide de notation C4.
1. Glossaire Général (200+ termes)
A
Abstraction : Principe de modélisation consistant à ne retenir que les caractéristiques essentielles d'un objet.
ACID : Atomicité, Cohérence, Isolation, Durabilité — propriétés d'une transaction.
Acteur : Entité externe qui interagit avec un système (UML, use case).
Activité : Tâche dans un processus BPMN ou unité de travail dans un MOT.
Adaptateur : Pattern d'architecture hexagonale qui convertit un port en interface concrète.
ADR : Architecture Decision Record — document capturant une décision d'architecture.
ADM : Architecture Development Method — méthode cyclique de TOGAF.
Agrégat : Cluster d'objets traités comme une unité cohérente (DDD).
Agrégation : Relation UML "a-un" faible (diamant vide).
Anti-Corruption Layer : Couche de traduction entre bounded contexts.
Application Component : Élément logiciel de la couche applicative (ArchiMate).
ArchiMate : Langage de modélisation d'architecture d'entreprise (The Open Group).
Architecture : Structure fondamentale d'un système, ses composants, leurs relations.
Artefact : Livrable produit par une phase du cycle de développement.
Association : Lien entre deux entités (Merise) ou classes (UML).
Attribut : Propriété d'une entité ou d'une classe.
ATAM : Architecture Tradeoff Analysis Method — méthode d'évaluation d'architecture.
B
Backlog : Liste priorisée de fonctionnalités ou de tâches.
BC : Bounded Context — contexte délimité en DDD.
BPMN : Business Process Model and Notation — standard de modélisation de processus.
BPMN 2.0 : Version majeure de BPMN, standard OMG.
Business Actor : Acteur métier (ArchiMate).
Business Function : Fonction métier (ArchiMate).
Business Object : Objet manipulé par les acteurs métier (ArchiMate).
Business Process : Processus métier — séquence d'activités (ArchiMate).
Business Role : Rôle métier joué par un acteur (ArchiMate).
Business Service : Service offert aux acteurs métier (ArchiMate).
C
C4 Model : Modèle à 4 niveaux : Context, Container, Component, Code.
CAP Theorem : Un système distribué ne peut garantir que 2/3 : Consistency, Availability, Partition Tolerance.
Cardinalité : Nombre minimum et maximum de participations d'une entité à une association.
Chef de Projet : Responsable de la planification et de l'exécution du projet.
Classe : Abstraction d'un ensemble d'objets avec des attributs et méthodes communs.
Clé étrangère : Colonne référençant la clé primaire d'une autre table.
Clé primaire : Colonne (ou ensemble) identifiant de façon unique une ligne.
Composant : Partie modulaire d'un système avec des interfaces bien définies.
Composition : Relation UML "est-composé-de" forte (diamant plein).
CQRS : Command Query Responsibility Segregation — séparation écriture/lecture.
Conception : Phase de traduction des spécifications en solution technique.
Conformist : Relation DDD où un contexte suit le modèle d'un autre sans traduction.
Contexte : Environnement d'un système ou périmètre d'un modèle (C4, DDD).
Conteneur : Unité déployable dans le C4 Model.
CRC : Class-Responsibility-Collaboration — technique de modélisation.
D
Décision d'architecture : Choix structurant pour le système, documenté dans un ADR.
Dépendance fonctionnelle : Relation A → B où A détermine B (Merise).
Déploiement : Mise en production d'un système.
Diagramme d'activité : Diagramme UML pour les workflows.
Diagramme de classes : Diagramme UML structurel principal.
Diagramme de composants : Diagramme UML montrant l'architecture modulaire.
Diagramme de déploiement : Diagramme UML montrant l'infrastructure physique.
Diagramme d'état : Diagramme UML pour les cycles de vie.
Diagramme de séquence : Diagramme UML d'interaction temporelle.
Diagramme de use cases : Diagramme UML des cas d'utilisation.
Disponibilité : Capacité d'un système à rester opérationnel.
DMN : Decision Model and Notation — standard de modélisation de décisions.
Domaine : Sphère d'activité ou de connaissance métier.
Domain Event : Événement significatif dans le domaine métier.
Domain Expert : Expert du domaine métier.
Domain Model : Modèle du domaine métier.
Draw.io : Outil de diagrammes gratuit et polyvalent.
DSL : Domain-Specific Language — langage dédié à un domaine.
DTD : Document Type Definition — définition de structure XML.
E
EAI : Enterprise Application Integration — intégration d'applications.
EBP : Event-Bus Pattern — pattern de communication par bus d'événements.
Entité : Objet du monde réel avec une identité unique (Merise, DDD).
Event : Fait significatif qui se produit dans le système ou le domaine.
Event Sourcing : Pattern où les événements sont la source de vérité.
Event Storming : Atelier collaboratif de modélisation avec post-its.
Evénementiel : Architecture asynchrone basée sur les événements.
Exigence : Condition ou capacité nécessaire pour un système.
Extend : Relation UML entre use cases (optionnelle).
F
Factory : Pattern de création d'objets complexes.
File de messages : Middleware de communication asynchrone (Kafka, RabbitMQ).
Framework : Structure logicielle réutilisable.
Frontend : Partie visible par l'utilisateur.
Fonction : Entité mathématique de transformation d'entrées en sorties.
Fonctionnel : Relatif aux fonctionnalités métier.
G
Gap Analysis : Analyse des écarts entre l'existant et la cible (TOGAF).
Gateway : Passerelle — élément BPMN ou pattern API.
Généralisation : Relation d'héritage UML.
Gherkin : Langage Given/When/Then pour spécifications exécutables.
GIT : Système de gestion de versions distribué.
Glossaire : Liste de termes avec leurs définitions.
GoF : Gang of Four — auteurs du livre Design Patterns.
gRPC : Framework RPC haute performance de Google.
GUI : Graphical User Interface.
Green IT : Pratiques visant à réduire l'impact environnemental du numérique.
H
Héritage : Mécanisme par lequel une classe acquiert les caractéristiques d'une autre.
Hexagonal Architecture : Architecture centrée sur le domaine avec ports et adaptateurs.
HTTP : HyperText Transfer Protocol — protocole de communication web.
HTTPS : HTTP sécurisé par TLS.
Hybride : Architecture combinant plusieurs approches (on-premise + cloud).
I
Idempotence : Propriété d'une opération qui produit le même résultat si exécutée plusieurs fois.
Implementation : Phase de réalisation concrète.
Include : Relation UML entre use cases (obligatoire).
Infrastructure : Base technologique supportant les applications.
Intégration : Mise en relation de systèmes.
Interface : Point d'interaction entre deux éléments.
Invariant : Règle qui doit toujours être vraie.
ISO : International Organization for Standardization.
IaaS : Infrastructure as a Service.
IoT : Internet of Things.
K
Kanban : Méthode de gestion de flux visuelle.
Kafka : Plateforme de streaming événementiel distribuée.
KPI : Key Performance Indicator.
Kubernetes : Orchestrateur de conteneurs.
L
LAN : Local Area Network.
Layer : Couche d'architecture (ex: presentation, domain, data).
Lazy Load : Pattern de chargement différé.
Ligne de vie : Élément vertical dans un diagramme de séquence.
Livrable : Produit concret à fournir à une étape.
Logging : Journalisation des événements système.
Low-Code : Développement avec peu de code (modélisation visuelle).
LSM-Tree : Log-Structured Merge-Tree — structure de stockage.
M
Maintenabilité : Facilité de maintenance d'un système.
MCD : Modèle Conceptuel de Données (Merise).
MDA : Model-Driven Architecture — approche OMG.
Mermaid : Outil de diagrammes en Markdown.
Merise : Méthode française de conception de SI.
Message : Unité d'information échangée entre systèmes.
Microservice : Style architectural de services indépendants et déployables.
Middleware : Logiciel d'intégration entre applications.
MLD : Modèle Logique de Données (Merise).
MOT : Modèle Organisationnel des Traitements (Merise).
MPD : Modèle Physique de Données (Merise).
MPT : Modèle Physique des Traitements (Merise).
MVC : Model-View-Controller — patron d'architecture.
N
Nœud : Élément de déploiement (UML, ArchiMate).
Normalisation : Processus de réduction des redondances dans une base de données.
NoSQL : Base de données non relationnelle.
NFR : Non-Functional Requirement — exigence non fonctionnelle.
Notification : Message asynchrone informant d'un événement.
O
Objet : Instance d'une classe.
OMG : Object Management Group — organisme de standardisation.
On-Premise : Infrastructure hébergée sur site.
Open Source : Logiciel dont le code source est libre.
Opération : Action exécutable sur un objet.
Orchestration : Contrôle centralisé d'un flux (vs chorégraphie).
ORM : Object-Relational Mapping — mapping objet-relationnel.
Outil : Logiciel aidant à la modélisation ou au développement.
P
PaaS : Platform as a Service.
Package : Regroupement d'éléments UML.
Pair Programming : Technique de développement à deux.
Paradigme : Modèle de pensée ou d'organisation.
Parallélisme : Exécution simultanée de tâches.
Pattern : Solution éprouvée à un problème récurrent.
Performance : Capacité à répondre rapidement.
Persistance : Stockage durable des données.
PlantUML : Outil de génération de diagrammes par code.
Plateforme : Base technologique sur laquelle construir des applications.
Pool : Conteneur de processus BPMN représentant un participant.
Port : Interface d'interaction en architecture hexagonale.
Processus : Séquence d'activités transformant des entrées en sorties.
Produit : Résultat d'un processus, généralement logiciel.
Profil : Extension UML pour un domaine spécifique.
Prototype : Version préliminaire d'un système.
Q
QR : Quick Response (code).
Qualité : Ensemble des propriétés d'un produit.
Query : Requête de lecture (CQRS).
Queue : File d'attente de messages.
R
RabbitMQ : Message broker open source.
Racine d'agrégat : Aggregate Root — point d'accès à un agrégat.
Realtime : Temps réel.
Redis : Base de données en mémoire.
Refactoring : Restructuration du code sans changer son comportement.
Relation : Lien entre éléments.
Repository : Pattern d'accès aux données.
REST : Representational State Transfer — style d'architecture web.
Rétro-ingénierie : Analyse d'un système existant pour en comprendre la structure.
Risque : Événement incertain pouvant affecter le projet.
Rôle : Fonction jouée par un acteur.
Rollback : Annulation d'une transaction.
S
SaaS : Software as a Service.
Saga : Pattern de transaction distribuée.
Scalabilité : Capacité à monter en charge.
Scrum : Méthode agile de développement.
Séquence : Ordre temporel des messages.
Séquentiel : Enchaîné dans le temps.
Serverless : Architecture sans gestion de serveurs.
Service : Fonctionnalité offerte par un système.
Service Mesh : Couche infrastructure pour microservices (Istio, Linkerd).
SI : Système d'Information.
SGBD : Système de Gestion de Base de Données.
Spécification : Description détaillée des exigences.
SQL : Structured Query Language.
Stakeholder : Partie prenante.
State Machine : Machine à états.
Stockage : Support de persistance.
Story : User Story — exigence agile.
Structurizr : Outil dédié au C4 Model.
Système : Ensemble structuré d'éléments en interaction.
T
Table : Structure de données en base relationnelle.
Tactique : Technique architecturale pour un attribut de qualité.
Tâche : Unité de travail.
Temps réel : Traitement avec contrainte temporelle.
Test : Validation du bon fonctionnement.
Testabilité : Facilité à tester.
TOGAF : The Open Group Architecture Framework.
Topologie : Structure d'interconnexion.
Transaction : Unité de travail atomique.
Trigger : Déclencheur automatique.
Tuple : Ligne dans une table.
U
Ubiquitous Language : Langage partagé métier/technique (DDD).
UML : Unified Modeling Language — langage de modélisation unifié.
Unité de travail : Unit of Work — pattern de gestion de transactions.
Use Case : Cas d'utilisation (UML).
User Story : Besoin exprimé du point de vue utilisateur.
V
Value Object : Objet défini par ses attributs, sans identité (DDD).
Versioning : Gestion des versions.
Viewpoint : Perspective sur l'architecture pour un stakeholder (ArchiMate).
Visibilité : Niveau d'accès d'un membre de classe (+, -, #, ~).
Visual Paradigm : Outil de modélisation UML.
W
WAN : Wide Area Network.
WebSocket : Protocole de communication bidirectionnelle.
Workflow : Flux de travail automatisé.
Workstation : Poste de travail.
Y
Y-Statement : Format d'ADR : Contexte, Problème, Décision, Conséquences.
YAML : YAML Ain't Markup Language — format de sérialisation.
Z
Zachman : Framework d'architecture d'entreprise (John Zachman).
Zone : Partition logique ou physique.
ZooKeeper : Service de coordination distribuée.
2. Cheat Sheet Notation UML
Diagramme de Classes
| Symbole | Signification |
|---|---|
+ | Public |
- | Private |
# | Protected |
~ | Package |
«abstract» | Classe abstraite |
«interface» | Interface |
| ---→ (triangle vide) | Généralisation (héritage) |
| ---◇ (losange vide) | Agrégation |
| ---◆ (losange plein) | Composition |
| ---→ (flèche simple) | Association |
| - -→ (pointillés) | Dépendance |
1 * 0..1 | Multiplicités |
Diagramme de Séquence
| Symbole | Signification |
|---|---|
[ ] | Acteur |
| ` | ` |
X | Fin de vie |
| → | Message synchrone |
| - -> | Message asynchrone |
| - -> | Message de retour |
opt | Fragment optionnel |
alt | Fragment alternatif |
loop | Fragment de boucle |
par | Fragment parallèle |
break | Sortie de boucle |
ref | Référence à un autre diagramme |
Diagramme d'État
| Symbole | Signification |
|---|---|
● | État initial |
● (plein épais) | État final |
[ ] | État |
| → | Transition |
événement [garde] / action | Transition complète |
entry/ | Action d'entrée |
exit/ | Action de sortie |
do/ | Activité interne |
3. Cheat Sheet Notation Merise (MCD)
| Symbole | Signification |
|---|---|
| Rectangle | Entité |
| Ovale | Attribut |
| Ovale souligné | Identifiant |
| Ovale composé | Attribut composé |
| Ovale pointillé | Attribut dérivé |
| Hexagone | Association |
| Losange | Association (variante) |
| (min, max) | Cardinalité |
| Ligne simple | Lien entité-association |
| Cœur | Contrainte d'unicité |
Valeurs de cardinalités
| Cardinalité | Signification |
|---|---|
| (0,1) | Optionnel, au plus un |
| (1,1) | Obligatoire, un seul |
| (0,N) | Optionnel, plusieurs |
| (1,N) | Obligatoire, plusieurs |
4. Cheat Sheet Notation C4
Niveau 1-4
| Niveau | Élément | Forme | Usage |
|---|---|---|---|
| 1 | Person | Silhouette | Utilisateur |
| 1 | Software System | Rectangle large | Système modélisé |
| 1 | External System | Rectangle (gris) | Système externe |
| 2 | Container | Rectangle (forme boîte) | App, DB, File |
| 3 | Component | Rectangle | Module interne |
| 4 | Code | Classe UML | Détail implémentation |
| Tous | Relation | Flèche avec étiquette | Communication |
Couleurs standards C4
- Person : vert (#1168bd)
- Software System : bleu (#438dd5)
- Container : bleu clair (#85bbf0)
- Component : bleu pâle (#accdf5)
- External : gris (#999999)
- DB : forme cylindre en bleu
- File Queue : forme disque en bleu
5. Cheat Sheet Notation BPMN
Flow Objects
| Symbole | Élément | Description |
|---|---|---|
| ○ | Start Event | Début de processus |
| ● (épais) | End Event | Fin de processus |
| ◎ | Intermediate Event | Événement entre deux activités |
| ⌛ | Timer Event | Attente temporelle |
| ✉ | Message Event | Réception/envoi message |
| ⚠ | Error Event | Gestion d'erreur |
| Rectangle arrondi | Task / Activity | Tâche à exécuter |
| + dans rectangle | Sub-Process | Processus décomposable |
| ◇ | Gateway XOR | Choix exclusif |
| + | Gateway AND | Parallélisme |
| ◇ avec ○ | Gateway inclusive | Choix multiple possible |
Artifacts
| Symbole | Élément |
|---|---|
| [ ] plié | Data Object |
| Flèche pleine | Sequence Flow |
| Flèche pointillée | Message Flow |
| - - - | Association |
| │ │ | Pool / Lane |
6. Table de correspondance cardinalités Merise → UML
| Merise | UML | Signification |
|---|---|---|
| (0,1) | 0..1 | Zéro ou un |
| (1,1) | 1 | Exactement un |
| (0,N) | 0..* | Zéro ou plusieurs |
| (1,N) | 1..* | Au moins un |
| (p,q) | p..q | De p à q |
| (n) | n | Exactement n |
7. Table de correspondance concepts Merise → UML
| Merise | UML | Notes |
|---|---|---|
| Entité | Classe | Même concept fondamental |
| Association | Association | Lien entre classes/entités |
| Attribut | Attribut | Propriété |
| Identifiant | Attributs clés (PK) | Plusieurs attributs possibles en UML |
| Cardinalité | Multiplicité | Même idée, notation différente |
| Héritage | Généralisation | Même concept |
| MCD | Diagramme de classes | MCD est conceptuel, classes est détaillé |
| MLD | Modèle logique | Pas d'équivalent UML pur |
| MPD | Schéma SQL | Pas d'équivalent UML |
| MOT | Diagramme d'activité | Les deux modélisent des traitements |
| Entité-association | Association classe | Concept proche |
8. Abréviations (100+ acronymes)
| Acronyme | Signification |
|---|---|
| ACID | Atomicity, Consistency, Isolation, Durability |
| ACL | Anti-Corruption Layer |
| ADM | Architecture Development Method |
| ADR | Architecture Decision Record |
| API | Application Programming Interface |
| ArchiMate | Architecture-Animate |
| ATAM | Architecture Tradeoff Analysis Method |
| AUI | Architecture User Interface |
| AWS | Amazon Web Services |
| BASE | Basically Available, Soft state, Eventual consistency |
| BDD | Behavior-Driven Development |
| BFS | Breadth-First Search |
| BPMN | Business Process Model and Notation |
| C4 | Context, Container, Component, Code |
| CAP | Consistency, Availability, Partition tolerance |
| CI/CD | Continuous Integration / Continuous Deployment |
| CLR | Common Language Runtime |
| CMMN | Case Management Model and Notation |
| CORBA | Common Object Request Broker Architecture |
| CQRS | Command Query Responsibility Segregation |
| CRUD | Create, Read, Update, Delete |
| DB | Database |
| DDD | Domain-Driven Design |
| DFS | Depth-First Search |
| DMN | Decision Model and Notation |
| DNS | Domain Name System |
| DTO | Data Transfer Object |
| EA | Enterprise Architecture |
| EAI | Enterprise Application Integration |
| EIP | Enterprise Integration Pattern |
| EJB | Enterprise JavaBeans |
| ERP | Enterprise Resource Planning |
| ESB | Enterprise Service Bus |
| ES | Event Sourcing |
| ET | Eventual Consistency |
| ETL | Extract, Transform, Load |
| EVM | Earned Value Management |
| FaaS | Function as a Service |
| FK | Foreign Key |
| FP | Functional Programming |
| GCP | Google Cloud Platform |
| GoF | Gang of Four |
| gRPC | gRPC Remote Procedure Call |
| GUI | Graphical User Interface |
| HTTP | HyperText Transfer Protocol |
| HTTPS | HTTP Secure |
| IaaS | Infrastructure as a Service |
| IDE | Integrated Development Environment |
| IoT | Internet of Things |
| IP | Internet Protocol |
| IS | Information System |
| ISO | International Organization for Standardization |
| IT | Information Technology |
| J2EE | Java 2 Enterprise Edition |
| JDBC | Java Database Connectivity |
| JMS | Java Message Service |
| JSON | JavaScript Object Notation |
| JVM | Java Virtual Machine |
| KPI | Key Performance Indicator |
| LSP | Liskov Substitution Principle |
| MCD | Modèle Conceptuel de Données |
| MDA | Model-Driven Architecture |
| MERISE | Méthode d'Étude et de Réalisation Informatique des Systèmes d'Entreprise |
| MLD | Modèle Logique de Données |
| MPD | Modèle Physique de Données |
| MOT | Modèle Organisationnel des Traitements |
| MVC | Model-View-Controller |
| MVP | Minimum Viable Product |
| NFR | Non-Functional Requirement |
| NIST | National Institute of Standards and Technology |
| NoSQL | Not Only SQL |
| OMG | Object Management Group |
| OOP | Object-Oriented Programming |
| PaaS | Platform as a Service |
| PH | Phase |
| PK | Primary Key |
| POJO | Plain Old Java Object |
| RDBMS | Relational Database Management System |
| REST | Representational State Transfer |
| RFC | Request for Comments |
| RFP | Request for Proposal |
| RPC | Remote Procedure Call |
| SaaS | Software as a Service |
| SAGA | Saga pattern |
| SCM | Supply Chain Management |
| SGBD | Système de Gestion de Base de Données |
| SI | Système d'Information |
| SLA | Service Level Agreement |
| SOA | Service-Oriented Architecture |
| SOAP | Simple Object Access Protocol |
| SOLID | SRP, OCP, LSP, ISP, DIP |
| SQL | Structured Query Language |
| SRP | Single Responsibility Principle |
| TDD | Test-Driven Development |
| TLS | Transport Layer Security |
| TOGAF | The Open Group Architecture Framework |
| TPS | Transactions Per Second |
| UI | User Interface |
| UML | Unified Modeling Language |
| URI | Uniform Resource Identifier |
| URL | Uniform Resource Locator |
| VM | Virtual Machine |
| VO | Value Object |
| WSDL | Web Services Description Language |
| XML | eXtensible Markup Language |
| YAML | YAML Ain't Markup Language |
9. Guide de notation C4 — Pictogrammes standards
Personnes
- User : silhouette de personne (icône standard)
- Acteur externe : silhouette avec distinction (pointillé)
Systèmes
- Software System : rectangle aux coins droits avec bordure
- Conteneur : rectangle avec une icône représentant le type
- Base de données : forme cylindre
- File queue : disque empilé
- Composant : rectangle aux coins arrondis
Relations
- Flèche pleine : relation synchrone (REST, JDBC)
- Flèche pointillée : relation asynchrone (message, event)
- Étiquette : protocole + description concise
Recommandations
- Utiliser le niveau 1 pour les non-techniciens
- Niveau 2 pour l'équipe projet
- Niveau 3 pour les développeurs
- Niveau 4 seulement si pertinent (éviter la micro-gestion)
- Une couleur par type d'élément
- Légende systématique