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

Licence LAOSI Outils pour la modélisation des Systèmes Distribués Stéphane Tallard 1 Outils pour la modélisation des systèmes distribués.

Présentations similaires


Présentation au sujet: "Licence LAOSI Outils pour la modélisation des Systèmes Distribués Stéphane Tallard 1 Outils pour la modélisation des systèmes distribués."— Transcription de la présentation:

1 Licence LAOSI Outils pour la modélisation des Systèmes Distribués Stéphane Tallard 1 Outils pour la modélisation des systèmes distribués

2 2 Objectif de ce cours Ce cours décrit un sous ensemble de UML adapté à la modélisation de systèmes distribués A la fin de la session, vous devez être capable de: Modéliser un problème concernant un système distribué Utiliser Les diagrammes de séquence Les diagrammes dactivité Les diagrammes détats-transition Utiliser un outil UML : Argo UML

3 Outils pour la modélisation des systèmes distribués 3 Plan du cours Les diagrammes dactivités Les diagrammes de classe Les diagrammes de séquence Les diagrammes de communication Les diagrammes détat Synthèse

4 Outils pour la modélisation des systèmes distribués 4 Diagrammes dactivité

5 Outils pour la modélisation des systèmes distribués 5 Diagramme dactivité: Transitions et nœuds daction Etat final – Etat initial létat initial est le point de départ de la lecture du diagramme, Létat final identifie la fin du diagramme un seul état initial et au moins un état final par diagramme Activité Une activité représente une exécution d'un mécanisme, un déroulement d'étapes séquentielles. une transition représente un passage dune activité à la suivante. Une activité peut être détaillée dans un autre diagramme dactivités Nœud Conditionnel un nœud conditionnel permet de définir plusieurs possibilités de fonctionnement

6 Outils pour la modélisation des systèmes distribués 6 Diagramme dactivité: synchronisation, couloirs dactivité Synchronisation: permet la parallélisation des traitements Couloir: permet laffectation des traitements à des responsables différents

7 Outils pour la modélisation des systèmes distribués 7 Diagrammes dactivités: Flot dobjets Un flot dobjets permet de passer des données dune activité à une autre Le flot dobjet permet de noter le changement détat dun objet

8 Outils pour la modélisation des systèmes distribués 8 Exercice Que veut-il dire ?

9 Outils pour la modélisation des systèmes distribués 9 Exercice: Utilisation dun téléphone portable Un fabricant de téléphone portable souhaite réécrire ses spécifications en utilisant UML. Traduisez le texte suivant en diagramme dactivité. Pour utiliser le téléphone il faut dabord le sortir de sa housse puis louvrir. Lutilisateur compose ensuite le numéro. Lorsque son correspondant décroche il peut engager la conversation. Si le forfait arrive à expiration, la communication est coupée. Sinon lutilisateur raccroche en fin de communication.

10 Outils pour la modélisation des systèmes distribués 10 Plan du cours Les diagrammes dactivités Les diagrammes de classe Les diagrammes de séquence Les diagrammes de communication Les diagrammes détat Synthèse

11 Outils pour la modélisation des systèmes distribués 11 Les diagrammes de classe Un élément essentiel (mais ce n'est pas le seul) de l'approche orientée-objet Dans ce cours on ne détaillera pas les diagrammes de classe: dans les systèmes distribués on sintéresse surtout à la dynamique du système Expriment l'aspect structurel/statique d'un système en termes de classes Relations Offrent également les interfaces - comment on voit/utilise le système modélisé les paquetages - comment on peut abstraire le système en (macro) composants

12 Outils pour la modélisation des systèmes distribués 12 Diagramme de classe

13 Outils pour la modélisation des systèmes distribués 13 Les classes et les objets Un objet : un état : la valeur de ses attributes un comportement : ses méthodes Une classe : un moule pour la création des objets Exemple : une personne Lobjet « Jean Valjean » défini par la valeur de ses attributs prénom : Jean nom : Valjean dateNaissance : 10/05/1954 adresse : 13 rue des Lilas Bayonne telephone : La classe Personne qui définit les propriétés communes à tous les objets de la classe Personne

14 Outils pour la modélisation des systèmes distribués 14 Représentation dune classe 1 à 4 parties : o nom de la classe : obligatoire o 0 ou n attributs o 0 ou n opérations Présence de stéréotype o le stéréotype est une marqueur permettant dajouter de linformation à un objet UML o UML fournit ses propres stéréotypes o > : implicite o <

15 Outils pour la modélisation des systèmes distribués 15 Les relations Elles sont de 3 types et traduisent : o la notion d'assemblage/composition o le concept de spécialisation/généralisation o l'association entre une classe ou plusieurs classes Elles représentent des liens statiques/structurels entre objets et à longue durée de vie NB : les associations ne sont en général pas directement supportées par les langages de programmation orienté-objet.

16 Outils pour la modélisation des systèmes distribués 16 Aggrégation / composition Relation non symétrique Agrégat/agrégé : Si je détruis lobjet origine, je ne détruis pas le ou les objets destination Ex: Si je détruis léquipe de basket, je ne détruis pas les joueurs de léquipe (qui vont aller jouer dans une autre équipe) Composite/composant : Si je détruis lobjet origine, je dois détruire les objets destination Ex: Si je détruis la voiture, je dois détruire tous ses composants : Roues, Pneus, moteur, …

17 Outils pour la modélisation des systèmes distribués 17 Généralisation/Spécialisation Relation de classification entre un élément plus général et des éléments spécialisés L'élément spécialisé hérite des attributs et des opérations et des relations et des contraintes de l'élément dont il est la spécialisation Eviter les profondeurs trop importantes (> 4) L'élément spécialisé peut avoir ses propres attributs, opérations, relations On peut faire de lhéritage multiple : A éviter B hérite de A si dans tout contexte ou lon utilise A on peut remplacer A par B Une méthode qui prend en paramètre un objet de type A peut aussi traiter un objet de type B.

18 Outils pour la modélisation des systèmes distribués 18 Diagrammes de classes lors des phases danalyse En phase d'analyse métier, seules des classes métier doivent être identifiées (opérations métier, attributs métier et associations métier). La recherche de classes, attributs, opérations et associations est guidée par la réponse au besoin : expliciter les diagrammes de séquence correspondant aux cas d'utilisation recensés Les paquetages permettent d'organiser l'analyse en domaines métier. La notion de visibilité est absente: en analyse, toutes les propriétés sont publiques (potentiellement visibles par l'utilisateur du système). La notion d'interface est absente (utilisées en architecture et conception uniquement).

19 Outils pour la modélisation des systèmes distribués 19 Association et classe dassociation Représente une propriété statique (se convaincre avec un diagramme d'instances) Lie une ou plusieurs classes : arité 2 ou plus Toute association doit être nommée par un verbe d'état ou comporter des rôles aux extrémités Toute association peut être navigable Multiplicité : o 0 o 0..1 o N o M..N o *, 0..* o 1..*

20 Outils pour la modélisation des systèmes distribués 20 Remarque sur les associations Ne prendre en compte que des associations binaires ! Si ce n'est pas possible, il faut privilégier les classes associations Le nommage est indispensable quand il y a plusieurs associations entre 2 classes. Noter les contraintes : Sous-ensemble, et/ou, etc. {ordonné},... Attention à ne prendre pour associations que des relations dont le libellé représente un verbe d'état

21 Outils pour la modélisation des systèmes distribués 21 Plan du cours Les diagrammes dactivités Les diagrammes de classe Les diagrammes de séquence Les diagrammes de communication Les diagrammes détat Synthèse

22 Outils pour la modélisation des systèmes distribués 22 Diagramme de séquences: Les concepts Sens de lecture : vertical : représente la ligne de vie des objets et les périodes d'activité des objets horizontal: représente l'enchaînement des messages entre 1 objet émetteur et 1 ou plus objet(s) récepteur(s)

23 Outils pour la modélisation des systèmes distribués 23 Les objets et les exécutions définit un des objets manipulés par le système. un objet peut être anonyme (sans nom). Il représente alors un instance arbitraire de la classe. La ligne pointillée détermine la durée de vie de lobjet Il est possible dindiquer la création dun objet en faisant arriver un message sur le rectangle décrivant lobjet Une exécution est matérialisée par un rectangle sur la ligne de vie. Cest la durée où lobjet est actif (le système est occupé par le traitement de cet objet). lobjet doit être contenu dans le système le contexte de lobjet (la valeur des attributs) doit être défini si il a un impact sur la réaction de lobjet dans le diagramme de séquence

24 Outils pour la modélisation des systèmes distribués 24 Les messages Une flèche matérialise un message synchrone un message asynchrone un flux de contrôle (réponse) Le message indique un transfert de contrôle ou dinformation entre deux objets. un message peut renvoyer sur lobjet qui la généré (cas de lappel interne dune des méthodes de lobjet). Pas dexécution sans message Un message doit être nommé Lorsque lémetteur envoie un message, il doit attendre la réponse: la durée de lexécution de lémetteur est supérieure à celle du récepteur

25 Outils pour la modélisation des systèmes distribués 25 Diagrammes de séquence: fragments combinés Permettent dintroduire des structures de contrôle : opt, break, loop, par, alt, neg, seq, strict, critical Rend les schémas illisibles Préférer les Diagrammes dactivités Utiliser les diagrammes de séquence pour trouver les classes et leurs méthodes.

26 Outils pour la modélisation des systèmes distribués 26 Exercice : Que montre ce diagramme de séquence ?

27 Outils pour la modélisation des systèmes distribués 27 Exercice : Téléphone portable Cette fois votre client souhaite que vous lui modélisiez la spécification dappel en utilisant le répertoire : Le téléphone comporte deux modules. Un pour lappel et un pour la gestion du répertoire. Lutilisateur commence par accéder au répertoire et sélectionne la fiche dun de ses correspondants. Il déclenche alors lappel. Si la fiche comporte plusieurs numéros un menu lui propose de choisir le numéro à appeler. Ceci fait, le module dappel est mis en œuvre pour effectuer la communication

28 Outils pour la modélisation des systèmes distribués 28 Plan du cours Les diagrammes dactivités Les diagrammes de classe Les diagrammes de séquence Les diagrammes de communication Les diagrammes détat Synthèse

29 Outils pour la modélisation des systèmes distribués 29 Les diagrammes de communication : vue globale Ce sont des diagrammes équivalents aux diagrammes de séquence, mais avec une vue différente (vue du dessus)

30 Outils pour la modélisation des systèmes distribués 30 Exercice: Modélisation dun téléphone portable Le client désire comprendre comment les éléments de votre système vont être connectés. Vous décidez donc de traduire le cahier des charges suivant en diagramme de classes : Le système du téléphone comporte un gestionnaire de fonctions. Cest lui qui contient les différentes fonctions ( contrôleur dappels, répertoire, éditeur SMS et calculatrice) et assure la navigation dans les menus. Les différentes fonctions offrent un comportement identique. Le répertoire contient des fiches contact comportant un nom et un numéro de téléphone. Il est possible den stocker 200 dans la carte mémoire. Léditeur SMS contient des SMS formalisés par un numéro de téléphone et un texte. Le contrôleur dappel stocke les appels émis et reçus sous forme dune date dappel et dun numéro.

31 Outils pour la modélisation des systèmes distribués 31 Plan du cours Les diagrammes dactivités Les diagrammes de classe Les diagrammes de séquence Les diagrammes de communication Les diagrammes détat Synthèse

32 Outils pour la modélisation des systèmes distribués 32 Diagramme détats-transition Un système peut être représenté par un ensemble détats « éteint » / « allumé » « quart de finale » / « demi finale » / « finale » / « éliminé » par des évènements qui font passer le système dun état à un autre « éteindre » / « allumer » « gagner » / « perdre » Un diagramme détats-transition a pour but de représenter ces aspects dynamiques.

33 Outils pour la modélisation des systèmes distribués 33 Diagramme détat-transition à tout instant un état représente lensemble des valeurs des attributs et des liens avec les autres objets un état est caractérisé par une durée, i.e. une certaine stabilité dans le temps connexion unidirectionnelle reliant 2 états assure le passage dun état à lautre est supposée instantanée occurrence de quelque chose qui arrive à un instant inconnu ou connu (interruption, envoi de message, …) peut être porteur dinformations lévénement est le déclencheur dune transition Etat Evénement Transition

34 Outils pour la modélisation des systèmes distribués 34 Etat Un état est toujours nommé Il comporte : des actions dentrée des actions de sortie des activités des inclusions de sous-états Etats particuliers : état initial (forcément unique) état final (0, 1 ou plusieurs)

35 Outils pour la modélisation des systèmes distribués 35 Les transitions Une transition est une relation entre un état source et un état cible. Une transition est déclenchée par un objet en réaction à un événement et conduit à un changement détat. Syntaxe : évènement[garde]/action évènement (trigger) : événement externe déclenchant une réaction du système garde (guard) : expression logique qui conditionne le départ dun état action : action exécutée lors du franchissement de la transition

36 Outils pour la modélisation des systèmes distribués 36 Evénement Il traduit larrivée de quelque chose Types dévénement : > : signal asynchrone >, >, … : appel > : signal synchrone - fin de délai, top horloge, … événement instantané : pas de label - correspond à la fin de lactivité dans létat de départ Sémantique des événements : à l'arrivée d'un événement prévu, on quitte l'état, que l'activité soit achevée

37 Outils pour la modélisation des systèmes distribués 37 Compléments sur diagrammes détat-transition La maîtrise de la complexité des diagrammes états-transitions passe par lutilisation détats composites (état englobant) Les sous-états concurrents permettent de représenter la notion de concurrence Les états historiques permettent de conserver lhistorique en tant quétats, et donc dy revenir

38 38 Actions On peut introduire des actions sur les états ou sur les transitions : entry / action: action exécutée à l'entrée de l'état exit / action: action exécutée à la sortie de l'état on événement / action : action exécutée à chaque fois que l'événement cité survient do / action: action récurrente ou significative, exécutée dans l'état Sur le do : on ne refait pas les actions entry et exit Licence LAOSI Outils pour la modélisation des systèmes distribués

39 39 Exercice Quest ce que ce diagramme signifie ?

40 Outils pour la modélisation des systèmes distribués 40 Exercice : Le téléphone portable Une partie du cahier des charge du téléphone portable est compliquée et gagnerait à être traduite en diagramme détat transition : Pour utiliser le téléphone il faut passer du mode veille au mode actif en cliquant sur le bouton on. Le mode appel permet de communiquer vocalement. On y accède en composant un numéro de téléphone et on le quitte en appuyant sur le bouton de fin de communication. On peut passer en mode gestion des SMS en appuyant sur la flèche gauche. Et on le quitte en appuyant sur Ok. Si un appel survient durant lécriture dun SMS le SMS est stocké et le téléphone passe en mode appel. De plus le téléphone interroge en permanence le réseau afin de déterminer si il doit émettre avec une puissance de signal forte ou faible.

41 Outils pour la modélisation des systèmes distribués 41 Plan du cours Les diagrammes dactivités Les diagrammes de classe Les diagrammes de séquence Les diagrammes de communication Les diagrammes détat Synthèse

42 Outils pour la modélisation des systèmes distribués 42 Utilisation des diagrammes La règle : « chaque projet a ses particularités » La richesse dUML cest dêtre adaptable Cest aux utilisateurs dUML dadapter le langage de modélisation pour résoudre le problème posé Pensez pratique : Nutilisez pas les constructions trop complexes ou incompréhensibles Définissez vous votre propre langage UML : un sous ensemble dUML adapté au domaine Unifiez : faites en sorte que tous les membres dune équipe parlent le même langage.

43 Outils pour la modélisation des systèmes distribués 43 Utilisation des diagrammes Définir les processus métier en utilisant des diagrammes dactivité Utiliser les diagrammes dactivité plutôt pour modéliser des règles métiers complexes Utiliser les diagrammes de séquence pour trouver les classes et leurs méthodes Modéliser les scénariis nominaux et les cas particuliers


Télécharger ppt "Licence LAOSI Outils pour la modélisation des Systèmes Distribués Stéphane Tallard 1 Outils pour la modélisation des systèmes distribués."

Présentations similaires


Annonces Google