
UML est l'Unified Modeling Language standardisé par l'OMG (Object Management Group : http://www.omg.org). Ce n'est pas une méthode, il ne donne pas de solution pour la mise en oeuvre d'un projet. C'est avant tout un formalisme graphique issu de notations employées dans différentes méthodes objets. UML sert à :
Concepts ObjetLa méthode Merise utilise deux types de modèles pour décrire une application :
L'approche objet repose sur :
Démarche d'un développementUne démarche de développement repose sur :
Les étapes du cycle de vie d'une application :
Les principaux cycles de vie
Inconvénients :
L'un des plus utilisés Inconvénients :
Construction d'une série de prototypes Phases d'analyse et de conception UMLLes étapes d'une construction d'application aboutissent sur l'émergence de modèles. Les uses casesIls sont issus de la méthode OOSE de Ivar Jacobson. Il s'agit d'une représentation orientée "fonctionnalité" du système résultant de la spécification. Ils intègrent :
Il est possible de simplifier les actions avec deux types de relations :
Le modèle statique (objet)Il est utilisé en phase d'analyse sans rapport avec l'implémentation. Il décrit les entités et leurs relations en terme objet.
Les attributs d'une entité n'ont pas de type en rapport avec un langage de programmation. Les cardinalités représentent le nombre d'instances impliquées dans l'association. Quelques cardinalités :
Les entités représentent des classes, il est possible de représenter des instances en les préfixant par classe :: .
La spécialisation ajoute une relation de type "est une sorte de". Pour renforcer l'association, l'agrégation fait intervenir l'idée de dépendance pour une instance. Elle introduit une relation de type "fait partie de". Exemple:
Les qualificateurs peuvent améliorer les domaines de valeur des attributs. Exemple : Pour une rangée d'avion il existe 4 sièges.
Un stéréotype sert à subdiviser les classes en grandes familles. Exemple : "interface".
Les packages décrivent les relations macroscopiques entre partie du système.
Un package peut aussi se représenter sans contenu en ne mettant en évidence que les relations importantes. Le détail des entités peut être défini dans les modèles statiques en analyse. Cependant, seule la conception prendra en compte tous les impératifs du développement. Syntaxe des attributs de classe : [visibilité] nom [ [:type] [=valeur initial] [{propriété}] Visiblité peut prendre les valeurs :
Propriété affine l'utilisation des attributs :
Syntaxe des méthodes de classe : [visibilité] nom [(liste des paramètres)] [: type de la valeur de retour] [{propriété}] Visiblité peut prendre les valeurs :
Une méthode soulignée désigne une méthode de classe. Liste de paramètres sous la forme : paramètre1 : Type1, paramètre2 : Type2,...
Le modèle dynamiqueLe modèle dynamique est une vision microscopique du fonctionnement du système. Il sert à mettre en évidence les relations temporelles inter-objets et la représentation sous forme d'un automate du comportement de chaque objet. Il intervient aprés la définition du modèle statique Le diagramme d'étatIl découpe un objet en un ensemble d'états. Le passage d'un état à un autre se fait par des événements. Un événementest composé d'attributs et de gardiens. Un attributest unparamètre alors qu'un gardienest une conditionpour réaliser une transition. Exemple :
Dans l'exemple ci-dessous, l'état initial est représenté par un rond noir, l'état final par un rond noir dans un cercle.
Le diagramme de séquenceCe diagramme met en évidence les relations temporelles inter-objet.
La conceptionElle met en place les grands blocs applicatifs La conception reprend les modèles de l'analyse statique et dynamique et détaille l'organisation des classes dans un langage cible. Elle utilise les design-pattern La conception préliminaire
La conception détailléeElle fait intervenir les étapes :
Elle peut être réalisée en partie par des outils de génération de code pour les diagrammes de classes, d'états et de séquences. Quelques outils UML pour Java : Payant :Magic Draw (http://www.nomagic.com) TogetherJ (http://www.togethersoft.com) Rational Rose 2000 (http://www.rational.com) Gratuit : ArgoUml (http://argouml.tigris.org) Bibliographie : "UML en Action" de Pascal Roques et Franck Vallée chez Eyrolles "Intégrer UML dans vos projets" de M.Lopez, E.Pichon et J.Migueis chez Eyrolles Les schémas ont été réalisés avec dia (http://wwww.lysator.liu.se/~alla/dia) et starOffice 5.2 (http://www.staroffice.org). |