Cours UML

cours Diagrammes d'interaction UML


Télécharger cours Diagrammes d'interaction UML

★★★★★★★★★★3.5 étoiles sur 5 basé sur 1 votes.
Votez ce document:

Télécharger aussi :


rappel:

UML est conçu pour modéliser divers types de systèmes, de taille quelconque et pour tous les domaines d’application (gestion, scientifique, temps réel, système embarqué).

UML permet de diviser le système d’information (d’une organisation) en le système métier et le système informatique. Le système métier modélise les aspects statiques et dynamiques de l’activité selon une vision externe et une vision interne (en ignorant l’implémentation technique) tandis que le système informatique recouvre la partie automatisée du système métier concrétisant les choix effectués parmi les différentes technologies d’actualité. Les concepts manipulés sont les mêmes, à chacun de ces deux niveaux d’abstraction.

UML est fortement inspiré de l’approche 4+1 vues (logique, composants, processus, déploiement et cas d’utilisation) indépendantes définies par P. Kruchten pour exprimer les diverses perspectives de l’architecture d’un système informatique.

UML se compose d’une part des éléments de modélisation qui représentent toutes les propriétés du langage et d’autre part des diagrammes (de cas d’utilisation, de classes, d’objets, d’états-transitions, d’activités, de séquence, de collaboration, de composants et de déploiement) qui en constituent l’expression visuelle et graphique.

UML n’impose pas de processus de développement logiciel particulier, même si celui sous-jacent est un processus itératif (précisant à chaque itération les degrés d’abstraction), incrémental (i.e. en divisant le développement en étapes aboutissant chacune à la construction de tout ou partie du système), centré sur l’architecture (au niveau de la modélisation comme de la production), conduit par les cas d’utilisation (modélisant l’application à partir des modes d’utilisation attendus par les utilisateurs), piloté par les risques (afin d’écarter les causes majeures d’échec) tel que le 2TUP (Two Tracks Unified Process) présenté notamment dans l’ouvrage UML en action – De l’analyse des besoins à la conception en Java de P. Roques et F.

Vallée paru aux éditions Eyrolles en 2000.

UML prend en compte de manière complètement intégrée l’ingénierie des besoins (cas d’utilisation).

UML est automatisable pour générer du code à partir des modèles vers les langages et les environnements de programmation.

UML est générique, extensible (en plus de couvrir les possibilités des différentes technologies objet existantes) et configurable.

UML se veut intuitif, simple et cohérent.

...

 Les diagrammes d'UML

Diagramme

Diagramme de structure

Diagramme comportemental

Diagramme de classes

Diagramme de composant

Diagramme de structure composite

Diagramme de

Déploiement

Diagramme d’objets

Diagramme de package

Diagramme d’activités

Diagramme de cas d’utilisation

Diagramme de transition d’état

Diagramme d’interactions

Diagramme de séquence

Diagramme de communication

Diagramme vue d’ensemble des interactions

Diagramme de timing

Module Génie Logiciel : Cours d'Analyse Orientée Objet.

Diagrammes d'interaction

 Introduction

Modéliser la façon dont les groupes d'objets collaborent pour réaliser un comportement donné.

Diagrammes de séquence

 Montrent les interactions entre objets selon un point de vue temporel

 Le contexte des objets n'est pas représenté

A : Objet B : Objet

Module Génie Logiciel : Cours d'Analyse Orientée Objet.

Diagrammes d'interaction

 Introduction

Diagrammes de collaboration / communication

 Montre les interactions entre objets en insistant sur la structure spatiale statique

 Exprime à la fois le contexte de groupe d'objets et l'interaction entre ces objets

 Extension du diagramme d'objets

: Traitement de texte

: Imprimante

: Scanner

1: lire

2: écrire

II.6. Diagrammes d'interaction

  1. Diagrammes de séquence

Module Génie Logiciel : Cours d'Analyse Orientée Objet.

Diagrammes de séquence

 Concepts principaux :

1 Les participants (le plus souvent des objets)

 Une ligne de vie

 Des zones d’activation

2 Les messages

 L’opération et éventuellement ses paramètres

 Éventuellement son résultat

3 Des structures de contrôle

 Alt : conditionnelle

 Loop : boucle

 Réf : référence à un autre diagramme de séquence (=appel de fonction)

 Etc.

Module Génie Logiciel : Cours d'Analyse Orientée Objet.

Diagrammes de séquence

 Représentation des acteurs

 Rectangle + Ligne de vie

 Nom_objet : nom_classe

Ferrari : Voiture : Garage

Temps t nom

Module Génie Logiciel : Cours d'Analyse Orientée Objet.



Diagrammes de séquence

 Messages

Communication entre les lignes de vie

 appel de méthode

 envoi d'un signal

 création/destruction d'une instance

Ferrari : Voiture : Conducteur démarre

attribut = nom_signal_ou_op (arguments) : valeur_retournée

Module Génie Logiciel : Cours d'Analyse Orientée Objet.

Diagrammes de séquence

 Types de messages

1 Appels de méthodes ou autres méthodes d'appels synchrones

2 Communication asynchrone : l'émetteur déclenche le stimulus et passe immédiatement à la suite de l'exécution

3 Retours de procédures (ou de méthodes) : optionnel

Module Génie Logiciel : Cours d'Analyse Orientée Objet.

Diagrammes de séquence

 Un objet peut s'envoyer des messages

 Un message peut entraîner la création ou la destruction d'objets

: objet

Message

réflexif

: objet

<<create>> : objet

<<destroy>>

Module Génie Logiciel : Cours d'Analyse Orientée Objet.

Diagrammes de séquence

 Occurrence d'exécution

Aussi appelé « focus de contrôle »

Correspond à la durée d'activité de l'objet <=> temps durant lequel il est actif

Ferrari : Voiture : Conducteur démarre

Focus d'exécution

Module Génie Logiciel : Cours d'Analyse Orientée Objet.

Diagrammes de séquence

 Message trouvé = émetteur inconnu.

Module Génie Logiciel : Cours d'Analyse Orientée Objet.

Diagrammes de séquence

 Exemple

Créations

Destructions

Module Génie Logiciel : Cours d'Analyse Orientée Objet.

Diagrammes de séquence

 Exemple : distributeur de boisson

Moi : Personne : MachineDdB distributeur de boisson

Module Génie Logiciel : Cours d'Analyse Orientée Objet.

Diagrammes de séquence

 Invariants d'état

: FenetrePrincipale : Compte

create("bob","glopglop")

: ControleurDAuthentification

verifierReferences(compte)

{compte.authentificationOk == true}

initialiserTransaction()

Module Génie Logiciel : Cours d'Analyse Orientée Objet.

Diagrammes de séquence

 Occurrences événementielles

: A : B

Action()

description

Module Génie Logiciel : Cours d'Analyse Orientée Objet.

Diagrammes de séquence

 Fragments combinés

Types

1 Opt

2 Loop

3 Alt

4 Break

5 Critique

6 Ref

7 ...

nom [expression booléenne]

: A

condition de garde

Module Génie Logiciel : Cours d'Analyse Orientée Objet.

Diagrammes de séquence

 Fragments combinés

Opt : Fragment parcouru si une condition est vérifiée

: A : B

Opt [condition]

Action()

Module Génie Logiciel : Cours d'Analyse Orientée Objet.

Diagrammes de séquence

 Fragments combinés

Loop : Répétition du fragment tant que la condition est vérifiée

: A : B

Loop [condition]

Action()

Loop (0, n)

Action()

ou

Module Génie Logiciel : Cours d'Analyse Orientée Objet.

Diagrammes de séquence

 Fragments combinés

Alt : Equivalent à la structure de contrôle "si .. alors .. sinon".

: A : B

Alt [condition]

[else]

ActionA()

ActionB()

Module Génie Logiciel : Cours d'Analyse Orientée Objet.

Diagrammes de séquence

 Fragments combinés

Break : Fragment exécuté et met fin au fragment englobant

: A : B

Break [condition]

Action()

Module Génie Logiciel : Cours d'Analyse Orientée Objet.

Diagrammes de séquence

 Fragments combinés

Critique : Fragment exécuté de façon atomique (d'un bloc)

: A : B

ActionCritique()

Critique [condition]

Diagrammes de séquence



 Décomposition : mot clef "ref"

Méthode n°1

: A

: B

ref

DiagB

Action()

Reponse()

DiagA DiagB

: B

Action()

Reponse()

: C

Action1()

Reponse1()

Diagrammes de séquence

 Décomposition : mot clef "ref"

Méthode n°2

: A DiagA

: B SousFonction

Ref

SousFonction : A : B

Action()

Reponse()

Module Génie Logiciel : Cours d'Analyse Orientée Objet.

Diagrammes de séquence

 Exercice : distributeur de boissons

Client Ecran MachineDdB G_Monnaie G_Boisson G_gobelet Piece

II.6. Diagrammes d'interaction

  1. Dia. de communication

Module Génie Logiciel : Cours d'Analyse Orientée Objet.

Introduction

 Les diagrammes d'UML

Diagramme

Diagramme de structure

Diagramme comportemental

Diagramme de classes

Diagramme de composant

Diagramme de structure composite

Diagramme de déploiement

Diagramme d’objets

Diagramme de package

Diagramme d’activités

Diagramme de cas d’utilisation

Diagramme de transition d’état

Diagramme d’interactions

Diagramme de séquence

Diagramme de communication

Diagramme vue d’ensemble des interactions

Diagramme de timing

Module Génie Logiciel : Cours d'Analyse Orientée Objet.

Diagrammes de communication

 Objectif

 Extension du diagramme d'objet

1 - le contexte = modèle objets

2 - les interactions = les scénarios

 Montrent les interactions entre objets du point de vue statique et dynamique

1 - Objets = instances de classes

2 - Lien = instance des associations définies dans le diagramme de classes

Module Génie Logiciel : Cours d'Analyse Orientée Objet.

Diagrammes de communication

 Concepts

 Objets / acteurs

 Messages séquentiels numérotés

Echangés entre objets et non entre classes

 Exemple :

tourDeContrôle Fk74:Airbus

1 : confirmerIdentité

2 : décoller

Diagrammes de communication

 Exemples

4 : Afficher(x,y) // message simple

3.3.1 : Afficher(x,y) // message imbriqué

4.2 : âge := Soustraire( Aujourd'hui, DateDeNaissance ) // message imbriqué

avec valeur retournée

[Age >= 18 ans] 6.2 : Voter() // message conditionnel

A B x

Diagrammes de communication

 Exercice

Transformer ce diagramme de séquence en diagramme de communication

Fenêtre : Frame Préférences : Data

chargeParams()

Ouverture d'URL dans un navigateur web

PortDeRéception : Socket

<<create>>

ecouter()

accepter()

Module Génie Logiciel : Cours d'Analyse Orientée Objet. 32

Diagrammes de communication

 Exemple : distributeur de boissons

: MachineDbB

: G_Monnaie : G_Boisson

: G_Gobelet

: Piece

: Ecran

Moi : Utilisateur

Chocolat : Boisson



705