Julie Dugdale Julie.Dugdale@upmf-grenoble.fr Génie Logiciel 2 Julie Dugdale Julie.Dugdale@upmf-grenoble.fr Une partie du matériau de ce cours est issue du cours de Olivier BOISSIER
Sommaire Introduction Diagrammes dynamiques de description “générique” notions fondamentales diagrammes d'états diagrammes d'activités Diagrammes de description de scénarios Notion de scénario diagrammes de séquence diagrammes de collaboration Master ICA
Diagramme de collaboration Master ICA
Diagramme de collaboration Contient la même information que les diagrammes de séquence. Montre les liens entre les objets qui participent à la collaboration. Les diagrammes de collaboration et les diagrammes de séquence sont sémantiquement équivalent c.a.d. ils contient la même information, mais la présentation de l’information est différente les diagrammes mettent en évidence différents aspects. Master ICA
Diagramme de collaboration Diagramme de séquence met en évidence l’ordre des interactions Diagramme de collaboration met en évidence le contexte et l’organisation générale d’objets qui interagissent. Les diagrammes de collaboration sont des diagrammes d’interaction comme les diagrammes de séquence. Le passage a un diagramme de séquences et inversement est simple. Master ICA
Notez UML 1.x UML 2.0 Diagramme de collaboration Diagramme de communication Master ICA
Les numéros sont écrits en séquence.. Pas de dimension de temps, une séquence est capturée par des numéros de séquence. Les numéros sont écrits en séquence.. 1, 2, 3, … Ou dans un style emboités (par exemple 3.1 et 3.1.1) pour indiquer l'emboitement du contrôle à l'intérieur de l'interaction qui est modélisée. Master ICA
Utilisation des diagrammes de collaboration Documentation des cas d’utilisation : accompagnant les cas d’utilisation. décrit le comportement du système pour chacun des scénarios Facilite la rédaction des diagrammes des classes, des diagrammes état-transition, ... Master ICA
Utilisation des diagrammes de collaboration Documentation conceptuelle : description du comportement de classes et d’opérations. Remarque : si les opérations ont une structure algorithmique, on préférera les décrire avec des diagrammes d’activités. Les diagrammes de collaboration sont plus adaptés quand une opération fait interagir de nombreux objets. Master ICA
Diagramme de collaboration 2: rechercheCandidat(p) gaspard : Personne : ConseilRecrutement 1: proposer-Poste(p) 4: convoquer(p) 3: proposer-Candidat(p, gaspard) les événements sont numérotés 5: passerEntretien(p) SSII : Société : CDI 7: recruter(p, gaspard) 6: évaluer(p, gaspard) Un diagramme de collaboration pour décrire le recrutement d'un employé Master ICA
Diagramme de collaboration gaspard : Personne : ConseilRecrutement SSII : Société : CDI estCandidat gaspard : Personne : ConseilRecrutement signe mandate signe : CDI SSII : Société Un diagramme de collaboration n'est pas un diagramme d'instances Master ICA gaspard : Personne : ConseilRecrutement SSII : Société : CDI
Diagrammes de Séquences DS de Retrait-distributeur : insérer carte demander code entrer code ‘5674’ vérifier compte vérifier compte banque compte banque correct demander montant entrer montant ‘500’ traiter transaction traiter transaction banque ... u : Utilisateur d : Distributeur c : Consortium b : Banque
Diagramme de collaborations insérer carte demander code entrer code ‘5674’ vérifier compte vérifier compte banque compte banque correct demander montant entrer montant ‘500’ traiter transaction traiter transaction banque ... u : Utilisateur d : Distributeur c : Consortium b : Banque u : Utilisateur d : Distributeur c : Consortium b : Banque 1: insérer carte 2: demander code 3: entrer code ‘5674’ 4: vérifier compte 5: vérifier compte banque 6: compte banque correct Master ICA
Diagramme de collaborations. Messages : séquence Ensemble de numéros ordonnant l’envoi des messages (1 puis 2 puis 3...) Numérotation emboités (cas d’appels de procédure) : 2 (appel initial), puis 2.1 (premier appel imbriqué) puis 2.2 (second sous-appel) puis 3 (appel du même niveau que le numéro 2). Master ICA
Diagramme de collaborations. Messages : itération Itération séquentielle : envoi séquentiel de n instances du même message. Syntaxe : *[ clause d’itération ] • Itération parallèle : envoi parallèle de n instances du même message. Syntaxe : *||[ clause d’itération ] Master ICA
Diagramme de collaborations. Messages : arguments Liste des paramètres du message séparés par des virgules. Les arguments et le nom de l’action déterminent sans ambigüité l’action à réaliser. Les arguments peuvent contenir des valeurs retournées par des messages envoyés précédemment. Exemples : Afficher ( x, y ) – affiche les valeurs x et y Soustraire( Aujourd’hui, DateDeNaissance) – calculer le nombre de jours entre deux dates Master ICA
Diagramme de collaborations. Messages : résultat Le résultat est constitué d’une liste de valeurs retournées par le message. Ces valeurs peuvent être utilisées comme paramètres des autres messages. Master ICA
Représentation des acteurs La notation UML permet de faire figurer un acteur dans les diagrammes de collaboration. Ils permettent de représenter les interactions déclenchées par un élément extérieur au système. Le premier message est envoyé par l’acteur. Master ICA
Diagramme de collaboration ou diagramme de séquence ? Un scénario décrit par un diagramme de collaboration peut aussi être décrit par un diagramme de séquence. Et l’inverse.. Les diagrammes de collaboration font ressortir l'interaction entre les objets. Les diagrammes de séquence mettent en avant l'ordonnancement des événements. Master ICA
Sommaire Introduction Diagrammes dynamiques de description “générique” notions fondamentales diagrammes d'états diagrammes d'activités Diagrammes de description de scénarios Notion de scénario diagrammes de séquence diagrammes de collaboration Master ICA
Génie Logiciel 1 & 2 Partie: GL 1 Partie: GL 2 1 — Introduction 2 — L’Objet dans le développement du logiciel 3 — UML - Modélisation statique 3.1 — Concepts fondamentaux 3.2 — Concepts avancés 4 — UML - Modélisation dynamique 5 — UML - Modèle des Use Cases – Semaine prochaine 6 — Démarche - Aperçu du processus unifié Partie: GL 2 Julie Dugdale@upmf-grenoble.fr Daniel.Bardou@upmf-grenoble.fr