Publiphone Etat Transition
Publiphone Etat Transition
Publiphone Etat Transition
Cas du publiphone :
1. Le prix minimal d’une communication interurbaine est de 1€.
2. Après l’introduction de la monnaie, l’utilisateur a 2 mn pour
composer son numéro (ce délai est décompté par le standard).
3. La ligne peut être libre ou occupée.
4. Le correspondant peut raccrocher le premier.
5. Le publiphone consomme de l’argent dès que l’appelé décroche et
à chaque unité de temps (UT) générée par le standard.
6. On peut ajouter des pièces à tout moment.
7. Lors du raccrochage, le solde de monnaie est rendu.
O. BOUSSAID Page : 1
U.M.L. Modélisation dynamique en UML
O. BOUSSAID Page : 2
U.M.L. Modélisation dynamique en UML
O. BOUSSAID Page : 3
U.M.L. Modélisation dynamique en UML
taxer(1€)
introduirePièce(1€)
vérifierPièce
incrémenterCrédit(1€)
UT
taxer(1€)
raccrocherCombiné
FinComm
O. BOUSSAID Page : 4
U.M.L. Modélisation dynamique en UML
:appelant tonalité(type)
voixAppelé
rendrePièce
:publiphone
débuterComm acheminerNuméro(n)
UT
finComm ; voixAppelant
tonalité(type)
voixAppelé timerNumérotation
:standard
État(Ligne)
validitéNumérotation(v)
finComm
TimeroutNumérotation
O. BOUSSAID Page : 5
U.M.L. Modélisation dynamique en UML
Le diagramme d’états
• Démarche itérative et incrémentale :
– Représenter les séquences d’états décrivant le comportement d’une instance avec les
transitions associées.
– Ajouter les transitions correspondant aux comportements ‘’alternatifs’’ ou d’exception.
– Compléter les actions sur les transitions et les activités dans les états.
– Structurer le diagramme en sous états et utiliser les notations ( entry, exit, …)
Événement interne
décrocherCombiné
When(crédit 1€)
raccroché attente pièce
communication attente N°
raccrocherCombiné
Réception
composerNuméro
message débuterComm
attente numéroValide
attente validité
décrochage
O. BOUSSAID Page : 6
U.M.L. Modélisation dynamique en UML
Événement interne
décrocherCombiné
When(crédit 1€)
raccroché attente pièce
raccrocherCombiné
raccrocherCombiné
communication attente N°
raccrocherCombiné
Réception
composerNuméro
message débuterComm
attente numéroValide
attente validité
raccrocherCombiné décrochage
raccrocherCombiné
O. BOUSSAID Page : 7
U.M.L. Modélisation dynamique en UML
décroché
décrocherCombiné
When(crédit 1€)
raccroché attente pièce
communication attente N°
raccrocherCombiné
composerNuméro
débuterComm
attente numéroValide
attente validité
décrochage
O. BOUSSAID Page : 8
U.M.L. Modélisation dynamique en UML
introPièce(p)/incrémenterCrédit(p)
attente N°
O. BOUSSAID Page : 9
U.M.L. Modélisation dynamique en UML
Le diagramme devient :
décroché
introPièce(p)/incrémenterCrédit(p)
décrocherCombiné
When(crédit 1€)
raccroché /crédit=0 attente pièce
Fin
UT[créditInuffisant] / communication attente N°
raccrocherCombiné taxer
/rendrePièce UT[créditInsuffisant]
/taxer
communication
composerNuméro
débuterComm /taxer
O. BOUSSAID Page : 10
U.M.L. Modélisation dynamique en UML
On peut rajouter une transition à chaque sous état (solution lourde, effet secondaire : à
chaque introPièce(p) le publiphone revient à son état initial (attente pièce c.a.d.
raccroché)).
On peut utiliser une transition interne introPièce(p)/incrémenterCrédit(p) à l’intérieur de
l’état « décroché » décroché
introPièce(p)/incrémenterCrédit(p)
décrocherCombiné
When(crédit 1€)
raccroché /crédit=0 attente pièce
Fin
UT[créditInsuffisant] communication attente N°
raccrocherCombiné /taxer
/rendrePièce UT[créditInsuffisant]
communication /taxer
composerNuméro
•Même la transition propre sur débuterComm /taxer
«communication» doit être numéroValide
transformée en transition interne. attente attente validité
décrochage
•On préfère les transitions propres,
car visuelles.
O. BOUSSAID Page : 11
U.M.L. Modélisation dynamique en UML
O. BOUSSAID Page : 12
U.M.L. Modélisation dynamique en UML
décroché
introPièce(p)/incrémenterCrédit(p)
Décrocher
When(crédit 1€) /send standard.timerNumérotation
raccroché attente
Combiné pièce
/crédit=0 phrase4 Fin timeoutNumérotation
raccrochage appelé communication
ou erreur
UT[créditInsuffisant] attente N°
raccrocherCombi /taxer
né /rendrePièce UT[crédit
Numéro composerNuméro
Insuffisant]
Communication invalide /send standard.
/taxer acheminerNuméro
do /transmettrevoix
débuterComm
étatLigne(occupée)
/taxer phrase3 timeoutappel
attente attente
décrochage numéroValide validité
O. BOUSSAID Page : 13