Langage de modlisation objet unifi Cours n 4
Langage de modélisation objet unifié Cours n° 4 UML 1
Plan �Introduction �Modéliser avec UML �Diagrammes de cas d’utilisation �Diagrammes de classes �Notion de paquetage �Diagrammes d’objets �Diagrammes de séquence �Diagrammes de collaboration �Diagrammes d’états/transition �Autres diagrammes UML 2
Diagrammes d’états-transitions UML 3
Vues �Vues statiques du système : � diagrammes de cas d'utilisation (Fonctionnel) � diagrammes de classes � diagrammes d'objets � diagrammes de composants � diagrammes de déploiement �Vues dynamiques du système : � diagrammes de séquence � diagrammes de collaboration � diagrammes d'états-transitions � diagrammes d'activités UML 4
Statechart diagrams �Ils présentent la vue dynamique d’un système �Ils sont particulièrement important dans la modélisation du comportement d’une interface, d’une classe ou d’une collaboration �Le comportement d’un objet est ordonnancé par des évènements �Ce sont des automates à états, composés d’états, de transitions, d’évènements et d’actions UML 5
Sémantique �Les diagrammes d'états-transitions permettent de décrire les changements d'états d'un objet ou d'un composant, en réponse aux interactions avec d'autres objets/composants ou avec des acteurs �Un état se caractérise par sa durée et sa stabilité, il représente une conjonction instantanée des valeurs des attributs d'un objet �Une transition représente le passage instantané d'un état vers un autre �Une transition est déclenchée par un événement : c'est l'arrivée d'un événement qui conditionne la transition �Une action est exécutée sur l’objet spécifié à l'entrée du nouvel état UML 6
Sémantique �Transitions automatiques : événement déclenchant non spécifié �En plus de spécifier un événement précis, il est aussi possible de conditionner une transition, à l'aide de "gardes" : expressions booléennes, exprimées en langage naturel �Il est également possible de spécifier un paramètre à l’évènement UML 7
Convention graphique État initial évènement (paramètre) État intermédiaire État final évènement[Cond] État intermédiaire évènement / action État final UML 8
Transition conditionnelle [x!=y] État 1 État 2 a [x=y] État 2 b UML 9
Super état �Élément de structuration des diagrammes d'étatstransitions �État qui englobe d'autres états et transitions E 1 SE 1 T 3 T 1 E 2 T 2 SE 2 UML 10
Généralisation [age>60] Actif Perte emploi Embauche Chômeur UML Retraité [age>60] 11
Généralisation Actif Perte emploi Embauche [age>60] Retraité Chômeur UML 12
Exemple suivant after(2 mn) lavage. Complet lavage after(2 mn) lustrage after(4 mn) séchage Arret d’urgence reprise Arret d’urgence attente after(2 mn) UML 13
Action dans un état �Les actions propres à un état peuvent aussi être documentées directement à l'intérieur de l'état �UML définit un certain nombre de champs qui permettent de décrire les actions dans un état : �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 UML 14
Évènement réflexif �L’évènement peut arriver plusieurs fois et les action doivent être à chaque fois exécutées rencontre salut / serrer main UML entry / bonjour exit / au revoir 15
États concurrents �Dans un même état, plusieurs automates peuvent s’exécuter en parallèle �L’exécution d’un automate peut être contrainte par l’exécution d’un autre �L’exécution peut-être synchronisée UML 16
Exemple états concurrents A B C BE 1 CE 1 T 4 T 3 BE 2 T 5 T 1 T 2 CE 2 BE 3 UML T 6 17
Exemple contraintes A B C BE 1 CE 1 T 4 [in CE 1] T 3 BE 2 T 5 UML T 1 T 2 CE 2 BE 3 T 6 18
Exemple synchronisation E 1 E 2 E 3 E 4 E 5 T 1 UML 19
Diagrammes de composants UML 20
Vues �Vues statiques du système : � diagrammes de cas d'utilisation (Fonctionnel) � diagrammes de classes � diagrammes d'objets � diagrammes de composants � diagrammes de déploiement �Vues dynamiques du système : � diagrammes de séquence � diagrammes de collaboration � diagrammes d'états-transitions � diagrammes d'activités UML 21
Component diagrams �permettent de décrire l'architecture physique et statique d'une application en terme de modules : fichiers sources, librairies, exécutables, etc. �montrent la mise en œuvre physique des modèles de la vue logique avec l'environnement de développement. �Les dépendances entre composants permettent notamment d'identifier les contraintes de compilation et de mettre en évidence la réutilisation de composants UML 22
Component diagrams �Le composants peuvent être organisés en paquetages, qui définissent des sous-systèmes. �Les sous-systèmes organisent la vue des composants (de réalisation) d'un système. �Ils permettent de gérer la complexité, par encapsulation des détails d'implémentation. UML 23
Exemple UML 24
Diagrammes de déploiement UML 25
Vues �Vues statiques du système : � diagrammes de cas d'utilisation (Fonctionnel) � diagrammes de classes � diagrammes d'objets � diagrammes de composants � diagrammes de déploiement �Vues dynamiques du système : � diagrammes de séquence � diagrammes de collaboration � diagrammes d'états-transitions � diagrammes d'activités UML 26
Diagrammes de déploiement �Montrent la disposition physique des matériels qui composent le système et la répartition des composants sur ces matériels �Les ressources matérielles sont représentées sous forme de nœuds �Les nœuds sont connectés entre eux, à l'aide d'un support de communication. La nature des lignes de communication et leurs caractéristiques peuvent être précisées. �Les diagrammes de déploiement peuvent montrer des instances de nœuds (un matériel précis), ou des classes de nœuds �Les diagrammes de déploiement correspondent à la vue de déploiement d'une architecture logicielle UML 27
Exemple UML 28
- Slides: 28