Vous êtes sur la page 1sur 23

UML

TD Diagramme de séquence
Exercice 1 : Types de messages
1. Quand un courrier électronique est envoyé par l'émetteur, celui-ci ne veut pas attendre
que le destinataire l'ait reçu et il n'y a pas d'intermédiaire. Peut-on utiliser un message
synchrone ou asynchrone ? Complétez la figure ci-dessous par des flèches représentant
des messages.
Exercice 1 : Types de messages
1. Un message asynchrone est indiqué ici.
Exercice 1 : Types de messages
2. Est-ce que transmettre est une opération ou un signal ? Dans tous les cas, donnez des
éléments d'un diagramme de classe cohérent avec le diagramme de séquence.

• Un signal est un type de message pouvant être échangé entre deux objets. Les signaux
sont utilisés pour représenter les messages asynchrones. Un signal peut transporter des
données, spécifiées au moyen des paramètres du signal.

• La représentation d’un signal dans un diagramme de classe se fait au moyen d’une


Classe stéréotypé « signal » avec deux caractéristiques son nom et ses attributs
(paramètres).
3. Un serveur de messagerie sert d'intermédiaire entre l'émetteur et le récepteur d'un
email. Le serveur est toujours en fonction. Est-ce qu'on peut utiliser des messages
synchrones pour l'envoi et la récupération de emails ? Complétez la figure ci-dessous
par des flèches représentant des messages.
3. Si on a le choix, il vaut mieux utiliser des messages synchrones, qui s'implémentent
facilement par des opérations. Un message synchrone est possible ici et c'est donc
préférable
4. Est-ce que poster est une opération ou un signal ? Dans tous les cas, proposez un
diagramme de classe cohérent avec le diagramme de séquence.
Exercice2 : Borne automatique
Cahier des charges
Lorsque la borne automatique est active, l’utilisateur sélectionne, grâce au clavier, sa
destination, puis la classe du billet (première ou seconde). Ensuite, il paie le montant
demandé en utilisant soit sa carte bleue qu’il insère dans la borne en composant son code,
soit en utilisant de la monnaie. Puis le billet est imprimé par la borne et l’utilisateur peut
alors le retirer.
Par défaut, on considère que la gare de départ est la gare où l’on se trouve, mais
l’utilisateur peut éventuellement décider de modifier la gare de départ. Un administrateur
est nécessaire pour la configuration de la borne automatique.

1. Elaborer le diagramme de cas d’utilisation, du système implanté dans la borne


automatique, située à l’intérieur même d’une gare, permettant d’acheter un billet
(métro, train, etc.).
Exo 2 : DUC d’une Borne automatique
Exo 2 : DUC d’une Borne automatique

On peut ajouter d’autres cas d’utilisations:


 UC1 «Paiement» (cas de base) : lien
d’inclusion avec «Acheter billet»
 UC2 «Carte Bleu» (cas particulier de UC1)
 UC3 «Monnaie» cas particulier de UC1
 UC4 «modifier gare départ» : lien
d’extension avec «Acheter billet»
Exo 2 : Diagramme de séquence système (Forme simplifiée)
Description textuelle du flot d’évènements principal (Acheter un billet de train en
utilisant la borne automatique)
1. l’utilisateur sélectionne, grâce au clavier, sa destination
2. l’utilisateur sélectionne ensuite la classe du billet (première ou seconde),
3. l’utilisateur insère sa carte bleue et paie le montant demandé,
4. la borne imprime le billet
5. l’utilisateur retire le billet imprimé.

2. Elaborer le diagramme de séquence


du scénario principal?
Exo 2 : Diagramme de séquence système (Forme simplifiée)
Description des flots d’évènements alternatifs (modifier la gare de départ):
1. l’utilisateur modifie la gare de départ,
2. puis, on reprend le flot d’évènements nominal (sélection de la destination, etc.).

3. Elaborer le diagramme
de séquence du scénario
alternatif?
Exo 2 : Diagramme de séquence système (Forme simplifiée)
On a deux diagrammes de séquences. Chaque diagramme permet de décrire un scénario
du cas d’utilisation "Acheter un billet en utilisant une borne automatique":
• flot d’événement principal (déroulement nominal)
• flot d événements alternatifs (changement de la gare de départ)

3. Elaborer un seul diagramme de séquence qui regroupe les deux scénarios (nominal et
alternatif) en utilisant les fragments combinés?
Exo2 : Diagramme de séquence d’objets (Borne automatique)
1. Modifier le diagramme de séquence simplifié en insérant les objets potentiels (classes),
à la place de l’objet «système»
2. compléter les messages nécessaires à la description du fonctionnement du cas
d’utilisation « Acheter un billet de train en utilisant la borne automatique »
Forme détaillée d’un DS : éclatement du système en classes
Dans la forme simplifiée d’un diagramme de séquence, le système est vu comme une
boîte noire. Sa forme détaillée permet de :
• mettre en évidence les différents composants et classes du système,
• décrire plus précisément les interactions entre les objets.

Cette forme détaillée se déduit de la forme simplifiée, sachant que :


• Les acteurs et les différentes composantes du système seront représentées par
des objets de classes ;
• Les interactions seront représentées par des messages échangés (appels de
méthodes) entre les objets des classes ;
Processus de développement
Processus de développement
La phase d'analyse du domaine permet d'élaborer la première version du diagramme de
classes appelée modèle du domaine.
Ce modèle doit définir les classes qui modélisent les entités ou concepts présents dans le
domaine métier de l'application (objet du monde réel).
 Ces classes ne doivent pas contenir d'opération, mais seulement des attributs.
Le diagramme de classes participantes effectue la jonction entre les cas d'utilisation, le
modèle du domaine et la maquette. Il modélise trois types de classes:
1. Les classes entités : qui proviennent directement du modèle du domaine.
2. Les classes de dialogues: qui permettent les interactions entre l'IHM et les utilisateurs.
3. Les classes de contrôles: qui modélisent la cinématique de l'application (la jonction
entre les classes de dialogues et les classes entités).
Eclatement du système: Recherche des classes
• Décomposer le système revient à déterminer les différentes classes qui le compose.
• Pour chaque classe potentielle, il faut rechercher ses responsabilités (sa raison d’être) et ses
collaborations (en utilisant la technique CRC (Classe / Responsabilité / Collaboration)).

Exemples:
Eclatement du système: Recherche des classes
• Décomposer le système revient à déterminer les différentes classes qui le compose.
• Pour chaque classe potentielle, il faut rechercher ses responsabilités (sa raison d’être) et ses
collaborations (en utilisant la technique CRC (Classe / Responsabilité / Collaboration)).

Exemple: Autres classes potentielles


Exo 2 : Diagramme de séquence d’objets
Exo2 : Diagramme de séquence d’objets « Borne automatique »
1. Ajouter d’autres classes potentielles « card reader » et « coin reader » par exemple?
2. Ajouter des fragments combinés au DS Objet de la borne automatique? (pour prendre
en compte la vérification de code bancaire et le changement de gare de départ)
3. Elaborer le diagramme de séquence d’objets détaillé
Exercice 3 :
• Le diagramme de séquences ci-
dessous fait appel à des éléments
qui peuvent être définis dans un
diagramme des classes. On
supposera que a.x est de type
Integer.
• Construisez un diagramme des
classes cohérent avec le diagramme
de séquences ci-dessus? On veut un
diagramme des classes simple mais
qui définisse tous les éléments
utilisés dans le diagramme de
séquence.
Exercice 3 : Diagrammes de classes et de séquences

Vous aimerez peut-être aussi