• Aucun résultat trouvé

Cours UML sur les diagrammes de collaboration en pdf – Cours et formation gratuit

N/A
N/A
Protected

Academic year: 2022

Partager "Cours UML sur les diagrammes de collaboration en pdf – Cours et formation gratuit"

Copied!
23
0
0

Texte intégral

(1)

UML UML

Diagrammes de Collaboration Diagrammes de Collaboration

Collaboration, le lien entre modèle externe et interne Collaboration, le lien entre modèle externe et interne

Collaboration et cas d

Collaboration et cas d’’utilisationutilisation Collaboration

Collaboration et diagramme de classeet diagramme de classe

(2)

De l De l analyse à la conception objet en UML analyse à la conception objet en UML

L’L’analyse fonctionnelle conduit à un modèle fonctionnel :analyse fonctionnelle conduit à un modèle fonctionnel : comportement externe conforme aux besoins du client.

comportement externe conforme aux besoins du client.

La conception objet conduit à un modèle du comportement interneLa conception objet conduit à un modèle du comportement interne du logiciel et de sa structuration

du logiciel et de sa structuration Des cas d

Des cas d’’utilisation aux diagramme de classeutilisation aux diagramme de classe Contenu de ce cours

Contenu de ce cours

Diagrammes de collaborationDiagrammes de collaboration

D’D’un diagramme de collaboration à un diagramme de classesun diagramme de collaboration à un diagramme de classes

(3)

Notion de collaboration Notion de collaboration

Principe de modélisation objetPrincipe de modélisation objet

Les objets sont indépendantsLes objets sont indépendants

Chaque objet est responsable de certaines activitésChaque objet est responsable de certaines activités

Pour réaliser une activité, il faut le concours collaboratif d’Pour réaliser une activité, il faut le concours collaboratif d’objetsobjets

Les objets collaborent via des interactionsLes objets collaborent via des interactions Pas de système hiérarchique : système basé sur l

Pas de système hiérarchique : système basé sur l’’individu «individu «  objetobjet » »

CollaborationCollaboration

Modélise une activité réalisée par un ensemble d’Modélise une activité réalisée par un ensemble d’objetsobjets

Peut représenter Peut représenter un scénario d’un scénario d’un cas dun cas d’’utilisation du point de vue duutilisation du point de vue du fonctionnement interne du système

fonctionnement interne du système

(4)

Diagrammes de collaboration Diagrammes de collaboration



Types Types de diagrammes de diagrammes

Diagrammes statiques : Diagrammes statiques : diagrammes d

diagrammes d’ ’ objets objets

Exprime les liens entre objetsExprime les liens entre objets impliqués dans une collaboration impliqués dans une collaboration

Diagrammes dynamiques : Diagrammes dynamiques :

diagrammes de collaboration diagrammes de collaboration

Interactions entre objetsInteractions entre objets

Interactions entre rôles dInteractions entre rôles d’’objetsobjets



Composants Composants

Objets Objets

Rôles R ôles

Classes Classes

Acteurs Acteurs

Liens Liens

(5)

Diagramme d

Diagramme d objets objets

(6)

Diagramme de collaboration entre objets

Diagramme de collaboration entre objets

(7)

Objets Objets

ObjetObjet

Nom de l’Nom de l’objetobjet

Classe de l’Classe de l’objet (si connue)objet (si connue) Syntaxe :

Syntaxe : cetObjet:cetObjet:SaClasseSaClasse

(facultatif) État de l(facultatif) État de lobjetobjet

Création/destructionCréation/destruction

États intermédiairesÉtats intermédiaires Syntaxe : {new} {

Syntaxe : {new} {destroyed} {ouvert} {en cours}destroyed} {ouvert} {en cours}

Acteur : objet « Acteur : objet « externeexterne » » participant à la collaboration participant à la collaboration

Rôle : rôle dRôle : rôle d’’un objet dans une collaborationun objet dans une collaboration

Syntaxe : Syntaxe : cetObjet / cetObjet / sonRole sonRole : : SaClasse (tous facultatifs)SaClasse (tous facultatifs)

Cas particulier : rôle unique de lCas particulier : rôle unique de l’’objet dans la collaboration objet dans la collaboration →→ rôle non rôle non explicité

explicité

(8)

Exemple états objets

Exemple états objets

(9)

Liens Liens

Types de liens Types de liens

Diagrammes dDiagrammes d’’objetsobjets

Interaction = instance d

Interaction = instance d ’ ’ association entre objets (instance association entre objets (instance de classe)

de classe)

Diagrammes de collaborationDiagrammes de collaboration

Interaction =

Interaction = message entre objets. message entre objets.

Syntaxe graphique Syntaxe graphique

Instance dInstance d’’association : fil simple.association : fil simple.

Message : flèche ajoutée au fil.Message : flèche ajoutée au fil.

(10)

Message Message

Représente une demande faite par l’ Représente une demande faite par l ’ objet objet émetteur à émetteur à l’ l ’objet destinataire objet destinataire

Le destinataire doit pouvoir comprendre le message Le destinataire doit pouvoir comprendre le message Message = méthode de l

Message = méthode de l ’ ’ objet destinataire objet destinataire Nécessité d

Nécessité d ’ ’ une association entre les classes une association entre les classes correspondantes des objets.

correspondantes des objets.

Syntaxe graphique Syntaxe graphique

Message synchroneMessage synchrone

Message Message simple ousimple ou asynchroneasynchrone

Retour de messageRetour de message

(11)

Message : syntaxe détaillée Message : syntaxe détaillée

[prédécesseurs "/" ] [ [ "[" garde "]" ] [

[prédécesseurs "/" ] [ [ "[" garde "]" ] [numéro_de_séquencenuméro_de_séquence]] [ "*" [ "||" ][ "[" itération "]" ] ] ":" ] [résultat ":=" ]

[ "*" [ "||" ][ "[" itération "]" ] ] ":" ] [résultat ":=" ] message "(" [paramètres] ")

message "(" [paramètres] ")  »»

Garde : condition d’Garde : condition d’envoi du messageenvoi du message

Numéro de séquence : ordre du message dans la collaborationNuméro de séquence : ordre du message dans la collaboration

Prédécesseurs : liste des numéros de séquence des message devantPrédécesseurs : liste des numéros de séquence des message devant être envoyés avant le message

être envoyés avant le message

Itération : type dItération : type d’’itération (informel et précisé par * ou //)itération (informel et précisé par * ou //)

Message : méthode invoquéeMessage : méthode invoquée

Paramètres : paramètre Paramètres : paramètre effectifs de la méthodeeffectifs de la méthode SANS OUBLIER :

SANS OUBLIER : économie de moyens et KISSéconomie de moyens et KISS

(12)

Messages et types d

Messages et types d objets objets

Messages synchrones asynchronesMessages synchrones asynchrones Objets actifs versus passifs

Objets actifs versus passifs

passifs : il faut leur envoyer un message pour qu’passifs : il faut leur envoyer un message pour qu’ils sils s’’activentactivent

actifs : constamment en activité, autonomes = peuvent faire des actifs : 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 synchrones

LL’’envoyeur perd le contrôle et reste actif en attente de réponseenvoyeur perd le contrôle et reste actif en attente de réponse

Messages asynchronesMessages asynchrones

Envoi de message sans attente de réponse Envoi de message sans attente de réponse

objet actif : garde le contrôleobjet actif : garde le contrôle

objet passif : perd le contrôle et s’objet passif : perd le contrôle et s’inactiveinactive

(13)

Résumé syntaxe

Résumé syntaxe

(14)

Outils ObjecteeringOutils Objecteering

RRôle dôle dobjet ou oobjet ou objetbjet Attribut d

Attribut d’’un objetun objet Lien entre objets Lien entre objets Message sur un lien Message sur un lien NB : idem avec «

NB : idem avec «  I »I » pour les pour les diagrammes d

diagrammes d’’objetsobjets

Comment procéder ? Comment procéder ?

Diagramme de collaborationDiagramme de collaboration Attaché à une collaboration d Attaché à une collaboration d’’unun

cas d

cas d’’utilisationutilisation

Diagramme d’Diagramme d’objetobjet Attaché à un package Attaché à un package

Dans tous les cas : gestion des Dans tous les cas : gestion des

accès

accès inter-packagesinter-packages

Diagrammes de collaboration et d

Diagrammes de collaboration et d objets objets avec

avec objecteering objecteering

(15)

Exemple diagramme collaboration

Exemple diagramme collaboration Objecteering Objecteering

(16)

Exemple diagramme objets

Exemple diagramme objets Objecteering Objecteering

(17)

Exemple Collaboration Assurance Exemple Collaboration Assurance

Déclaration de sinistreDéclaration de sinistre

(18)

Des diagrammes de cas d

Des diagrammes de cas d utilisation aux utilisation aux diagrammes de classe

diagrammes 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 modélisant le fonctionnement interne les classes modélisant le fonctionnement interne du logiciel?

du logiciel?

Un processus semi-formelUn processus semi-formel

Partir du fonctionnement externe : les cas d’Partir du fonctionnement externe : les cas d’utilisation et leurs scénariosutilisation et leurs scénarios externes.

externes.

Pour chaque scénario d’Pour chaque scénario d’un cas dun cas d’utilisation, détailler sur un exemple (en utilisantutilisation, détailler sur un exemple (en utilisant des r

des rôles dôles d’’instances dinstances d’’objets) le fonctionnement interne.objets) le fonctionnement interne.

En généralisant les rôles En généralisant les rôles instances dinstances d’’objets et leurs communications, en déduireobjets et leurs communications, en déduire les classes et leurs relations.

les classes et leurs relations.

Choix d’Choix dune architecture : modèle organique.une architecture : modèle organique.

Classes « Classes « métiersmétiers » »

Classes d’Classes d’interfaceinterface

Classes Classes   dd’«’« analyse analyse » » : utilitaires ou spécifiques au fonctionnement logiciel : utilitaires ou spécifiques au fonctionnement logiciel

(19)

Du scénario aux classes Du scénario aux classes

Transformation très simple : Transformation très simple :

Un objet de scénario => une classe Un objet de scénario => une classe

Un message entre Un message entre objets => une méthode de la classe objets => une méthode de la classe correspondant à l

correspondant à l ’ ’ objet objet

Reste à détailler Reste à détailler

Objets : attributs, méthodesObjets : attributs, méthodes

Liens entre objets : généralisation, relation, agrégation,Liens entre objets : généralisation, relation, agrégation, dépendance

dépendance

(20)

Une autre façon de modéliser une Une autre façon de modéliser une

collaboration : diagrammes de séquence collaboration : diagrammes de séquence

Similaire au diagramme de collaboration Similaire au diagramme de collaboration

Une vue orientée temps versus orienté objetUne vue orientée temps versus orienté objet

Plus facile à lire sur la vie des objetsPlus facile à lire sur la vie des objets

CréationCréation

DestructionDestruction

ActivitéActivité

Parallélisme et déroulement du tempsParallélisme et déroulement du temps

Moins fine sur la composition des objetsMoins fine sur la composition des objets

AttributsAttributs

NB : le même formalisme que celui utilisé pour décrire NB : le même formalisme que celui utilisé pour décrire

l’ l ’ interaction Acteur / Système du scénario interaction Acteur / Système du scénario

(21)

Exemple Assurance Exemple Assurance Collaboration par

Collaboration par diagramme de séquence diagramme de séquence

Déclaration de sinistreDéclaration de sinistre

(22)

Exemple Assurance Exemple Assurance Diagramme de classes Diagramme de classes

Déclaration de sinistreDéclaration de sinistre

(23)

Exemple Assurance Exemple Assurance

Diagramme de collaboration avec classes Diagramme de collaboration avec classes

Déclaration de sinistreDéclaration de sinistre

Références

Documents relatifs

Les principaux résultats de cette thèse sont que : (i) les préventeurs en entreprise ne consacrent que très peu de temps aux visites de sécurité, (ii) ce phénomène

Chez les participants d’âge intermédiaire, la corrélation entre le rappel des items positifs et le score de séquence au Zoo 1 pourrait suggérer une mobilisation plus

Si l’on doit créer une View pour une ligne qui compte deux lignes de texte, par exemple, on ne peut pas se contenter de réutiliser une View avec une seule ligne : il faut

Nous allons donc voir comment créer une boîte d'onglets dynamique avec JavaScript et jQuery en partant d'une base HTML / CSS qui vous a déjà été présentée dans le précédant

La réduction de la portée de l'association est souvent réalisée en phase d'implémentation, mais peut aussi être exprimée dans un modèle pour indiquer que les instances d'une classe

Le diagramme d’état représente le cycle de vie pour les objets d’une même classe.. On utilisera les diagrammes d’état pour les objets ayant des changements

– Diagramme d'état généralisant pour chaque classe ayant Diagramme d'état généralisant pour chaque classe ayant un comportement réactif aux événements les scénarios et

Le modèle des classes d’UML saisit la structure statique d'un système en montrant les objets dans le système, les relations entre les objets, les attributs et