UML Diagrammes de Collaboration - M1/uml/UML-   Cyrille Desmoulins © Cours UML

  • View
    232

  • Download
    0

Embed Size (px)

Text of UML Diagrammes de Collaboration - M1/uml/UML-   Cyrille Desmoulins © Cours UML

  • Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006

    UMLUMLDiagrammes de CollaborationDiagrammes de Collaboration

    Collaboration, le lien entre modle externe et interneCollaboration, le lien entre modle externe et interneCollaboration et cas dCollaboration et cas dutilisationutilisation

    CollaborationCollaboration et diagramme de classeet diagramme de classe

  • 2 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006

    De lDe lanalyse la conception objet en UMLanalyse la conception objet en UML

    LLanalyse fonctionnelle conduit un modle fonctionnel :analyse fonctionnelle conduit un modle fonctionnel :comportement externe conforme aux besoins du client.comportement externe conforme aux besoins du client.

    La conception objet conduit un modle du comportement interneLa conception objet conduit un modle du comportement internedu logiciel et de sa structurationdu logiciel et de sa structuration

    Des cas dDes cas dutilisation aux diagramme de classeutilisation aux diagramme de classe

    Contenu de ce coursContenu de ce cours Diagrammes de collaborationDiagrammes de collaboration DDun diagramme de collaboration un diagramme de classesun diagramme de collaboration un diagramme de classes

  • 3 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006

    Notion de collaborationNotion de collaboration

    Principe de modlisation objetPrincipe de modlisation objet Les objets sont indpendantsLes objets sont indpendants Chaque objet est responsable de certaines activitsChaque objet est responsable de certaines activits Pour raliser une activit, il faut le concours collaboratif dPour raliser une activit, il faut le concours collaboratif dobjetsobjets Les objets collaborent via des interactionsLes objets collaborent via des interactionsPas de systme hirarchique : systme bas sur lPas de systme hirarchique : systme bas sur lindividu individu objetobjet

    CollaborationCollaboration Modlise une activit ralise par un ensemble dModlise une activit ralise par un ensemble dobjetsobjets Peut reprsenterPeut reprsenter un scnario dun scnario dun cas dun cas dutilisation du point de vue duutilisation du point de vue du

    fonctionnement interne du systmefonctionnement interne du systme

  • 4 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006

    Diagrammes de collaborationDiagrammes de collaboration

    TypesTypes de diagrammesde diagrammes Diagrammes statiques :Diagrammes statiques :

    diagrammes ddiagrammes dobjetsobjets Exprime les liens entre objetsExprime les liens entre objets

    impliqus dans une collaborationimpliqus dans une collaboration

    Diagrammes dynamiques :Diagrammes dynamiques :diagrammes de collaborationdiagrammes de collaboration Interactions entre objetsInteractions entre objets Interactions entre rInteractions entre rles dles dobjetsobjets

    ComposantsComposants ObjetsObjets RRlesles ClassesClasses ActeursActeurs LiensLiens

  • 5 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006

    Diagramme dDiagramme dobjetsobjets

  • 6 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006

    Diagramme de collaboration entre objetsDiagramme de collaboration entre objets

  • 7 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006

    ObjetsObjets

    ObjetObjet Nom de lNom de lobjetobjet Classe de lClasse de lobjet (si connue)objet (si connue)Syntaxe : Syntaxe : cetObjetcetObjet::SaClasseSaClasse (facultatif) tat de l(facultatif) tat de lobjetobjet

    Cration/destructionCration/destruction tats intermdiairestats intermdiaires

    Syntaxe : {new} {Syntaxe : {new} {destroyeddestroyed} {ouvert} {en cours}} {ouvert} {en cours} Acteur : objet Acteur : objet externeexterne participant la collaboration participant la collaboration RRle : rle dle : rle dun objet dans une collaborationun objet dans une collaboration

    Syntaxe : Syntaxe : cetObjet cetObjet / / sonRole sonRole : : SaClasse SaClasse (tous facultatifs)(tous facultatifs) Cas particulier : rCas particulier : rle unique de lle unique de lobjet dans la collaboration objet dans la collaboration rle non rle non

    explicitexplicit

  • 8 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006

    Exemple tats objetsExemple tats objets

  • 9 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006

    LiensLiens

    Types de liensTypes de liens Diagrammes dDiagrammes dobjetsobjets

    Interaction = instance dInteraction = instance dassociation entre objets (instanceassociation entre objets (instancede classe)de classe) Diagrammes de collaborationDiagrammes de collaboration

    Interaction =Interaction = message entre objets.message entre objets. Syntaxe graphiqueSyntaxe graphique

    Instance dInstance dassociation : fil simple.association : fil simple. Message : flche ajoute au fil.Message : flche ajoute au fil.

  • 10 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006

    MessageMessage

    Reprsente une demande faite par lReprsente une demande faite par lobjetobjet metteur metteur llobjet destinataireobjet destinataire

    Le destinataire doit pouvoir comprendre le messageLe destinataire doit pouvoir comprendre le messageMessage = mthode de lMessage = mthode de lobjet destinataireobjet destinataireNcessit dNcessit dune association entre les classesune association entre les classes

    correspondantes des objets.correspondantes des objets. Syntaxe graphiqueSyntaxe graphique

    Message synchroneMessage synchrone MessageMessage simple ousimple ou asynchroneasynchrone Retour de messageRetour de message

  • 11 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006

    Message : syntaxe dtailleMessage : syntaxe dtaille

    [prdcesseurs "/" ] [ [ "[" garde "]" ] [[prdcesseurs "/" ] [ [ "[" garde "]" ] [numro_de_snumro_de_squencequence]][ "*" [ "||" ][ "[" itration "]" ] ] ":" ] [rsultat ":=" ][ "*" [ "||" ][ "[" itration "]" ] ] ":" ] [rsultat ":=" ]message "(" [paramtres] ")message "(" [paramtres] ") Garde : condition dGarde : condition denvoi du messageenvoi du message Numro de squence : ordre du message dans la collaborationNumro de squence : ordre du message dans la collaboration Prdcesseurs : liste des numros de squence des message devantPrdcesseurs : liste des numros de squence des message devant

    tre envoys avant le messagetre envoys avant le message Itration : type dItration : type ditration (informel et prcis par * ou //)itration (informel et prcis par * ou //) Message : mthode invoqueMessage : mthode invoque Paramtres : paramtreParamtres : paramtre effectifs de la mthodeeffectifs de la mthodeSANS OUBLIER :SANS OUBLIER : conomie de moyens et KISSconomie de moyens et KISS

  • 12 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006

    Messages et types dMessages et types dobjetsobjets

    Messages synchrones asynchronesMessages synchrones asynchronesObjets actifs versus passifsObjets actifs versus passifs

    passifs : il faut leur envoyer un message pour qupassifs : il faut leur envoyer un message pour quils sils sactiventactivent actifs : constamment en activit, autonomes = peuvent faire desactifs : constamment en activit, autonomes = peuvent faire des calculcalcul

    et envoyer des messages sans et envoyer des messages sans tre requis par un autre.tre requis par un autre.

    Message synchronesMessage synchronesLLenvoyeur perd le contrle et reste actif en attente de rponseenvoyeur perd le contrle et reste actif en attente de rponse Messages asynchronesMessages asynchronesEnvoi de message sans attente de rponseEnvoi de message sans attente de rponse

    objet actif : garde le contrleobjet actif : garde le contrle objet passif : perd le contrle et sobjet passif : perd le contrle et sinactiveinactive

  • 13 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006

    Rsum syntaxeRsum syntaxe

  • 14 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006

    Outils Outils ObjecteeringObjecteeringRRle dle dobjet ou oobjet ou objetbjet

    Attribut dAttribut dun objetun objet

    Lien entre objetsLien entre objets

    Message sur un lienMessage sur un lien

    NB : idem avec NB : idem avec II pour les pour lesdiagrammes ddiagrammes dobjetsobjets

    Comment procder ?Comment procder ? Diagramme de collaborationDiagramme de collaborationAttach une collaboration dAttach une collaboration dunun

    cas dcas dutilisationutilisation Diagramme dDiagramme dobjetobjetAttach un packageAttach un package

    Dans tous les cas : gestion desDans tous les cas : gestion desaccs accs inter-packagesinter-packages

    Diagrammes de collaboration et dDiagrammes de collaboration et dobjetsobjetsavec avec objecteeringobjecteering

  • 15 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006

    Exemple diagramme collaboration Exemple diagramme collaboration ObjecteeringObjecteering

  • 16 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006

    Exemple diagramme objets Exemple diagramme objets ObjecteeringObjecteering

  • 17 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006

    Exemple Collaboration AssuranceExemple Collaboration Assurance

    Dclaration de sinistreDclaration de sinistre

  • 18 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006

    Des diagrammes de cas dDes diagrammes de cas dutilisation auxutilisation auxdiagrammes de classediagrammes de classe

    LA question de base de la conception objet.LA question de base de la conception objet. Comment faire pour Comment faire pour trouvertrouver les classes modlisant le fonctionnement interne les classes modlisant le fonctionnement interne

    du logiciel?du logiciel?

    Un processus semi-formelUn processus semi-formel Partir du fonctionnement externe : les cas dPartir du fonctionnement externe : les cas dutilisation et leurs scnariosutilisation et leurs scnarios

    externes.externes. Pour