Plan
Diagrammes structurels
Diagrammes de comportement
Diagramme de cas d’utilisation
Diagrammes d’interaction
de séquences
de communication
D’ états
D'activité
Diagrammes d’interactions
Diagrammes d'interaction (séquence ou communication)
Pour comprendre la coopération entre les objets
Diagrammes d’états
Pour comprendre le comportement interne d'un objet
Diagrammes d'activités
Pour analyser un cas d'utilisation
Pour comprendre un flot de données traversant plusieurs cas d'utilisation
Pour comprendre les applications multi-activités
Diagramme de séquences
Quand pouvons nous l’utiliser?
Dans l’analyse du système : Pour documenter les cas d’utilisation, le texte présente des
désavantages, difficile de montrer comment les enchaînements se succèdent, ou à quel
moment les acteurs secondaires sont sollicités.
Il est donc recommandé de compléter la description textuelle par un ou plusieurs
diagrammes dynamiques UML . Diagrammes de séquences système DSS.
Dans la conception du système
• décrire les interactions interne du système: les interactions entre les objets.
Nouveauté UML 2 : ajout de cadres (Fragments) pour définir des boucles (Loop), des
alternatives (Alt), des options (Opt), …
3
Diagramme de séquences système
Utile pour représenter les interactions entre les acteurs et le système, ces intéractions
produisent des messages qui affectent le système informatique et appellent généralement une
réponse de celui-ci.
Lors de ces interactions, les acteurs produisent des messages qui affectent le système
informatique et appellent généralement une réponse de celui-ci.
Nous allons représenter ces messages graphiquement sur des diagrammes de séquences UML
dites diagramme de séquences système DSS.
Utilisé pour souligner le fait que nous considérons le système informatique comme une boîte
noire.
Le comportement du système est vu de l’extérieur, sans préjuger de comment il le réalisera.
Nous ouvrirons la boîte noire seulement en conception.
4
Diagramme de séquences système
Nous recommandons de le présenter en montrant l’acteur principal à gauche, et l’acteur
secondaire à droite.
L’ordre chronologique se déroule vers le bas et l’ordre des messages doit suivre la séquence
décrite dans le cas d’utilisation
un objet unique représente le système en boîte noire,
les éventuels acteurs secondaires sollicités durant le scénario à droite du système.
Système
Acteur principal
Acteur secondaire
message1
message2
message3
message4
5
Diagramme de séquences : Types de messages
Message synchrone : émeteur bloqué, attend retour
Message asynchrone : émeteur non bloqué,
continue ses traitements
Message de retour : le message est le résultat direct du message précédent par une relation
forte de cause à effet
Un objet peut s'envoyer des messages à lui même
6
Diagramme de séquences : Types de messages
Message synchrone
Message asynchrone
7
Message de création/destruction
Un message peut entraîner
La création ou la destruction d'objets
Occurrence d'exécution
Aussi appelé « focus de contrôle »
Correspond à la durée d'activité de l'objet <=> temps durant lequel il est actif
Invariant d’état
Étiqueter une ligne de vie pour mentionner des conditions
Doivent rester vraies pour que le reste d’une interaction soit valide
Fragments combinés
Cadre qui englobe une partie du diagramme de séquence (un fragment) pour
définir un fonctionnement non séquentiel
Opt
Loop Condition de garde
Alt
Break
Critique
Ref
…
Fragments combinés
Opt : Fragment parcouru si une condition est vérifiée
GAB
Porteur de carte
opt [désirez-vous un ticket]
récupérerTicket()
ticket
11
Fragments combinés
Loop : Répétition du fragment tant que la condition est vérifiée
Fragments combinés
Exemple : Loop
Fragments combinés
Alt : Equivalent à la structure de contrôle "si .. alors .. sinon".
Fragments combinés
Exemple : ALT
15
Exemple : DSS pour l’UC « Enregistrer un prêt ».
Systeme
: Bibliothécaire
1 : nouveauPret()
2 : indiquerEmprunteur(id)
3 : afficherPretsActuels(pret[])
loop livres empruntables
4 : emprunterLivre(ISBN)
5 : afficherDateRetourMaxi(date)
6 : finPret()
Fragment combinés
Rupture (Break): Fragment exécuté et met fin au fragment englobant
Fragment combinés
Critique : Fragment exécuté de façon atomique (d'un bloc)
Fragment combinés
parallèle (par) : opérandes peuvent être fusionnés et exécutés en //
Fragment combinés
Décomposition : mot clef "ref"
Méthode n°1
Fragment combinés
Décomposition : mot clef "ref"
Méthode n°2
Quelques erreurs fréquentes
1 : je sais parler avec moi même()
22