UML v2

11

Click here to load reader

Transcript of UML v2

Page 1: UML v2

1

Ingénierie des méthodes et des processus

UML 2 0

A. [email protected]

2012-2013

UML 2.0Les diagrammes additionnels

d’UML

Ingénierie des méthodes et des processus A. Abdellatif

Sommaire

Présentation d’UML 2.0Nouveautés du diagramme de séquenceDiagramme de paquetages

Diagrammes UML 2.0 2

Diagramme global d’intéractionDiagramme de structure compositeDiagramme de tempsLangage OC

Ingénierie des méthodes et des processus A. Abdellatif

Présentation d’UML 2.0

UML 2.0 constitue une révision majeure deUML.Validé en 2003UML 2 0 a été fortement influencé par les

Diagrammes UML 2.0 3

UML 2.0 a été fortement influencé par lesprocessus suivants :

MDA : Model Driven Architecture (Architecturedirigée par les modèles)MDD : Model Driven Development (Développementdirigé par les modèles)

Ingénierie des méthodes et des processus A. Abdellatif

Présentation d’UML 2.0Objectif : automatiser au maximum lepassage de modèles (diagrammes) vers lesprogrammes.Résultat : UML a apporté les nouveautéssuivantes :

Diagrammes UML 2.0 4

suivantes :Extension des 9 diagrammes existantsQuatre nouveaux diagrammes :

Diagramme de PaquetageDiagramme des Structures compositesDiagramme global d’interactionDiagramme de temps (Timing)

Un nouveau langage : OCL (Object ConstraintLangage)

Page 2: UML v2

2

Nouveautés du diagramme de séquence

Ingénierie des méthodes et des processus A. Abdellatif

Nouveautés du diagramme de séquence : Présentation

Dans UML1, un diagramme de séquence décrit un scénario d’un cas d’utilisation

Nombre élevé de diagrammes de séquence

Diagrammes UML 2.0 6

UML 2.0 a renforcé le diagramme de séquence par des nouveaux concepts permettant de représenter des scénarios complexes et de réduire le nombre de diagrammes.

Ingénierie des méthodes et des processus A. Abdellatif

Nouveautés du diagramme de séquence : Concepts de base

Les concepts suivants ont été rajoutés audiagramme de séquence:

Fragment d’interaction : C’est un ensemblecompact d’intéractions (messages) entre objets.Opérateur : Chaque fragment est défini par unopérateur et des opérandes. L’opérateur décrit le

Diagrammes UML 2.0 7

p p pdéclenchement d’un fragment. Les principauxopérateurs sont :

Alt : Si … Alors … SinonOpt : Si … Alors …Loop : BoucleRef : RéférenceBreak : « Exception »Par : Traitements parallèles

Remarque : Possibilité de combiner les opérateurs

Ingénierie des méthodes et des processus A. Abdellatif

Nouveautés du diagramme de séquence : Représentation d’un fragment d’interaction

Opérateur

Diagrammes UML 2.0 8

Fragmentd’intercationOpérande

Page 3: UML v2

3

Ingénierie des méthodes et des processus A. Abdellatif

Nouveautés du diagramme de séquence : Représentation d’une Alternative

Diagrammes UML 2.0 9

Ingénierie des méthodes et des processus A. Abdellatif

Nouveautés du diagramme de séquence : Représentation d’une Option

Diagrammes UML 2.0 10

Ingénierie des méthodes et des processus A. Abdellatif

Nouveautés du diagramme de séquence : Représentation d’une Boucle

Diagrammes UML 2.0 11

Ingénierie des méthodes et des processus A. Abdellatif

Nouveautés du diagramme de séquence : Représentation d’une Exception (Break)

Diagrammes UML 2.0 12

Page 4: UML v2

4

Ingénierie des méthodes et des processus A. Abdellatif

Nouveautés du diagramme de séquence : Représentation d’une Référence

Arguments

Diagrammes UML 2.0 13

Valeur deretourDiagramme

Ingénierie des méthodes et des processus A. Abdellatif

Nouveautés du diagramme de séquence : Représentation de traitements parallèles

Diagrammes UML 2.0 14

Diagramme de Paquetage

Ingénierie des méthodes et des processus A. Abdellatif

Diagramme de paquetage : Présentation

Un package est un mécanisme général permettant d'organiser des élémentsde diagrammes UML en groupes. Il permet de décomposer un système

Diagrammes UML 2.0 16

complexe en sous-systèmes.Il peut s’appliquer à tous les types de diagrammes UML (classes, objet, composants, CU, état-transition, …).Utilisé essentiellement pour regrouper des classes ou des composants.

Page 5: UML v2

5

Ingénierie des méthodes et des processus A. Abdellatif

Diagramme de paquetage : Concepts de base

Le diagramme de paquetage se base sur lesconcepts suivants :

Paquetage : Groupe d’éléments cohérents (classes,objets, composants, …) Il peut regrouper aussi despaquetages hiérarchie de paquetages

Diagrammes UML 2.0 17

paquetages hiérarchie de paquetages.Association : Relation sémantique entre deuxpaquetage. Il existe deux types d’association :

Association de dépendanceAssociation de généralisation

Ingénierie des méthodes et des processus A. Abdellatif

Diagramme de paquetage: Représentation d’un paquetage

Peut ête :•Archive (jar)•System

Diagrammes UML 2.0 18

System•Subsystem•Model•Métamodel•….

Ingénierie des méthodes et des processus A. Abdellatif

Diagramme de paquetage : Représentation des associations de dépendance

Diagrammes UML 2.0 19

<<Stéreotype>> précise le type de dépendance. Il peut être : Use, Call, Import, Include, …

Ingénierie des méthodes et des processus A. Abdellatif

Diagramme de paquetage : Exemple

Diagrammes UML 2.0 20

Page 6: UML v2

6

Ingénierie des méthodes et des processus A. Abdellatif

Diagramme de paquetage : Représentation des associations de généralisation

Diagrammes UML 2.0 21

Exemple :

Diagramme global d’interaction

Ingénierie des méthodes et des processus A. Abdellatif

Diagramme global d’interaction : Présentation

C’est une nouvelle forme du diagramme d’activité.Appelé aussi diagramme d’interaction ou d’intercativité.

Diagrammes UML 2.0 23

Permet de faire une représentation plus riche et plus détaillée que celle du digramme d’activité.Il permet de représenter les interaction entre des diagrammes dynamiques.

Ingénierie des méthodes et des processus A. Abdellatif

Diagramme global d’interaction : Concepts de base

Le diagramme global d’interaction se basesur les concepts suivants :

Concepts utilisés dans les diagrammesd’activité : point initial, point terminal, décision,fusion merge fork

Diagrammes UML 2.0 24

fusion, merge, forkLes activités sont remplacées par des élémentsrectangulaires dont chacun peut être :

Un élément d’interaction : Il peut être undiagramme de séquence, de communication ou globald’interactionUn élément d’occurrence d’interaction : C’estune référence à un diagramme d’interaction existant.

Page 7: UML v2

7

Ingénierie des méthodes et des processus A. Abdellatif

Diagramme global d’interaction : Formalisme

Diagrammes UML 2.0 25

Diagramme de structure composite

Ingénierie des méthodes et des processus A. Abdellatif

Diagramme de structure composite : Présentation

Un diagramme de structure compositepermet de décrire la structure interned’une classe composite.Appelé aussi diagrammed’architecture

Diagrammes UML 2.0 27

d architecture.Il permet d'approfondir la description dela structure interne d’un ensemble declasses et la représentation desinteractions entre ces classes.Il fournit une vue logique de tout oupartie d'un système logiciel.

Ingénierie des méthodes et des processus A. Abdellatif

Diagramme de structure composite : Concepts de base

Le diagramme de structure composite se base sur lesconcepts suivants :

Partie : Elle représente un rôle joué par uneinstance d'une classe ou un ensembled'instances à l'exécution.Port : Il représente un point d'interaction

Diagrammes UML 2.0 28

p ppermettant de connecter une classe avec sesparties ou son environnement.Connecteur : Il relie les parties et/ou lesclasses.Classeur structuré : C’est une représentationalternative de classes reliées par uneassociation de composition.

Page 8: UML v2

8

Ingénierie des méthodes et des processus A. Abdellatif

Diagramme de structure composite : Les parties (Parts)

Une partie (appelée aussi participant ou rôle) est uneinstance de classe jouant un rôle particulier dans lecontexte d'une autre classe.Une partie permet de définir une zone bien délimitéeà l'intérieur d'une classe (ou composant)

Diagrammes UML 2.0 29

à l intérieur d une classe (ou composant).Une partie est définie par un type complétééventuellement par un nom et une multiplicité :

[nom] : <type>[multiplicité]Exemples :

:RoueRouesAvants : Roue[2]

Ingénierie des méthodes et des processus A. Abdellatif

Diagramme de structure composite : Les ports

Un port est un point de connexion entre classeset/ou parties.Les ports sont souvent utilisés pour représenterdes paramètres en entrée ou en sortie.

Diagrammes UML 2.0 30

Un port est définie par un type complétééventuellement par un nom et une multiplicité :

[nom] : <type>[multiplicité]Notation :

Ingénierie des méthodes et des processus A. Abdellatif

Diagramme de structure composite : Les connecteurs

Un connecteur est une relation contextuelle entredeux parties, deux classes ou une classe et unepartie.Il représente généralement le rôle d’une

i ti d DSC

Diagrammes UML 2.0 31

association dans un DSC.Un connecteur est représenté par:

<nom> [:<nom_association>]Notation :

Ingénierie des méthodes et des processus A. Abdellatif

Diagramme de structure composite : Classeur structuré

Un classeur structuré est un formalismepermettant de :

Représenter des structures compositesDécomposer une classe non suffisamment détailléeen éléments suffisamment fins pour permettre leur

Diagrammes UML 2.0 32

en éléments suffisamment fins pour permettre leurimplémentation.

Un classeur est composé d’une classe composite et declasses internes.Cette notion est plus précise que l’association decomposition

Page 9: UML v2

9

Ingénierie des méthodes et des processus A. Abdellatif

Diagramme de structure composite : Classeur structuré

Représentation d’un classeur structuré :

Diagrammes UML 2.0 33

Cette représentation estéquivalente, mais plusPrécise, que la suivante:

Diagramme de Temps

Ingénierie des méthodes et des processus A. Abdellatif

Diagramme de temps : Présentation

Ce diagramme permet de représenter lavariation des valeurs d’un ou plusieursobjets dans le temps.Dit aussi Timing diagram ou

Diagrammes UML 2.0 35

g gchronogramme.Il est surtout utile dans las applicationstemps réel et les systèmes distribuésIl se présente comme un diagramme deséquence inversé.

Ingénierie des méthodes et des processus A. Abdellatif

Diagramme de temps : Concepts de base

Le diagramme de temps se présentecomme un espace composéhorizontalement d’un ensemble d’unitéstemporelles et verticalement d’un

Diagrammes UML 2.0 36

temporelles et verticalement d unensemble de lignes de vie subdiviséechacune en un ensembled’états/conditions.

Page 10: UML v2

10

Ingénierie des méthodes et des processus A. Abdellatif

Diagramme de temps : Concepts de base

Ligne de vie : Chaque ligne de viecorrespond à un objet. Elle permet dereprésenter la variation des valeurs prisespar cet objet dans le temps.Unité temporelle : L’ensemble d’unités

Diagrammes UML 2.0 37

Unité temporelle : L’ensemble d’unitéstemporelles représente l’axe du temps.Etat/condition: C’est une valeur pouvantêtre prise par un objet.Instance de temps : C’est l’état/conditionprise par un objet à une unité temporelledonnées.

Ingénierie des méthodes et des processus A. Abdellatif

Diagramme de temps : Représentation

Ligne de vie

Instance de temps

Diagrammes UML 2.0 38

Unité temporelleEtat/Condition

Langage OCL : Object Constraint Langage

Ingénierie des méthodes et des processus A. Abdellatif

OCL : PrésentationUML dispose d’un ensemble de contraintes prédéfinies quipeuvent être exprimées sur :

des associations : {Ordonné}, {Exclusif}, {Sous-ensemble}des classes : {Abstract}des attributs : {age > 18}

Dans certains cas, les contraintes sont complexes et nepeuvent pas être explicitées par celles déjà prédéfinies

Diagrammes UML 2.0 40

peuvent pas être explicitées par celles déjà prédéfinies.Elles peuvent être cependant exprimées en langagenaturel.Utilisation d’un langage naturel pour l’expression descontraintes complexes Ambigüité et difficulté detraduction en langage de programmation.UML a proposé un langage pour exprimer les contraintescomplexes : c’est l’Object Constraint Language (OCL).

Page 11: UML v2

11

Ingénierie des méthodes et des processus A. Abdellatif

OCL : Présentation

L’OCL a été introduit depuis la version 1.1d’UMLIl a été amélioré dans la version 1.3 d’UMLDans UML 2.0, l’OCL est complètement décrit

Diagrammes UML 2.0 41

Dans UML 2.0, l OCL est complètement décritdans un document de l’OMG 2006.L’OCL peut s’appliquer à la plupart desdiagrammes UML.Il facilite la génération automatique de codeà partir des diagrammes.

Ingénierie des méthodes et des processus A. Abdellatif

OCL : CaractéristiquesL’OCL est un langage formel.Il constitue un compromis entre :

L’accessibilité des langages naturelsLa précision des langages informatiques

Exemples d’utilisation :des conditions sur des attributs,des pré-conditions et des post-conditions à l’exécution d’opérations :

l é diti d i t êt é ifié t l’ é ti

Diagrammes UML 2.0 42

les pré-conditions doivent être vérifiées avant l’exécution,les post-conditions doivent être vérifiées après l’exécution,

des gardes sur des transitions de diagrammes d’états-transitions ou des messages de diagrammes d’interaction,des ensembles d’objets destinataires pour un envoi de message,des attributs dérivés

Ingénierie des méthodes et des processus A. Abdellatif

OCL : Exemple

Diagrammes UML 2.0 43

Context CompteInv: solde > 0

Context Compte::debiter(somme : Integer)Pre: somme > 0Post: solde = solde@pre – somme

Context CompteInv: banque.clients->includes(proprietaire)