UML v2
Click here to load reader
-
Upload
farouk-ben-gharssallah -
Category
Software
-
view
173 -
download
0
Transcript of UML v2
1
Ingénierie des méthodes et des processus
UML 2 0
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)
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
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
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.
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
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.
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.
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
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.
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).
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)