PLAN DU COURS
ACOO-II2
- Diagramme de cas d ́utilisation 2. Diagrammes structurels a) Diagramme de classes (DC) b) Diagramme d’objets (DO) 3. Diagrammes comportementaux
- a) Diagramme de séquence b) Diagramme d’états-transitions c)Diagramme d’activités
2
École Nationale des Sciences de l’Informatique Analyse et conception orientées objet
Chapitre 2
II2-ENSI
12/10/20171
12/10/20171
Chapitre 2 Les diagrammes d’analyse
Positionnement
Structurel
Fonctionnel
→ Les diagrammes comportementaux sont des diagrammes dynamiques qui représentent la vue de processus d’un système.
Chapitre 2 Les diagrammes d’analyse
Algorithme du monde réel Algorithme (scénario)De quoi parle-t-on ? Analyse
du logiciel (scénario)Objets du
monde
Objets du réel
logiciel
Comment ‘logique’ ?
Comment ‘physique’ ? Conception
Code
Modèle conceptuel Modèle logique Modèle physique
Classification selon le point de vue/le niveau d’abstraction Positionnement
Vue de Processus
Vue logique
Où se situent les diagrammes comportementaux ?
Vue des cas d’utilisation
Section 3 Les diagrammes comportementaux
Section 3 Les diagrammes comportementaux4
Objets du langage
Vue de développement
Vue physique
3
12/10/20172
Chapitre 2 Les diagrammes d’analyse
- Introduction
Les diagrammes comportementaux :
Montrent la dynamique du système. Décrivent comment le système évolue dans le temps
Le diagramme de séquence système, d’activités et d’états-
transitions sont les pièces maîtresses de la vue
comportementale au niveau d’analyse
Chapitre 2 Les diagrammes d’analyse
- Le diagramme de séquence système
▪ Le diagramme de séquence système (DSS) décrit les interactions entre les acteurs et le système selon un point de vue temporel (l’accent est mis sur la chronologie des envois/réceptions de messages entre les acteurs et le système).
▪ Le DSS permet la description de la dynamique du système vu de l’extérieur où le système est vu comme une « boîte noire ».
▪ Le système est donc vu de l’extérieur (par les acteurs) sans préjuger de comment il sera réalisé. La « boîte noire » sera ouverte (décrite) seulement en conception.
Section 3 Les diagrammes comportementaux5
Section 3 Les diagrammes comportementaux6
12/10/20173
Chapitre 2 Les diagrammes d’analyse
- Le diagramme de séquence système
▪ Le DSS est typiquement utilisé pour représenter le fonctionnement d’un cas d’utilisation sous la forme d’une séquence de messages échangés entre les acteurs et le système. Il représente la synthèse des scénarios liés aux cas d’utilisation.
▪ Un scénario : une suite spécifique d’événements (d’actions et d’interactions) entre les acteurs et le système (les DSS sont toujours lus du haut vers le bas, pour illustrer l’ordre dans lequel les messages sont envoyés entre les acteurs et le système).
Chapitre 2 Les diagrammes d’analyse
- Le diagramme de séquence système
système acteur
E1 E2 R1
Acteurs/Système
Ligne de vie
Barre d’activation
Messages (asynchrone ou synchrone)
- a) Les principaux concepts
commentaire
Section 3 Les diagrammes comportementaux7
Section 3 Les diagrammes comportementaux8
12/10/20174
Section Chapitre 2 Les diagrammes d’analyse
3 Les diagrammes comportementaux
- Le diagramme de séquence système a) Les principaux concepts
Les acteurs : on les retrouve dans le diagramme de cas d’utilisation et ils interagissent avec le système. Une ligne de temps verticale est associée à l’entité système et à chaque autre acteur du cas d’utilisation qui représente la ligne de vie «lifeline».
Le point de contrôle (barre d’activation) : il illustre la période pendant laquelle une entité (acteur/système) effectue une action. Sur les diagrammes de séquence, ce point de contrôle peut être représenté graphiquement en plaçant un rectangle au-dessus de la ligne de vie de l’objet.
On peut aussi inscrire des commentaires sur le diagramme de séquence système. Ces commentaires peuvent être reliés à toute entité du diagramme.
9
Section Chapitre 2 Les diagrammes d’analyse
3 Les diagrammes comportementaux
- Le diagramme de séquence système a) Les principaux concepts
Les messages : sont représentés par des flèches directionnelles. Au-dessus des flèches directionnelles figure un texte informant du message envoyé entre les entités. Ils peuvent être :
▪ Synchrone : l’acteur appelant attend le message de retour avant de continuer son exécution (équivalent d’une conversation téléphonique)
▪ Asynchrone : l’objet appelant n’attend pas le message de retour (équivalent à un échange de courriels)
Il est possible de montrer une entité qui s’envoie un
message à elle-même à l’aide d’un message réflexif. Sur les diagrammes de séquence, les messages peuvent être
dirigés de droite à gauche ou de gauche à droite.
10
12/10/20175
Section Chapitre 2 Les diagrammes d’analyse
3 Les diagrammes comportementaux
- Le diagramme de séquence système Exemple
Le bibliothécaire souhaite enregistrer un nouvel ouvrage dans le système de gestion de l’inventaire de la bibliothèque. Pour cela, il fournit au système le nom de l’auteur et le titre de l’ouvrage. Le bibliothécaire sélectionne ensuite le type d’ouvrage à enregistrer. Le système lui retourne la liste des ouvrages de ce type qui ont été écrit par cet auteur et qui sont déjà enregistrés dans le système. Le bibliothécaire insère une description complète de l’ouvrage. Le système retourne l’ensemble de la description sous un format de lecture et confirme l’enregistrement du nouvel ouvrage.
11
Chapitre 2 Les diagrammes d’analyse
- Le diagramme de séquence système Exemple
Section 3 Les diagrammes comportementaux
12
12/10/20176
Section 3 Les diagrammes comportementaux
Chapitre 2 Les diagrammes d’analyse
12/10/20177
12/10/20177
- Le diagramme de séquence système
- b) Les fragments combinés
▪ L’opérateur « alt » désigne un choix, une alternative. Il représente des comportements possibles : c’est en quelque sorte l’équivalent du SI…ALORS…SINON : donc, une seule des branches alternatives sera réalisée dans un scénario donné.
▪ La condition d’exécution d’une des branches alternatives (l’équivalent du SI) peut être explicite ou implicite.
▪ L’utilisation de l’opérateur else permet d’indiquer que la branche est exécutée si la condition du alt est fausse.
14
12/10/20177
12/10/20177
- Le diagramme de séquence système
- b) Les fragments combinés
Un fragment combiné représente des articulations d’interactions. Il est défini par un opérateur et des opérandes. L’opérateur conditionne la signification du fragment combiné. Les fragments combinés peuvent faire intervenir l’ensemble des entités participant au scénario ou juste un sous-ensemble.
Les principaux opérateurs en UML 2.0 :
▪ Opérateur « Alternative »
▪ Opérateur « Option »
▪ Opérateur « Break »
▪ Opérateur « Parallel »
▪ Opérateur « Loop »
13
12/10/20177
12/10/20177
Section 3 Les diagrammes comportementaux
Chapitre 2 Les diagrammes d’analyse
12/10/20177
12/10/20177
L’exemple ici montre un opérateur « alt » : – soit l’utilisateur rentre un code correct et dans ce cas le diagramme de séquence relatif à la vérification du code est appelé, – soit l’utilisateur rentre un code erroné, trois fois, et sa carte est gardée.
Chapitre 2 Les diagrammes d’analyse
- Le diagramme de séquence système
Section Chapitre 2 Les diagrammes d’analyse
3 Les diagrammes comportementaux
- Le diagramme de séquence système a) Les fragments combinés
L’opérateur « opt » désigne un fragment combiné optionnel comme son nom l’indique : c’est à dire qu’il représente un comportement qui peut se produire… ou pas. Un fragment optionnel est équivalent à un fragment « alt » qui ne posséderait pas d’opérande else (qui n’aurait qu’une seule branche).
L’exemple ici montre un opérateur « opt » : L’utilisateur, si il est mécontent, peut se défouler sur le distributeur de billets.
Section 3 Les diagrammes comportementaux
- a) Les fragments combinés
15
16
12/10/20178
Chapitre 2 Les diagrammes d’analyse
- Le diagramme de séquence système
L’exemple ici montre un opérateur « break » : L’utilisateur, lorsque le distributeur lui demande son code, peut choisir de rentrer son code ou de consulter l’aide. S’il choisit de consulter l’aide, le flot d’interaction relatif à la saisie du code est interrompu.
Chapitre 2 Les diagrammes d’analyse
Section 3 Les diagrammes comportementaux
- b) Les fragments combinés
Section 3 Les diagrammes comportementaux
17
12/10/20179
12/10/20179
12/10/20179
12/10/20179
12/10/20179
12/10/20179
12/10/20179
12/10/20179
- Le diagramme de séquence système
L’opérateur « break » est utilisé pour représenter des scenarii d’exception. Les interactions de ce fragment seront exécutées à la place des interactions décrites en dessous. Il y a donc une notion d’interruption du flot « normal » des interactions.
L’équivalent de ce diagramme de séquence sans l’opérateur break correspond aux deux diagrammes de séquence suivants :
18
- b) Les fragments combinés
12/10/20179
12/10/20179
L’opérateur « par » est utilisé pour représenter des interactions ayant lieu en parallèle. Les interactions des différents opérandes peuvent se mélanger, s’intercaler, dans la mesure où l’ordre imposé dans chaque opérande est respecté.
L’exemple ici montre qu’un développeur ayant accès à Internet peut consulter en parallèle, soit le site http://www.developpez. com soit le site http://www.developpez. net/forums/ sans préférence d’ordre.
19
12/10/201710
Chapitre 2 Les diagrammes d’analyse
- Le diagramme de séquence système
Chapitre 2 Les diagrammes d’analyse
- Le diagramme de séquence système
L’opérateur « Loop » (boucle) est utilisé pour décrire un ensemble d’interaction qui s’exécutent en boucle. En général, une contrainte appelée garde indique le nombre de répétitions (minimum et maximum) ou bien une condition booléenne à respecter.
L’exemple ici montre un exemple pour l’opérateur « loop » : Le diagramme de séquence indique que lorsque l’utilisateur se trompe trois fois de code, la carte est gardée et le distributeur se remet en mode d’attente d’une carte.
Section 3 Les diagrammes comportementaux
- b) Les fragments combinés
Section 3 Les diagrammes comportementaux
- b) Les fragments combinés
20
12/10/201710
12/10/201710
12/10/201710
12/10/201710
12/10/201710
12/10/201710
12/10/201710
12/10/201710
12/10/201710
12/10/201710
Section 3 Les diagrammes comportementaux
Chapitre 2 Les diagrammes d’analyse
12/10/201711
12/10/201711
- Le diagramme de séquence système
Exemple
Cas d’utilisation principal : Jouer une partie de démineur Dans la boucle (loop) de jeu, il y a trois possibilités (alt) : perte, gain ou cas normal. Les cas de perte ou de gain arrêtent la partie (break). Sinon, le joueur passe son temps à découvrir ou (alt) marquer des cases. Ensuite, le joueur pourra (opt) entrer son nom dans les meilleurs scores si ([]) il a le meilleur temps en fonction du niveau choisi. On peut ajouter la configuration du jeu comme étape
optionnelle (opt) avant de commencer à jouer.
22
12/10/201711
12/10/201711
- Le diagramme de séquence système
- c) Les références
Une référence (interaction occurrence) peut être vue comme un pointeur ou un raccourci vers un autre diagramme de séquence existant.
Cela équivaut à copier le contenu du diagramme de
séquence pointé en lieu et place de la référence.
Cela permet de factoriser des parties de comportement
utilisées dans plusieurs scénario.
21
12/10/201711
12/10/201711
Section 3 Les diagrammes comportementaux
Chapitre 2 Les diagrammes d’analyse
12/10/201711
12/10/201711
Chapitre 2 Les diagrammes d’analyse
- Le diagramme de séquence système
Chapitre 2 Les diagrammes d’analyse
- Le diagramme d’états-transitions
▪ Le diagramme d’états transition DET a pour objectif de représenter des traitements permettant de gérer le domaine étudié.
▪ Les traitements sont positionnés par rapport à des classes et plus précisément par rapport à des états de classes.
▪ Le DET met en évidence l’enchaînement des différents états d’une classe.
▪ Le DET est associé à une classe pour laquelle on gère différents états : il permet de représenter tous les états possibles, ainsi que les événements provoquant un changement d’état.
Section 3 Les diagrammes comportementaux
Exemple
Section 3 Les diagrammes comportementaux24
23
12/10/201712
Chapitre 2 Les diagrammes d’analyse
- Le diagramme d’états-transitions
Section 3 Les diagrammes comportementaux
12/10/201713
12/10/201713
Chapitre 2 Les diagrammes d’analyse
- Le diagramme d’états-transitions
Un état est une situation durable dans laquelle peuvent se trouver les objets d’une classe et à laquelle on associe des règles de gestion. Un état d’un objet est une situation stable dans la vie de l’objet où il effectue une activité ou il attend un événement. A un instant donné, un objet est dans un état. L’état est présenté dans un rectangle aux angles
arrondis.
25
Transition une relation entre deux états signifiant qu’un passage de l’un à l’autre est possible. En d’autres termes, une transition est une relation orientée entre deux états, à laquelle est attaché un événement et qui indique qu’un objet dans le premier état passera dans le second si certaines conditions sont remplies. La transition est représentée par une flèche entre deux
états, accompagnée du nom de l’événement.
26
Section 3 Les diagrammes comportementaux
12/10/201713
12/10/201713
Chapitre 2 Les diagrammes d’analyse
- Le diagramme d’états-transitions
Section 3 Les diagrammes comportementaux
12/10/201714
12/10/201714
Section 3 Les diagrammes comportementaux
Chapitre 2 Les diagrammes d’analyse
- Le diagramme d’états-transitions
Action Une action est une opération élémentaire et
instantanée.
C’est une réaction du système à un Événement qui
peut figurer sur une transition ou dans un état.
28
Etats prédéfinis État initial : Il est obligatoire et unique (l’action de création d’un objet est généralement associée à l’événement de sortie de cet état). État final : Un objet peut avoir plusieurs états finaux. Les événements conduisant à un état final sont fréquemment associés à une action de destruction ou d’archivage.
27
12/10/201714
12/10/201714
Chapitre 2 Les diagrammes d’analyse
- Le diagramme d’états-transitions
Section 3 Les diagrammes comportementaux
12/10/201715
12/10/201715
Chapitre 2 Les diagrammes d’analyse
- Le diagramme d’états-transitions
Si l’on veut que l’action soit déclenchée au moment où l’événement associé à la transition se produit, on l’indiquera directement sur la transition, précédée d’un » / « . Lorsque l’événement se produit, si la condition est
vérifiée, alors l’action est effectuée
29
Les actions figurant dans un état sont déclenchées par
trois types d’événements :
▪ L’entrée dans l’ état
▪ La sortie de l’état
▪ Un événement, appelé transition interne, qui laisse l’objet dans le même état.
30
Section 3 Les diagrammes comportementaux
12/10/201715
12/10/201715
Chapitre 2 Les diagrammes d’analyse
- Le diagramme d’états-transitions
Section 3 Les diagrammes comportementaux
12/10/201716
12/10/201716
Section 3 Les diagrammes comportementaux
Chapitre 2 Les diagrammes d’analyse
- Le diagramme d’états-transitions
États composites Pour appréhender plus facilement la complexité des traitements décrits, nous pouvons utiliser les concepts de généralisation/spécialisation, déjà employés pour décrire la complexité des classes. Un état (le super état) va pouvoir se décomposer en
plusieurs états (les sous états).
Objectifs :
▪ Hiérarchiser les états
▪ Structurer les comportements complexes
▪ Factoriser les actions
32
Événements internes à l’état : Événement à l’entrée : Entry Événement à la sortie : Exit Événement sans changement d’état : event Activité : Do
31
12/10/201716
12/10/201716
Section Chapitre 2 Les diagrammes d’analyse
3 Les diagrammes comportementaux
- Le diagramme d’états-transitions
État composite
Achat (séquentiel)
Exit / éjecter_ carte()
d’un billet
Actif
insérer_carte
Identificationinactif
Sélection choisir(siège) / ajouter_à_sélection(siège)
clic_annuler
ConfirmationÀ remarquer
- Transition interne
- Transitions de complétion
- État intial
Vente Entry / vendre()
- État final
[identification_échouée]
[identification_réussie]/ Initialiser_sélection()
clic_acheter
clic_recommencer clic_confirmer
Chapitre 2 Les diagrammes d’analyse
- Le diagramme d’états-transitions
Représentation graphique
Etat1
Etat2
SousEtat21
SousEtat22
Section 3 Les diagrammes comportementaux
33
12/10/201717
Section 3 Les diagrammes comportementaux
Chapitre 2 Les diagrammes d’analyse
- Le diagramme d’états-transitions
État composite (concurrent)
Diagramme d’état d’un cours
Cours non terminéLabo 1
lab_terminé
Labo 2 lab_terminé
Cours réussi
Projet de
projet_terminé
[note >= 60] semestre
Examen
réussite final
Cours échoué
échec
[note < 60]
Section 3 Les diagrammes comportementaux
Chapitre 2 Les diagrammes d’analyse
- Le diagramme d’activités
Un diagramme d’activités (activités et transitions) est une variante du diagramme d’états-transitions (états et transitions).
A la phase d’analyse, le diagramme d’activités visualise un graphe d’activités qui modélise le comportement interne d’un cas d’utilisation ou plus généralement d’un processus.
Un diagramme d’activités représente l’état d’exécution d’un mécanisme, sous la forme d’un déroulement d’étapes regroupées séquentiellement dans des branches parallèles de flots de contrôle. Il est utile pour la représentation des processus métiers et les cas d’utilisation.
36
12/10/201718
Le diagramme d’activités comprend : des activités (une activité= une étape d’exécution, état- activité). Une activité représente une exécution d’un mécanisme, un déroulement d’étapes séquentielles. Le passage d’une activité vers une autre est matérialisé par une transition. des transitions qui sont déclenchées à la fin d’une activité et provoquent le début immédiat d’une autre.
Notation :
37
- Le diagramme d’activités
nom_activité Activité
Transition
Marqueur d’état initial
Barre de synchronisation
Branchement
Condition [ cond ]
- Le diagramme d’activités
12/10/201719
Chapitre 2 Les diagrammes d’analyse
Chapitre 2 Les diagrammes d’analyse
Section 3 Les diagrammes comportementaux
Section 3 Les diagrammes comportementaux
12/10/201719
12/10/201719
12/10/201719
12/10/201719
Section 3 Les diagrammes comportementaux
Chapitre 2 Les diagrammes d’analyse
- Le diagramme d’activités
Types de nœuds de contrôle Nœud initial : c’est un nœud de contrôle à partir duquel le flot débute lorsque l’activité enveloppante est invoquée. Une activité peut avoir plusieurs nœuds initiaux. Un nœud initial possède un arc sortant et pas d’arc entrant. Graphiquement, un nœud initial est représenté par un petit cercle plein.
Nœud de fin d’activité : lorsque l’un des arcs d’un nœud de fin d’activité est activé, l’exécution de l’activité enveloppante s’achève et tout nœud ou flot actif au sein de l’activité enveloppante est abandonné. Graphiquement, un nœud de fin d’activité est représenté par un cercle vide contenant un petit cercle plein.
40
- Le diagramme d’activités
12/10/201720
12/10/201720
Chapitre 2 Les diagrammes d’analyse
Section 3 Les diagrammes comportementaux
39
12/10/201720
12/10/201720
Section 3 Les diagrammes comportementaux
Chapitre 2 Les diagrammes d’analyse
- Le diagramme d’activités
Nœud de fin de flot : lorsqu’un flot d’exécution atteint un nœud de fin de flot, le flot en question est terminé, mais cette fin de flot n’a aucune incidence sur les autres flots actifs de l’activité enveloppante. Graphiquement, un nœud de fin de flot est représenté par un cercle vide barré d’un X.
Un nœud de décision ou branchement : c’est un nœud de contrôle qui permet de faire un choix entre plusieurs flots sortants. Il possède un arc entrant et plusieurs arcs sortants. Ces derniers sont généralement accompagnés de conditions de garde pour conditionner le choix. Graphiquement, on représente un nœud de décision par un losange.
41
12/10/201721
12/10/201721
Section 3 Les diagrammes comportementaux
Chapitre 2 Les diagrammes d’analyse
- Le diagramme d’activités
Nœud de fusion (merge node) : c’est un nœud de contrôle qui rassemble plusieurs flots alternatifs entrants en un seul flot sortant. Il n’est pas utilisé pour synchroniser des flots concurrents (c’est le rôle du nœud d’union) mais pour accepter un flot parmi plusieurs. Graphiquement, on représente un nœud de fusion, comme un nœud de décision, par un losange.
42
12/10/201721
12/10/201721
Section 3 Les diagrammes comportementaux
Chapitre 2 Les diagrammes d’analyse
- Le diagramme d’activités
Nœud de bifurcation (fork node) ou barre de synchronisation de débranchement : une barre qui sépare un flot en plusieurs flots concurrents. Un tel nœud possède donc un arc entrant et plusieurs arcs sortants. Les transitions de débranchement au départ d’une barre de synchronisation sont déclenchées simultanément. Nœud d’union (join node) ou barre de synchronisation de jointure : une barre qui synchronise des flots multiples. Un tel nœud possède donc plusieurs arcs entrants et un seul arc sortant. Une barre de synchronisation ne peut être franchie que lorsque toutes les transitions en entrée sur la barre sont déclenchées. Graphiquement, on représente les barres de synchronisation (le
nœud de union et le nœud de bifurcation) par un trait plein.
43
12/10/201722
12/10/201722
Section 3 Les diagrammes comportementaux
Chapitre 2 Les diagrammes d’analyse
- Le diagramme d’activités
Couloirs d’activités (swimlanes) Il est possible de diviser un diagramme d’activités en partitions ou couloirs d’activités (travées, swimlanes). Chaque partition montre quelles actions sont exécutées par un acteur ou une unité organisationnelle.
44
12/10/201722
12/10/201722
ACOO
Fin Partie 3 II2-ENSI
45
12/10/201723
télécharger gratuitement cours de les diagrammes d’analyse