La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

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.

Présentations similaires


Présentation au sujet: "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."— Transcription de la présentation:

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 nom Activités Sous-état Start/Etat initial Stop/Etat final NomEvénement [Garde] / Action

4 Evénements et gardes nomEvénement (param1:type, param2:type,…) –Ex: allumedLed() [Garde] : expression Booléene –Ex: [ageCapitaine>50] Action –Pseudo code –Ex. solde = solde – débit Action interne à un état –ActionLabel/Action Action Label : entry, do, exit -Ex. : do/calculateAverage(x:array)

5 Exemple de statechart Vérification EnAttente Annulé Livré EnLivraison [resteArticleàVérifier] [tousArticlesVérifiés&& ArticlesManquants] [tousArticlesVérifiés&& tousArticlesDisponibles] do/ vérifier article ArticleReçu() [ResteArticlePasdeStock] annulation() do/démarrer livraison annulation() livraison() ArticleReçu() [tousArticlesDisponibles]

6 Etats Imbriqués Concurence et syncronisation VérifClient Verification EnAttente Livraison VérifTerminée EnCommande

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. Button1 Button2

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 Button1 Button2 Button3

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 +Code:String +Marque:String +Modèle:String +Prix:Real +Année de construction:String +Longueur:String +Hauteur:String +Largeur:String +Couleurs:String +Position:Int +Volume:Int +Poids:Real +Enregistrer() +Ecouter() +Stopper() +MarquerPause() +Avancer(Vitesse) +Rembobiner(Vitesse) +AfficherPosition() +Ejecter() +RéglerVolume(Volume) CASSETTE +Etiquette:String +MarqueCass:String +ModèleCass:String +LongCass: type=hh:mm +TypeCass:String +PositionCass:Int utilise * est utilisable sur ENREGISTREMENT +DateEnr:Date +HeureEnr:type=hh:mm:ss +LongEnr:Int contient * 0..1est contenu dans MESSAGE +AuteurMess:String +NoTelAuteurMess:String +SujetMess:String

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 1.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 Button 1 Button 2

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


Télécharger ppt "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."

Présentations similaires


Annonces Google