Autres diagrammes - Charlie-Soft

Download Report

Transcript Autres diagrammes - Charlie-Soft

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
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
évènement (paramètre)
État intermédiaire
État intermédiaire
État final
évènement[Cond]
évènement
évènement / action
État final
UML
8
Transition conditionnelle
[x!=y]
État 1
État 2a
[x=y]
État 2b
UML
9
Super état
 Élément de structuration des diagrammes d'états-
transitions
 État qui englobe d'autres états et transitions
E1
SE1
T3
T1
E2
T2
SE2
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(2mn)
lavageComplet
lavage
after(2mn)
lustrage
after(4mn)
séchage
Arret d’urgence
reprise
Arret d’urgence
attente
after(2mn)
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
BE1
CE1
T1
T4
T3
BE2
T5
T1
T2
CE2
BE3
UML
T6
17
Exemple contraintes
A
B
C
BE1
CE1
T1
T4 [in CE1]
T3
BE2
T5
UML
T1
T2
CE2
BE3
T6
18
Exemple synchronisation
E1
E2
E3
E4
E5
T1
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
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
Non abordé dans le sujet...
JANZ / CAN-BIGBOX
<<Bus CAN >>
Bains
1..*
<<Bus CAN >>
3
Plusieurs occurrences.
CTache est une classe
de base.
JANZ / CAN-BIGBOX
Module CAN
(voir annexe 4)
<<TOR TTL>>
Capteurs/Actionneurs
1
1
robots nommés
R1 R2 et R3.
Rx:Robot 2 Axes
Système Temps Réel
<<Tâche TR >>
:CTache
<<TCP/IP>>
<<Hub ou Switch>>
Concentrateur ou Commutateur
Internet
<<TCP/IP>>
<<TCP/IP>>
PC Commande/Contrôle/Supervision
<<executable>>
IHM
UML
<<TCP/IP>>
PC Gestion/ Base de données
Serveur
SQL
Base de
Données
<<Routeur>>
ADSL
28