Modélisation orientée objet UML

Slides:



Advertisements
Présentations similaires
La programmation orientée objet avec Java L3-MIAGE Plan
Advertisements

Le modèle de communication
Langage de modélisation objet unifié
Génie Logiciel 2 Julie Dugdale
Eléments visuels. 2009/2010L3-Eco - Université de Bordeaux2 Les feuilles La feuille : cest le cadre dans lequel tous les autres éléments (visuels) dune.
PROGRAMMATION LOGICIEL PL7 MICRO Consignes
Systèmes en temps réel Modélisation du comportement en temps réel avec UML.
M.E.D.A.L. Module dEnseignement à Distance pour lArchitecture Logicielle Alain VAILLY Diapositive n° 1 IUP MIAGE - Université de NANTES IUP-MIAGE 3ème.
Les diagrammes d’interactions
Le modèle de communication
TD 1 IJA Introduction Objet, méthode, attribut Classe, instance
UML (Unified Modeling Langage)
Principe de défilement du document dans un traitement de texte
Diagrammes de communication
Langage SysML.
PARTIE 3 : Le SYSTEME D’INFORMATION FUTUR
Présentation SysML (Systems Modeling Language ) est basé sur UML et remplace la modélisation de classes et d'objets par la modélisation de blocs pour un.
dsi- assistance Numéros utiles Notice Simplifiée
Le Modèle Dynamique 1. EADS Matra Datavision - Confidentiel
UML : GENERALITES Rappel Diagrammes Niveaux de visions
dsi- assistance Numéros utiles Notice Simplifiée
UML : DIAGRAMME D’ACTIVITES
Modèle Conceptuel des Traitements
JavaBeans Réalise par: EL KHADRAOUY TARIK AOUTIL SAFOWAN.
Analyse et Conception des Systèmes d’Informations
Modélisation des bases de données avec UML
1 Introduction : Management des systèmes dinformation version 1.1 du 13 Novembre 2001 Introduction : Management des systèmes dinformation ENSGI Cours MSI.
Introduction au paradigme objet Concepts importants surcharge (overload) redéfinition (override) Définition d’une classe Définition des attributs.
© 2007 P. Van Roy. All rights reserved. FSAB1402: Informatique 2 Le Langage Java et les Exceptions Peter Van Roy Département dIngénierie Informatique,
Vers la conception objet
Modèle, Méthode et Conception
Outils pour la modélisation des systèmes distribués
Complément Le diagramme des classes
Analyse et conception orientée objet
PROCEDURE TYPE D'AFFECTATION DES ETUDIANTS PAR PAQUETS Afficher la population d'étudiants à affecter en masse dans un ou plusieurs groupes : - Sélectionner.
Diagramme d’interaction
Statecharts Décrit les changements d’état d’un objet en réponse à des événements Point focal : l’objet et ses changements d’états Inventeur: David Harel.
P. Van Roy, LINF1251 LINF1251: Le Langage Java Peter Van Roy Département dIngénierie Informatique, UCL
1 IFT 6800 Atelier en Technologies dinformation Le langage de programmation Java chapitre 3 : Classes et Objects.
Module 2 : Préparation de l'analyse des performances du serveur
Leçon 1 : notion dobjet IUP Génie Informatique Besançon Méthode et Outils pour la Programmation Françoise Greffier Université de Franche-Comté.
Le diagramme de séquences
Le diagramme d’activités
Le diagramme de collaboration
UML (2) Modèle dynamique le diagramme de séquence
Sensibilisation a la modelisation
Langage de modélisation graphique de systèmes
Rappel sur les diagrammes de collaboration
Le diagramme d’états-transitions
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Introduction à Visual Studio C++ (VC++)
Unified Modeling Langage
J. Cardoso — C. Sibertin-Blanc — C
Conversation permanente
Nouvelles Technologies Internet & Mobile
Les surcharges d'opérateurs
ENSTA : cours IN204 Introduction à JAVA et UML
Saisie des absences en salles de classes par les enseignants
UML : Vue fonctionnelle - Diagramme de collaboration et diagramme de séquence /2004 Cours d'UML.
Hiver 2004SEG2501 Chapître 41 Chapître 4 SDL – structure d’un système et son comportement.
Modélisation orientée objet UML
Chapitre 5 Les diagrammes d’interaction (collaboration et séquence)
Machines à états finis.
Chapitre 2 Rappels objet et Présentation des diagrammes UML
Chapitre 2 Rappels objet et Présentation des diagrammes UML
Domaine: L’informatique et la programmation
Flash 2 ème séance Interaction François Marliac Mickaël Moreira.
Flash MX – Séance 2 Interactions & ActionScript David Rapin Si28 P06.
Diagrammes de comportement Présentation. Diagramme de séquence  Permet de modéliser les envois de messages entre objets chronologiquement.  Modélisation.
Transcription de la présentation:

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; Le diagramme d’activités.

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.

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.

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 .

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.

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

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.

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.

Diagramme d’états transitions Saisie identifiant On Aide / Afficher aide Do / Gérer complétion Appui Annuler Attente saisie Entry/ Nettoyer les champs Curseur sur champs saisie Curseur sur champs passwd Curseur sur champs saisie Infos erronées Appui Annuler Curseur sur champs passwd 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 Infos Ok

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

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

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

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

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.

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); }

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