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

Modélisation orientée objet UML Le Langage de Modélisation objet Unifié Modélisation dynamique.

Présentations similaires


Présentation au sujet: "Modélisation orientée objet UML Le Langage de Modélisation objet Unifié Modélisation dynamique."— Transcription de la présentation:

1 Modélisation orientée objet UML Le Langage de Modélisation objet Unifié Modélisation dynamique

2 Principaux concepts et diagrammes de cette vue : Le diagramme détats; Le diagramme dinteraction(séquence + collaboration); Le diagramme de collaboration; Le diagramme dactivités.

3 Diagramme détats Représente le concept de machine à états finis: Représente le cycle de vie dune instance générique dune classe. Vue locale dun objet Réactions de lobjet en fonction de son état courant. Passage dun état vers un autre.

4 Les classes nécessitant un diagramme détats Toutes les classes ne nécessitent pas un diagramme détats. Classes concernées : Celles qui ont un comportement dynamique complexe. Deux cas possibles : Si les objets de la classe peuvent réagir différemment à loccurrence dun même évènement. (réaction = état). Si la classe doit organiser certaines opérations dans un ordre précis. Les états séquentiels précisent la chronologie des évènement dactivation.

5 Diagramme détats transitions Un état se caractérise par sa durée et sa stabilité : Létat dun objet est constitué des valeurs instantanée des ses attributs. Un objet est à tout moment dans un état donné. Une transition représente le passage instantané d'un état vers un autre : Une transition est déclenchée par un événement. Les transitions peuvent aussi être automatiques : Si on ne spécifie pas l'événement qui la déclenche.

6 Diagramme détats transitions Les évènements : Syntaxe dun évènement : Nom_Evenement (Nom_parametre : type,…) [condition] condition est la garde qui valide ou non le déclenchement dune transition quand lévènement sest produit. On peut associer à chaque transition une action à exécuter lors du franchissement dû à un évènement.

7 Diagramme détats transitions Exemple : Lévènement « il fait trop chaud » entraîne la climatisation ou louverture des fenêtres. A climatiseraérer Il fait trop chaud[hiver]Il fait trop chaud[été]

8 Diagramme détats transitions Les évènements (suite…) : Possibilité de préciser les actions à exécuter lorsquon est dans un état donné, en entrant ou en sortant : Entry : action à exécuter dès lentrée dans létat. Exit : action à exécuter lors de la sortie de létat. On : action interne provoquée par un évènement qu ne provoque pas le passage dans un nouvel état. Do : activité (=action dont le temps dexécution est non négligeable) à exécuter.

9 Diagramme détats transitions Une classe gérant un écran de connexion possède un champs pour saisir le nom dutilisateur et un champs pour saisir le mot de passe. Ces champs permettent dafficher (en appuyant sur F1 lorsque le curseur est dans la zone de saisie) une aide spécifique. Le champs de login gère le complétion. Le champs password ne doit rien afficher lorsquun utilisateur tape son mot de passe. Lappui sur le bouton annuler efface les champs. Lappui sur le bouton valider vérifie les informations en Base (BDD) et se connecte à lapplication si les informations sont correctes sinon les champs sont effacés.

10 Diagramme détats transitions Attente saisie Entry/ Nettoyer les champs Saisie identifiant On Aide / Afficher aide Do / Gérer complétion Saisie Passwd Entry / Ne plus afficher entrées clavier. Exit / Réafficher entrées clavier On Aide / Afficher aide Do / Gérer complétion Verif Infos Entry / interroger BD pour vérifier infos Curseur sur champs saisie Appui Annuler Curseur sur champs passwd Curseur sur champs saisie Infos Ok Infos erronées Curseur sur champs passwd Appui Annuler

11 Diagramme de séquence (dinteraction) Modéliser les aspects dynamiques des systèmes. Montre une interaction : Ensemble dobjets et leurs relations; Les messages pouvant circuler entre eux. Classe les message par ordre chronologique. Composé d1 ligne de vie et de période(s) dactivité(s).

12 Diagramme de séquence Exemple : o:Objet oc:ObjetCrée ao:AutreObjet > Methode1() setAtt1(param) setAtt2(param1) > Ligne de vie Période dactivités {contrainte/condition} appelRecursif()

13 Diagramme de séquence Un interlocuteur (s), souhaite appeler un second interlocuteur (r). S envoie un signal (decrocherCombine) au commutateur. Le commutateur va permettre le déclenchement de la méthode emettreTonalité. Le temps imparti pour composer le numéro est de 30s. S envoie un signal (numeroter(numero)). Le commutateur itère sur chaque chiffre par lappel à sa méthode dirigerAppel(Interlocuteur, chiffre). Grâce au commutateur une conversation(c) va se créer. Cest par lobjet Conversation(c) que la sonnerie() va se déclencher chez linterlocuteur (r). R envoie le signal décrochercombiné. La conversation va déclencher la méthode connecter(Interlocuteur i1, Interlocuteur i2) du commutateur. Les interlocuteurs possèdent des méthodes connecter(Interlocuteur autreInterlo).

14 Diagramme de séquence S: Interlocuteur: Commutateurr: Interlocuteur S: Interlocuteur decrocherCombine emettreTonalite() Numeroter(n) {tempExecution < 30s} dirigerAppels(s,n) > Connecter(r,s) sonnerie() decrocherCombine() Connecter(r) Connecter(s)

15 Diagramme de collaboration Montre interactions entre objets. Exprime le contexte dun groupe dobjets Extension du diagramme dobjets. Une interaction est réalisée par un groupe dobjets qui collaborent en échangeant des messages.

16 Diagramme de collaboration retro-ingénierie public Class AgentServiceInscription { private College c; public void inscrire() { Etudiant e = new Etudiant(); This.c.ajoutEtudiant(e); e.setEnregistrer(true); … e.ajouterCours(c1); e.ajouterCours(c2); e.obtenirEmploiDuTemps(); } public Class Etudiant { private boolean enregistrer; public void setEnregistrer(boolean val){…} public void obtenirEmploiDuTemps{…} ajouterCours(Cours c) {c.ajouterEtu(e)} public Class Main { Public static void main(..) { College c = …; AgentServiceInscription a = new AgentServiceInscription(c); }

17 Diagramme de collaboration retro-ingénierie a: AgentServiceInscription :Main 1: > c: College 2: > E:etudiant Enregistrer=false; 4 : ajouterEtudiant(e) 3: > 5:setEnregistrer(true) E:etudiant Enregistrer=true; C1:CoursC2:Cours 5.1: > 5.2:ajouterEtu(e) 5.3:ajouterEtu(e) 6:ObtenirEmploiDuTemps()


Télécharger ppt "Modélisation orientée objet UML Le Langage de Modélisation objet Unifié Modélisation dynamique."

Présentations similaires


Annonces Google