Enseignant Chercheur ESIL/INFO France

Slides:



Advertisements
Présentations similaires
MOT Éditeur de modèles de connaissances par objets typés
Advertisements

Qualité en Développement Laurent Henocque Enseignant Chercheur ESIL/INFO France
Langage de modélisation objet unifié
Génie Logiciel 2 Julie Dugdale
XML - Henry Boccon-Gibod 1 XML, Langage de description La question du choix de formalismes Les entités et leur représentations modalités de modèles et.
Diagram-Based Techniques
Enseignant Chercheur ESIL/INFO France
M.E.D.A.L. Module dEnseignement à Distance pour lArchitecture Logicielle Alain VAILLY Diapositive n° 1 IUP MIAGE - Université de NANTES IUP-MIAGE 3ème.
UML - Présentation.
Les diagrammes d’interactions
Langage de Modélisation Objet Unifié Cours HEI
Introduction à UML NFE108 CNAM – LILLE Madame DELECLUSE
UML (Unified Modeling Langage)
Diagrammes de communication
Langage SysML.
PARTIE 3 : Le SYSTEME D’INFORMATION FUTUR
Présentation SysML (Systems Modeling Language ) est basé sur UML et remplace la modélisation de classes et d'objets par la modélisation de blocs pour un.
UML : GENERALITES Rappel Diagrammes Niveaux de visions
Etude des Technologies du Web services
UML : DIAGRAMME D’ACTIVITES
Principes de la technologie orientée objets
Analyse et Conception des Systèmes d’Informations
Modélisation E/R des Données
Modélisation des bases de données avec UML
RDF(S)
Chapitre 3 Les diagrammes de classes
Vers la conception objet
Modèle, Méthode et Conception
Outils pour la modélisation des systèmes distribués
Structures de données IFT-10541
MOT Éditeur de modèles de connaissances par objets typés
Unified Modeling Langage
P. Van Roy, LINF1251 LINF1251: Le Langage Java Peter Van Roy Département dIngénierie Informatique, UCL
Document élaboré à Centrale Paris par Pascal Morenton LES TECHNOLOGIES DU WEB 1. LES PHASES D UN DEPLOIEMENT DE RESEAUX 2. LE LANGAGE HTML 3. LE LANGAGE.
UML (2) Modèle dynamique le diagramme de séquence
Sensibilisation a la modelisation
Diagramme de classes Introduction Notions de classe
Patrons de conceptions de créations
Langage de modélisation graphique de systèmes
Modélisation Objet UML avec Rational Rose 2000
UML - Présentation.
Diagrammes de classe UML.
Le diagramme d’états-transitions
1 A llier R elations et O bjets pour M odéliser Projet Sherpa INRIA Rhône-Alpes Visite Schneider 15/09/99.
GENIE LOGICIEL Détermination du périmètre cible d’une application
Diagrammes D’activités UML
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
UML : un peu d’histoire H. Lounis.
Unified Modeling Langage
C++ L’HERITAGE Fayçal BRAÏKI DUT INFORMATIQUE.
Nouvelles Technologies Internet & Mobile
ENSTA : cours IN204 Introduction à JAVA et UML
François CARCENAC,Frédéric BONIOL ONERA-DTIM Zoubir MAMMERI IRIT
2 Processus de conception de BD
Diagramme de Déploiement
La programmation par objets Principes et concepts Etude de Smalltalk.
Modélisation des documents: DTD et Schéma
Modélisation et Construction d’un Système d’Information
Hiver 2004SEG2501 Chapître 41 Chapître 4 SDL – structure d’un système et son comportement.
Chapitre 2 Rappels objet et Présentation des diagrammes UML
Chapitre 2 Rappels objet et Présentation des diagrammes UML
(UML) Unified Modeling Language
Nouvelles Technologies Internet & Mobile
Introduction à la Programmation Orientée Objet
TP D’UML Groupe N° 3.
EPITECH 2009 UML EPITECH 2009
Document de spécification d’exigences Normes IEEE et 29148:2011
Diagrammes de comportement Présentation. Diagramme de séquence  Permet de modéliser les envois de messages entre objets chronologiquement.  Modélisation.
Schéma de base de données Présentation. Conception du schéma logique  Transformation du schéma conceptuel en structures de données supportées par les.
UML2 : Panorama de la notation Laurent Henocque Enseignant Chercheur ESIL/INFO France
Transcription de la présentation:

Enseignant Chercheur ESIL/INFO France 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/resources/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 Super-classe Animal Généralisation Spécialisation Chat Chien Raton laveur COHERENCE Sous-classe

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

Généralisations Multiples Véhicule DISCRIMINANT 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/report/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