genèse d'UML

21
La genèse d’UML Pierre-Alain Muller ENSISA [email protected] 03.89.33.69.65

description

genèse d'UML

Transcript of genèse d'UML

Page 1: genèse d'UML

La genèse d’UML

Pierre-Alain MullerENSISA

[email protected]

Page 2: genèse d'UML

Tutorial 1.0 2 Pierre-Alain Muller

Sommaire• Les méthodes d’analyse et de conception

– A quoi sert une méthode– Des méthodes fonctionnelles aux méthodes

objet– La prolifération des méthodes objet– Rapprochement de Booch et OMT

• L’unification des méthodes– Vers un langage unifié pour la modélisation– Modèle et métamodèle

Page 3: genèse d'UML

Tutorial 1.0 3 Pierre-Alain Muller

A quoi sert une méthode

• Modéliser et construire des systèmes logiciels de manière fiable et reproductible

• Une méthode définit– Des éléments de modélisation– Une représentation graphique– Du savoir-faire et des règles

Page 4: genèse d'UML

Tutorial 1.0 4 Pierre-Alain Muller

Des méthodes fonctionnelles aux méthodes objet

• Méthodes structurées et fonctionnelles• Méthodes objet

Page 5: genèse d'UML

Tutorial 1.0 5 Pierre-Alain Muller

Approche mixte• Logique mais anachronique

Page 6: genèse d'UML

Tutorial 1.0 6 Pierre-Alain Muller

Approche tout-objet

• Couverture de toutes les phases du cycle de vie du logiciel

• Pas de changement de mode de pensée• Navigation facilitée entre les phases• Bon support pour les démarches itératives et

incrémentales

Page 7: genèse d'UML

Tutorial 1.0 7 Pierre-Alain Muller

La prolifération des méthodes objet

• Une cinquantaine de méthodes objet dans les cinq dernières années– Confusion, attentisme

• Consensus autour d’idées communes– Objets, classes, associations, sous-systèmes, cas

d’utilisation

Page 8: genèse d'UML

Tutorial 1.0 8 Pierre-Alain Muller

Rapprochement de Booch et OMT

• Booch’93 et OMT-2 sont plus ressemblantes que différentes– Booch’93 adopte les associations, les diagrammes

d'Harel, les traces d’événements– OMT-2 introduit les flots de messages et retire les

diagrammes de flot de données• Booch-93 construction• OMT-2 analyse et abstraction

Page 9: genèse d'UML

Tutorial 1.0 9 Pierre-Alain Muller

Origine des concepts objet

Booch Catégories et sous-systèmesEmbley Classes singletons et objets compositesFusion Description des opérations, numérotation des messagesGamma, et al.Frameworks, patterns, et notesHarel Automates (Statecharts) Jacobson Cas d’utilisation (use cases)Meyer Pré- et post-conditionsOdell Classification dynamique, éclairage sur les événementsOMT AssociationsShlaer-MellorCycle de vie des objetsWirfs-Brock Responsabilités (CRC)

• Souvent une histoire imbriquée

Page 10: genèse d'UML

Tutorial 1.0 10 Pierre-Alain Muller

L’unification des méthodes

• La pratique des méthodes a permis de faire le tri entre les différents concepts

• Jim Rumbaugh, Grady Booch et plus tard Ivar Jacobson décident d’unifier leurs travaux– OMT(Object Modeling Technique), Booch et

OOSE (Object Oriented Software Engineering)

Page 11: genèse d'UML

Tutorial 1.0 11 Pierre-Alain Muller

Les objectifs

• Représenter des systèmes entiers

• Etablir un couplage explicite entre les concepts et les artefacts exécutables

• Prendre en compte les facteurs d’échelle

• Créer un langage de modélisation utilisable à la fois par les humains et les machines

Page 12: genèse d'UML

Tutorial 1.0 12 Pierre-Alain Muller

Les étapes

• Octobre 95– Unified Method V0.8

• Octobre 96 – UML V0.91 (The Unified Modeling Language

for Object-Oriented Development)• Janvier 97

– UML 1.0 est soumise à l’OMG

Page 13: genèse d'UML

Tutorial 1.0 13 Pierre-Alain Muller

Les partenaires

• Courant 96 UML devient un enjeu stratégique

• Consortium de partenaires– DEC, HP, i-Logix, Intellicorp, IBM, ICON

Computing, MCI Systemhouse, Microsoft, Oracle, Rational Software, TI et Unisys

Page 14: genèse d'UML

Tutorial 1.0 14 Pierre-Alain Muller

La définition d’UML

Page 15: genèse d'UML

Tutorial 1.0 15 Pierre-Alain Muller

Vers un langage unifié

• UML est une notation, pas une méthode• UML est un langage de modélisation objet • UML convient pour toutes les méthodes objet• UML est dans le domaine public

Page 16: genèse d'UML

Tutorial 1.0 16 Pierre-Alain Muller

Métamodèle

• Identification des concepts fondamentaux– Définition de la sémantique de ces concepts– Choix d’une représentation graphique

• Métamodélisation d’UML avec UML– Description formelle des éléments de modélisation

• Austère, pas pédagogique– Méthodologistes– Constructeurs d’outils

Page 17: genèse d'UML

Tutorial 1.0 17 Pierre-Alain Muller

Modèle

• L’unité de base du développement• La forme du modèle dépend du métamodèle• Le contenu du modèle dépend du problème

• Relié à une phase précise du développement

• Construit à partir d’éléments de modélisation avec leurs différentes vues associées

Page 18: genèse d'UML

Tutorial 1.0 18 Pierre-Alain Muller

Les modèles d’UML

• Le modèle des classes

• Le modèle des états

• Le modèle des cas d’utilisation

• Le modèle d’interaction

• Le modèle de réalisation

• Le modèle de déploiement

Page 19: genèse d'UML

Tutorial 1.0 19 Pierre-Alain Muller

Les diagrammes d’UML

• Les diagrammes de classes

• Les diagrammes d’interactions

• Les diagrammes de séquences

• Les diagrammes de collaborations

• Les diagrammes d’états-transitions

Page 20: genèse d'UML

Tutorial 1.0 20 Pierre-Alain Muller

Diagrammes (suite)

• Les diagrammes d’activités

• Les diagrammes de cas d’utilisation

• Les diagrammes de composants

• Les diagrammes de déploiement

Page 21: genèse d'UML

Tutorial 1.0 21 Pierre-Alain Muller

Conclusion

• UML est la notation du génie-logiciel objet• UML est soutenue par les principaux

acteurs du monde de l’informatique• UML est le successeur naturel des notations

des méthodes de Booch, OMT et OOSE• UML est le langage de la transition vers

l’objet