Title: UML
1UML
- Les cas dutilisation (use cases)
2Identification des acteurs et des cas
dutilisation
- Identification des acteurs
- entité externe qui interagit avec le système
- Identification des cas dutilisation
- modélisation dun service rendu par le système
- Construire le diagramme de cas dutilisation
3Les acteurs
- Entité externe qui interagit avec le système
- attend des services de la part du système
- linteraction envoi/réception de messages
- peut être une personne ou un autre système
- Sont décrits par leur rôle et leur relation avec
les cas dutilisation
acteur autre système
4Les cas dutilisation
- Un CU modélise un service rendu par le système
- exprime les interactions acteurs/système
- apporte une valeur ajoutée notable aux
acteurs concernés - la façon dont le système réalise le service est
masquée - Le déroulement du CU est contrôlé par les acteurs
- lévénement déclencheur vient dun acteur
- acteur principal bénéficiaire du CU
5Diagramme de cas d utilisation
Formule 1
Conduire
Ravitailler
Pilote
Envoyer infos
acteur système de télémesure
Réparer
Mécanicien
6Identification des CU
- Pour chaque acteur identifié
- rechercher les façons dont il utilise le système
- rechercher dans le cahier des charges les
services attendus du système - Pour chaque CU
- vérifier quil fournit un service notable aux
acteurs - vérifier quil est déclenché par un événement
externe - Uniformiser le niveau dabstraction des CU
7Description dun cas dutilisation
- Description textuelle (non normalisée)
- sommaire d identification (titre, résumé,
acteurs, responsable) - description des enchaînements (enchaînements
nominaux, alternatifs, exceptions...) - Un CU contient un ou plusieurs scénarios.
- Les scénarios seront décrits par des diagrammes
de séquence, de collaboration etc.
8Relations entre cas dutilisation
Vendre
Calculer TVA
inclut
Vendre en gros
- Points d extension
- Faire rabais quand quantité déterminée
- Points d inclusion
- TVA suivant prix global
étend Montant gt 500 Francs
Faire rabais
9Exemple le guichet automatique de banque
- Le guichet automatique offre les services
suivants - distribution dargent pour tout porteur de carte
de crédit - consultation de compte, dépôt en numéraire et
dépôt de chèques pour les porteurs dune carte de
cette banque - Le guichet a besoin dêtre rechargé
régulièrement. - Construire le diagramme de cas dutilisation pour
le guichet automatique de banque
10Diagramme de CU
Retirer de largent
acteur SA Visa
Consulter le solde
Porteur C.B. Visa
Déposer du numéraire
acteur SI Banque
Déposer des chèques
Client de la banque
11Relations entre cas d utilisation
- Objectif organiser les C.U., factoriser les
parties communes - Les types de relation standardisés
- inclusion
- extension
- généralisation/spécialisation
- Classification des acteurs
12Inclusion
- Le cas de base incorpore explicitement un autre,
à un endroit spécifié. - Le CU inclus nest jamais exécuté seul, mais
seulement comme partie dun cas de plus vaste
Consulter le solde
Retirer de largent
inclut
inclut
Authentifier client
13Extension
- Le cas de base incorpore implicitement un autre
- Les deux cas peuvent fonctionner seuls
- Le cas source ajoute son comportement au cas
destination - Lextension peut être soumise à une condition
dextension - point dextension décrit, dans le cas
destination, lemplacement ou le comportement du
cas source est inséré.
14Extension - suite
- Dans le cas Retirer argent , le client peut
vouloir vérifier son compte - Attention au sens des flèches dans les relations
inclut/étend
étend (vérification montant)
Retirer argent
Consulter le solde
Point d extension vérif montant, etc.
15Généralisation/spécialisation
- Permet de hiérarchiser les CU
- les CU descendants héritent le fonctionnement des
parents. - le descendant peut ajouter ou modifier des
interactions par rapport à son père.
Déposer de l argent
Déposer des chèques
Déposer du numéraire
16Diagramme de CU - version 2
17Diagrammes dynamiques pour les cas dutilisation
- Lobjectif des CU est de faciliter le dialogue
avec les utilisateurs - la description textuelle peut devenir complexe,
ambiguë - description graphique vue plus synthétique
- Quelques conditions
- description du système en tant que boite noire
- favoriser la lisibilité
18Diagrammes dynamiques - suite
- Le cas dutilisation se décompose en scénarios
- scénario nominal, enchaînements alternatifs
- chaque scénario et chaque CU ? description
textuelle - Descriptions graphiques des CU
- diagrammes dactivité (organigramme,
compréhensible) - diagrammes détats (automates détats utilisé
dans certains cas) - Descriptions graphiques des scénarios
- diagramme de séquence (axe temporel, très simple)
- diagramme de collaboration (dimension
spatiale )
19Diagrammes de séquence
- Diagrammes de séquence système
- illustre la succession temporelle des
communications,par messages acteurs/système - acteur principal (à gauche), système, acteurs
secondaires (à droite) - Très facile a comprendre pour les utilisateurs
- On peut faire aussi des diagrammes de séquence
entre objets
20Différents flots
Objet A
Objet B
Objet C
message 1
message 2
Flèche pleine messages synchrones, avec
attente
Demi-flèche messages asynchrones
(environnement concurrent)
21Différents flots
Objet A
Objet B
Objet
Récursion()
Objet A
Objet B
Objet
Message réflexif
22Contraintes temporelles
x
y-xlt3s
y
23Structures de contrôle
Objet A
Objet B
Objet A
Objet B
X Message
Message
while X loop end loop
Objet A
Objet B
Objet C
Objet A
Objet B
X
Message
if else end if
Y
Message
24Diagramme dactivités
- Représente les étapes dune procédure
- Graphe les sommets sont les activités, les arcs
sont les transitions - Des activités peuvent se dérouler en parallèle.
ilt10/i
/i0
sinon
Afficher (i)
25Diagramme dactivité - travées
Enseignant
Etudiant
Jury
Ecouter
Enseigner
Apprendre
Composer
Contrôler
Evaluer
26Diagramme détats
- Représente les transformations des états dun
système ou dun objet - la classe Personne a un attribut Emploi qui vaut
En Activité, Au chômage ou A la retraite.
Quand(Agegt60)
En activité
A la retraite
Perte emploi
Embauche
Au chômage
Quand(Agegt60)
27Diagrammes de collaboration
- Diagrammes dinteraction entre objets
- Ensemble de rôles dans un contexte particulier
- Liens entre les objets (complète le diagramme
dobjets) - Représentation denvois de messages
- Dimension spatiale plus que temporelle
- permet de fixer une partie du diagramme de
classes,correspondant à la collaboration étudiée
28Exemple
/LocatairePersonne
1
1
/MaisonLogement
/PropriétairePersonne
1
1
1
1
Coût
Lieu
1revenu location (pour les maisons)
Loueur/Propriétaire Personne
1.1i1..nloyer()
Conseiller
/Maison Logement
Coût
1.1.ivaleur()
29Notions complémentaires
appel procédure
asynchrone
1.2.1
1.2.a
1.2,2.4/5 op
1.2.2
1.2.b
consécutifs
parallèles
condition
retouropération
itération
30Paquetages
- Partitionnement des éléments en ensembles
- Couplage fort
- 4 Stéréotypes
- Façade vue simplifié dun ensemble de
paquetages - Framework
- Souche (partie publique)
- Racine (le haut niveau)
31Paquetages notation
Nom paquet
32Notions sur les paquetages
- Espace de nommage
-
- unicité des noms
- Dépendances
- importe import complet
- permet de redéfinir les visibilités
(transitivité) - accède possibilité de référencement
- Précaution
- éviter les graphes cycliques
- Généralisation
33Diagrammes de composants
- Stéréotypes
- document
- exécutable
- fichier
- bibliothèque
- table
Nom
34Diagrammes de déploiement
Nœud
Nœud
Nœud
support
Nœud 1
Nœud 2
RS232