cours de les diagrammes d'analyse ( conception)

École Nationale des Sciences de l'Informatique (ENSI)
1/1
100%

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/2017 1 12/10/2017 1 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 comportementaux 4 Objets du langage Vue de développement Vue physique 3 12/10/2017 2 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 comportementaux 5 Section 3 Les diagrammes comportementaux 6 12/10/2017 3 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 comportementaux 7 Section 3 Les diagrammes comportementaux 8 12/10/2017 4 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/2017 5 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/2017 6 Section 3 Les diagrammes comportementaux Chapitre 2 Les diagrammes d’analyse 12/10/2017 7 12/10/2017 7 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/2017 7 12/10/2017 7 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/2017 7 12/10/2017 7 Section 3 Les diagrammes comportementaux Chapitre 2 Les diagrammes d’analyse 12/10/2017 7 12/10/2017 7 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/2017 8 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/2017 9 12/10/2017 9 12/10/2017 9 12/10/2017 9 12/10/2017 9 12/10/2017 9 12/10/2017 9 12/10/2017 9 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/2017 9 12/10/2017 9 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/2017 10 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/2017 10 12/10/2017 10 12/10/2017 10 12/10/2017 10 12/10/2017 10 12/10/2017 10 12/10/2017 10 12/10/2017 10 12/10/2017 10 12/10/2017 10 Section 3 Les diagrammes comportementaux Chapitre 2 Les diagrammes d’analyse 12/10/2017 11 12/10/2017 11 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/2017 11 12/10/2017 11 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/2017 11 12/10/2017 11 Section 3 Les diagrammes comportementaux Chapitre 2 Les diagrammes d’analyse 12/10/2017 11 12/10/2017 11 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 comportementaux 24 23 12/10/2017 12 Chapitre 2 Les diagrammes d’analyse Le diagramme d’états-transitions Section 3 Les diagrammes comportementaux 12/10/2017 13 12/10/2017 13 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/2017 13 12/10/2017 13 Chapitre 2 Les diagrammes d’analyse Le diagramme d’états-transitions Section 3 Les diagrammes comportementaux 12/10/2017 14 12/10/2017 14 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/2017 14 12/10/2017 14 Chapitre 2 Les diagrammes d’analyse Le diagramme d’états-transitions Section 3 Les diagrammes comportementaux 12/10/2017 15 12/10/2017 15 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/2017 15 12/10/2017 15 Chapitre 2 Les diagrammes d’analyse Le diagramme d’états-transitions Section 3 Les diagrammes comportementaux 12/10/2017 16 12/10/2017 16 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/2017 16 12/10/2017 16 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 Identification inactif 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 / 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/2017 17 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é semestre Examen réussite final Cours échoué échec 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/2017 18 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/2017 19 Chapitre 2 Les diagrammes d’analyse Chapitre 2 Les diagrammes d’analyse Section 3 Les diagrammes comportementaux Section 3 Les diagrammes comportementaux 12/10/2017 19 12/10/2017 19 12/10/2017 19 12/10/2017 19 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/2017 20 12/10/2017 20 Chapitre 2 Les diagrammes d’analyse Section 3 Les diagrammes comportementaux 39 12/10/2017 20 12/10/2017 20 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/2017 21 12/10/2017 21 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/2017 21 12/10/2017 21 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/2017 22 12/10/2017 22 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/2017 22 12/10/2017 22 ACOO Fin Partie 3 II2-ENSI 45 12/10/2017 23 télécharger gratuitement cours de les diagrammes d'analyse

Page 1 sur 1Lecteur de document UniversityLib

cours de les diagrammes d'analyse ( conception)

École Nationale des Sciences de l'Informatique (ENSI) · Informatique · exam