Vous êtes sur la page 1sur 36

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

Vous aimerez peut-être aussi