Vous êtes sur la page 1sur 22

UML

Diagrammes de séquence
Processus de développement logiciel

Analyse
des besoins Tests d'acceptation

Spécification
Tests système

Conception
architecturale Tests d'intégration

Conception
détaillée Tests unitaires

Développement

2
Diagrammes d'interaction
Objectif : Représenter les communications avec le logiciel et au sein
du logiciel

Diagramme de communication

Représentation spatiale des objets et de leurs interactions

Diagramme d'objet dont les associations sont étiquetées par les
messages envoyés

Diagramme de séquence


Chronologie des messages échangés entre les objets et avec les
acteurs

3
Diagrammes d'interaction
Objectif : Représenter les communications avec le logiciel et au sein
du logiciel

Diagramme de communication

Représentation spatiale des objets et de leurs interactions

Diagramme de séquence

Diagrammes équivalents en phase de conception : Description du lien


entre cas d'utilisation et diagramme de classes

4
Diagrammes d'interaction
Exemple : À partir d'un diagramme de classes et d'un cas d'utilisation

PiloteAuto Voiture Moteur


démarrer() allumer()

Diagramme de communication
1 : démarrer() 1.1 : allumer()
p : PiloteAuto v : Voiture m : Moteur

Diagramme de séquence
p : PiloteAuto v : Voiture m : Moteur
démarrer()
allumer()

5
Diagrammes d'interaction
Objectif : Décrire la réalisation des cas d'utilisation sur le système
décrit par le diagramme de classes
●Point de vue interne sur le fonctionnement du système

●Description au niveau de l'instance (état du système à un instant)


Description de scénarios particuliers

Représentation des échanges de messages

Entre les acteurs et le système, entre les objets du système



De façon chronologique

6
Diagrammes de séquence
Éléments du diagramme de séquence

Acteurs

Objets (instances)

Messages (cas d'utilisation, appels d’opération)

Principes de base : Représentation graphique de la chronologie des


échanges de messages avec le système ou au sein du système


Échanges de messages représentés horizontalement

7
Utilisation en phase de conception
Utiliser Classe1 Classe2

Acteur Système

Diagramme de cas d'utilisation Diagramme de classes du système

Objectif : Description de la réalisation d'un cas d'utilisation sur le


système décrit par le diagramme de classes

Problème : Communication entre les acteurs et le système vu comme


un ensemble d'objets

8
Utilisation en phase de conception
Utiliser Classe1 Classe2

Acteur Système

Diagramme de cas d'utilisation Diagramme de classes du système

Acteur InterfaceSystème Classe1 Classe2

Communication entre acteurs et système via une interface (texte, web,


physique...)
Solution : Création d'une classe d'interface qui :

gère les interactions avec les acteurs

encapsule le résultat des opérations

9
Utilisation en phase de conception
Utiliser Classe1 Classe2

Acteur Système

Diagramme de cas d'utilisation Diagramme de classes

: Acteur : InterfaceSystème objet1 : Classe1

utiliser()
opération(args) Classe2()
objet2 : Classe2
objet2
retour

détruire()
affichage

Diagramme de séquence du cas d'utilisation Utiliser


10
Éléments de base

acteur instance d'une classe


du diagramme de classes

Jean : Acteur objet1 : Classe1 objet2 : Classe2

opération1()
appel d'une opération2(args)
opération

retour2
retour1 exécution
ligne de vie

valeur renvoyée

11
Types de messages
Message synchrone : Émetteur bloqué en attente du retour

: GAB : Banque
flèche pleine
exécution vérifierSolde(compte)
bloquée

soldeOK

Message asynchrone : Émetteur non bloqué, continue son exécution


: Ascenseur : Voyant
flèche ouverte
allumer()

processus évoluant
pas nécessairement
en parallèle
de retour
12
Création et destruction d'objet

appel du constructeur
: PageWeb de la classe

Session()
nouvSession : Session
retour obligatoire
de l'instance créée exécution du
nouvSession
constructeur

destroy()

destruction de l'objet
(pas nécessairement
à la suite d'un message)

13
Message réflexif

: Catalogue livres : Ensemble appel d'une


opération interne
chercher(auteur)

trier()

listeLivresAuteurTriée

14
Alternative
Principe : Condition à l'envoi d'un message
Notation :

condition
a : Ascenseur p : Portes c : Cabine

[portes ouvertes] fermer() si la condition


est vérifiée

sinon
[portes fermées] déplacer(étage)

15
Alternative
Principe : Condition à l'envoi d'un message
Notation :
● Deux diagrammes

● Bloc d'alternative alt

a : Ascenseur p : Portes c : Cabine

alt fermer()
[portes ouvertes]

déplacer(étage)
[portes fermées]

16
Boucle
Principe : Répéter un enchaînement de messages
Notation :
● Note

● Bloc de boucle loop

cat : Catalogue livre : Livre


Pour chaque
livre du catalogue opération répétée
premierAuteur()
pour tous les objets
auteur
mentionnés

17
Boucle
Principe : Répéter un enchaînement de messages
Notation :
● Note

● Bloc de boucle loop

cat : Catalogue livre : Livre

loop(livre in cat) premierAuteur()

auteur

objets sur lesquels


répéter la boucle

18
Référence à un autre diagramme

b : Banque c : Compte cl : Client

ref
vérification du solde

ref
prélèvement agios notifié au client

référence à un
diagramme décrit ailleurs

19
Exemple – Analyse

Effectuer un
virement personnel
Employé

Système de gestion bancaire

Employé SGB

effectuerVirementP(id,noC1,noC2,mnt)

OK

20
Exemple - Conception
Banque 1
nom : string 1..*
Effectuer un 1..* Compte
virement personnel numéro : int 0..* Virement
1
Employé devise : Devise montant : float
1
1..* solde : float 0..* date : Date
Système de gestion bancaire Client 1..*
nom : string
1
naissance : Date

: Employé : SGB Client

effectuerVirementP(id,noC1,noC2,mnt)

ref chercher client c : Client

ref chercher comptes

ref créer virement v : Virement


ref effectuer virement
OK

21
Exemple - Conception

: Employé : SGB Client

effectuerVirementP(id,noC1,noC2,mnt)
chercher(id)
client

client : Client
compte(noC1)
c1
compte(noC2)
c2

Virement(c1,c2,mnt)
virement : Virement
virement
effectuer() c1 : Compte
retirer(mnt)
OK
c2 : Compte
déposer(mnt)

OK OK
OK

22

Vous aimerez peut-être aussi