20:29 2
Modélisation etmodèle
• La Modélisation consiste à créer une représentation
virtuelle de la réalité. Elle comporte deux composantes:
• L'analyse, c'est-à-dire l'étude du problème;
• la conception, soit la mise au point d'une solution au problème.
• Un Modèle est une simplification de la réalité (abstraction
de la réalité). Grâce au modèle il est possible de
représenter simplement un problème, un concept et le
simuler.
20:29 4
Qu’est ceque l’UML ?
• UML (Unified Modeling Language) est un langage de
modélisation graphique.
• Il est conçu pour représenter, construire et documenter
des systèmes logiciels utilisant les techniques orientées
objet.
• Il permet la création de plusieurs modèles d’un même
système, chacun privilégiant un aspect différent :
fonctionnel, dynamique, statique.
5.
20:29 5
Qu’est ceque l’UML ?
• Il offre plusieurs niveaux d’abstraction qui simplifient la conception des
solutions.
• Sa notation graphique est très adaptée à la conception orientée objet,
et sera beaucoup plus simple à manipuler que l’algorithmique
classique.
• Son côté visuel facilite également la comparaison et l’évaluation de
solutions.
• C’est le résultat d’un large consensus et du travail d’experts reconnus.
• UML est ainsi devenu un langage incontournable dans tout projet de
taille conséquente.
6.
20:29 6
Qu’est ceque l’UML ?
• UML est un langage qui permet de représenter des
modèles, mais il ne définit pas le processus d'élaboration
des modèles : UML n’est donc pas une méthode de
modélisation.
• Cependant, dans le cadre de la modélisation d'une
application informatique, les auteurs d'UML préconisent
d'utiliser une démarche :
• Itérative et incrémentale :
L’idée est simple : pour modéliser (comprendre et représenter) un
système, il faut mieux s’y prendre en plusieurs fois, en affinant son
analyse par étapes.
7.
20:29 7
Diagrammes d’UML
•Un diagramme d’UML est une représentation graphique,
qui s’intéresse à un aspect précis du modèle ; c’est une
perspective du modèle.
• UML propose 13 types de diagramme que l’on peut
classer en trois catégories : diagrammes fonctionnels,
dynamiques et statiques.
• Diagrammes fonctionnels (ou comportementaux).
1. Diagramme de cas d’utilisation.
2. Diagramme d’activités.
3. Diagramme d’états-transitions.
8.
20:29 8
Diagrammes d’UML
•Diagrammes dynamiques.
1. Diagramme de séquence.
2. Diagramme de collaboration.
3. Diagramme global d’interaction.
4. Diagramme de temps.
• Diagrammes statiques.
1. Diagramme de classes.
2. Diagramme d’objets.
3. Diagramme de paquetage.
4. Diagramme de composants.
5. Diagramme de déploiement.
6. Diagramme de structure composite.
20:29 11
Diagramme decas d’utilisation
• But de ce diagramme
• C’est souvent le premier diagramme construit lors du
développement d’un projet.
• Son but est de recenser les grandes fonctionnalités d’un système.
• Il va clarifier, filtrer et structurer les besoins des utilisateurs, et donc
les objectifs à atteindre par le système.
12.
20:29 12
Diagramme decas d’utilisation
• Ce diagramme insiste uniquement sur ce que fait le
système et non sur comment il va le faire.
• Les solutions d’implémentation font l’objet d’autres
diagrammes, comme par exemple les diagrammes de
classes.
• Cette démarche simplificatrice permet une meilleure
compréhension du système à développer, et permet de
vérifier tout au long de la conception que les besoins des
utilisateurs sont satisfaits.
13.
20:29 13
Diagramme decas d’utilisation
• Eléments du diagrammes des cas d’utilisation:
1. Frontière du système
2. Acteur
3. Cas d’utilisation
4. relations
14.
20:29 14
Diagramme decas d’utilisation
• Acteurs et cas d’utilisation
• Acteur :
Un acteur est un entité externe au système qui interagit directement avec
lui. L’acteur peut être humain, matériel,...
• Représentation :
15.
20:29 15
Diagramme decas d’utilisation
• Cas d’utilisation
• Un cas d’utilisation est ensemble des actions réalisées par le
système en réponse à une action d’un acteur;
• Est un moyen de recueillir et de décrire les besoins des acteurs du
système;
• Les cas d’utilisation peuvent être organisée en paquetages
• Représentation :
20:29 19
Diagramme decas d’utilisation
• On distingue entre deux types d’acteurs:
• Acteur principal : celui pour qui le cas d’utilisation produit un
résultat observable et qui a le pouvoir de le déclencher.
• Acteur secondaire : autre participant du cas d’utilisation sollicité
dans le cadre de sa réalisation.
• Représentation:
20:29 22
Diagramme decas d’utilisation
• Relations entre cas d’utilisation
• Afin de clarifier les diagrammes, de limiter le nombre de
liens et de gagner en lisibilité, UML permet d’établir des
relations de trois types entre les cas d’utilisation :
1. Relation d’inclusion.
2. Relation d’extension.
3. Relation de généralisation / spécialisation.
23.
20:29 23
Diagramme decas d’utilisation
• Relations entre cas d’utilisation
• Relation d’inclusion ou d’utilisation : un cas A est inclus dans un
cas B si la sollicitation de A entraine nécessairement celle de B
comme une partie de A.
• Représentation :
• Exemple:
24.
20:29 24
Diagramme decas d’utilisation
• Relations entre cas d’utilisation
• Exemple :
Dans cet exemple, la relation « include » indique que le cas d’utilisation
source contient aussi le comportement décrit dans le cas d’utilisation
destination.
En d’autres termes, pour réaliser l’objectif « imprimer solde compte », on
utilise les objectifs « consulter compte » et « imprimer un ticket » du
système
25.
20:29 25
Diagramme decas d’utilisation
• Relations entre cas d’utilisation
• Relation d’extension : un cas B étend un cas A si la sollicitation de
A peut éventuellement provoquer celle de B en complément de A.
• Représentation
• La relation d’extension est souvent soumise à condition. Cette
condition est représentée graphiquement sous forme de note.
26.
20:29 26
Diagramme decas d’utilisation
• Relations entre cas d’utilisation
• Exemple:
27.
20:29 27
Diagramme decas d’utilisation
• Relations entre cas d’utilisation
• Relation de généralisation / spécialisation (ou héritage) :
• indique qu’un cas B est un cas particulier d’un cas A, ou autrement dit
qu’un cas A est une généralisation d’un cas B.
• Un acteur en relation avec un cas A le sera aussi avec B.
• Représentation :
28.
20:29 28
Diagramme decas d’utilisation
• Relations entre cas d’utilisation
• Relation de généralisation / spécialisation (ou héritage) :
• Exemple:
29.
20:29 29
Diagramme decas d’utilisation
• Relation de généralisation / spécialisation (ou héritage):
• Indique qu’un acteur B est un cas particulier d’un acteur A. Tous les
cas d’utilisation accessibles à A le seront aussi à B.
• Représentation :
30.
20:29 30
Diagramme decas d’utilisation
• Relations entre cas d’utilisation
• Relation de généralisation / spécialisation (ou héritage) :
• Exemple:
31.
20:29 31
Diagramme decas d’utilisation
• Relations entre cas d’utilisation
• Exemple récapitulatif :
32.
20:29 32
Diagramme decas d’utilisation
• Exercice .
Dans un établissement scolaire, on désire gérer la réservation des salles de cours ainsi que du
matériel pédagogique (ordinateur portable ou/et vidéo projecteur).
• Seuls les enseignants sont habilités à effectuer des réservations (sous réserve de disponibilité de la
salle ou du matériel).
• Le planning des salles peut quant à lui être consulté par tout le monde (enseignants et étudiants).
Par contre, le récapitulatif horaire par enseignant ne peut ne peut être consulté que par les
enseignants.
• Enfin, il existe pour chaque formation un enseignant responsable qui seul peut éditer le récapitulatif
horaire pour l’ensemble de la formation.
• Questions
1. Identifier les acteurs,
2. Identifier les cas d’utilisation
3. Donnez le diagramme de cas d’utilisation (en utilisant le StarUML OU
ArgoUML ou un autre logiciel de votre choix)
33.
20:29 33
Diagramme decas d’utilisation
• Exercice .
Dans un établissement scolaire, on désire gérer la réservation des salles de cours ainsi que du
matériel pédagogique (ordinateur portable ou/et vidéo projecteur).
• Seuls les enseignants sont habilités à effectuer des réservations (sous réserve de disponibilité de la
salle ou du matériel).
• Le planning des salles peut quant à lui être consulté par tout le monde (enseignants et étudiants).
Par contre, le récapitulatif horaire par enseignant ne peut ne peut être consulté que par les
enseignants.
• Enfin, il existe pour chaque formation un enseignant responsable qui seul peut éditer le récapitulatif
horaire pour l’ensemble de la formation.
• Questions
1. Identifier les acteurs,
2. Identifier les cas d’utilisation
3. Donnez le diagramme de cas d’utilisation (en utilisant le StarUML OU
ArgoUML ou un autre logiciel de votre choix)
20:29 36
Diagramme declasses (DCL)
• But du diagramme de classes.
• Le diagramme de cas d’utilisation montre un système du point de
vue des acteurs.
• Le diagramme de classes va présenter la structure interne du
système.
• Il donne une vue statique du système, en montrant les classes et
leurs relations entre elles.
• L’aspect dynamique sera apporté par exemple par un diagramme
de séquence (voir la suite).
37.
20:29 37
Diagramme declasses (DCL)
• Classe d'objets :
Décrit un groupe d’objets ayant les mêmes propriétés et le même
comportement (même structure et même ensemble de méthodes)
afin d'en faciliter la gestion.
• Représentation:
• Exemple :
38.
20:29 38
Diagramme declasses (DCL)
• Approche classe / Objet
• Objet : entité identifiable du monde réel pouvant avoir ou pas une
existence physique.
• Un objet possède trois composantes :
1. Une identité.
2. Des variables définissant sont état (attributs).
3. Des sous programmes gérant son comportement (méthodes).
• Exemple d’une classe et d’une de ses instances
39.
20:29 39
Diagramme declasses (DCL)
• Approche classe / Objet
• Encapsulation : permet l’accès aux données uniquement via les méthodes.
• Association : représente une relation entre plusieurs classes
• Héritage : permet la classification, la généralisation et la spécialisation. est un
mécanisme de transmission des propriétés d’une classe (ses attributs et
méthodes) vers une sous-classe.
• Une classe peut être spécialisée en d’autres classes, afin d’y ajouter des
caractéristiques spécifiques ou d’en adapter certaines.
• Plusieurs classes peuvent être généralisées en une classe qui les factorise, afin de
regrouper les caractéristiques communes d’un ensemble de classes;
40.
20:29 40
Diagramme declasses (DCL)
• Approche classe / Objet
• Agrégation : est une relation qui permet de décrire un objet
composite en terme d'objets qui le constituent.
• Polymorphisme : est la capacité donnée à une même opération de
s’exécuter différemment suivant le contexte de la classe où elle se
trouve;
• Exemple : exécution d’un calcul de salaire de deux sous-classes
spécialisées (une pour les cadres, l’autre pour les non-cadres)
41.
20:29 41
Diagramme declasses (DCL)
• Visibilité des attributs et méthodes :
• Un attribut ou une méthode sont dits privés si leur utilisation est
interdite en dehors de la classe.
• Un attribut ou une méthode sont dits publics si leur utilisation est
autorisée en dehors de la classe.
• Un attribut ou une méthode sont dits protégés si leur utilisation est
limitée à la classe et ses descendantes.
42.
20:29 42
Diagramme declasses (DCL)
• Représentation de la visibilité :
• Public (+) : accès à partir de toute entité interne ou externe à la
classe
• Protégé (#) : accès à partir de la classe ou des sous-classes
• Privé (-) : accès à partir des opérations de la classe
• Exemple:
43.
20:29 43
Diagramme declasses (DCL)
• Possibilité d’initialisation des attributs:
• Possibilité d’initialisation des attributs Lors de la déclaration d’un
attribut on peut lui attribuer une valeur par défaut.
• Exemple:
44.
20:29 44
Diagramme declasses (DCL)
• Attributs de classes :
ce sont des attributs particuliers qui ont la même valeur pour toutes
les instances de la classe. L’exemple fondamental est un attribut qui
compte le nombre d’objets instanciés de la classe.
• Représentation : ils sont soulignés.
Exemple:
45.
20:29 45
Diagramme declasses (DCL)
• Attributs dérivés : attributs dont la valeur peut être
calculée à partir d’autres attributs et de formules de
calcul.
• Représentation : avec un « / » devant le nom.
• Exemple :
46.
20:29 46
Diagramme declasses (DCL)
• Multiplicité : il est possible d’indiquer la multiplicité d’un
attribut, c’est à dire le nombre de valeurs que la variable
peut stocker.
• Représentation : entre [ ].
• Exemple:
47.
20:29 47
Diagramme declasses (DCL)
• Méthodes
• Sont des fonctions applicables aux objets d’une classe
• Permettent de décrire le comportement d’un objet
• Dans la signature des méthodes on peut de façon
optionnelle :
• Donner des valeurs par défaut aux paramètres.
• Spécifier la nature des paramètres (entrée, sortie,
entrée/sortie).
48.
20:29 48
Diagramme declasses (DCL)
• Méthodes
• Méthodes de classes : ce sont des méthodes qui ne dépendent
pas des attributs propres de chaque objet mais qui portent sur les
attributs de classes.
• Représentation : elles sont soulignées.
49.
20:29 49
Diagramme declasses (DCL)
• Classe abstraite :
• classe qui ne peut être instanciée, car elle contient des méthodes
abstraites, c’est à dire des méthodes non implémentées.
• Une classe abstraite sert essentiellement à factoriser des
méthodes et attributs communs à plusieurs classes, et ce dans une
relation d’héritage.
• Représentation : On fait précéder les méthodes abstraites par le
stéréotype « abstract ».
50.
20:29 50
Diagramme declasses (DCL)
• Classes abstraites:
• Interface : il s’agit d’une classe totalement abstraite, c’est à dire
d’une classe sans attributs qui ne contient que des méthodes
abstraites.
• Son rôle est de regrouper un ensemble cohérent d’opérations.
• On utilise des interfaces pour classer les opérations en catégories
sans se soucier de leurs implémentations.
• Représentations d’une interface
51.
20:29 51
Diagramme declasses (DCL)
Exercice :
Une personne est caractérisée par son nom, son prénom, son sexe et son âge. Les objets
de classe Personne doivent pouvoir calculer leurs revenus et leurs charges. Les attributs
de la classe sont privés; le nom, le prénom ainsi que l’âge de la personne doivent être
accessibles par des opérations publiques.
1) Donnez une représentation UML de la classe Personne.
2) En plus des informations fournies précédemment, deux types de revenus sont
envisagés: d'une part le salaire et d'autre part toutes les autres sources de revenus. les
deux revenus sont représentés par des nombres réels. Pour calculer les charges globales,
on applique un coefficient fixe de 20% sur les salaires et de 15% sur les autres revenus.
Enrichissez la représentation précédente pour prendre en compte ces nouveaux éléments.
3) Un objet de la classe Personne peut être créé a partir du nom et de la date de
naissance. Il est possible de changer le prénom d'une personne. par ailleurs, le calcul des
charges ne se fait pas de la même manière lorsque la personne décède.
Enrichissez encore la représentation précédente pour prendre en compte ces nouveaux
éléments.
20:29 54
Diagramme declasses (DCL)
• Association :
Une association est une relation sémantique durable entre deux
classes.
• représente les liens qui existent entre les instances de ces classes.
• Chaque association peut être identifié par son nom
• Exemple :
une personne peut travailler pour une entreprise. La relation «travaille
pour» est une association entre les classes «personne» et «entreprise».
55.
20:29 55
Diagramme declasses (DCL)
• Multiplicité des associations
Est une information portée par le rôle, qui quantifie le nombre de fois
où un objet participe à une instance de relation
56.
20:29 56
Diagramme declasses (DCL)
• Multiplicité des associations
• Exemple:
• 1 : chaque personne travaille pour une et une seule entreprise
(toutes les personnes ont un emploi)
• 0..* : Une entreprise emploie de zéro à plusieurs personnes
57.
20:29 57
Diagramme declasses (DCL)
• Rôle d’association
Avec l’UML, l’extrémité d’une association peut être enrichie d’un
rôle:
• Un rôle définit la manière dont une classe intervient dans une relation,
est placé à une extrémité du lien d’association
• Toute association binaire possède 2 rôles
• Le professeur perçoit les Masters comme une certaine responsabilité et
un Master perçoit un professeur comme son responsable
58.
20:29 58
Diagramme declasses (DCL)
• Une association entre deux classes peut être multiple :
• « nom » est souvent un verbe complété par un sens de lecture.
• l’exemple suivant représente à la fois les vœux et les affectations qui lient les
étudiants aux stages en nommant les associations
20:29 60
Diagramme declasses (DCL)
• Association à navigabilité restreinte :
• Par défaut, une association est navigable dans les deux
sens.
• Mais, on peut aussi indiquer que les instances d’une
classe ne connaissent pas les instances d’une autre.
61.
20:29 61
Diagramme declasses (DCL)
• Contraintes sur les associations
• Une contrainte est une relation sémantique entre des éléments du
modèle qui spécifie les conditions et les propositions qui doivent
être respectées, il s’agit d’un texte encadré d’accolades.
62.
20:29 62
Diagramme declasses (DCL)
• Contraintes sur les associations:
• Dans cet exemple, on peut faire un choix entre deux associations
possibles.
63.
20:29 63
Diagramme declasses (DCL)
• Classe Association
• Certaines associations nécessitent de stocker des informations
complémentaires qui, d’un point de vue conceptuel, ne peuvent
faire partie d’aucune des classes de la relation.
• On crée alors une nouvelle classe dite classe d’association,
destinée à contenir ces informations.
64.
20:29 64
Diagramme declasses (DCL)
• Agrégation :
• est une association qui permet de représenter un lien de type « ensemble »
comprenant des « éléments »
• est une association non symétrique : l’une des extrémités joue un rôle
prédominant par rapport à l’autre
• Elle est possible d’utiliser une agrégation dans les cas suivants :
1. Lorsqu’une classe fait partie d’une autre classe ;
2. Lorsqu’une action sur une classe implique une action sur une autre classe;
3. Quand les objets d’une classe sont subordonnées aux objets d’une autre classe.
65.
20:29 65
Diagramme declasses (DCL)
• Propriétés de l’agrégation :
• Les cycles de vie de l’agrégat et de ses éléments agrégés sont
indépendants : ils peuvent exister l’un sans l’autre.
• Un élément peut appartenir à plusieurs agrégats.
• L’agrégation peut être multiple comme une association classique
• Exemples d’agrégation :
66.
20:29 66
Diagramme declasses (DCL)
• Agrégation
• Exemple :
Ici, on exprime qu’un fichier peut être attaché à un email (ou à plusieurs,
au même à aucun) et qu’un email peut (ou non) attacher (contenir une
copie) un ou plusieurs fichiers
67.
20:29 67
Diagramme declasses (DCL)
• Agrégation particulière : Composition
• Les cycles de vie du composite et de ses composants sont liés : la création
ou la destruction d’un composite implique celle de ses composants.
• La suppression de la classe composé implique la suppression de la ou des
classes composant.
• La valeur maximale de multiplicité du côté du conteneur ne doit pas
excéder 1 puisque les objets, instances de la classe des composants,
doivent tous appartenir au même objet conteneur (Un élément ne peut
appartenir qu’à un seul composite).
20:29 69
Diagramme declasses (DCL)
• Dépendance :
relation unidirectionnelle indiquant qu’une classe est modifiée si
l’élément dont elle dépend est lui même modifié
• Représentation :
• Exemple :
70.
20:29 70
Diagramme declasses (DCL)
• Dépendance
• Une dépendance est une relation unidirectionnelle exprimant une
dépendance sémantique entre des éléments du modèle.
• Elle indique que la modification de la cible peut impliquer une
modification de la source.
• On utilise souvent une dépendance quand une classe en utilise
une autre comme argument dans la signature d’une opération.
71.
20:29 71
Diagramme declasses (DCL)
• Héritage :
relation de spécialisation/généralisation entre deux classes. Elle
indique qu’une classe dite classe fille spécialise une autre classe
dite classe mère, i.e. qu’elle possède les attributs et les méthodes de
la classe mère plus d’autres qui lui sont propres.
• Représentation :
72.
20:29 72
Diagramme declasses (DCL)
• Héritage :
• Les deux visions de l’héritage :
• Spécialisation :
On étend les propriétés d’une classe à des sous-classes plus
spécifiques. Cela permet donc la réutilisation de modèles déjà
existants.
• Généralisation :
On factorise les propriétés communes d’un ensemble de
classes dans une super-classe plus abstraite. Cela permet de
gagner en généricité.
20:29 75
Diagramme declasses (DCL)
• Propriétés de l’héritage :
• Une classe fille possède les attributs et méthodes de sa classe
mère mais n’a accès à ceux-ci que s’ils sont déclarés « publics »
ou « protégés ».
• Une classe fille peut redéfinir (avec la même signature) des
méthodes de la classe mère. C’est le mécanisme de
polymorphisme.
• Les associations de la classe mère s’appliquent par défaut aux
classes filles.
76.
20:29 76
Diagramme declasses (DCL)
• Interfaces:
• D’autres classes utiliseront l’interface pour réaliser leurs
opérations. On les dit classes clientes de l’interface.
• C’est un lien de dépendance qui unit une classe cliente à une
interface, complété par le stéréotype « uses ».
• Représentation :
77.
20:29 77
Diagramme declasses (DCL)
• But d’une interface
L’interface est utilisée pour diminuer le couplage
entre les classes car une classe « cliente » qui
utilise les services spécifiés dans une interface
n’a pas besoin de connaître quelle classe «
serveur » implante réellement ce service ni de
quelle manière ces services sont implantés.
20:29 79
Diagramme declasses (DCL)
• Plan d’élaboration d’un DCL
• Identifier les classes. Cela peut se faire à partir d’une liste de
classes « candidates » fournies par un expert du domaine. On
éliminera les classes redondantes et les classes superflues (celles
qui ne sont pas en rapport direct avec le problème).
• Établir les associations entre les classes
• Identifier les attributs des classes..
80.
20:29 80
Diagramme declasses (DCL)
• Plan d’élaboration d’un DCL
• Organiser et simplifier le modèle, en particulier en utilisant la
relation d’héritage.
• Recommencer toute cette procédure du début à la fin autant de
fois que nécessaire. Au fil des itérations, le modèle s’affinera.
• Utiliser un diagramme d’objets pour donner un exemple, ou pour
préciser un aspect délicat du diagramme de classes.
81.
20:29 81
Exercice
A partirdes phrases suivantes, élaborez le diagramme de classe
Correspondant:
1. Des compagnies aériennes proposent différents vols.
2. Un vol est ouvert a la réservation et fermé sur ordre de la Compagnie
3. Un client peut réserver un ou plusieurs vols, pour des passagers
différents.
4. Une réservation concerne un seul vol et un seul passager
5. Une réservation peut être annulée ou confirme
6. Un vol a un aéroport de départ et un aéroport d'arrivée.
7. Un vol a un jour et une heure de départ et un jour et une heure
d'arrivée.
8. Un vol peut comporter des escales dans des aéroports
9. Une escale a une heure d'arrivée et une heure de départ.
10. Chaque aéroport dessert une ou plusieurs villes
20:29 84
Diagramme deobjets (DOB)
• Un diagramme d’objets représente des instances de
classes et leurs relations.
• Il sert entre autres à illustrer le diagramme de classes en
montrant un exemple explicatif du modèle.
• Il va permettre également de clarifier certaines relations
entre classes, en particulier les associations réflexives et
multiples.
20:29 86
Diagramme deobjets (DOB)
• Représentation d’objet en UML
• Trois représentation possibles des instances :
• Exemples :
87.
20:29 87
Diagramme deobjets (DOB)
• Exemple : reconsidérons cette relation réflexive.
• Un diagramme d’objets va permettre de mieux voir les liens entre
des instances de la classe Personne qui n’ont pas le même rôle.
88.
20:29 88
Diagramme deobjets (DOB)
• Exemple (suite) :
le diagramme d’objets correspondant.
20:29 90
Diagramme deobjets (DOB)
• Diagramme d’objets : liens entre objets
• Les objets composites de sous-objets peuvent être visualisés :
• Les objets composites sont instances de classes composites
91.
20:29 91
Diagramme deobjets (DOB)
• Exercice:
Préparer un diagramme d'objets correspondant au
voyage imaginaire décrit ci-après. Le diagramme d'objets
contiendra uniquement les objets utiles dans le cadre de
cet exemple.
« Ali a été parti le 20 décembre 2021 à Paris suite à sa
réservation de voyage numéro R12502/15 du vol V4567
de la compagnie RAM; vol qui part tous les jours à 7h15
de l'aéroport Mohammed 5 de Casablanca et qui arrive à
10h10 à l'aéroport de Charles de Gaulle»
20:29 94
Diagramme deséquence (DES)
• Il donne une description dynamique du système.
• Il va permettre d’établir un lien entre le diagramme de cas
d’utilisation (vue fonctionnelle et externe d’un système) et le
diagramme de classes (vue statique et interne).
• Représente les interactions entre objets en précisant la chronologie
des échanges de messages.
• Permet de représenter les scénarios d’un cas d’utilisation donné:
• un scénario est une instance d’un cas d’utilisation
• Un message reçu par un objet déclenche l’exécution d’une opération, et en
général renvoie un message qui correspond au résultat de l’opération.
95.
20:29 95
Diagramme deséquence (DES)
• Le cœur d’un diagramme de séquence est la description
des échanges de messages entre éléments du système
ou acteurs extérieurs.
• Les messages les plus courants sont :
• L’envoi d’un signal.
• L’appel d’une méthode d’un objet.
• La création ou la destruction d’un objet.
96.
20:29 96
Diagramme deséquence (DES)
• Lignes de vie et périodes d’activité
• Ligne de vie :
représente un participant à une interaction. C’est par exemple un des
objets du système ou un acteur extérieur.
• Représentation :
97.
20:29 97
Diagramme deséquence (DES)
• Lignes de vie et périodes d’activité
• Une ligne de vie signifie qu’un élément existe mais il n’est pas
nécessairement actif.
• Période d’activité : marque le fait qu’un élément soit actif. Cette
période commence généralement à la réception d’un message et
peut se clôturer par l’envoi d’une réponse.
• On la représente par un rectangle blanc sur la ligne de vie de
l’élément en question.
• Représentation :
98.
20:29 98
Diagramme deséquence (DES)
• Lignes de vie et périodes d’activité
• Scénario A
99.
20:29 99
Diagramme deséquence (DES)
• Création et destruction d’instances
• Un message peut également commander la création ou la
destruction d’un objet.
• La destruction d’un objet, se représente par « X »
• Représentation:
100.
20:29 100
Diagramme deséquence (DES)
• Message synchrone : message bloquant l’activité de son
expéditeur. L’émetteur reste en attente de la réponse à son
message,
• Cela correspond par exemple à l’appel d’une méthode d’un objet.
• Représentation :
• Réponse :
101.
20:29 101
Diagramme deséquence (DES)
• Message asynchrone : Message ne bloquant pas l’activité de son
expéditeur. L’émetteur n’attend pas la réponse à son message, il
poursuit l’exécution de ses opérations
• Cela correspond par exemple à l’envoi d’un signal.
• Représentation
20:29 103
Diagramme deséquence (DES)
• Fragments d’interaction combinés
Principe.
• Dans des situations complexes, on décomposera une interaction en
fragments, qui vont permettre de modéliser par exemple une alternative,
une itération ou encore une exécution de tâches en parallèle.
• Ces fragments d’interaction pourront faire intervenir tous ou une partie
des éléments du système.
• Les combiner et les imbriquer permettra alors de rendre compte de la
complexité d’un système.
20:29 105
Diagramme deséquence (DES)
• Fragments d’interaction combinés
• Opérateurs d’alternative et d’itération
• Opérateur alt : permet de modéliser une alternative entre plusieurs
scénarios.
• Représentation :
106.
20:29 106
Diagramme deséquence (DES)
• Fragments d’interaction combinés
• Opérateurs d’alternative et d’itération
• Exemple :
107.
20:29 107
Diagramme deséquence (DES)
• Fragments d’interaction combinés
• Opérateurs d’alternative et d’itération
• Opérateur opt : permet de modéliser un scénario optionnel. Selon la
validité d’une condition, une interaction aura lieu ou pas.
• Représentation :
108.
20:29 108
Diagramme deséquence (DES)
• Fragments d’interaction combinés
• Opérateurs d’alternative et d’itération
• Exemple
109.
20:29 109
Diagramme deséquence (DES)
• Fragments d’interaction combinés
• Opérateur break : permet de modéliser un scénario de rupture.
Selon la validité d’une condition, le scénario de l’interaction est
abandonné au profit du scénario contenu dans le fragment break.
• Représentation :
20:29 112
Diagramme deséquence (DES)
• Fragments d’interaction combinés
• Opérateur loop : permet de modéliser une itération. Le nombre de
boucle est compris entre une valeur minimum et une valeur
maximum, et peut de plus être soumis à une condition.
• Représentation :
20:29 114
Diagramme deséquence (DES)
• Fragments d’interaction combinés
• Opérateur par : permet de modéliser des interactions ayant lieu en
parallèle. Dans chaque opérande les évènements se déroulent
dans l’ordre, mais pris globalement ils peuvent s’entrelacer.
• Représentation
20:29 116
Diagramme deséquence (DES)
Exercice d'application
Le déroulement de réservation de vol est le suivant:
• le Client sélectionne un vol.
• Une validation de nombre de place automatique du système se déclenche.
• Si le nombre de places réservés est inferieur au nombre de places
disponibles dans un vol, la création de la réservation se lance, sinon une
erreur s'affichera au client.
Le déroulement de création de vol est le suivant
• Le gestionnaire affecte un avion à un vol: il doit sélectionner un avion
disponible et l'affecter au vol
• En suite il doit sélectionner un aéroport de départ et un autre d'arrivée
• Puis il crée un vol après avoir spécifier les autres informations requis
Elaborez les DS relatifs à : « réserver dans un vol » et« créer un vol »