Un foisonnement de méthodes
* Fin 80 / début 90
– orientation de plus en plus marquée vers l’objet
* Conséquence naturelle, mise en place de méthodes
– OOD : Object Oriented Design (Booch, 1991)
– HOOD : Hierarchical Object Oriented Design (Delatte et al., 1993)
– OOA : Object Oriented Analysis (Schlaer, Mellor, 1992)
– OOA/OOD : (Coad, Yourdon, 1991)
– OMT : Object Modeling Technique (Rumbaugh, 1991)
– OOSE : Object Oriented Software Engineering (Jacobson, 1992)
– OOM : Object Oriented Merise (Bouzeghoub, Rochfeld, 1993)
– Fusion (Coleman et al., 1994)
* Bilan
– de nombreuses méthodes (>50)
– ayant des avantages et des inconvénients
– des concepts assez proches, des notations différentes
Vers une unification
* 1994
– tentative de normalisation de l’OMG,sans effet
– Rumbaugh (OMT) rejoint Booch (OOD) chez Rational Software
• objectif : créer une méthode en commun (méthode unifiée)
* 1995
– présentation de la version 0.8 de la méthode
– arrivée de Jacobson (OOSE) chez Rational
* 1996
– implication de l’OMG (sous pression des industriels pour favoriser l’interopérabilité des modèles)
– langage unifié UML 0.9 (Unified Modeling Language),
* 1997
– UML 1.0 sort chez Rational
– UML 1.1 adopté par l’OMG comme standard officiel
Evolutions d’UML
*1997-2003
–adoption par les entreprises
–UML 1.1 à UML1.5 : modifications/améliorations
*2005
–UML 2.0
–quelques nouveaux diagrammes
–changements importants au niveau du méta modèle, pour permettre d’utiliser UML pour la programmation
Unified Modeling Language
*Combinaison de principes à succès
– modélisation de données (E/A), de l’activité, objet, en composants…
*Objectif
– visualiser / spécifier / construire / documenter les artefacts de la conception d’une application
*La norme elle-même
– méta-modèle et familles de diagrammes
*Utilisation
– pas de méthode préconisée
– pas de spécification technologique
Objectifs d’UML
* Montrer les limites d’un système et ses fonctions principales (pour les utilisateurs)à l’aide des cas d’utilisation et des acteurs
* Illustrer les réalisations de CU à l’aide de diagrammes d’interaction
* Modéliser la structure statique d’un système à l’aide de diagrammes de classes, associations, contraintes
* Modéliser la dynamique,le comportement des objets à l’aide de diagrammes de machines d’états
* Révéler l’implantation physique de l’architecture avec des diagrammes de composants et de déploiement
* Possibilité d’étendre les fonctionnalités du langage avec des stéréotypes
* Un langage utilisable par l’homme et la machine : permettre la génération automatique de code, et la rétro-ingénierie
Modèles, vue et diagrammes UML
* Modèle
– abstraction d’un système composée d’un ensemble d’éléments de modèle
– ce qui est construit par et ce qui est perçu au travers des diagrammes (par le concepteur, le lecteur)
– conforme au méta-modèle UML
* Vue
– projection d’un modèle suivant une perspective qui omet les éléments non pertinents pour cette perspective. Elle se manifeste dans des diagrammes
– ex. : vue statique, vue fonctionnelle…
* Diagramme
– présentation graphique d’éléments de visualisation représentant des éléments de modèle (graphe)
– ex. : diagramme de classes, de séquences…
…
Cours UML gratuit ( 1376 KO) (Cours PDF)