UML2 : Les diagrammes

Documents pareils
basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

Les diagrammes de modélisation

Cours STIM P8 TD 1 Génie Logiciel

UML (Diagramme de classes) Unified Modeling Language

Cours de Génie Logiciel

Ingénierie des Modèles. Méta-modélisation

Diagramme de classes

Université de Bangui. Modélisons en UML

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

RTDS G3. Emmanuel Gaudin

Sommaire. G. Pujolle, F. Ravat, C. Soulé-Dupuy, G. Zurfluh

IFT2255 : Génie logiciel

Chapitre I : le langage UML et le processus unifié

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml

Générer du code à partir d une description de haut niveau

Génie Logiciel Avancé Cours 3 Le modèle à objets

OCL - Object Constraint Language

Le Guide Pratique des Processus Métiers

Table des matières Sources

3. UML - Unified Modeling Language Diagrammes statiques

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language

Apprendre la Programmation Orientée Objet avec le langage Java (avec exercices pratiques et corrigés)

Chapitre VI- La validation de la composition.

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

Urbanisation de système d'information. PLM 3 (Product Lifecycle Management) Élaborations, versions, variantes, configurations

C est quoi le SWAT? Les équipes décrites par James Martin s appellent SWAT : Skilled With Advanced Tools.

Sommaire. Conduite de projet Méthode d analyse et de conception. Processus unifié. Objectifs d un processus de développement

Présentation générale de la méthode orientée objet : O.M.T. (Rumbaugh & al.)

Description de la formation

Héritage presque multiple en Java (1/2)

Conception. Génie Logiciel. Renaud Marlet. LaBRI / INRIA (d'après A.-M. Hugues) màj 17/04/2007

Conception des bases de données : Modèle Entité-Association

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

GOL502 Industries de services

MEGA ITSM Accelerator. Guide de Démarrage

Pascal Brunot Hadrien Cambazard UML FOR BUSINESS INTELLIGENCE PROJECT

Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

C++ COURS N 2 : CLASSES, DONNÉES ET FONCTIONS MEMBRES Classes et objets en C++ Membres d'une classe Spécification d'une classe Codage du comportement

Génie Logiciel Orienté Objet UML

UML Diagramme de communication (communication diagram) Emmanuel Pichon 2013

Architecture d'entreprise : Guide Pratique de l'architecture Logique

TP1 : Initiation à Java et Eclipse

Le Processus RUP. H. Kadima. Tester. Analyst. Performance Engineer. Database Administrator. Release Engineer. Project Leader. Designer / Developer

GOL-502 Industrie de services. Travaux Pratique / Devoir #7

Ingénierie Dirigée par les Modèles. Editeurs de modèles. (Eclipse Modeling Tools) Jean-Philippe Babau

Modélisation UML. Christine Solnon INSA de Lyon - 3IF 1/140.

Bases de données. Chapitre 1. Introduction

Guide d'installation. Release Management pour Visual Studio 2013

Développement d un interpréteur OCL pour une machine virtuelle UML.

Conception de circuits numériques et architecture des ordinateurs

Patrons de Conception (Design Patterns)

Méthodes d évolution de modèle produit dans les systèmes du type PLM

WEA Un Gérant d'objets Persistants pour des environnements distribués

Diagrammes de Package, de déploiement et de composants UML

BES WEBDEVELOPER ACTIVITÉ RÔLE

Le niveau conceptuel : la modélisation des bases de données

Modélisation de Lignes de Produits en UML *

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre Enrica.Duchi@liafa.jussieu.fr

Master MIDO 2ème année. Spécification et Conception en UML Maude Manouvrier

UNE EXPERIENCE, EN COURS PREPARATOIRE, POUR FAIRE ORGANISER DE L INFORMATION EN TABLEAU

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux

CONCOURS DE L AGRÉGATION INTERNE «ÉCONOMIE ET GESTION» SESSION 2015 SECONDE ÉPREUVE

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

LO19. Tutorial Rotional Rose. Alexandre Penfornis Thomas Derive

Formation : Modélisation avec UML 2.0 et Mise en pratique

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

TP Bases de données réparties

UML. Diagrammes de classes (suite) Delphine Longuet.

Programme de la 1ère année

2. Activités et Modèles de développement en Génie Logiciel

CNAM cours NFE107 : Urbanisation et architecture des SI Xavier Godefroy, Rapport sur le BPM, mai Le BPM

BI2 : Un profil UML pour les Indicateurs Décisionnels

Devenez un véritable développeur web en 3 mois!

La plate-forme DIMA. Master 1 IMA COLI23 - Université de La Rochelle

Génie Logiciel. Rappels. C. Crochepeyre Génie Logiciel Rappels 1

Programmer en JAVA. par Tama

Modèle conceptuel : diagramme entité-association

//////////////////////////////////////////////////////////////////// Administration bases de données

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

Rappel sur les bases de données

Projet Active Object

Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA

Sage 100 CRM - Guide de la Fusion Avancée Version 8. Mise à jour : 2015 version 8

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars

UML : DIAGRAMME D ETATS

Analyse de performance, monitoring

Vérification formelle de la plate-forme Java Card

M1 : Ingénierie du Logiciel

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

Intégration de produits mécatroniques au sein d un système PLM

Compilation (INF 564)

Table des matières L INTEGRATION DE SAS AVEC JMP. Les échanges de données entre SAS et JMP, en mode déconnecté. Dans JMP

Cours Informatique Master STEP

MEGA Database Builder. Guide d utilisation

MEGA ITSM Accelerator. Guide de démarrage

Transcription:

UML2 : Les diagrammes Laurent Henocque http://laurent.henocque.free.fr/ Enseignant Chercheur ESIL/INFO France http://laurent.henocque.perso.esil.univmed.fr/ mis à jour en Novembre 2008

Licence Creative Commons Cette création est mise à disposition selon le Contrat Paternité-Partage des Conditions Initiales à l'identique 2.0 France disponible en ligne http://creativecommons.org/licenses/by-sa/2.0/fr/ ou par courrier postal à Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.

Références Normatives L'infrastructure UML http://www.omg.org/cgi-bin/doc?formal/05-07-05 La superstructure UML http://www.omg.org/cgi-bin/doc?formal/05-07-04 OCL http://www.omg.org/cgi-bin/doc?ptc/05-06-06

Autres références Ce support de cours s'appuie sur des exemples concrets mis à disposition librement sur internet par différentes sources http://www.rational.com http://www.visualuml.com http://uml.free.fr http://http://www.sparxsystems.com.au/resourc es/uml2_tutorial/index.html

Objectifs Présenter les différents diagrammes UML2.0

UML : Diagrammes de Classes

Préambule UML propose des artéfacts particuliers pour les diagrammes. Toutefois, ces propositions sont seulement suggérées, ne sont pas obligatoires, et ne font en aucun cas partie de la norme Un diagramme à la mode OOA (nuages) peut donc constituer un document UML valide, selon des conventions prédéfinies

Diagrammes de Classes les diagrammes de classes, ou de structure, définissent les constructions élémentaires d'un modèle: types, classes, relations utiles pour le reste (pose des contraintes)

Elements graphiques des diagrammes statiques

Exemple

Exemples de Classes

Classes: héritage

Classes: associations

Classe : notation simple Une classe définit un "type", ensemble d'objets pouvant exister à l'exécution du programme Voiture Bateau Véhicule

Encapsulation

Classe : syntaxe détaillée

Attribut multivalué

Attribut dérivé

Classes Abstraites

Héritage

Heritage??

Polymorphisme

Généralisation Animal Super-classe Généralisation Spécialisation Chat Chien Raton laveur Sous-classe COHERENCE

Héritage multiple Tapis Véhicule MULTIPLE Super-classe Super-classe Terrestre Aérien Fusion de plusieurs classes en une seule classe Tapis volant Sous-classe

Généralisations Multiples DISCRIMINANT Véhicule DISCRIMINANT Motorisation Milieu A voile A moteur Terrestre Marin

Obligation d'héritage de toutes les dimensions Véhicule Motorisation Milieu {Inclusif} A voile A moteur Terrestre Marin Pétrolette Nécessaire

Exemple

Core Backbone Simplifié

Classification (Distilled)

Dérivation (Distilled)

Exemple : Espresso Compilateur http://types.bu. edu/espresso/r eport/espresso. html

Types fondamentaux

Exemple log4j

Stéréotypes et Variations

Instances

Stéréotypes dans les classes

Le stéréotype "utility"

Templates

SP CPP

UML : Packages

Diagrammes de Packages Utilisés pour séparer le modèle en conteneurs logiques, et décrire leurs interactions à un haut niveau

Exemple de Packages

Packages

Packages

Stéréotypes de Packages

Packages (Distilled)

UML : Associations

Association

Lien

Nommage d'association

Rôles

Nécessité des noms de Rôles

Cardinalités

Navigabilité

Agregation

Relation de Composition

Composition Vue Interne

Agrégation et composition (Distilled)

Associations qualifiées

Association qualifiée (Distilled)

Relation N-aire

Classe d'association

Classe d'association (Distilled)

Classe d'association 2

Association dérivée

Relation de dépendance Une dépendance traduit l existence d un lien fugitif entre deux classes, par exemple lors de la création d un objet, ou d un passage de paramètre

Dernier Diagramme Classes (Distilled)

UML : Contraintes Exprimées dans le modèle

Contraintes

Contraintes

Contraintes

Contraintes: Exercice : tout peut être décrit dans le modèle?

UML : Interfaces

Interfaces

Interfaces

Réalisation d'interfaces

Interfaces (Distilled)

Interfaces (Distilled)

UML : Composants Déploiement

Diagrammes Objet (d'instances) Les diagrammes objet illustrent les interactions concrètes entre instances de classes (les liens y sont des instances des relations)

Composants et Composites

Liens internes entre composants

Instances Les instances ne sont pas utilisées dans les diagrammes de classes, mais apparaissent dans les cas d'utilisation, et les diagrammes de trace d'événements (activity diagrams)

Instances

Diagramme de collaboration

Exemple

Diagrammes de Structure Composite Les diagrammes de structure composite donnent le moyen de stratifier la structure et de se concentrer sur des détails internes concernant les associations. Un tel diagramme décrit la structure interne d'un classifieur.

Exemples

Collaborations

Diagrammes de Composants Les diagrammes de composants sont utilisés pour modéliser des structures à plus haut niveau, ou plus complexes, qui déclarent des interfaces précises. La plupart du temps, un composant fait intervenir plusieurs classes

Exemples

Deployment Diagrams Les diagrammes de déploiement décrivent la disposition concrète des éléments du modèle dans le monde physique

Exemples

Exemples

Modules

Composants

Ex: Composants ArgoUML

Déploiement

Deploiement (Distilled)

UML : Etats

Diagrammes de machines d'états finis Les diagrammes d'état finis décrivent les états stables d'une classe, et les transitions quoi s'y appliquent

Exemple

Exemples

Exemples

Exemple

Exemple

Jonction

Historique

Concurrence

Diagrammes de Communication Les diagrammes de communication décrivent le réseau et le séquencement de messages entre objets pendant l'exécution d'une collaboration

Transition

Transition Gardée

Etats Composites

Abstraction des Etats Composites

Entry / Exit / On / Do

Transitions Boucles

Parallélisme

Synchronisation

Exemple Etats

Etats (Distilled)

Etats (Distilled)

Etats (Distilled)

UML : Activités

Activity Diagrams Les diagrammes d'activité ont un large champ d'utilisation. A plus haut niveau, ils peuvent servir à capturer les points de décision et le contrôle dans un process. Ils peuvent aussi servir à documenter un algorithme.

Exemple

Exemple

Exemple

Exemple

Expansion regions

Exemple : exceptions, régions interruptibles

Parameter sets

Transition entre Activités

Couloirs d'activités

Transition Gardée

Machine à Café

Synchronisation

UML : Séquences

Diagrammes de Séquence Les diagrammes de séquence sont des diagrammes de communication dans lesquels la dimension verticale est utilisée pour matérialiser l'écoulement du temps

Exemples

Exemples

Temps concret

Boucles

Sections critiques

Décomposition

Invariants

Séquences

Activation

Messages de Séquences

Diagramme de Séquence

Sequence (Distilled)

Sequence (Distilled)

Sequence (Distilled)

UML : Collaborations

Collaborations

Collaborations

Collaborations

Collaboration au Niveau Classe

Collaboration (Distilled)

Collaborations et Packages

UML : Use Cases

Diagrammes de Cas d'utilisation Ces diagrammes modélisent des interactions entre les utilisateurs et le système. Ils définissent le comportement, les conditions et contraintes sous la forme de scripts ou de scénarios

Exemples

Exemples

Exemples

Use Cases dans l'analyse

Use Cases

Use Case

Use Case

Stéréotypes de Use Cases

Relations de Use Case (Distilled)

Use Case Points d'extension (Distilled)

UML : Diagrammes de Timing

Timing Diagrams Ces diagrammes combinent les diagrammes de séquence et d'état pour proposer un point de vue sur l'évolution de l'état d'un objet au fil du temps, et sur les messages qui modifient cet état.

UML : Diagrammes d'"interaction overview"

Interaction Overview Diagrams Ces diagrammes utilisent diagrammes d'activité et de séquence pour décrire comment des fragments d'interaction (décrits par des diagrammes de séquence) sont combinés par des points de décision et des flux

UML 2.0 Elements nouveaux

Métamodèle Diagrammes de collaboration -> diagrammes de communication Diagrammes de d'interaction hybrides (overview of interaction) Diagrammes temporels (timing diagrams) Diagrammes de structure composite

Diagrammes de classe Les attributs et les associations unidirectionnelles sont devenues deux notations équivalentes pour le même concept de "propriété" (property). Les multiplicités discontinues ont été abandonnées ([2,7]) Diverses propriétés et mots clef ont été abandonnées ("frozen", <<parameter>>, <<local>>)

Diagrammes de séquence Nouvelle notation dite de "cadre d'interaction" (interaction frame) pour les sections itératives, conditionnelles de l'exécution, et divers modes de contrôle Cela permet de décrire des algorithmes de façon réaliste dans les diagrammes de séquence

Diagrammes de Séquence

Diagrammes de séquence (2) Les marqueurs d'itération et les gardes des messages ont été supprimés (ils servaient précisément à décrire des algorithmes) Les têtes de lignes de vie ne sont plus des instances, mais des "participants"

Diagrammes de classe Les stéréotypes sont plus précisément définis. Les chaînes entre guillemets sont des "mots clef" (keyword), dont certains seulement sont des stéréotypes La classification multiple utilise des ensembles de classification ("classification sets") pour grouper les généralisations

Interfaces Les classes peuvent requérir des interfaces, et pas seulement les proposer

Diagrammes de composants Les composants n'ont plus une icône spécifique, mais deviennent un stéréotype comme les autres (la différence entre classe et composant n'avait jamais été claire)

Structure composite La structure composite permet de décomposer récursivement une classe dans sa structure interne, notamment pour faire apparaître les éléments de la classe liés aux interfaces

Exemple de Structure Composite

Classe Active Une classe active décrit des instances don t chacune possède son propre thread de contrôle.

Diagrammes d'état UML 2.0 supprime la distinction entre actions et activités. Une activité est simplement indiquée par une clause dans un état "do/" (ou "do-activity/")

Diagrammes d'activité Ces diagrammes ne sont plus un cas particulier des diagrammes d'état Suppression de l'obligation de faire correspondre chaque "fork" à un "join" Ces diagrammes sont mieux compris comme des diagrammes de flot de jetons (de type réseau de Petri)

Diagrammes d'activité

Diagrammes d'activité Nombreuses nouvelles notations : signaux de temps et d'acceptation paramètres spécifications de join pins (puces) transformations de flot rateaux de sous diagrammes (subdiagram rakes) régions d'expansion terminaisons de flots

Diagrammes d'activité Les flots entrants multiples étaient traités comme un "merge" implicite en UML 1.x (sans synchronisation) Ils deviennent un "join" implicite (avec synchronisation) Recommandation : utiliser des join ou merge explicites!

Diagrammes d'activité Les lignes de vie (life lines ou swim lanes) devinennent multi dimensionnelles, elles sont appelées des partitions

Fin du document