Académique Documents
Professionnel Documents
Culture Documents
OBJET
Diagrammes UML
Prof. Zouhair IBN BATOUTA
Processus De Développement Logiciel Cascade
- UML
1999 1.3
- 1997(Q4) U M L 1.1
- Booch’9 O M T-
1993 3 2
Analyse
Modèle Conception
Modèle de Réalisation
Modèle de Déploiement
Modèle de
d’Analyse Conception Réalisation Déploiement
diagrammes de séquence
diagramme de communication
diagramme global d'interaction
Prof. Zouhair IBN BATOUTA
diagramme de temps
UML est une proposition complexe et en constante évolution dont nous n’étudions
que les bases.
conceptuel physique
la structuration
des objets les composants
Vue logique Vue logiciels
statique implantation
Diagrammes
classes, objets, Diagrammes
collaborations, composants
séquences
les fonctions Vue externe
du système cas
d’utilisation
Vue logique Vue
dynamique déploiement
la dynamique Diagrammes
des objets l’architecture
Diagrammes déploiement physique
états, activités
30
Prof. Zouhair IBN BATOUTA
Cas d’utilisation
(Définition)
Un cas d’utilisation est une séquence d’activités ou
d’actions organisées en étapes distinctes, et qu’un système
effectue
en réponse à une sollicitation extérieure
Le cas d’utilisation est déclenché par un événement extérieur au
système appelé événement initiateur
Remarques :
Un cas d’utilisation a au plus un acteur principal.
Un acteur principal obtient un résultat observable du système
tandis qu’un acteur secondaire est sollicité pour des informations
complémentaires.
En général l’acteur principal initie le cas d’utilisation d utilisation
sollicitations.
Cas d’utilisation interne :
Quand un cas n’est pas directement relié à un acteur, il est
qualifié de cas d’utilisation interne
25
Prof. Zouhair IBN BATOUTA
Acteur
(Notation)
• Un acteur est représenté
Notation
par un petit personnage
• Le nom de l’acteur
apparaît sous le petit
personnage
• On peut définir des Utilisateu
catégories d’acteurs r
plus générales
ou
au contraire spécialiser
un type d’acteur Utilisateu Utilisateu
r r
26
Prof. Zouhair IBNexterne
BATOUTA interne
Comment déterminer les
acteurs
Se poser les questions suivantes :
27
Prof. Zouhair IBN BATOUTA
Diagramme de cas d’utilisation
(Définition Rappel)
Le diagramme de cas d’utilisation est une représentation
contextuelle de haut niveau du système modélisé
d’utilisation
- les dépendances entre
cas d’utilisation Cas d’utilisation 3
Acteur 2
29
Prof. Zouhair IBN BATOUTA
Diagramme de cas d’utilisation
(Notation)
30
Prof. Zouhair IBN BATOUTA
Interaction entre a cteur et cas
d’utilisation
• Elle est représentée par Retirer
dans le sens de
l’interaction
Client
• Une seule association est 1
échangés
• L’association peut comporter 1
des cardinalités *
31
Prof. Zouhair IBN BATOUTA Consulter compte
Dépendances entre cas d’utilisation
Il existe 3 types de dépendances entre use cases :
d’utilisation
Cas d’utilisation 2
flèche pointillée
étiquetée
« include », pointant
vers le Le cas d’utilisation 1 utilise
cas d’utilisation utilisé systématiquement le cas d’utilisation 2
de la dépendance 2. Etape2
3. Etape3 (include)
d’utilisation contient une 4. …
référence vers le
cas d’utilisation
inclus Cas d’utilisation 1 Authentifier
carte
« include »
Cas d’utilisation 2
• L’inclusion est signalée par
le texte « (include) » à Cas
d’utilisation 2
l’étape correspondante
Acteur 1
34
Prof. Zouhair IBN BATOUTA
Dépendance d’utilisation
Retirer
« include »
Cas d’utilisation 2
argent
« extend »
paragraphe
« Exceptions » de la •Titre
description du cas d’utilisation •Résumé (une phrase)
•Acteurs
•Pré-conditions
•Scénario nominal
•.Exceptions
Exception
•
s Post-conditions
39
Prof. Zouhair IBN BATOUTA
Dépendance de Généralisation
/spécialisation
• Indique qu’un cas Notation « include »
d’utilisation est une
spécialisation d’un autre Cas d’utilisation 1 Authentifier
carte
cas d’utilisation Cas d’utilisation 2
41
Prof. Zouhair IBN BATOUTA
Exemple 2:
Exemple 3:
Entre acteurs
47
Recommandations (suite)
Lorsque le système est complexe, il n’est pas anormal
d’avoir de nombreux cas d’utilisation. Il faut alors les
classer et les rassembler dans des bibliothèques de cas
d’utilisation
on définit pour cela des paquetages (notion abordée
dans
ce cours)
Les Diagramme
permet de décrirede
les contexte statique
acteurs du système.
spécifie le nombre d’instances d’acteurs reliées au système à
un moment donné.
Ce diagramme est un diagramme de classe UML ne faisant
intervenir que les acteurs et le système
10/08/2012
Corrigé
Identification des acteurs :
- Administrateur
- Client
Identification des cas d’utilisations
:
- Consulter le catalogue
- Commander un produit
- Mettre à jour le catalogue
- Traiter une commande
10/08/2012
Corrigé
Commander
un produit
Consulter le
catalogue
Client
Mettre à jour
le catalogue
Administrateur
Traiter la
commande
10/08/2012
Corrigé
Description textuelle du cas d’utilisation
Nom du cas d’utilisation : Mettre à jour le catalogue
Acteurs déclencheurs : Administrateur.
Contexte de déclenchement: l'acteur sélectionne la mise à jour
d’un
catalogue.
Pré-conditions : l’acteur s’est connecté au système et choisit
un catalogue
Description du UC : permet à l'acteur de gérer un catalogue à
savoir : l’ajout, la modification et la suppression du catalogue.
Post-conditions : le catalogue est mise à jour.
Scénario nominal :
1.Connexion au système ;
2. Sélection d’un catalogue
3. Mise à jour du catalogue.
10/08/2012
Conclusion
L'objectif poursuivi par les cas d'utilisation est de
permettre de décrire, dans des documents lisibles
par tous, la finalité des interactions du système et
de ses utilisateurs.
Ils ne doivent pas chercher l'exhaustivité,
mais clarifier, filtrer et organiser les besoins !
10/08/2012
Exercices: Passage 2
10/08/2012
Prof. Zouhair IBN BATOUTA
Exercices: Passage 3
42
Exemple de scénario (I)
CAS D’UTILISATION: prendre une commande
Nom : prendre une commande
44
Exemple de scénario (III)
CAS D’UTILISATION
Nom : prendre une commande
Contexte : système de prise de commande par téléphone pour un
club de loisir…
Objectif : le membre, après avoir consulté le catalogue, téléphone
pour commander
Scénario :
# 1 : le télévendeur identifie l’internaute
# 2 : le membre choisit les articles commandés
# 3 : le système accepte la commande
# 4 : le système envoie la commande à la logistique
Extensions :
# 1a : l’internaute n’est pas membre…
# 2a : un des articles n’est pas en nombre suffisant : proposer une
réduction du nombre d’article ?
# 3a : l’internaute a eu un incident de paiement : est-il VIP ?
55
D iagramme de
( classes Définition)
Le diagramme de classes est un diagramme
entités-associations décrivant les différentes classes,
leur structure et les associations statiques les
unissant
Le diagramme de classes est un diagramme structurel ne
présentant que les classes et pas les instances de classe
Clien CompteCourant
1 0..
t
possède 1
*
1
souscri achèt
t e
0.. *
1
Plan Epargne Actions
Actions
Classe
(Définition)
Une classe est une abstraction de choses
du monde réel possédant des caractéristiques
et des comportements communs
58
Classe
A bstraction
Abstraction
Chien Personne
age age
pedigree nationalit
courir() é
aboyer() se promener() 59
crier()
Classe
(Notation)
Une classe Notation
est
représentée par un
rectangle découpé
en 3 parties
<< Stéréotype >>
Nom paquetage :: Nom classe
Sont présents :
le nomde Attributs
la classe
la listede Opérations
ses attributs
la listede
ses opérations
60
Nom de la classe
61
Attribut de la classe
(Définition et notation)
Un attribut est une caractéristique intrinsèque
partagée par tous les objets d’une classe
On associer à
peut type des Nom paquetage :: Nom classe
l’attributqu’il peut prendre
valeurs nomAttribut1 : typeAttribut1 = valeurInitiale1
…
nomAttributN : typeAttributN = valeurInitialeN
le
On peut donner
une 62
valeur initiale à l’attribut
Attribut de la classe
Recommandations pour trouver les
attributs
Les 3 règles d’or de l’attribut :
64
Opération de la classe
(Définition et notation)
Une opération est un service que propose
une classe sur son interface
66
Exemple de classe
Compte
numero
solde
effectuerVirement()
Accesseurs
getSolde()
setSolde()
getNumero()
setNumero()
67
Visibilité et Portée
des constituants de la classe
La visibilité précise Notation
manière
la dont un nom peut
être vu et utilisé par les Nom Classe
autres (public, protégé,
privé)
+Attribut public
#Attribut
La portée précise protégé
quel contexte un dans -Attribut privé
prend sa nom Attribut de
signification classe
(instance ou classe) ~ Paquetage
/Attribut dérivé
Par défaut, la visibilité est
+Opération publique()
publique et la portée est #Opération protégée()
d’instance -Opération privée() 68
Opération de
Association
(Définition)
Une association est une abstraction de liens
qui peuvent exister entre les instances de plusieurs classes
A bstraction
Abstraction
Chien Personne
Abstraction
âge
âge
nationalit
courir() é
aboyer() se promener() 70
2011 KARIM LAMIAA crier()
Association
(Notation)
Une association est représentée au moyen d’un
trait
orienté reliant chacune des classes concernées
Il est possible de nommer l’association et de préciser les
rôles tenus par chaque classe
Notation
Client achète Voiture
73
Association binaire et n-aire
Une association binaire est matérialisée par un trait
plein entre les classes associées.Elle peut être
ornée d’un nom, avec éventuellement une précision
du sens de lecture (▸ ou ◂).
Quand les deux extrémités de l’association pointent
vers la même classe, l’association est dite réflexive.
74
Prof. Zouhair IBN BATOUTA
Association n-aire
Une association n-aire lie plus de deux
classes.
75
Prof. Zouhair IBN BATOUTA
Nom et rôles de la classe
(Recommandations)
réflexive
77
Navigabilité de l’association
La navigabilité d’une
association permet de
définir quel
l’association
dans peut sens Notation
parcourue être
Personne a
Film
La navigabilité
vu
association
d’une est
par
modéliséeune flèche sur
l’extrémité être
Chaque personne a accès aux films qu'elle a déjà vus,
atteinte
pouvantpar navigation mais à partir d'un film, on interdit de retrouver la liste
des personnes l'ayant vu
La navigabilité peut être bi-
directionnelle
L’absence de flèche sur les Client achète Voiture
deux extrémités signifie que
l’association est bi-
directionnelle
L’association peut être parcourue dans les deux sens
78
Multiplicités de l’association
La multiplicité
Notation
associée est
à extrémité une Personne emploie Société
l’association de
indique combien 1 ..*
1
d’instances de et la Une société emploie de une à plusieurs personnes
Une personne est employée par une seule
classe société
considérée
peuvent être liées à Client achète Voiture
une instance de
l’autre classe 0..1 *
Un client achète zéro à plusieurs voitures
Une voiture peut être achetée par un client au plus
79
Multiplicités de l’association
La multiplicité est une spécification respectant les
conventions suivantes :
0..1 : zéro ou un
* : de zéro à plusieurs
1..* : de un à plusieurs
naturel)
Contraintes sur association
Notation
* est nominé *
Prix Personne
{Sous-ensemble}
* est lauréat 1
Les personnes lauréates d’un prix sont obligatoirement choisies parmi celles qui
sont nominées pour ce prix
Contraintes d’ordonnancement sur
association
Ce type de contrainte permet de modéliser le cas
où pour une instance donnée, l’ensemble des
instances avec lesquelles elle est en relation doit
être ordonné
Notation
{Ordonné}
0..* 0..6
Grand prix est dans
Pilote
les points
Lors d’un grand prix au maximum 6 pilotes peuvent être dans les points
Ces 6 pilotes sont classés à l’arrivée
Contraintes d’exclusion sur association
Ce type de contrainte permet de modéliser le cas
où pour une instance donnée d’une classe, une
seule association prise parmi plusieurs possibles,
peut être valide à un instant donné
Notation
employé
Société Personne
0..*
{Ou - exclusif}
employeur
Une personne peut être soit employée par une société, soit
employeur
d’une société
Mais une personne ne peut pas être à la fois employeur et employé
Navigabilité
La navigabilité indique s’il est possible de traverser une
association.
On représente graphiquement la navigabilité par une flèche du côté
Par défaut, une association est navigable dans les deux sens.
la terminaison du côté de la classe Commande n’est pas
navigable : cela signifie que les instances de la classe Produit ne
stockent pas de liste d’objets du type Commande. Inversement, la
terminaison du côté de la classe Produit est navigable : chaque
objet commande contient une liste de produits.
Implicitement, ces trois notations ont la même sémantiq
85
Qualificateur d’une association
Le qualificateur est un attribut ou un ensemble
d’attributs permettant de partitionner l’ensemble
des instances d’une classe qui sont en relation
avec une instance donnée
Le qualificateur permet de restreindre la
multiplicité de l’association
Notation
Qualificateur = attribut1, …,
attributN
Qualificateur d’association
Exemples
1..*
Université Salle
possède
0..1
Université numéro Salle
possède
88
Classe associative
Exemples
Société Personne
1..*
nom nom
numSiret prenom
adresse age
Emploi
fonctio
n
salaire
Etudiant Concours
nom
1..* 1..* nom école
prénom date
lieu
adresse
note
Résultat
Prof. Zouhair IBN BATOUTA
Les différents types
d’association
Il existe plusieurs types d’association
L’agrégation
Forme spéciale d’association entre un tout et une partie
La composition
Forme spéciale d’agrégation où le cycle de vie de la partie est
régi par celui du tout
L’héritage
Forme spéciale d’association permettant de factoriser les
caractéristiques et comportement communs à un ensemble
de classes
L’association simple
Ce sont les associations qui ne se réclament d’aucune
des catégories précédemment citées
90
Agrégation
Une agrégation est une association non symétrique dans laquelle
l’une des deux classes joue un rôle prépondérant
Une agrégation est une relation tout-partie entre un agrégat (le tout)
et un composant (la partie)
L’agrégation est représentée par un losange blanc du côté de l’agrégat
Le composant peut appartenir simultanément à plusieurs agrégats
Le cycle de vie des composants n’est pas tributaire de celui de
l’agrégat
CLAVIER
ORDINATEUR
0..*
COMPOSANT
© 2011 KARIM LAMIAA COMPOSEE 91
AGREGAT
Composition
Une composition est une agrégation à part entière
La composition est représentée par un losange noir du côté
de l’agrégat
Le composant ne peut pas appartenir simultanément
à plusieurs agrégats (multiplicité 1 ou 0..1 côté agrégat)
Le cycle de vie des composants est tributaire de celui
de l’agrégat
HOMME TETE
possède
Université Salle
1..*
*
Personne Compte
Compte
numér
o
solde
getSolde()
CompteCourant CompteEpargne
montantDécouvertAutorise tauxEpargne
getDecouvert() calculerIntérêts()
95
Classe et opérati on abstraites
Une classe abstraite est une classe
pour laquelle il n’est pas possible de
créer d’instances directement
Son nom est écrit en italique Forme géométrique
96
Prof. Zouhair IBN BATOUTA
Prof. Zouhair IBN BATOUTA
Discriminant s ur relation
d’héritage
La spécialisation d’une
super-classe peut avoir
lieu selon différents
critères simultanés
Personne
Chacun de ces critères
est représenté par une sexe travail
chaîne de caractères et
s’appelle un discriminant
Homme Femme Etudiant
Employé
Le discriminant est
positionné à côté de la
sous-arborescence qu’il
qualifie
97
Discriminant sur relation d’héritage
98
Implémentation : Héritage
Sont présents :
le nom de l’objet
la liste des
attributs
Nom de l’objet
(Notation)
Le nom de l’objet peut Notation
être présenté selon trois
formats plus ou moins
précis nomObjet
Il peut contenir :
Un nom optionnel
Ou nomObjet : nomClasse
identifiant l’objet de
manière unique
Le nom optionnel de la
classe à laquelle Ou : nomClasse
appartient l’objet
Le nom de l’objet est
souligné
103
Diagramme d’objets
Exemple
Diagramme de classes
prénom activit
employeur é
Diagramme
Philippe:Personne d’objets
Nagora:Société
nom = Dupont
nom = Nagora
prénom = Philippe
activité = SSII
Eric:Personne
nom = Durand
prénom =
Eric
Objet composit e
(Notation)
Un objet composé de sous-
objets est appelé Notation
composite
nomComposite : classeComposite
Les objets composites sont
issus de classes liées par : classePartie1 : classePartie2
une composition
Diagramme de
classes
possède
Université Salle
1..*
Diagramme d’objets
Orsay : Université
salle H123 :
Salle salle G246
: Salle
Objet composite
Exemple
Lien
Lien (suite)
Lien (suite)
Diagramme d’objets
(Recommandations)
Le diagramme d’objets ne doit être utilisé que pour
clarifier certaines structures complexes apparaissant sur
un diagramme de classes
1 *
Exemple
Exemple : montrer une
défaillance du Diag classe
Exemple
Exercice
Exercice
Exercice
Solution
Exercices similaires
112
EXEMPLE
Le diagramme suivant représente une cabine
d’ascenseur qui demande à une porte de
s’ouvrir.
113
EXEMPLE 2
Les différents messages sont numérotés
pour indiquer l’ordre des envois
114
Diagramme de communication
Diagramme de communication illustrant la
recherche puis l’ajout, dans son panier
virtuel, d’un livre lors d’une commande sur
Internet.
115
Diagramme de communication
Contrairement à un diagramme de séquence, un
diagramme de communication rend compte de
l’organisation spatiale des participants à
l’interaction, il est souvent utilisé pour illustrer un cas
d’utilisation ou pour décrire une opération.
119
Objet du diagramme
séquence (Notation)
Dans un diagramme de
séquence, on ajoute à l’objet un Notation
axe temporel représentant sa
ligne de vie
nomObjet: nomClasse
Cet axe temporel est matérialisé
par une ligne pointillée sous
l’objet
Axe Barre d’activation
temporel
Sur cet axe temporel
apparaissent des bandes
rectangulaires représentant les
périodes d’activité de l’objet
Onconsidère que le
temps
s’écoule du haut vers le bas 120
Création, animation et
destruction d’un objet
Certains messages ont
une signification bien Notation
précise :
121
Conception détaillée : La syntaxe de
réponse à un message est la suivante :
[<attribut> = ] message [ :
<valeur_de_retour>]
122
Diagramme de séquence
Exemple
Représentation chronologique des envois de messages entre objets
Possibilité d’exprimer de façon précise les contraintes temporelles
grâce à un axe gradué
Un élément extérieur au système, comme un acteur, peut figurer dans
un diagramme de séquence
: : :
Client ServeurWeb Cuisinier
Afficher carte
Passer cde
Décrire cde
Réaliser plat
Donner
Envoyer message disponibilit
é
Messages synchrones et diagramme de
classe
Les messages synchrones correspondent le plus souvent à une
opération :
•A l’invocation, le flux contrôle passe de l’émetteur au récepteur
•L’émetteur attend la fin de l’exécution, et reprend après le retour
Les méthodes correspondant aux messages synchrones doivent être
définies dans un diagramme de classes.
Les méthodes sont définies dans la classe du récepteur, et pas de
l’émetteur du message.
Echange de messages et code Java CAS Messages synchrones
Condition sur message
Il est possible de faire apparaître des branchements
conditionnels sur un diagramme de séquence
Les conditions sont présentes sous formes de gardes
entre [ crochets ]
: : : : Serveur
Client Serveur Cuisinier
Passage cde
[Repas] Description cde
126
Fragments d’interaction combinés
128
Opérateur strict
Un fragments combiné de type strict sequencing, ou strict,
possède au moins deux sous-fragments. Ceux-ci s’exécutent
selon leur ordre d’apparition au sein du fragment combiné.
Ce fragment combiné est utile surtout lorsque deux parties
d’un diagramme n’ont pas de ligne de vie en commun
134
Procédures de décollage d’un avion dans l’ordre.
Opérateur alt
L’opérateur alternative, ou alt, est un opérateur conditionnel
possédant plusieurs opérandes.
130
Opérateurs opt
L’opérateur option, ou opt, comporte une
opérande et une condition de garde
associée.
Le sous-fragment s’exécute si la condition de
garde est vraie et ne s’exécute pas dans le
cas contraire.
131
Opérateur loop
Un fragment combiné de type loop possède un sous-fragment et
spécifie un compte minimum et maximum (boucle) ainsi qu’une
condition de garde.
132
Opérateur par
Un fragments combiné de type parallel, ou par,
possède au moins deux sous-fragments
exécutés
simultanément.
parallèle.
Exemple: diagramme séquence « Boite noire »
du use case ajout de RDV
Exemple: diagramme séquence « Boite noire » du use case s’authentifier
Exemple: diagramme séquence « Boite noire »
du use case s’inscrire
Exercice:
Le scénario enchaînement nominal du cas d'utilisation retrait d'espèces
contient les éléments suivants :
embauche Décès
à la retraite
perte
emplo
i
atteint la majorité âge légal de
[pas de job trouvé] la
au chômage retraite
Etat d’un objet
Voiture
Un objet est caractérisé par couleur :
chaîne année :
un ensemble d’attributs entier marque :
chaîne
Voiture
couleur = «bleue» Voiture
année = 1980 peindre en jaune couleur = «jaune»
marque = année = 1980
«Renault» marque =
«Renault»
normale
repeinte
Les valeurs des attributs d’un objet forment l’état de l’objet
E tat d ’un
(objet
Définition)
L’état d’un objet est une configuration particulière
des valeurs de ses attributs,
significative pour le problème posé
» »
Etat d ’un objet
(Notation)
• Un état est représenté
au moyen d’un
rectangle à coins
arrondis Notation
• 2 états prédéfinis :
• état de démarrage : obligatoire, unique
• état de fin : optionnel, peut-être multiple
ETAT 1 ETAT X
E vénement (Définition)
Un événement est l’occurrence d’un stimulus
susceptible d’entraîner le déclenchement d’une
réaction au sein du système
L’événement temporel
Ecoulement d’une certaine période de temps ou occurrence d’une
certaine heure / date définie
ex : « Après (15s) »
« Quand (date = ‘1er Janvier 2002’) »
Le signal
Signal explicitement émis par un objet
Ex : « Bouton Souris = down »
Signal émis par un objet
• Un objet peut émettre un signal
vers un autre objet Notation
• A la différence de l’invocation d’une
méthode, un signal est
asynchrone « Signal »
• Les signaux peuvent être modélisés User
sur un diagramme de classes à
l’aide input
d’une classe stéréotypée « Signal
• »
Un signal peut transporter des « Signal » « Signal »
données
Bouton Souris Touche clavier
Elles apparaissent comme attributs
de la classe position caractère
150
Transition entre états
(Définition)
Une transition est une connexion orientée entre deux états,
se déclenchant lorsque l’événement auquel elle est
associée est reçu par l’objet et
provoquant ainsi le passage d’un état vers l’autre
Notation
NomEtatSource Événement [ Garde ] / Action NomEtatCibl
e
Garde sur transition
(Définition et notation)
Une garde sur une transition est une condition booléenne
optionnelle qui doit être vérifiée pour que la transition
puisse être déclenchée lors de la survenue de l’événement
Notation
60ème anniversaire [ a cotisé ]
Salari Retrait
é é
Action d’une
(transition Définition
et notation)
Une action sur une transition est un traitement atomique
exécuté lorsque la transition est déclenchée
• Une action peut comporter
- Des appels à des opérations de l’objet
- Des créations et destructions d’autres instances
- Des envois de signaux vers des objets (y compris lui-même)
• Une action ne peut pas être interrompue par un événement
et s’accomplit totalement contrairement à une activité
Disponible En réparation
NOTION D’EVENEMENT:
Exemple
Plus de 60 ans
En activité
Au chômage
Plus de 60 ans
EXEMPLE
Transition réflexive sur un état
Une transition peut avoir pour état source et état cible un seul
et même état
On parle alors de transition réflexive ou auto-transition
Arrêt En
marche
Bouton « on » pressé
Actions d’un
(état Définition)
Une action d’état est un traitement interne atomique
associé à un état et dont les conditions de
déclenchement sont liées soit à la survenue d’un
événement,
soit à l’entrée ou à la sortie de l’état
Un état peut comporter :
Une action en entrée
A chaque fois que l’objet entre dans l’état, l’action est exécutée
Un action en sortie
A chaque fois que l’objet sort de l’état, l’action est exécutée
préparerCafé()
9h /
préparerCafé() débrancherRépondeur()
travailler()
Au répondreTéléphone()
bureau
Entry / débrancherRépondeur()
travailler ()
ouvrirPorte()
Exit / brancherRépondeur() travailler ()
12h /
manger() brancherRépondeur()
téléphoneSonne / répondreTéléphone()
manger()
sonneriePorte / ouvrirPorte()
débrancherRépondeur()
Do / travailler() travailler ()
répondreTéléphone()
18h / travailler ()
prendrePain()
brancherRépondeur()
prendrePain()
Transition automatique
Une transition peut ne pas avoir d’événement associé
On parle alors de transition automatique
Une transition automatique se déclenche lorsque l’activité de
son état source est terminée
Une transition automatique peut être conditionnée par une
garde
incident
Alerte
Repos
do /
émettre_alarme()
Article sélectionné
[article vide]
[montant < prix
En article]
attente
Test d’article
Distribution Encaissement
Notation
NomEtatComposé
Événement [ Garde ] / Action
NomSousEtat1 NomSousEtatN
ETATS IMBRIQUES /COMPOSITES
Sous-états séquentiels
Vivant
mariable
Mariage [âge légal
Naissance
Célibataire atteint]
Marié
Décès conjoint
Veuf
Divorce
Divorcé
Décès
Destruction
Mort
Sous-états concurrents
La figure illustre l'utilisation d'un état composite
orthogonal pour modéliser le fait que la préparation
de la boisson d'un distributeur de boissons se fait
en parallèle au rendu de la monnaie.
DIAGRAMME D’ETATS-
TRANSITIONS
Généralisation d’états:
e1 AB
A B e1
A B
e2 e2
C e2
C
Diagramme états-Transition
(Recommandation)
Ne faire les Créée
diagrammes états-
transitions que pour
les classes ayant un Mise à jour
comportement
significatif dans le
Détruite
système
Un diagramme à
états-transitions est A
un automate à ev ev
états finis t t
déterministe B C
165
EXO1
Montre digitale
Une montre digitale simple possède un cadran et deux boutons, que l’on
nommera A et B, pour la mettre à l’heure. La montre a deux modes
d’opérations, affichage de l’heure et mise à l’heure. En mode d’affichage, les
heures et les minutes sont affichées, séparées par un signe « deux points »
intermittent.
Le mode de mise à l’heure à deux sous-modes, heures et minutes. Le bouton
A s’utilise pour les modes. A chaque fois que l’on appuie dessus, le mode
change suivant la séquence: affichage, configurer heures, configurer minutes,
affichage, etc. Dans une sous-mode, le bouton B s’emploie pour avancer les
heures ou les minutes à chaque fois que l’on appuie dessus. Les boutons
doivent être relâchés avant de pouvoir produire un autre événement.
Préparez un diagramme d’états de la montre.
Solution
EXO4
• On veut représenter par un diagramme d’états, la vie d’un
exemplaire de livre dans une bibliothèque. Quand un exemplaire
est créé, il entre dans le « hors-prêt » (consultation sur place
seulement) s’il est le seul exemplaire de l’ouvrage ou devient
disponible pour le prêt sinon. Quand il y a plusieurs exemplaires
le bibliothécaire peut décider de changer l’exemplaire en « hors
prêt
».
Quand un exemplaire prêté ne revient pas après les relances il
est considéré comme perdu et retiré de la base un an après. S’il
est retrouvé, il redevient disponible pour le prêt.
En cas de détérioration, l’exemplaire est sorti des rayons et
marqué
« à enlever ». Il peut être renouvelé ou retiré de la base. Il n’y
a pas
de notion de réservation d’un ouvrage non disponible.
Solution