1. 1
Ingénierie des méthodes et
des processus
UML 2 0
A. ABDELLATIF
abdelaziz.abdellatif@fst.rnu.tn
2012-2013
UML 2.0
Les diagrammes additionnels
d’UML
Ingénierie des méthodes et des processus A. Abdellatif
Sommaire
Présentation d’UML 2.0
Nouveautés du diagramme de séquence
Diagramme de paquetages
Diagrammes UML 2.0 2
Diagramme global d’intéraction
Diagramme de structure composite
Diagramme de temps
Langage 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 de
UML.
Validé en 2003
UML 2 0 a été fortement influencé par les
Diagrammes UML 2.0 3
UML 2.0 a été fortement influencé par les
processus suivants :
MDA : Model Driven Architecture (Architecture
dirigée par les modèles)
MDD : Model Driven Development (Développement
dirigé par les modèles)
Ingénierie des méthodes et des processus A. Abdellatif
Présentation d’UML 2.0
Objectif : automatiser au maximum le
passage de modèles (diagrammes) vers les
programmes.
Résultat : UML a apporté les nouveautés
suivantes :
Diagrammes UML 2.0 4
suivantes :
Extension des 9 diagrammes existants
Quatre nouveaux diagrammes :
Diagramme de Paquetage
Diagramme des Structures composites
Diagramme global d’interaction
Diagramme de temps (Timing)
Un nouveau langage : OCL (Object Constraint
Langage)
2. 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 au
diagramme de séquence:
Fragment d’interaction : C’est un ensemble
compact d’intéractions (messages) entre objets.
Opérateur : Chaque fragment est défini par un
opérateur et des opérandes. L’opérateur décrit le
Diagrammes UML 2.0 7
p p p
déclenchement d’un fragment. Les principaux
opérateurs sont :
Alt : Si … Alors … Sinon
Opt : Si … Alors …
Loop : Boucle
Ref : Référence
Break : « 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
Fragment
d’intercationOpérande
3. 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
4. 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 de
retourDiagramme
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éments
de 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.
5. 5
Ingénierie des méthodes et des processus A. Abdellatif
Diagramme de paquetage :
Concepts de base
Le diagramme de paquetage se base sur les
concepts suivants :
Paquetage : Groupe d’éléments cohérents (classes,
objets, composants, …) Il peut regrouper aussi des
paquetages hiérarchie de paquetages
Diagrammes UML 2.0 17
paquetages hiérarchie de paquetages.
Association : Relation sémantique entre deux
paquetage. Il existe deux types d’association :
Association de dépendance
Association 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
6. 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 base
sur les concepts suivants :
Concepts utilisés dans les diagrammes
d’activité : point initial, point terminal, décision,
fusion merge fork
Diagrammes UML 2.0 24
fusion, merge, fork
Les activités sont remplacées par des éléments
rectangulaires dont chacun peut être :
Un élément d’interaction : Il peut être un
diagramme de séquence, de communication ou global
d’interaction
Un élément d’occurrence d’interaction : C’est
une référence à un diagramme d’interaction existant.
7. 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 composite
permet de décrire la structure interne
d’une classe composite.
Appelé aussi diagramme
d’architecture
Diagrammes UML 2.0 27
d architecture.
Il permet d'approfondir la description de
la structure interne d’un ensemble de
classes et la représentation des
interactions entre ces classes.
Il fournit une vue logique de tout ou
partie 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 les
concepts suivants :
Partie : Elle représente un rôle joué par une
instance d'une classe ou un ensemble
d'instances à l'exécution.
Port : Il représente un point d'interaction
Diagrammes UML 2.0 28
p p
permettant de connecter une classe avec ses
parties ou son environnement.
Connecteur : Il relie les parties et/ou les
classes.
Classeur structuré : C’est une représentation
alternative de classes reliées par une
association de composition.
8. 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 une
instance de classe jouant un rôle particulier dans le
contexte 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 :
:Roue
RouesAvants : 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 classes
et/ou parties.
Les ports sont souvent utilisés pour représenter
des 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 entre
deux parties, deux classes ou une classe et une
partie.
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 formalisme
permettant de :
Représenter des structures composites
Décomposer une classe non suffisamment détaillée
en éléments suffisamment fins pour permettre leur
Diagrammes UML 2.0 32
en éléments suffisamment fins pour permettre leur
implémentation.
Un classeur est composé d’une classe composite et de
classes internes.
Cette notion est plus précise que l’association de
composition
9. 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 plus
Pré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 la
variation des valeurs d’un ou plusieurs
objets dans le temps.
Dit aussi Timing diagram ou
Diagrammes UML 2.0 35
g g
chronogramme.
Il est surtout utile dans las applications
temps réel et les systèmes distribués
Il se présente comme un diagramme de
séquence inversé.
Ingénierie des méthodes et des processus A. Abdellatif
Diagramme de temps :
Concepts de base
Le diagramme de temps se présente
comme un espace composé
horizontalement d’un ensemble d’unités
temporelles et verticalement d’un
Diagrammes UML 2.0 36
temporelles et verticalement d un
ensemble de lignes de vie subdivisée
chacune en un ensemble
d’états/conditions.
10. 10
Ingénierie des méthodes et des processus A. Abdellatif
Diagramme de temps :
Concepts de base
Ligne de vie : Chaque ligne de vie
correspond à un objet. Elle permet de
représenter la variation des valeurs prises
par cet objet dans le temps.
Unité temporelle : L’ensemble d’unités
Diagrammes UML 2.0 37
Unité temporelle : L’ensemble d’unités
temporelles 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/condition
prise par un objet à une unité temporelle
donné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é temporelle
Etat/Condition
Langage OCL :
Object Constraint Langage
Ingénierie des méthodes et des processus A. Abdellatif
OCL : Présentation
UML dispose d’un ensemble de contraintes prédéfinies qui
peuvent ê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 ne
peuvent 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 langage
naturel.
Utilisation d’un langage naturel pour l’expression des
contraintes complexes Ambigüité et difficulté de
traduction en langage de programmation.
UML a proposé un langage pour exprimer les contraintes
complexes : c’est l’Object Constraint Language (OCL).
11. 11
Ingénierie des méthodes et des processus A. Abdellatif
OCL : Présentation
L’OCL a été introduit depuis la version 1.1
d’UML
Il a été amélioré dans la version 1.3 d’UML
Dans 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écrit
dans un document de l’OMG 2006.
L’OCL peut s’appliquer à la plupart des
diagrammes 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éristiques
L’OCL est un langage formel.
Il constitue un compromis entre :
L’accessibilité des langages naturels
La 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 Compte
Inv: solde > 0
Context Compte::debiter(somme : Integer)
Pre: somme > 0
Post: solde = solde@pre – somme
Context Compte
Inv: banque.clients->includes(proprietaire)