Chapitre 3
03-UML : Use Cases et Diagrammes de Classes
03-UML : Use Cases et Diagrammes de Classes
Cours 03 : UML - Use Cases et Diagrammes de Classes
1. Histoire d'UML
Les trois amigos
UML (Unified Modeling Language) est né de la fusion de trois méthodes orientées objet :
Diagramme en cours de génération...
| Méthode | Créateur | Concepts clés |
|---|---|---|
| Booch | Grady Booch | Classes, modules, processeurs |
| OMT | Jim Rumbaugh | Objets, relations, états |
| Objectory | Ivar Jacobson | Use Cases, acteurs |
Objectifs d'UML
- Unifier les notations existantes
- Standardiser par l'OMG
- Couvrir l'ensemble du cycle de développement
- Être extensible (profils, stéréotypes)
Les 14 diagrammes UML 2.x
Diagramme en cours de génération...
2. Diagramme de Use Case
Définition
Le diagramme de Use Case (cas d'utilisation) décrit les fonctionnalités du système du point de vue des acteurs externes.
Diagramme en cours de génération...
Les acteurs
Un acteur est un rôle joué par une entité externe qui interagit avec le système.
| Type | Exemple | Notation |
|---|---|---|
| Acteur primaire | Client | stick figure |
| Acteur secondaire | Banque (API) | stick figure |
| Système externe | Passerelle de paiement | stick figure + « system » |
Les relations entre Use Cases
Diagramme en cours de génération...
Include : le use case de base inclut obligatoirement le use case inclus (ex: "Passer commande" inclut "Authentifier")
Extend : le use case d'extension s'ajoute optionnellement au use case de base (ex: "Passer commande" ← "Appliquer réduction")
Generalization : un use case enfant hérite du comportement du parent (ex: "Paiement" → "Paiement CB", "Paiement PayPal")
Exemple complet : SI de e-commerce
Diagramme en cours de génération...
3. Diagramme de Classes
Éléments d'une classe
Diagramme en cours de génération...
| Visibilité | Symbole | Signification |
|---|---|---|
| Public | + | Accessible partout |
| Privé | - | Accessible dans la classe |
| Protégé | # | Accessible dans les sous-classes |
| Package | ~ | Accessible dans le package |
Attributs et méthodes
Format UML : visibilité nom: type [multiplicité] = valeur_par_défaut
Format UML : visibilité nom(paramètres): type_retour
Associations
Diagramme en cours de génération...
Multiplicités
| Notation | Signification |
|---|---|
| 1 | Exactement un |
| 0..1 | Zéro ou un |
| * ou 0..* | Zéro ou plusieurs |
| 1..* | Au moins un |
| 0..5 | Zéro à cinq |
| 1..5,10..* | 1 à 5 ou 10 ou plus |
Agrégation, Composition et Héritage
Diagramme en cours de génération...
Héritage (flèche vide triangle) : "est-un" (Voiture est un Véhicule)
- Symboles :
<|--
Composition (losange plein) : "est-partie-de" avec cycle de vie lié
- Symboles :
*-- - Si le véhicule est détruit, le moteur aussi
Agrégation (losange vide) : "est-partie-de" sans cycle de vie lié
- Symboles :
o-- - Si le véhicule est détruit, les roues peuvent être réutilisées
Association simple : lien sémantique
- Symboles :
-->
Association de classe
Diagramme en cours de génération...
Classe abstraite et interface
Diagramme en cours de génération...
4. Relations avancées
Dépendance
La dépendance est une relation d'utilisation temporaire (flèche pointillée).
Diagramme en cours de génération...
Association navigable
Diagramme en cours de génération...
Contraintes
Diagramme en cours de génération...
5. Exemple complet : système de réservation hôtelière
Diagramme en cours de génération...
Résumé
Diagramme en cours de génération...
Pour aller plus loin
- "UML Distilled" - Martin Fowler
- "The Unified Modeling Language Reference Manual" - Rumbaugh, Jacobson, Booch
- Spécification OMG UML 2.5.1