Your SlideShare is downloading. ×

UML v2

191

Published on

Published in: Software
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
191
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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)

×