INSIA – SIGL 2 UML 3 : ANALYSE ORGANIQUE Diagrammes de ... · PDF fileConstruction...

Click here to load reader

  • date post

    11-Sep-2018
  • Category

    Documents

  • view

    221
  • download

    0

Embed Size (px)

Transcript of INSIA – SIGL 2 UML 3 : ANALYSE ORGANIQUE Diagrammes de ... · PDF fileConstruction...

  • INSIA UML SIGL 2 Cours 03 page 1/52 - Bertrand LIAUDET

    INSIA SIGL 2

    UML

    3 : ANALYSE ORGANIQUE

    Diagrammes de classes, dobjets, de squence, de collaboration

    Bertrand LIAUDET

    SOMMAIRE

    LES DIAGRAMMES ORGANIQUES OBJET CLASSES, OBJETS,

    SEQUENCE, COLLABORATION 3

    1. Lapproche objet - introduction 5

    LObjet 5 Le Message 9 La Classe 11 LHritage 12 Le Polymorphisme 15

    2. Le diagramme de classes 16

    Notions gnrales sur les classes et formalisme UML 16 Associations entre classes 19 Les associations simples 19 Agrgation et composition 23 Gnralisation 24 Les relation de dpendance 25 Les classes abstraites 26 Les classes interface ou boundary 27 Quelques classes particulires 29 Amlioration de lanalyse des classes : notion de mtaclasse 31 Notion de pattern 31

    3. Construction dun diagramme de classes : 3 grands types de classe 33

    3 points de vue guident la modlisation du diagramme des classes : 33 Le point de vue statique : les classes entit ou mtier 33 Le point de vue fonctionnel : les classes interface 33 Le point de vue dynamique : les classes control 34

  • INSIA UML SIGL 2 Cours 03 page 2/52 - Bertrand LIAUDET

    Attention !!! 34 Documentation des mthodes 34

    3. Les diagrammes de squence 36

    Prsentation 36 Les types de messages 36 Reprsentation dun appel de procdure embote 36 Reprsentation du paramtre de retour 37 Envoi dun message rflexif 37 Reprsentation de la rcursivit 37 Reprsentation des boucles 38 Reprsentation des tests 38 Reprsentation de contraintes temporelles 39 Reprsentation de la cration et de la destruction dun objet 39 Exemple de diagramme de squence 40

    4. Les diagrammes de collaboration 41

    Prsentation 41 Exemple 41 Avantages 41 Inconvnients 41 Remplacement par un diagramme de squence 42

    5. Les diagramme dobjets 43

    Prsentation 43 Reprsentation UML 43

    ANNEXES 44

    1. Traduction de MEA en UML 44

    Les employs et les dpartements 44 Les courriers : association non hirarchique sans attributs 45 La bibliothque : association non hirarchique avec attributs et classe-association 46 Les cinmas : identifiant relatif et composition 47 Les chantiers : hritage 48

    2. Gnration de C++ 49

    Classe et association 49 Classe et agrgation 50 Classe et composition 51 Hritage 51 Classe association 51

    Premire dition : automne 2007 Deuxime dition : novembre 2008 Troisime dition : octobre 2009

  • INSIA UML SIGL 2 Cours 03 page 3/52 - Bertrand LIAUDET

    LES DIAGRAMMES ORGANIQUES OBJET

    CLASSES, OBJETS, SEQUENCE, COLLABORATION

    Il est facile de dcrire la mthode encore que son application exige coup sr savoir et pratique.

    Point de vue Diagramme UML

    Statique non objet Cas dutilisation

    Squence ANALYSE

    FONCTIONNELLE Dynamique non objet

    Activits

    Statique non objet MEA quivalent Classes ANALYSE DES

    DONNEES Statique objet Classes-mtier

    Classes Statique objet

    Objets

    D O N N E E S

    Squence Dynamique - objet

    Collaboration

    Etats-transitions

    ANALYSE

    ORGANIQUE

    Dynamique

    Plutt non objet Activits

    La programmation fonctionnelle suit lanalyse fonctionnelle qui est calque sur lanalyse externe du problme. Cest une analyse descendante.

    La programmation objet est moins intuitive que la programmation fonctionnelle. La programmation objet sintresse au systme en tant quensemble dobjets en interaction. Cest une analyse systmique.

    Le diagramme de classes est le diagramme objet le plus important de la modlisation oriente objet. Il contient les classes avec leurs mthodes. Mais il nindique pas comment utiliser ces mthodes. Cest une description statique du systme.

    Les diagrammes dinteractions (diagrammes de collaboration et de squence), modlisent laspect dynamique.

  • INSIA UML SIGL 2 Cours 03 page 4/52 - Bertrand LIAUDET

    Les diagrammes dobjets modlise des tats du systme un instant donn. Leur usage est secondaire.

  • INSIA UML SIGL 2 Cours 03 page 5/52 - Bertrand LIAUDET

    1. Lapproche objet - introduction

    La programmation objet est base sur 5 concepts fondateurs :

    1. Objet

    2. Message

    3. Classe

    4. Hritage

    5. Polymorphisme

    Les chapitres suivants prsentent ces 5 concepts.

    LObjet

    Prsentation

    Objet = une identit + un tat + un comportement

    On dit aussi :

    Objet = donnes (tat) + mthodes (comportement, rles, responsabilits)

    Dun point de vue abstrait, un objet informatique est une reprsentation dun objet (une ralit) du monde extrieur. Cette reprsentation est caractrise par des valeurs et des rles jouer.

    Dun point de vue informatique, un objet informatique est une variable avec un ou plusieurs champs qui seront manipuls (en lecture ou en criture) par les fonctions associes lobjet (les mthodes). Cette variable est aussi associe des fonctions de plus haut niveau : les responsabilits ou rles.

    Etat

    Valeurs instantanes des attributs (des donnes) dun objet.

    Certaines parties de ltat peuvent voluer au cours du temps.

    Dautres parties de ltat peuvent tre constantes.

    Comportement

    Le comportement regroupe les mthodes (ou comptences ou responsabilits ou rles) dun objet.

    Les mthodes sont des fonctions qui permettent daccder aux valeurs des attributs dun objet mais aussi des fonctions de plus haut niveau (responsabilits et rles).

    Ces mthodes sont dclenches par des stimulations externes : des messages envoys par dautres objets (cest--dire des appels de mthodes).

  • INSIA UML SIGL 2 Cours 03 page 6/52 - Bertrand LIAUDET

    Identit

    Chaque objet possde une identit attribue de manire implicite la cration de lobjet et jamais modifie (cest son adresse en mmoire).

    On peut donner un attribut cl lobjet, quon appelle cl naturelle (par exemple, un numro de scurit sociale). Il sagit toutefois dun artifice de ralisation. Cette cl appartient ltat de lobjet. Le concept didentit est indpendant du concept dtat.

    Les objets sont diffrencis par leurs noms (comme un nom de variable).

    Toutefois, il est parfois difficile de nommer tous les objets : on peut donc les nommer du nom de leur classe, avec : devant.

    Syntaxe UML

    Les objets sont souligns et placs dans un rectangle. Le nom de lobjet commence par une minuscule. Le nom de la classe commence par un majuscule.

    Objets nomms :

    olivier bertrand

    Objets sans noms :

    : Eleve : Professeur

    Encapsulation

    Pour accder, en consultation ou en modification, ltat dun objet ( ses donnes), il faut passer par ses fonctions (ses mthodes). Il faut que ces fonctions soient appeles par dautres fonctions qui peuvent tre des mthodes du mme objet ou dun autre.

    Quand une mthode dun objet 2 est appele par une mthode dun objet 1, on dit que lobjet 1 a envoy un message lobjet 2. Le message, cest la mthode de lobjet 2.

    Donc, de faon gnrale, pour accder ltat dun objet, il faut lui envoyer un message.

    Les mthodes sont linterface obligatoire daccs aux donnes dun objet.

    Persistance des objets

    Un objet persistant sauvegarde son tat dans un systme de stockage permanent, de sorte quil est possible darrter le processus qui la cr sans perdre linformation reprsente par lobjet. Cest la passivation de lobjet.

    Lactivation de lobjet consiste reconstruire lobjet dans ltat dans lequel on lavait sauvegarder.

    Par dfaut, les objets ne sont pas persistants.

    Transmission des objets

    La transmission des objets consiste faire passer un objet, par un moyen de communication quelconque, dun systme un autre.

  • INSIA UML SIGL 2 Cours 03 page 7/52 - Bertrand LIAUDET

    Scnario de communication

    Lobjet rvle son vrai rle et sa vraie responsabilit lorsque, par lintermdiaire de lenvoi de messages, il sinsre dans un scnario de communication (cest--dire un cas dutilisation concret du systme).

    Atterir

    : Tour de contrle : Avion

    [en vol]

    Lobjet Avion a dans ses mthodes la fonction Atterrir .

    Lobjet Tour de contrle a dans ses donnes un objet avion ou un pointeur sur un objet avion. Une mthode de lobjet Tour de contrle peut donc envoyer un message lobjet Avion , cest--dire faire appel la fonction Atterrir . Autrement dit, envoyer un message, cest appeler une fonction : un message, cest un ordre impratif !

    Communication entre objets

    Un systme informatique peut tre vu comme une socit dobjets qui communiquent entre eux pour raliser les fonctionnalits de lapplication.

    Le comportement global dune application repose sur la communication entre les objets qui la composent.

    De ce fait, ltude des relations entre les objets du domaine est de premire importance dans la modlisation objet.

    De plus, la premire communication tant la communication entre les utilisateurs (acteurs externes) et le systme, on peut aussi partir de lanalyse fonctionnelle pour trouver les classes.

    Collaboration et communication

    On peut parler indiffremment de communication ou de collaboration entre objet.

    Cependant, on parle plutt de collaboration quand on dcrit les communications ncessaires pour raliser une fonctionnalit. La collaboration est plutt finalise.

    On parle par contre indiffremment de communication pour une communication atomique ou une collaboration.

    3 catgories dobjet en fonction de leur mode communication

    Un objet peut tre : - metteur de message sans jamais en recevoir, - destinataire de message sans jamais en mettre, - metteur et destinataire de message.

    Les acteurs : client, thread