modélisation orientée objet uml
DESCRIPTION
Modélisation orientée objet UML. Le Langage de Modélisation objet Unifié Modélisation dynamique. Modélisation dynamique. Principaux concepts et diagrammes de cette vue : Le diagramme d’états; Le diagramme d’interaction(séquence + collaboration); Le diagramme de collaboration; - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Modélisation orientée objet UML](https://reader035.vdocuments.pub/reader035/viewer/2022071718/568133ca550346895d9ac2cc/html5/thumbnails/1.jpg)
Modélisation orientée objet UML
Le Langage de Modélisation objet Unifié
Modélisation dynamique
![Page 2: Modélisation orientée objet UML](https://reader035.vdocuments.pub/reader035/viewer/2022071718/568133ca550346895d9ac2cc/html5/thumbnails/2.jpg)
Modélisation dynamique
Principaux concepts et diagrammes de cette vue : Le diagramme d’états; Le diagramme d’interaction(séquence +
collaboration); Le diagramme de collaboration; Le diagramme d’activités.
![Page 3: Modélisation orientée objet UML](https://reader035.vdocuments.pub/reader035/viewer/2022071718/568133ca550346895d9ac2cc/html5/thumbnails/3.jpg)
Diagramme d’états
Représente le concept de machine à états finis: Représente le cycle de vie d’une instance
générique d’une classe. Vue locale d’un objet
Réactions de l’objet en fonction de son état courant. Passage d’un état vers un autre.
![Page 4: Modélisation orientée objet UML](https://reader035.vdocuments.pub/reader035/viewer/2022071718/568133ca550346895d9ac2cc/html5/thumbnails/4.jpg)
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 à
l’occurrence d’un 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 d’activation.
![Page 5: Modélisation orientée objet UML](https://reader035.vdocuments.pub/reader035/viewer/2022071718/568133ca550346895d9ac2cc/html5/thumbnails/5.jpg)
Diagramme d’états transitions Un état se caractérise par sa durée et sa stabilité :
L’état d’un 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 .
![Page 6: Modélisation orientée objet UML](https://reader035.vdocuments.pub/reader035/viewer/2022071718/568133ca550346895d9ac2cc/html5/thumbnails/6.jpg)
Diagramme d’états transitions Les évènements :
Syntaxe d’un évènement : Nom_Evenement (Nom_parametre : type,…) [condition] condition est la garde qui valide ou non le
déclenchement d’une transition quand l’évènement s’est produit.
On peut associer à chaque transition une action à exécuter lors du franchissement dû à un évènement.
![Page 7: Modélisation orientée objet UML](https://reader035.vdocuments.pub/reader035/viewer/2022071718/568133ca550346895d9ac2cc/html5/thumbnails/7.jpg)
Diagramme d’états transitions Exemple :
L’évènement « il fait trop chaud » entraîne la climatisation ou l’ouverture des fenêtres.
A
climatiser aérer
Il fait trop chaud[hiver]Il fait trop chaud[été]
![Page 8: Modélisation orientée objet UML](https://reader035.vdocuments.pub/reader035/viewer/2022071718/568133ca550346895d9ac2cc/html5/thumbnails/8.jpg)
Diagramme d’états transitions Les évènements (suite…) :
Possibilité de préciser les actions à exécuter lorsqu’on est dans un état donné, en entrant ou en sortant : Entry : action à exécuter dès l’entré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 d’exécution est non
négligeable) à exécuter.
![Page 9: Modélisation orientée objet UML](https://reader035.vdocuments.pub/reader035/viewer/2022071718/568133ca550346895d9ac2cc/html5/thumbnails/9.jpg)
Diagramme d’états transitions Une classe gérant un écran de connexion possède
un champs pour saisir le nom d’utilisateur et un champs pour saisir le mot de passe. Ces champs permettent d’afficher (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 lorsqu’un utilisateur tape son mot de passe. L’appui sur le bouton annuler efface les champs. L’appui sur le bouton valider vérifie les informations en Base (BDD) et se connecte à l’application si les informations sont correctes sinon les champs sont effacés.
![Page 10: Modélisation orientée objet UML](https://reader035.vdocuments.pub/reader035/viewer/2022071718/568133ca550346895d9ac2cc/html5/thumbnails/10.jpg)
Diagramme d’états transitionsAttente 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
![Page 11: Modélisation orientée objet UML](https://reader035.vdocuments.pub/reader035/viewer/2022071718/568133ca550346895d9ac2cc/html5/thumbnails/11.jpg)
Diagramme de séquence (d’interaction) Modéliser les aspects dynamiques des
systèmes. Montre une interaction :
Ensemble d’objets et leurs relations; Les messages pouvant circuler entre eux.
Classe les message par ordre chronologique. Composé d’1 ligne de vie et de période(s)
d’activité(s).
![Page 12: Modélisation orientée objet UML](https://reader035.vdocuments.pub/reader035/viewer/2022071718/568133ca550346895d9ac2cc/html5/thumbnails/12.jpg)
Diagramme de séquence Exemple :
o:Objet
oc:ObjetCrée
ao:AutreObjet
<<create>>
Methode1()setAtt1(param)
setAtt2(param1)
<<destroy>>
Ligne de vie
Période d’activités{contrainte/condition}
appelRecursif()
![Page 13: Modélisation orientée objet UML](https://reader035.vdocuments.pub/reader035/viewer/2022071718/568133ca550346895d9ac2cc/html5/thumbnails/13.jpg)
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 l’appel à sa méthode dirigerAppel(Interlocuteur, chiffre). Grâce au commutateur une conversation(c) va se créer. C’est par l’objet Conversation(c) que la sonnerie() va se déclencher chez l’interlocuteur (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).
![Page 14: Modélisation orientée objet UML](https://reader035.vdocuments.pub/reader035/viewer/2022071718/568133ca550346895d9ac2cc/html5/thumbnails/14.jpg)
Diagramme de séquenceS: Interlocuteur : Commutateur r: Interlocuteur
S: Interlocuteur
decrocherCombine
emettreTonalite()
Numeroter(n) {tempExecution < 30s}
dirigerAppels(s,n)
<<create>>
Connecter(r,s)
sonnerie()
decrocherCombine()
Connecter(r) Connecter(s)
![Page 15: Modélisation orientée objet UML](https://reader035.vdocuments.pub/reader035/viewer/2022071718/568133ca550346895d9ac2cc/html5/thumbnails/15.jpg)
Diagramme de collaboration Montre interactions entre objets. Exprime le contexte d’un groupe d’objets Extension du diagramme d’objets. Une interaction est réalisée par un groupe
d’objets qui collaborent en échangeant des messages.
![Page 16: Modélisation orientée objet UML](https://reader035.vdocuments.pub/reader035/viewer/2022071718/568133ca550346895d9ac2cc/html5/thumbnails/16.jpg)
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);
}
![Page 17: Modélisation orientée objet UML](https://reader035.vdocuments.pub/reader035/viewer/2022071718/568133ca550346895d9ac2cc/html5/thumbnails/17.jpg)
Diagramme de collaboration retro-ingénierie
a: AgentServiceInscription
:Main1:<<create>>
c: College
2:<<create>>
E:etudiant
Enregistrer=false;
4 : ajouterEtudiant(e)
3:<<create>>
5:setEnregistrer(true)
E:etudiant
Enregistrer=true;
C1:Cours C2:Cours
5.1:<<become>>
5.2:ajouterEtu(e) 5.3:ajouterEtu(e)
6:ObtenirEmploiDuTemps()