Statecharts - PowerPoint PPT Presentation

1 / 32
About This Presentation
Title:

Statecharts

Description:

Title: UML Statecharts Author: casimir birex Last modified by: Doyens Created Date: 3/9/2004 9:44:51 AM Document presentation format: On-screen Show – PowerPoint PPT presentation

Number of Views:64
Avg rating:3.0/5.0
Slides: 33
Provided by: casi54
Category:

less

Transcript and Presenter's Notes

Title: Statecharts


1
Statecharts
  • Décrit les changements détat dun objet en
    réponse à des evénements
  • Point focal lobjet et ses changements détats
  • Permet un hiérarchisation des états afin déviter
    une explosion combinatoire détats

2
Concepts
  • Etats (simples ou composites)
  • Transitions
  • Actions
  • Evénements

3
Etat et transitions
Etat
Start/Etat initial
Stop/Etat final
NomEvénement Garde / Action
4
Evénements et gardes
  • nomEvénement (param1type, param2type,)
  • Ex allumedLed()
  • Garde expression Booléene
  • Ex ageCapitainegt50
  • Action
  • Pseudo code
  • Ex. solde solde débit
  • Action interne à un état
  • ActionLabel/Action
  • Action Label entry, do, exit
  • Ex. do/calculateAverage(xarray)

5
Exemple de statechart
resteArticleàVérifier
tousArticlesVérifiés tousArticlesDisponibles
do/démarrer livraison
do/ vérifier article
tousArticlesVérifiés ArticlesManquants
ArticleReçu() tousArticlesDisponibles
livraison()
annulation()
ArticleReçu() ResteArticlePasdeStock
annulation()
6
Etats Imbriqués
  • Concurence et syncronisation

EnCommande
EnAttente
Verification
Livraison
VérifClient
VérifTerminée
7
Exercice 1 formation dun contrat

Dessinez un diagrammes détat/transition résumant
les états possibles dun objet contrat tel que
décrit dans lénnoncé suivant. Un ensemble de
personnes décident détablir un contrat. Pour ce
faire elles rédigent un projet par itération
successive. Le contrat est ensuite informellement
accepté par les parties, et devient ce que lon
appelle un pré-accord. A ce stade il peut
toujours être lobjet de modification et revenir
à létat de projet. Une fois le pré-accord
définitivement établi, le contrat est signé par
les parties. Dès ce moment les partenaires sont
liés. Une fois signé le contrat peut être rendu
exécutoire par une décision dune des parties. Un
contrat en execution peut faire lobjet de
discussions qui sont réglées par un arbitre
désigné à cet effet. Le contrat une fois exécuté
prend fin.
8
Proposition Solution 1
9
Exercice 2 montre digitale
  • Ma montre affiche lheure, si jappuie 2X sur le
    boutton 1, la montre passe en mode
    modification. Chaque pression sur le boutton 2,
    incrémente lheure dune unité. Si jappuie
    encore un fois sur le boutton 1, je peux régler
    les minutes de la même façon que les heures. Si
    jappuie une quatrième fois sur le boutton 1, la
    montre affiche à nouveau lheure courante.

10
Proposition Solution 2
11
Exercice 3 montre digitale plus avancée
  • Lors du réglage de lheure ou des minutes lorsque
    jappuie sur le boutton 1 plus de deux secondes,
    les heures ou les secondes avancent très
    rapidement jusquà ce que je relâche la pression
  • On ajoute un bouton 3 qui permet de
    rétro-éclairer lécran LCD

12
Proposition Solution 3
13
Exercice 4 cabine téléphonique
  • Modélisez le fonctionnement dune cabine
    téléphonique

14
Proposition de Solution 5
15
Resumé
  • Use case
  • Diagramme dactivités
  • Diagramme de classes
  • Diagramme dinteractions
  • Statecharts

16
Use cases concepts
  • Acteur entités externes au système qui
    dialoguent avec lui
  • Use case description de la fonctionnalité du
    système du point de vue dutilisateur
  • Diagramme de cas dutilisation illustre les
    liens entre les acteurs et les différents cas
    dutilisation.

17
Structurer les use cases
  • Les relations extend et include
  • Extend un cas dutilisation X étend un cas
    dutilisation Y lorsque le cas dutilisation X
    peut être appelé au cours de lexécution du cas
    dutilisation Y
  • Include un use case est constitué de sous
    use cases.
  • La généralisation
  • Crée une hiérarchie entre acteurs ou use cases

18
Le but du diagramme dactivité
  • Diagramme dactivité est utilisé pour
  • Modéliser un workflow dans un use case ou entre
    plusieurs use cases.
  • Spécifier une opération (décrire la logique dune
    opération)
  • Le diagramme dactivité est le plus approprié
    pour modéliser la dynamique dune une tâche, dun
    use case lorsque le diagramme de classe nest pas
    encore stabilisé.

19
Notion du diagramme dactivité
  • Diagramme dactivité
  • ensemble dactivités liés par
  • Transition (sequentielle)
  • Transitions alternatives (conditionnelle)
  • Synchronisation (disjonction et conjonctions
    dactivités)
  • Itération
  • 2 états état de départ et état de terminaison
  • Swimlanes represente le lieu, le responsable des
    activités.

20
Notion du diagramme dactivité
  • Etat de départ
  • Etat de terminaison
  • Transition
  • Transition Alternative





21
Notion du diagramme dactivité
Synchronisation disjonctive et conjonctive
22
Notion du diagramme dactivité
Itération
23
Notion du diagramme dactivité
Swimlanes
24
Commander un Produit Solution possible
25
Diagramme de classes
  • Classe
  • Attribut
  • Méthode (CRUD create, read, update, delete Ex
    DB schemas)
  • Association
  • Généralisation, aggrégation, composition
  • Ad Hoc
  • Rôle-Cardinalité

26
Diagramme de classe - Exemple
ENREGISTREUR
0..1
1..
CASSETTE
CodeString MarqueString ModèleString PrixR
eal Année de constructionString LongueurStrin
g HauteurString LargeurString CouleursString
PositionInt VolumeInt PoidsReal Enregistr
er() Ecouter() Stopper() MarquerPause() Avance
r(Vitesse) Rembobiner(Vitesse) AfficherPosition(
) Ejecter() RéglerVolume(Volume)
EtiquetteString MarqueCassString ModèleCassS
tring LongCass typehhmm TypeCassString Posi
tionCassInt
utilise
est utilisable sur
0..1
est contenu dans

contient
ENREGISTREMENT
MESSAGE
AuteurMessString NoTelAuteurMessString SujetM
essString
DateEnrDate HeureEnrtypehhmmss LongEnrInt


27
Diagramme dinteraction
  • Modéliser comment les objets communiquent entre
    eux
  • Deux types de diagrammes sémantiquement
    équivalents
  • Diagramme de Séquence
  • Diagramme de Collaboration

28
Diagramme de séquence
  1. La message1() est envoyé seulement si la
    condition specifiée dans la guard (entre
    brackets) est vraie.
  2. Une branche. Le sender envoie soit le message2()
    soit le message3(). Les conditions de guard
    sont exclusives.
  3. LItération. Le sender envoie la message4() tant
    que la condition est vraie.
  4. Pour chaque. Si le receiver est une collection
    dobjets, envoyer le message à tous ces objets.
  5. Grouping. Les activités dans la boîte ont lieu
    seulement si le test est vrai. Lasterisque
    indique litération.

29
Simple Watch
  • A partir du diagramme de classe ci-dessus
  • Rédigez un diagramme de séquence pour modéliser
    un scénario où un utilisateur voudrait régler
    lheure (particulièrement les minutes) sur sa
    montre.
  • En appuyant 2X sur le bouton 1 il accède au
    réglage des minutes (heure clignote puis minute
    clignote). Ensuite avec le bouton 2 (sans
    relâcher le bouton) il incrémente les minutes, le
    LCD display est rafraîchi. En appuyant sur le
    bouton 1 un autre fois lheure est enregistrée et
    laffichage sarrête de clignoter.
  • 2. Rédigez un diagramme de collaboration à
    partir du diagramme de séquence obtenu

30
Simple watch Diagramme de Séquence
B2..state Pushed
31
Diagramme de collaboration
  • Deuxième forme du diagramme dinteraction
  • Différence avec diagramme de séquence
  • Pas de dimension explicite du temps (vue plus
    structurelle que procédurale)
  • Montrer les liens entre des objets de façon plus
    explicite

32
Simple Watch Diagramme de Collaboration
Write a Comment
User Comments (0)
About PowerShow.com