43
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

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

Embed Size (px)

Citation preview

Page 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

1

Licence LAOSI

Outils pour la modélisation des Systèmes DistribuésStéphane Tallard

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

Page 2: 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

2Outils pour la modélisation des systèmes distribués

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 d’activité• Les diagrammes d’états-transition

• Utiliser un outil UML : Argo UML

Page 3: 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

3Outils pour la modélisation des systèmes distribués

Plan du cours

Les diagrammes d’activités

Les diagrammes de classe

Les diagrammes de séquence

Les diagrammes de communication

Les diagrammes d’état

Synthèse

Page 4: 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

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

Diagrammes d’activité

Page 5: 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

5Outils pour la modélisation des systèmes distribués

Diagramme d’activité: Transitions et nœuds d’action

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 d’une activité à

la suivante. Une activité peut être détaillée dans un autre

diagramme d’activités

Nœud Conditionnel un nœud conditionnel permet de définir plusieurs

possibilités de fonctionnement

Page 6: 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

6Outils pour la modélisation des systèmes distribués

Diagramme d’activité: synchronisation, couloirs d’activité

• Synchronisation: permet la parallélisation des traitements

• Couloir: permet l’affectation des traitements à des responsables différents

Machine à caféServeur

Préparer un verre

Doser le sucre Doser le café

Verser les ingrédients

Lancer la machine à café

Préparer les croissants

Page 7: 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

7Outils pour la modélisation des systèmes distribués

Diagrammes d’activités: Flot d’objets

Un flot d’objets permet de passer des données d’une activité à une autre Le flot d’objet permet de noter le changement d’état d’un objet

Page 8: 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

8Outils pour la modélisation des systèmes distribués

Exercice

Que veut-il dire ?

Page 9: 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

9Outils pour la modélisation des systèmes distribués

Exercice: Utilisation d’un 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 d’activité.

Pour utiliser le téléphone il faut d’abord le sortir de sa housse puis l’ouvrir. L’utilisateur 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 l’utilisateur raccroche en fin de communication.

Page 10: 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

10Outils pour la modélisation des systèmes distribués

Plan du cours

Les diagrammes d’activités

Les diagrammes de classe

Les diagrammes de séquence

Les diagrammes de communication

Les diagrammes d’état

Synthèse

Page 11: 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

11Outils pour la modélisation des systèmes distribués

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 s’inté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

Page 12: 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

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

Diagramme de classe

Page 13: 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

13Outils pour la modélisation des systèmes distribués

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

L’objet « Jean Valjean » défini par la valeur de ses attributs

prénom : Jean nom : Valjean dateNaissance : 10/05/1954adresse : 13 rue des Lilas

64100 Bayonnetelephone : 06 54 64 53 45

La classe Personne qui définit les propriétés communes à tous les objets de la classe Personne

Page 14: 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

14Outils pour la modélisation des systèmes distribués

Représentation d’une classe

1 à 4 parties : o nom de la classe : obligatoireo 0 ou n attributso 0 ou n opérations

Présence de stéréotypeo le stéréotype est une marqueur permettant

d’ajouter de l’information à un objet UML o UML fournit ses propres stéréotypes

o <<class>> : impliciteo <<interface

Page 15: 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

15Outils pour la modélisation des systèmes distribués

Les relations

Elles sont de 3 types et traduisent :o la notion d'assemblage/compositiono le concept de spécialisation/généralisationo 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.

Page 16: 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

16Outils pour la modélisation des systèmes distribués

Aggrégation / composition

Relation non symétrique

Agrégat/agrégé : Si je détruis l’objet 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 l’objet 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, …

Page 17: 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

17Outils pour la modélisation des systèmes distribués

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 l’héritage multiple : A éviter

B hérite de A si dans tout contexte ou l’on 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.

Page 18: 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

18Outils pour la modélisation des systèmes distribués

Diagrammes de classes lors des phases d’analyse

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).

Page 19: 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

19Outils pour la modélisation des systèmes distribués

Association et classe d’association

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 0o 0..1o No M..No *, 0..*o 1..*

Page 20: 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

20Outils pour la modélisation des systèmes distribués

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

Page 21: 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

21Outils pour la modélisation des systèmes distribués

Plan du cours

Les diagrammes d’activités

Les diagrammes de classe

Les diagrammes de séquence

Les diagrammes de communication

Les diagrammes d’état

Synthèse

Page 22: 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

22Outils pour la modélisation des systèmes distribués

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)

Page 23: 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

23Outils pour la modélisation des systèmes distribués

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 l’objet

•Il est possible d’indiquer la création d’un objet en faisant arriver un message sur le rectangle décrivant l’objet

•Une exécution est matérialisée par un rectangle sur la ligne de vie. C’est la durée où l’objet est actif (le système est occupé par le traitement de cet objet).

•l’objet doit être contenu dans le système

•le contexte de l’objet (la valeur des attributs) doit être défini si il a un impact sur la réaction de l’objet dans le diagramme de séquence

Page 24: 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

24Outils pour la modélisation des systèmes distribués

Les messages

Une flèche matérialiseun message synchrone un message asynchroneun flux de contrôle (réponse)

Le message indique un transfert de contrôle ou d’information entre deux objets.un message peut renvoyer sur l’objet qui l’a généré (cas de l’appel interne d’une des méthodes de l’objet).

Pas d’exécution sans messageUn message doit être nomméLorsque l’émetteur envoie un message, il doit attendre la réponse: la durée de l’exécution de l’émetteur est supérieure à celle du récepteur

Page 25: 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

25Outils pour la modélisation des systèmes distribués

Diagrammes de séquence: fragments combinés

Permettent d’introduire des structures de contrôle : opt, break, loop, par, alt, neg, seq, strict, critical

Rend les schémas illisibles

Préférer les Diagrammes d’activités Utiliser les diagrammes de séquence pour trouver les classes et leurs méthodes.

Page 26: 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

26Outils pour la modélisation des systèmes distribués

Exercice : Que montre ce diagramme de séquence ?

: Utilisateur : Téléphone

: Réseau GSM

numéroter( )

lancerAppel( )

lancerAppel

appelObtenuenvoyerSonnerie

Page 27: 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

27Outils pour la modélisation des systèmes distribués

Exercice : Téléphone portable

•Cette fois votre client souhaite que vous lui modélisiez la spécification d’appel en utilisant le répertoire :

•Le téléphone comporte deux modules. Un pour l’appel et un pour la gestion du répertoire. L’utilisateur commence par accéder au répertoire et sélectionne la fiche d’un de ses correspondants. Il déclenche alors l’appel. Si la fiche comporte plusieurs numéros un menu lui propose de choisir le numéro à appeler. Ceci fait, le module d’appel est mis en œuvre pour effectuer la communication

Page 28: 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

28Outils pour la modélisation des systèmes distribués

Plan du cours

Les diagrammes d’activités

Les diagrammes de classe

Les diagrammes de séquence

Les diagrammes de communication

Les diagrammes d’état

Synthèse

Page 29: 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

29Outils pour la modélisation des systèmes distribués

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)

Page 30: 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

30Outils pour la modélisation des systèmes distribués

Exercice: Modélisation d’un 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. C’est lui qui contient les différentes fonctions ( contrôleur d’appels, 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 d’en 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 d’appel stocke les appels émis et reçus sous forme d’une date d’appel et d’un numéro.

Page 31: 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

31Outils pour la modélisation des systèmes distribués

Plan du cours

Les diagrammes d’activités

Les diagrammes de classe

Les diagrammes de séquence

Les diagrammes de communication

Les diagrammes d’état

Synthèse

Page 32: 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

32Outils pour la modélisation des systèmes distribués

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 d’un état à un autre

« éteindre » / « allumer » « gagner » / « perdre »

Un diagramme d’états-transition a pour but de représenter ces aspects dynamiques.

Page 33: 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

33Outils pour la modélisation des systèmes distribués

Diagramme d’état-transition

à tout instant un état représente l’ensemble 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 d’un état à l’autre

est supposée instantanée

occurrence de quelque chose qui arrive à un instant inconnu ou connu (interruption, envoi de message, …)

peut être porteur d’informations

l’événement est le déclencheur d’une transition

Etat

Evénement

Transition

Page 34: 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

34Outils pour la modélisation des systèmes distribués

Etat

Un état est toujours nommé

Il comporte :

des actions d’entré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)

Page 35: 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

35Outils pour la modélisation des systèmes distribués

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èmegarde (guard) : expression logique qui conditionne le départ d’un étataction : action exécutée lors du franchissement de la transition

Page 36: 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

36Outils pour la modélisation des systèmes distribués

Evénement

Il traduit l’arrivée de quelque choseTypes d’événement :

<<signal>> : signal asynchrone<<crée>>, <<détruit>>, … : appel<<top>> : signal synchrone - fin de délai, top horloge, …

événement instantané : pas de label - correspond à la fin de l’activité 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

Page 37: 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

37Outils pour la modélisation des systèmes distribués

Compléments sur diagrammes d’état-transition

La maîtrise de la complexité des diagrammes états-transitions passe par l’utilisation d’états composites (état englobant)

Les sous-états concurrents permettent de représenter la notion de concurrence

Les états historiques permettent de conserver l’historique en tant qu’états, et donc d’y revenir

Page 38: 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

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 LAOSIOutils pour la modélisation des systèmes

distribués

Page 39: 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

39Outils pour la modélisation des systèmes distribués

Exercice

Qu’est ce que ce diagramme signifie ?

Page 40: 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

40Outils pour la modélisation des systèmes distribués

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 d’un 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.

Page 41: 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

41Outils pour la modélisation des systèmes distribués

Plan du cours

Les diagrammes d’activités

Les diagrammes de classe

Les diagrammes de séquence

Les diagrammes de communication

Les diagrammes d’état

Synthèse

Page 42: 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

42Outils pour la modélisation des systèmes distribués

Utilisation des diagrammes

• La règle : « chaque projet a ses particularités »

• La richesse d’UML c’est d’être adaptable

• C’est aux utilisateurs d’UML d’adapter le langage de modélisation pour résoudre le problème posé

• Pensez pratique :

• N’utilisez pas les constructions trop complexes ou incompréhensibles

• Définissez vous votre propre langage UML : un sous ensemble d’UML adapté au domaine

• Unifiez : faites en sorte que tous les membres d’une équipe parlent le même langage.

Page 43: 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

43Outils pour la modélisation des systèmes distribués

Utilisation des diagrammes

•Définir les processus métier en utilisant des diagrammes d’activité

• Utiliser les diagrammes d’activité 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