Page 1

FAQ UML Date de publication : Dernière mise à jour : 17/04/2004

La FAQ UML, toutes les réponses à vos questions.


Ont contribué à cette FAQ :

Cian - draken - Sébastien Méric - raf - oziller - guillaume_7 - juilome - YAMKI - joellel - Petrus - n.patricia - jacma - Leduke - Sophnouille - Alacazam - Casp - tiSioux -


FAQ UML

1. Introduction (4) .......................................................................................................................................................................... 4 2. Généralités (8) ........................................................................................................................................................................... 6 2.1. Les stéréotypes (1) ............................................................................................................................................................7 2.2. Etapes d'une modélisation UML (2) ................................................................................................................................ 8 2.3. Modélisation d'une application Web (1) ........................................................................................................................ 10 2.4. Explication des 9 diagrammes (1) ..................................................................................................................................11 2.5. Utilisation (3) ..................................................................................................................................................................12 3. Cas d'utilisation (7) ..................................................................................................................................................................13 4. Diagramme de séquence (2) ....................................................................................................................................................15 5. Diagramme de classe (12) .......................................................................................................................................................16 6. Diagramme d'état (2) ............................................................................................................................................................... 20 7. Paquetage (1) ........................................................................................................................................................................... 21 8. Reverse Ingeniering (4) ........................................................................................................................................................... 22 8.1. JAVA (2) ........................................................................................................................................................................ 23 8.2. Base de données (1) ....................................................................................................................................................... 24 8.2.1. Reverse d'une BD MYSQL (1) ............................................................................................................................. 25 9. Design Pattern (1) ....................................................................................................................................................................26 9.1. MVC (1) ..........................................................................................................................................................................27 10. UML2.0 (9) ............................................................................................................................................................................28 11. Divers (4) ............................................................................................................................................................................... 31 12. Outils UML (11) ....................................................................................................................................................................32 12.1. Rational Rose (5) ..........................................................................................................................................................33 12.2. Gentleware Poseidon (1) .............................................................................................................................................. 35 12.3. Rational XDE (1) ..........................................................................................................................................................36

-3Les sources présentées sur cette pages sont libres de droits, et vous pouvez les utiliser à votre convenance. Par contre la page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright © 2004 - 2009 Developpez LLC. Tout droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://uml.developpez.com/faq/


FAQ UML

Sommaire > Introduction Remerciements Auteurs : Cian , Merci à l'ensemble des contributeurs de cette FAQ. Un énorme merci également à Alacazam pour son aide précieuse pour la relecture de cette FAQ et de nombreux articles de developpez.com. Grâce à lui, il vous est plus agréable de nous lire.

Comment bien utiliser cette faq ? Auteurs : Cian , Le but : Cette faq a été conçue pour être la plus simple possible d'utilisation. Elle tente d'apporter des réponses simples aux questions auquelles sont confrontés tous les utilisateurs d'UML. L'organisation : Les questions sont organisées par thème, les thèmes pouvant éventuellement contenir des sous-thèmes. Lorsqu'une question porte sur plusieurs thèmes, celle-ci est insérée dans chacun des thèmes, rendant la recherche plus facile. Les réponses : Les réponses contiennent des explications issues de l'expérience de l'auteur, de ses lectures ainsi que des réponses données au travers du forum de developpez.com. Les réponses peuvent également être complétées de liens vers d'autres réponses ou vers un autre site en rapport. La recherche : Dans l'état actuel des choses, aucun moteur de recherche n'est intégré à cette faq. Mais toutes les données étant regroupées sur une seule feuille, il est très facile d'utiliser les fonctionnalitées de votre navigateur Web pour faire des recherches par mot. Nouveautés et mises à jour : Lors de l'ajout ou de la modification d'une question/réponse, un indicateur est placé à coté du titre de la question. Cet indicateur reste visible pour une durée de 15 jours afin de vous permettre de voir rapidement les modifications apportées. J'espère que cette faq pourra répondre à vos questions. N'hésitez pas à contacter le responsable de la section UML pour vos commentaires/remarques/critiques.

Comment participer à cette faq ? Auteurs : Cian , Cette faq est ouverte à toute collaboration. Pour éviter la multiplication des versions, il serait préférable que toutes collaborations soient transmises aux administrateurs de la faq. Plusieurs compétences sont actuellement recherchées pour améliorer cette faq : Rédacteur :Bien évidemment, toute nouvelle question/réponse est la bienvenue. Web designer :Toute personne capable de faire une meilleure mise en page, une feuille de style ou de belles images... Programmeur :Une personne capable de faire un petit moteur de recherche... Correcteur :Malgré nos efforts des fautes d'orthographe ou de grammaire peuvent subsister.

-4Les sources présentées sur cette pages sont libres de droits, et vous pouvez les utiliser à votre convenance. Par contre la page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright © 2004 - 2009 Developpez LLC. Tout droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://uml.developpez.com/faq/


FAQ UML

Merci de contacter les administrateurs si vous en débusquez une... Idem pour les liens erronés.

Quels sont les droits de reproduction de cette faq ? Auteurs : Cian , Dans l'attente d'un statut plus précis, aucune publication n'est autorisée sans l'accord écrit des auteurs.

-5Les sources présentées sur cette pages sont libres de droits, et vous pouvez les utiliser à votre convenance. Par contre la page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright © 2004 - 2009 Developpez LLC. Tout droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://uml.developpez.com/faq/


FAQ UML

Sommaire > Généralités

-6Les sources présentées sur cette pages sont libres de droits, et vous pouvez les utiliser à votre convenance. Par contre la page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright © 2004 - 2009 Developpez LLC. Tout droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://uml.developpez.com/faq/


FAQ UML

Sommaire > Généralités > Les stéréotypes Quelle est l'utilité des stéréotypes ? Auteurs : Cian , Les stéréotypes permettent d'apposer une sémantique particulière aux éléments UML. On peut alors spécialiser le langage UML afin qu'il s'adapte mieux au domaine dans lequel le langage est utilisé. On peut citer par exemple l'utilisation de stéréotype "<<Table>>" sur des classes dans les diagrammes de classe dans le cadre d'une modélisation de base de données.

lien :

Une base de données doit-elle être considérée comme un acteur ?

lien :

La modélisation de base de données par héritage

lien :

Les base de données

-7Les sources présentées sur cette pages sont libres de droits, et vous pouvez les utiliser à votre convenance. Par contre la page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright © 2004 - 2009 Developpez LLC. Tout droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://uml.developpez.com/faq/


FAQ UML

Sommaire > Généralités > Etapes d'une modélisation UML Quel(s) diagramme(s) UML utiliser pour l'analyse de besoin ? Auteurs : Cian , Le diagramme de cas d'utilisation est souvent utilisé pour l'analyse de besoin. Il permet de modéliser les acteurs et les services attendus (ce que doit faire le système). Sa simplicité graphique est appréciée car il permet un dialogue facile avec les intervenants "métier" habituellement non formés aux techniques de modélisation.

lien :

Quels sont les 9 diagrammes UML ?

lien :

Comment déterminer quelle granularité doivent atteindre les cas d'utilisation ?

lien :

Dans quels ordres fait-on les diagrammes UML ?

lien :

Comment identifier un acteur ?

Dans quels ordres fait-on les diagrammes UML ? Auteurs : Cian , La démarche de création des diagrammes est dépendante du process suivi (*UP, XP, ...). A vous d'identifier quel process convient le mieux à votre problématique de développement et ainsi l'ordre de réalisation des diagrammes. Notez cependant qu'on ne peut pas parler d'ordre au sens strict du terme. En effet, un modèle UML est très souvent réalisé de manière itérative. Pour exemple, dans un process de développement en Y, les étapes suivantes (étapes qui sont sans doute adaptées suivant les projets, les entreprises...) peuvent être identifiées : - Phase d'étude préliminaire (capture du besoin) : Certains choisissent de réaliser cette étape au moyen d'un diagramme de collaboration haut niveau permettant de modéliser le contexte (système/acteurs et messages haut niveau). On place le système comme un objet central et les différents acteurs qui intéragissent avec le système. On rajoute ensuite des liens représentant les messages entre le système et les acteurs (sans numéros).Les messages sont alors décrits textuellement. - Phase d'étude fonctionnelle : Identifier les cas d'utilisation qui représentent les services rendus à "l'utilisateur" du système. On indique sur ce diagramme ce que le futur système devra faire mais pas comment il le fera. Donc, inutile de préciser ce qui est de l'ordre de l'IHM ou de la gestion des erreurs sur ce diagramme. L'objectif est d'obtenir la couverture des exigences fonctionnelles : un cas d'utilisation = une fonction métier du futur système. Attention ! un cas d'utilisation ne correspond pas à une fonction (au sens programmation) du système. Gardez en tête la notion de service. Attention également à ne pas avoir un trop grand nombre de cas d'utilisation car c'est un signe d'enlisement : vous vous perdez dans les détails. De plus, il ne faut pas tomber dans le travers de vouloir réaliser une décomposition hiérarchique des cas d'utilisation. Certains préconisent donc de respecter une limite de 20 cas d'utilisation. On conseille également de réaliser des fiches pour chaque cas d'utilisation afin d'indiquer un description textuelle, les préconditions et post-conditions. D'autres utilisent les diagrammes d'activité pour cela ou même des diagrammes d'états. L'étape suivant concerne la description de la dynamique et des scenarii au moyen des diagrammes de séquence : ici, ce sont des diagrammes de haut niveau qui ne font intervenir que le système et les acteurs. - Phase d'étude physique : Il s'agit de prendre en compte les contraintes techniques (exple : les composants hardware imposés, les outils de développement, ...). On utilise alors les diagrammes de composants et de déploiement pour exprimer les contraintes matérielles (du type, tel serveur NT, tel serveur Unix, une passerelle, un cluster, ...). C'est également à ce moment que l'on peut décider de l'architecture en couches du modéle : on exprime cela au moyen des packages qui vont par exemple ségréger les partie IHM, Traitement, Données. - Affinage du modele : Affiner le modèle commence par l'affinage les diagrammes de séquence afin d'identifier les différents objets/classes nécessaires à la réalisation des services attendus du système.

-8Les sources présentées sur cette pages sont libres de droits, et vous pouvez les utiliser à votre convenance. Par contre la page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright © 2004 - 2009 Developpez LLC. Tout droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://uml.developpez.com/faq/


FAQ UML

Ces différentes classes seront sans doute réparties dans des packages plus "métier" afin d'obtenir une structuration de notre modèle. Ensuite dans ces packages, on pourra développer des diagrammes de classes. Il s'agira alors d'affiner les classes, les associations entre-elles, de déterminer attributs et opérations pour chacune et éventuellement d'optimiser le modèle au moyen des concepts de généralisation/spécialisation. Selon les cas, certains choisissent de commencer par le diagramme de classes et de réaliser ensuite les diagrammes de séquence. On peut dire je pense que les deux sont de toute manière fortement liés et que leur réalisation est itérative. Après ces deux étapes, lorsque les scenarii sont stabilisés, on peut entamer la description des diagrammes d'états. Seules les classes actives, au comportement riche, méritent de bénéficier d'un diagramme d'états. Les diagrammes d'états permettent de représenter la vie d'un objet et les différentes situations/états possibles de cet objet. Attention, il faut que ces diagrammes restent cohérents avec les diagrammes de séquence ! Utiliser un outil qui propose la vérification de cohérence entre les diagrammes est alors un véritable gain de temps et une assurance incontestable d'avoir des diagrammes en cohérence. Egalement, pensez aux éventuelles modifications à réaliser sur les diagrammes statiques lors de la réalisation de vos diagrammes dynamiques (qui vont inévitablement vous amenez à rajouter des attributs ou des opérations à vos classes). Voilà le début d'une démarche typique pour un process en Y. N'oubliez pas lors de la conception de prendre en compte ou de créer tous les mécanismes vous permettant d'obtenir une architecture génériques (design patterns, frameworks techniques, contraintes de réutilisation, prise en compte de contrainte dues à la génération de code automatique,...).

lien :

Quels sont les 9 diagrammes UML ?

-9Les sources présentées sur cette pages sont libres de droits, et vous pouvez les utiliser à votre convenance. Par contre la page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright © 2004 - 2009 Developpez LLC. Tout droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://uml.developpez.com/faq/


FAQ UML

Sommaire > Généralités > Modélisation d'une application Web Existe-t-il des exemples de modélisation d'une application Web ? Auteurs : oziller , Il existe un livre aux éditions eyrolles consacré à cette problématique : "UML - Modéliser un site e-commerce" aux éditions Eyrolles par Pascal Roques.

lien :

Modéliser un site e-commerce

- 10 Les sources présentées sur cette pages sont libres de droits, et vous pouvez les utiliser à votre convenance. Par contre la page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright © 2004 - 2009 Developpez LLC. Tout droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://uml.developpez.com/faq/


FAQ UML

Sommaire > Généralités > Explication des 9 diagrammes Quels sont les 9 diagrammes UML ? Auteurs : Cian , guillaume_7 , Les diagrammes UML sont présentés dans les tutoriaux UML de developpez.com. Ci-dessous une description brève de ces diagrammes : • le diagramme de cas d'utilisation représente les relations entre les acteurs et les fonctionnalités du système. Les cas d'utilisation présentent une vue externe de la façon d'utiliser un système, que ce soit l'application, un soussystème, une fonction, un composant. • le diagramme de classes est un ensemble d'éléments statiques qui montre la structure d'un modèle (les classes, leur type, leur contenu et leurs relations). • le diagramme d'objets (objet : instance d'une classe) représente les objets et les liens entre eux. Il permet d'affiner un aspect particulier d'un diagramme de classes pour un contexte donné. • le diagramme d'états/transitions décrit le cycle de vie des objets formalisés dans une classe (une classe ne se voit donc associer qu'un cycle de vie). • le diagramme de composants montre les éléments logiciels (exécutables, librairies, fichiers qui constituent le système) et leurs dépendances. • le diagramme de déploiement indique la répartition physique des matériels du système (processeurs, périphériques) et leurs connexions. • le diagramme de séquence représente les messages échangés entre les objets. Il donne une notion temporelle aux messages. • le diagramme de collaboration représente les messages échangés entre les objets. Il insiste plus particulièrement sur la notion organisationnelle. • le diagramme d'activités décrit le déroulement d'un processus formalisé éventuellement dans un cas d'utilisation, il modélise les actions effectuées sur le système (peut permettre de présenter un processus métier).

lien :

Cours UML

- 11 Les sources présentées sur cette pages sont libres de droits, et vous pouvez les utiliser à votre convenance. Par contre la page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright © 2004 - 2009 Developpez LLC. Tout droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://uml.developpez.com/faq/


FAQ UML

Sommaire > Généralités > Utilisation UML est-il une méthode ? Auteurs : Cian , UML est par définition un langage. C'est un langage, ou encore une notation, standardisé par l'OMG. UML n'est donc pas une méthode contrairement à MERISE (qui est un langage assorti d'une méthode). Pour savoir précisemment comment utiliser UML dans un cycle de développement, il faut associer au langage une méthode, ou process. Plusieurs process existent désormais et proposent des démarches pour utiliser UML : • le RUP (Rational Unified Process) • le 2TUP • le UP • également DDS, XP ....

lien :

Dans quels ordres fait-on les diagrammes UML ?

Pour quelles applications, dans quels domaines utilise-t-on UML ? Auteurs : Cian , UML est une notation qui a été standardisée par l'OMG. UML veut dire Unified Modelling Language. Ce nom indique précisemment quel but était visé lors de la création de ce langage : unifier les langages de modélisation afin que tous puissent utiliser les mêmes concepts. UML n'a donc pas a priori de domaine d'application restreint. Les concepts propres à UML sont assez génériques pour correspondre à une majorité de problématiques. Puis, les stéréotypes et les profils permettent de spécialiser le langage pour l'adapter à une problématique particulière : ainsi, il existe des profils spécifiques pour la modélisation de données. Par contre, il existe sans acun doute des domaines très particuliers où d'autres langages sont bien plus adpatés.

lien :

Quelle est l'utilité des stéréotypes ?

lien :

UML est-il adapté pour modéliser une base de données ?

lien :

Existe-t-il des exemples de modélisation d'une application Web ?

UML est-il adapté pour modéliser une base de données ? Auteurs : Cian , Sébastien Méric , UML est une notation standardisée. On peut donc espérer modéliser un grand nombre de problématiques. Il est tout à fait possible de l'utiliser pour modéliser des bases de données dans la mesure où on utilise le profil spécifique à cette problématique. Ce profil est "UML profile for data modeling". Ce profil permet de définir non seulement les tables de la base de données mais aussi son architecture physique au travers d'un diagramme de composants. - Ainsi, dans le diagramme de composants, on spécifiera les serveurs hébergeant une ou plusieurs BD faisant intervenir un ou plusieurs tablespace (qui contiennent les tables). - Dans le diagramme de classe, divers éléments sont disponibles : tables, vues, assoications. Une classe UML stéréotypée table représente une table. Attention donc car ne pas utiliser le profil dédié à la modélisation de base de données peut amener à quelques difficultés. UML est un langage orienté objet avant tout et ne s'applique pas tel quel à la conception de bases de données relationnelles. En effet la conception d'une base de données relationnelle a ses propres contraintes. lien : Livre "De UML à SQL" par Christian Soutou

- 12 Les sources présentées sur cette pages sont libres de droits, et vous pouvez les utiliser à votre convenance. Par contre la page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright © 2004 - 2009 Developpez LLC. Tout droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://uml.developpez.com/faq/


FAQ UML

Sommaire > Cas d'utilisation Qu'est-ce qu'un acteur ? Auteurs : Cian , Un acteur est une entité externe qui intéragit avec le système (opérateur, centre distant, autre système...). En réponse à l'action d'un acteur, le système fournit un service qui correspond à son besoin. Les acteurs peuvent être classés (hiérarchie).

lien :

Cours UML : Les acteurs

Une base de données doit-elle être considérée comme un acteur ? Auteurs : Cian , Pour répondre à cette question, il faut tout d'abord avoir correctement identifié le périmètre du système à modéliser. Si la base de données fait partie du périmètre du système à réaliser, alors elle n'apparaîtra pas comme un acteur. Par contre, si la base de données est externe au système à réaliser alors elle figurera comme un acteur.

lien :

Cours UML : Les acteurs

Comment identifier un acteur ? Auteurs : Cian , Sophnouille , Identifier les acteurs intervenant sur les cas d'utilisation peut représenter une véritable problématique. Pour vous aider, voici quelques questions qui vous permettrons plus facilement d'identifier les acteurs de votre système : - Quels sont les utilisateurs qui ont besoins d'un système pour réaliser le travail ? - Quels sont les utilisateurs qui vont effectuer les fonctions principales du système ? - Quels sont les utilisateurs qui vont exécuter les fonctions principales du système (maintenance et administration) ? - Est-ce que le système interagit avec du matériel ou d'autres logiciels ?

lien :

Qu'est-ce qu'un acteur ?

lien :

Cours UML : les acteurs

Le nom d'un lien entre cas d'utilisation a-t-il une utilité ? Auteurs : Cian , En général les noms sur les associations sont optionnels, donc informatifs. Ils n'ont donc pas d'utilité particulière mise à part la documentation du diagramme.

Qu'est-ce que le lien include ? Auteurs : Cian , La relation "Include" est une relation entre 2 instances de cas d'utilisation telle que la réalisation de l'un nécessite la réalisation de l'autre.

- 13 Les sources présentées sur cette pages sont libres de droits, et vous pouvez les utiliser à votre convenance. Par contre la page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright © 2004 - 2009 Developpez LLC. Tout droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://uml.developpez.com/faq/


FAQ UML

Exemple : Pour un système de retrait de monnaie. Le use case "retirer_une_somme" va faire appel systématiquement au use case "verifier_solvabilité_client" afin de vérifier que le client dispose effectivement de la somme d'argent demandée.

lien : ?D

Cours UML : Relations d'utilisation

lien :

Qu'est-ce que le lien extend ?

Qu'est-ce que le lien extend ? Auteurs : Cian , La relation extend est une relation entre 2 instances de cas d'utilisation telle que A extend B signifie que le comportement de B peut être complété par le comportement de A. La relation extend indique une possibilité, un complément possible. Exemple : Pour une application de gestion de commande. Lors de la "création de la commande", on peut éventuellement faire appel à une "vérification_disponibilité_produit". Il y a un relation d'extend entre les deux cas d'utilisation.

lien :

Cours UML : Relations d'extension

lien :

Qu'est-ce que le lien include ?

Comment déterminer quelle granularité doivent atteindre les cas d'utilisation ? Auteurs : Cian , Sébastien Méric , Le problème lié à la granularité et le niveau de détails des cas d'utilisation est extrêmement dépendant du projet, du système à modéliser, de l'objectif de la modélisation et des personnes à qui s'adresse ce modèle. Deux lignes directrices peuvent cependant aider à dégager une ligne de conduite : • Pour qui sont écrits ces cas d'utilisation ? Il faut que les cas d'utilisation soit parfaitement compréhensibles par tous les intervenants du projet et leur fournissent suffisamment d'informations sans les noyer dans les détails. • Quel est l'objectif du cas d'utilisation ? Pas besoin de rentrer dans le détail quand le nom est suffisamment explicite.

- 14 Les sources présentées sur cette pages sont libres de droits, et vous pouvez les utiliser à votre convenance. Par contre la page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright © 2004 - 2009 Developpez LLC. Tout droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://uml.developpez.com/faq/


FAQ UML

Sommaire > Diagramme de séquence Comment représenter la création dynamique d'un objet ? Auteurs : Cian , La création dynamique d'objets dans un diagramme de séquence peut se réaliser de la manière suivante : la création d'objets est représentée en pointant le message de création sur le rectangle qui symbolise l'objet créé. La destruction est indiquée par un symbole X sur la ligne de vie de l'objet

lien :

Cours UML : Les diagrammes de séquence

Comment représenter un SI...ALORS..SINON ? Auteurs : Cian , Sébastien Méric , Dans le standard UML1.x : Dans un diagramme de séquence on ne représente qu'un seul des scénarii possibles. Un scénario correspondant au cas général, un scénario correspondant à un plantage etc. Voilà pourquoi il n'y a pas de notion de si alors. Le scénario est donc une instance particulière d'un diagramme d'activité. L'utilisation d'une garde est évidement une manière de limiter la transmission d'un message à un environnement particulier, mais dans ce cas on n'a plus la notion de scénario. UML2.0 : UML2.0 propose en revanche l'opérateur "alternative" qui permet de représenter un "si...alors...sinon" de manière très claire.

lien :

Cours UML : Les diagrammes de séquence

lien :

Cours UML 2.0 : les diagrammes de séquence - Alternative

- 15 Les sources présentées sur cette pages sont libres de droits, et vous pouvez les utiliser à votre convenance. Par contre la page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright © 2004 - 2009 Developpez LLC. Tout droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://uml.developpez.com/faq/


FAQ UML

Sommaire > Diagramme de classe Qu'est-ce qu'une métaclasse ? Auteurs : Sébastien Méric , Les meta-informations sont, en général, des informations expliquant l'oganisation des informations. Par exemple, les meta-infomations d'une table dans une base de données sont les informations concernant cette table : nom de la table, noms des champs, types des champs, ... Contrairement aux données qui viendraient remplir cette table. C'est le même principe pour les meta-informations d'une classe : les attributs et leur type, le nom de la classe, les méthodes et leur signature etc. En JAVA, ces méta informations sont accessibles via le package java.lang.reflect. La méta-classe est donc une classe qui exprime une information sur l'organisation globale des classes implémentées et instanciées. En particulier, on peut citer la class "Class" en JAVA mais aussi la class "Package" .

Qu'est-ce qu'une classe candidate ? Auteurs : raf , La rédaction d'une liste de classes candidates intervient en phase d'analyse preliminaire (ou même avant). Le but est de "dégrossir" un peu le domaine fonctionnel et d'en faire ressortir les principales notions. Notions qui pourront, éventuellement, par la suite (analyse et conception) se concrétiser sous forme de classes. Dans la pratique, les classes candidates sont obtenues à partir des textes fournis par le client (cahier des charges, documents techniques, etc...), des connaissances générales du domaine, des entretiens avec le client, etc. Le but est de répertorier, dans une liste, un maximum de notions. Cette liste sera ensuite "affinée". Par exemple, pour un système informatique de gestion d'une bibliothèque, la liste des classes candidates pourrait être (ceci n'est qu'un exemple, en réalité cette liste serait beaucoup plus grande) : - livre - inscription - prêt - ouvrage - roman - journal - retard - abonné Ces termes ne donneront sûrement pas tous lieu à des classes. Par exemple, on s'apercevra peut-être, dans la suite de l'analyse, * que les notions d'ouvrage et de livre sont redondantes et donc ne donneront lieu qu'à une classe. Mais, comme on l'a dit au debut, le but des classes candidates est de dégrossir le domaine : mieux vaut être le plus exhaustif possible.

Qu'est-ce qu'une agrégation ? Auteurs : Cian , Une agrégation est une relation particuliere entre un objet et plusieurs objets le composant. Une agrégation est représentée par un losange vide positionné du côté du composé (la classe représentant le tout). Une agrégation est parfois appelée agrégation de référence par opposition à agrégation par valeur (appelée également composition). Exemple : Un ordinateur est composé d'un mircro-processeur, d'un disque-dur, d'un CD-ROM,... L'ordinateur est appelé le "composé" et les autres éléments les "composants".

- 16 Les sources présentées sur cette pages sont libres de droits, et vous pouvez les utiliser à votre convenance. Par contre la page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright © 2004 - 2009 Developpez LLC. Tout droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://uml.developpez.com/faq/


FAQ UML

Qu'est-ce qu'un agrégation par valeur ou composition ? Auteurs : joellel , Cian , Une composition (losange noir) est une agrégation (losange vide) contrainte. La contrainte supplémentaire par rapport à une agrégation classique est relative à la durée de vie des objets. La composition implique que les composants ont une existance dépendante du composé. Une composition est aussi appelée agrégation par valeur. Exemple : Une fenêtre Windows est composée de menus, d'ascenseurs, de boutons... Si la fenêtre est détruite alors tous les composants (menus, ascenseurs, boutons...) sont détruits également.

Comment implémenter une agrégation ? Auteurs : joellel , Une agrégation va en général s'implémenter sous forme d'attribut. Pour deux classes A et B, A-------B avec une agrégation du coté de A et une multiplicité 1 du coté de B. Exemple en JAVA :

class A { private B objB; ... }

Si la classe B n'est utilisée principalement que dans le contexte de A, on peut également opter pour une inner classe :

public class A { private att1; private class B { string att_de_B_1; } }

- 17 Les sources présentées sur cette pages sont libres de droits, et vous pouvez les utiliser à votre convenance. Par contre la page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright © 2004 - 2009 Developpez LLC. Tout droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://uml.developpez.com/faq/


FAQ UML

lien :

Qu'est-ce qu'une agrégation ?

Qu'est-ce qu'une classe utilitaire ? Auteurs : Leduke , Une classe utilitaire comme son nom l'indique ne répond pas directement à un besoin fonctionnel mais plutôt propose des services techniques du style sérialisation XML ou écriture dans un journal d'événements.

Comment représenter un template ? Auteurs : Cian , Pour modéliser un template, on utilise une classe qui va porter comme distinctif un petit rectangle en pointillés superposé sur la classe, en haut à droite. Ce petit rectangle en pointillés contient une liste de paramètres (formels) et les types correspondants. Cette liste ne doit pas être vide normalement. Le nom, les attributs et opérations de cette classe "paramétrée" apparaissent comme pour n'importe quelle classe. Les opérations peuvent faire appel aux paramètres definis dans le rectangle. Syntaxe des paramètres : [nom] : [type] . Ensuite, pour les classes qui utilisent ce template, il faudrait utiliser un lien particulier : le bind. C'est une flèche creuse pointillée normalement. Elle relie les deux classes, la flèche dirigée vers le template. L'instanciation de template (binding) : relation entre un template (fournisseur) et élément (client) généré à partir du template, qui instancie le template en substituant aux paramètres du template les siens.

Comment modéliser un "implements" JAVA ? Auteurs : Cian , Petrus , Un "implements" JAVA est représenté par une relation d'héritage mais avec une flèche en pointillés.

Comment choisir entre une association et une agrégation ? Auteurs : Cian , Il est parfois difficile de choisir entre association classique et agrégation. Pour cela, il faut s'interroger sur le cycle de vie des objets concernés. Voici quelques questions qui vous permettront peut-être de trouver une réponse : • Les objets concernés sont-ils indépendants les uns des autres ? C'est à dire, la mort de l'un entraine-t-il la mort d'autres ? Si NON alors ASSOCIATION. • Y a-t-il des méthodes d'une classe qui s'appliqueraient aux autres ? Si oui, cette classe est le composé et sera reliée aux autres par une AGREGATION • Demandez-vous si cela paraît naturel de dire mon objet TITI est une partie de mon autre objet TOTO ? Si oui, TOTO est composé de TITI (composant), et nous avons là une AGREGATION.

lien :

Qu'est-ce qu'une agrégation ?

- 18 Les sources présentées sur cette pages sont libres de droits, et vous pouvez les utiliser à votre convenance. Par contre la page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright © 2004 - 2009 Developpez LLC. Tout droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://uml.developpez.com/faq/


FAQ UML

lien :

Qu'est-ce qu'un agrégation par valeur ou composition ?

Qu'est-ce qu'un attribut dérivé ? Auteurs : raf , Un attribut dérivé est un attribut intéressant pour l'analyste, mais redondant car sa valeur peut être déduite d'autres informations disponibles pour la classe concernée. Exemple : une classe 'Personne' contient un attribut 'date_de_naissance' et un attribut 'age'. Ce dernier étant redondant, on écrira '/age'. A priori, en conception cet attribut deviendra une méthode.

Peut-on générer automatiquement le diagramme de classe depuis les diagrammes de séquence ? Auteurs : Sébastien Méric , Cian , • •

Le diagramme de séquences présente une vue dynamique de ton système Le diagramme de classe présente une vue statique de ton système

Il n'existe donc pas de moyen automatique de passer de l'un à l'autre. On peut évidemment réussir à déduire, extrapoler, une partie de l'un grace à l'autre mais c'est limité et partiel. Toutefois, les méthodes appliquées à UML proposent quasi systématiquement de créer le diagramme de classe à partir des classes découvertes dans lors de la réalisation des diagrammes de séquence. Le diagramme de classe sera par la suite enrichi pour contenir toutes les classes nécessaires à la réalisation du système/logiciel voulu.

Comment modélisez vous en UML vos interfaces graphiques ? Auteurs : Cian , Casp , On peut regarder du côté des classes boundary, control et entity. Par exemple, pour une fenêtre sur un diagramme de séquence on utilise des boundary, ensuite pour les diagrammes de classe on peut utiliser la stéréotype boundary . Grossièrement, on peut dire que : • boundary : représente des fenêtres • entity : instance d'une classe, élément d'une classe • control : c'est en gros le chef, c'est lui qui permet par exemple de vérifier des infos, aller rechercher des infos dans les entity

- 19 Les sources présentées sur cette pages sont libres de droits, et vous pouvez les utiliser à votre convenance. Par contre la page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright © 2004 - 2009 Developpez LLC. Tout droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://uml.developpez.com/faq/


FAQ UML

Sommaire > Diagramme d'état Quel est le lien entre les diagrammes de séquence et les diagrammes d'états ? Auteurs : Cian , Le diagramme d'état permet de décrire la dynamique d'une des classes : décrire les états d'une classe et les opérations que la classe accepte dans chacun de ces états. On peut donner pour exemple simple : ETAT_OFF -----PowerOn----> ETAT_ON --MettreCD---> ETAT_CD_DISPO---Jouer-->ETAT_ENTRAINDEJOUER---Stop--->ETAT_CD_DISPO---PowerOff--->ETAT_OFF On se rend compte qu'on ne peut jouer un CD que lorsqu'un CD est disponible.

Quelle est la différence entre un diagramme d'état et un diagramme d'activité ? Auteurs : Cian , Le diagramme d'activité est une variante des diagrammes d'états-transitions, organisé par rapport aux actions et principalement destiné à représenter le comportement interne d'une méthode ou d'un cas d'utilisation. Le diagramme d'états-transitions permet de visualiser les automates d'états finis, du point de vue des états et des transitions. Le diagramme d'état est plus concentré sur le cycle de vie de l'objet. Ce sont donc deux points de vues différents pour représenter le comportement d'un objet. Source : Modélisation objet avec UML / Pierre-Alain Muller / Ed. Eyrolles

- 20 Les sources présentées sur cette pages sont libres de droits, et vous pouvez les utiliser à votre convenance. Par contre la page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright © 2004 - 2009 Developpez LLC. Tout droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://uml.developpez.com/faq/


FAQ UML

Sommaire > Paquetage Comment relie-t-on les paquetages ? Auteurs : Sébastien Méric , Cian , La dépendance entre paquetage est signalée en UML à l'aide d'une flèche en pointillés entre les deux paquetages. Cette relation de dépendance indique qu'au moins une classe du package se trouvant à l'origine de la flèche requièrt les services d'au moins une classe se trouvant dans le package à l'autre bout. Il faut impérativement vérifier deux choses : - Qu'il n'existe pas de dépendance circulaire : pa-->pb-->pc-->pa ou plus simplement pa-->pb-->pa Un tel cas de figure entrainerait qu'une modification de l'un des packages se répercute dans les autres, voire même à nouveau dans le premier etc. et indiquerait la non réutilisabilité de ceux-ci, leur évolutivité très réduite et une maintenance délicate (tout l'inverse du regroupement en paquetages). Dans ce type de cas, soit les classes ont été mal regroupées, soit il existe une solution détaillée ci-après. - Que les paquetages desquels dépendent le plus d'autres packages sont les plus stables (nombreuses flèches entrantes) donc les moins appelés à évoluer. La aussi la solution est la même que précédement et est détaillée ci-dessous. Solution : Données du problème : nous disposons de deux packages pa et pb dans chaque package nous avons une classe A et B A est liée à B et B à A d'où une dépendance circulaire pa-->pb-->pa Résolution : On introduit dans le package le plus stable (disons pa) une interface qui reprend l'interface publique de B afin d'inverser la dépendance : A-->IB on indique ensuite que B implémente IB et on garde la dépendance B-->A Le schéma devient alors :

A --> IB ^

>| \

/ \ / B

relation B-->A et relation d'implémentation IB |>-- B Et la dépendance reste unique et est B-->A Cette solution permet donc aussi d'inverser une dépendance entre packages pour que le plus stable des deux soit bien celui dont on dépend.

- 21 Les sources présentées sur cette pages sont libres de droits, et vous pouvez les utiliser à votre convenance. Par contre la page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright © 2004 - 2009 Developpez LLC. Tout droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://uml.developpez.com/faq/


FAQ UML

Sommaire > Reverse Ingeniering

- 22 Les sources présentées sur cette pages sont libres de droits, et vous pouvez les utiliser à votre convenance. Par contre la page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright © 2004 - 2009 Developpez LLC. Tout droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://uml.developpez.com/faq/


FAQ UML

Sommaire > Reverse Ingeniering > JAVA Comment obtenir les diagrammes de séquence à partir d'une application JAVA ? Auteurs : Cian , raf , Quelques outils proposent cette fonctionnalité. On peut citer l'outil J2u. En ce qui concerne le produit Borland® Enterprise Studio 6 for Java, il semblerait que cette fonctionnalité ne soit pas proposée. En effet, la fiche technique accessible sur le site indique uniquement un reverse ingeniering pour le diagramme de classe. lien : Borland® Enterprise Studio 6 for Java lien : J2u

Comment générer le diagramme de classe à partir du code JAVA ? Auteurs : Cian , Générer les diagrammes de classe à partir d'un code existant JAVA ou C++ porte le nom de reverse engeniering. Bon nombre d'outils UML proposent désormais cette fonctionnalité : Rational Rose (Rose Link), Together, Poseidon....

- 23 Les sources présentées sur cette pages sont libres de droits, et vous pouvez les utiliser à votre convenance. Par contre la page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright © 2004 - 2009 Developpez LLC. Tout droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://uml.developpez.com/faq/


FAQ UML

Sommaire > Reverse Ingeniering > Base de données

- 24 Les sources présentées sur cette pages sont libres de droits, et vous pouvez les utiliser à votre convenance. Par contre la page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright © 2004 - 2009 Developpez LLC. Tout droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://uml.developpez.com/faq/


FAQ UML

Sommaire > Reverse Ingeniering > Base de données > Reverse d'une BD MYSQL Quel(s) outil(s) permettent d'obtenir le schéma relationnel d'une base de données MYSQL existante ? Auteurs : Cian , Beaucoup d'outils proposent ce genre de fonctionnalité. Parmi eux on peut citer pour exemple : • - Power AMC de SYBASE, • - Case Studio, • - le module Database de WIN'DESIGN

lien :

Outil case studio

lien :

Outil Win'design

lien :

Outil Sybase

Comment obtenir les diagrammes de classe une fois le reverse réalisé avec Rational Rose ? Auteurs : Cian , Le reverse engeniering proposé par Rational Rose permet d'obtenir le modèle de l'application JAVA mais ne fournit que la vue logique de ce modèle. les diagrammes graphiques s'obtiennent manuellement : cela peut paraître contraignant mais il est probablement qu'une création automatique des diagrammes de classe soit illisible. Pour réaliser le reverse d'une application avec l'outil Rational : - Configurer l'outil - Lancer le reverse sur les fichiers concernés. La procédure manuelle pour créer les diagrammes de classes est : - Organiser les classes structurellement : par exemple, créer des paquetages pour une ségrégation Traitement / Donnees / IHM. - Créer un diagramme de classe dans l'un des paquetages dans la Logical View - Faire un glisser/déposer, dans le diagramme de classe, d'une classe - Pour chaque classe : Selectionner la classe dans le diagramme et utiliser la possibilité "Query Expand", dans le menu Query, Expand Selected Elements. Une pop up apparaît " Expand Selected Elements" : cela va permettre de faire apparaître les relations et classes liées à la classe sélectionnée. Plusieurs champs sont proposés dans la pop-up : -> LIMIT : - expand to N levels : permet de faire apparaître les liens de la classe selectionnée avec les classes de niveau N. La profondeur est indiquée grâce à la combo box Levels. - expand indefinitely : fait apparaître les liens de la classe selectionnée avec les classes en relation, puis idem pour ces classes là. Pour de gros modèles cette option n'est pas conseillée. -> RELATION TO EXPAND - Clients - Suppliers - Both

lien :

How to ...

- 25 Les sources présentées sur cette pages sont libres de droits, et vous pouvez les utiliser à votre convenance. Par contre la page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright © 2004 - 2009 Developpez LLC. Tout droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://uml.developpez.com/faq/


FAQ UML

Sommaire > Design Pattern

- 26 Les sources présentées sur cette pages sont libres de droits, et vous pouvez les utiliser à votre convenance. Par contre la page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright © 2004 - 2009 Developpez LLC. Tout droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://uml.developpez.com/faq/


FAQ UML

Sommaire > Design Pattern > MVC Quels méthodes et attributs doivent apparaître dans les classes Interface et Contrôleur d'un MVC ? Auteurs : Cian , draken , Sébastien Méric , Les classes de l'IHM "interface" possèdent des méthodes qui effectuent de l'affichage (méthodes invoquées par le Contrôleur) et des méthodes qui vont récupérer les événements utilisateur (méthode qui appelle des méthodes du contrôleur). Le controleur possède l'ensemble des méthodes identifiées lors de la rédaction des scenarii de UC (celles qui sont appelées par l'utilisateur). A noter, il existe plusieurs schémas d'implémentation du MVC pour le web qui se répartissent en grandes familles : - JSP et ses dérivés (struts, velocity, ...) - XMLC et son dérivé Baracuda - XSLT et ses dérivés (cocoon, resin, ...) lien : Découvrez Jakarta Struts, le framework Java-MVC pour une bonne conception de vos sites lien : MVC et J2EE

- 27 Les sources présentées sur cette pages sont libres de droits, et vous pouvez les utiliser à votre convenance. Par contre la page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright © 2004 - 2009 Developpez LLC. Tout droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://uml.developpez.com/faq/


FAQ UML

Sommaire > UML2.0 Rappels sur UML1.x Auteurs : Cian , UML signifie Unified Modelling Language. UML 1.1 est sorti en 1997. UML est un langage créé à partir de concepts existants dans diverses méthodes/langages (OMT, HOOD, SADT ...) de modélisation de l'époque dans le but de fournir une notation unique pour la modélisation. Cette notation est améliorée et réactualisée régulièrement depuis sa création afin de répondre de mieux en mieux aux besoins des utilisateurs. Depuis 1997, il y a eu 4 révisions du standard (de UML1.1 à UML1.5 en 2003). Les dernières améliorations (en cours de validation en 2003) étant conséquentes, UML passe à une nouvelle version : UML 2.0 (ou UML2), abrégé souvent en U2.

Qui a participé à la création d'UML2.0 ? Auteurs : Cian , Un consortium a été créée pour réunir tous les partenaires souhaitant proposer des solutions pour améliorer et consolider le langage. Ce consortium s'appelle U2Partners. Il regroupe des vendeurs d'équipements, des industriels des télécommunications, des éditeurs d'outils mais aussi des laboratoires de recherche.

Origines des nouveaux concepts UML2.0 ? Auteurs : Cian , UML est issu au départ d'une fusion de plusieurs concepts contenus dans plusieurs langages tels que : OMT, SADT, HOOD. Le but premier était de fournir aux utilisateurs une seule et unique notation proposant en quelques sortes le meilleur des anciennes notations. UML2.0 n'échappe pas à cette tradition. En effet, un certain nombres de concepts proposés dans cette nouvelle version ne sont pas de la création pure mais s'inspirent plutôt de concepts existants dans d'autres langages tels que LDS (Langage de Description et de Spécification, SDL en anglais), Lustre (outil SCADE), Lotos, Esterel... En effet, ces langages proposent les mécanismes permettant l'execution du modèle (sans codage!).

Version officielle ou pas encore ? Auteurs : Cian , Dans les faits, on ne peut pas dire que UML2.0 soit officiel. En effet, le processus d'approbation par l'OMG n'est pas encore terminé : il est dans la phase terminale de revue par le comité de l'OMG. Mais les propositions sont déjà consultables et téléchargeables sur le site de l'OMG et on peut raisonnablement penser que les modifications sur ces propositions seront mineures. On peut donc déjà s'informer, se documenter sur cette nouvelle version en gardant en tête que certaines modifications mineures pourront être aportées durant les prochains mois. La sortie officielle devrait avoir lieu courant 2004.

Quelles sont les etapes du process d'acceptation d'une spécification par l'OMG ? Auteurs : Cian , 1. Un comité technique crée un groupe chargé de répondre à la RFP (Request For Proposal) 2. Un comité propre à l'OMG, le conseil d'architecture vote pour approuver la soumission, approuve la RFP. - 28 Les sources présentées sur cette pages sont libres de droits, et vous pouvez les utiliser à votre convenance. Par contre la page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright © 2004 - 2009 Developpez LLC. Tout droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://uml.developpez.com/faq/


FAQ UML

3. Le comité technique vote la publication de la RFP. 4. Les membres de l'OMG soumettent des lettres d'intention en vue de répondre aux propositions. 5. Au moment ou avant la date limite initiale de soumission, les compagnies font leur soumission. 7. Après plusieurs revues, le groupe de travail vote pour recommander l'adoption de la soumission au comité technique. 8. Le conseil d'architecture vote pour approuver la soumission. 9. Le comité technique vote pour recommander la spécification au conseil directeur de l'OMG. 10. Une sous-commission reporte les réponses des questionnaires remplis par ceux ayant fait la soumission. 11. Le conseil d'administration vote pour adopter les spécifications. Si elle est adoptée, la soumission devient une spécification officielle adoptée par l'OMG. 12. Le comité technique désigne un groupe de travail pour finaliser la soumission. 13. Le groupe de travail chargé de la finalisation réalise la première révision sur la spécification. 14. La version révisée est adoptée comme technologie officielle de l'OMG, par la même série de votes que la soumission originale (groupe de travail, conseil d'architecture, comité technique et conseil d'administration). 15. La spécification obtient un numéro de version et est identifiée comme une technologie disponible.

lien :

Source

Changer de version UML ? Quel intérêt ? Auteurs : Cian , Comme toute nouvelle version de langage, UML2.0 apporte son lot d'améliorations : - plus de possibilités de représentation sur les diagrammes de séquence, - des diagrammes d'états plus puissants et mieux exploités, - des diagrammes d'activité plus adaptés, - de nouveaux profils... Mais si l'on ne devait avancer qu'un seul argument en faveur d'UML2.0, ce serait l'ensemble des concepts qui permettront à l'avenir de mieux supporter l'ingénierie système. - On peut désormais définir, raffiner son système jusqu'aux couches logicielles avec le même langage. - Les modèles UML2.0 pourront désormais être exécutables sans saisir de code : ce qui permettra aux architectes systèmes de "debugger" leur design avant codage. Egalement, on peut citer comme avantage le rapprochement considérable vers le concept de MDA. Toutefois, avant de savoir si il est nécessaire d'incorporer ces nouveaux concepts dans les process de développement, on s'assurera d'abord de leur adéquation avec les besoins propres à chacun. Consultez les articles de la section UML pour en savoir plus !

lien :

Les articles UML2.0 de developpez.com

Est-ce la fin de UML1.x? Auteurs : Cian , Comme toutes nouvelles versions de langages, de logiciels, ... on peut raisonnablement penser que les deux versions vont cohabiter quelques temps. Mais également, il est fort probable qu'à terme la version UML2.0 prendra le dessus.

Existe-t-il des livres sur UML2.0 ? Auteurs : Cian , Quelques ressources sont déjà disponibles. Les critiques les plus encourageantes semblent se porter sur ces ouvrages. Attention ! Ce sont pour l'instant des livres en Anglais seulement... - Uml Distilled: A Brief Guide to the Standard Object Modeling Language - Third Edition - de Martin Fowler

- 29 Les sources présentées sur cette pages sont libres de droits, et vous pouvez les utiliser à votre convenance. Par contre la page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright © 2004 - 2009 Developpez LLC. Tout droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://uml.developpez.com/faq/


FAQ UML

- Uml Bible - Tom Pender's - UML2 Illustrated - Laurent Doldi

Existe-t-il des outils supportant UML2.0 ? Auteurs : Cian , Tau Generation de Télélogic le propose en partie pour l'instant (manque les diagrammes d'activité). Rational Rose RT propose quelques concepts tels que les ports mais une nouvelle version de l'outil devrait voir le jour. Il est vraisemblable que les autres éditeurs n'ayant pas encore fait l'annonce du support UML2 courant 2004 : dès l'approbation du standard par l'OMG.

- 30 Les sources présentées sur cette pages sont libres de droits, et vous pouvez les utiliser à votre convenance. Par contre la page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright © 2004 - 2009 Developpez LLC. Tout droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://uml.developpez.com/faq/


FAQ UML

Sommaire > Divers Comment modéliser des lots ETL en UML ? Auteurs : Cian , n.patricia , Un lot ETL désigne les interactions entre tables sources/cibles et les procédures stockées qui manipulent le tout. A priori, le diagramme le plus approprié semble être le diagramme d'activité. Il est utilisé pour modéliser un processus. Chaque activité peut représenter un traitement entre une table cible et une table source, par exemple. C'est sans doute plus adapté que le diagramme de séquence où l'on va plutôt parler d'un échange de messages entre des objets.

lien :

Cours UML : Les diagrammes d'activité

Qu'est-ce qu'un fichier XMI ? Auteurs : Petrus , Cian , XMI signifie XML Metadata Interchange. C'est un format standard de représentation de modèles UML. Il est basé sur XML. Ce format est utilisé par les éditeurs UML pour réaliser les imports / exports de modèle d'un outil vers un autre outil.

lien :

Est-ce qu'un modèle est exportable/importable d'un outil UML vers un autre ?

Comment exprimer les règles de gestion telles que définies avec les MCT, MOT MERISE ? Auteurs : Cian , Sophnouille , Les règles de gestion peuvent s'exprimer à tout moment avec UML grâce aux diagrammes d'activité.

Quelle est la signification du mot "Artefact" Auteurs : Cian , L'artefact est le terme générique qui désigne n'importe quel produit du travail : code, graphique, schémas de base de données, documents texte, diagrammes, modèles, etc. ..

- 31 Les sources présentées sur cette pages sont libres de droits, et vous pouvez les utiliser à votre convenance. Par contre la page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright © 2004 - 2009 Developpez LLC. Tout droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://uml.developpez.com/faq/


FAQ UML

Sommaire > Outils UML Quels outils UML existent ? Auteurs : Cian , Les outils UMl sont présentés dans la section UML : vous y trouverez une liste d'outils freeware ainsi que des outils commerciaux.

lien :

Les outils UML

Est-ce qu'un modèle est exportable/importable d'un outil UML vers un autre ? Auteurs : Petrus , Cian , La plupart des outils de modélisation UML propose une fonctionnalité d'import/export XMI. Cette fonctionnalité permet donc de récupérer son modèle dans un autre outil que celui où le modèle a été créé. Attention cependant : l'export XMI tel que défini dans le standard UML1.x ne conserve pas la mise en forme graphique !

Existe-t-il des outils de modelisation UML pour PHP (plutôt freeware)? Auteurs : Petrus , Cian , Sébastien Méric , Listés à ce jour (si vous en connaissez d'autres, demandez une mise à jour de la réponse au responsable de la section UML): • waterproof-software (payant) • xmi2php (mise à jour incertaine) • Umbrello Modeller • UML2PHP5 (OpenSource) lien : waterproof-software (payant) lien : xmi2php

Quels outils permettent de générer du C#? Auteurs : Petrus , Sophnouille , Liste non exhaustive (si vous en connaissez d'autres, demandez une mise à jour de la réponse au responsable de la section UML): • PowerAmc/PowerDesigner 9.5 (v 9.5.2) • Poseidon

lien :

Les outils UML

- 32 Les sources présentées sur cette pages sont libres de droits, et vous pouvez les utiliser à votre convenance. Par contre la page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright © 2004 - 2009 Developpez LLC. Tout droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://uml.developpez.com/faq/


FAQ UML

Sommaire > Outils UML > Rational Rose Comment réaliser la conception d'une base de données avec Rational Rose ? Auteurs : Cian , Dans les outils IBM Rational, il existe Rational Rose Data Modeler, outil d'analyse/design de BD.Rational Rose Data Modeler est inclus dans Rational Rose Entreprise Edition et Rational Suite AnalystSudio. On dit l'outil Rational Rose plus particulièrement adapté à Oracle. Cet outil propose entre autres choses : • un modèle objet (diagramme de classe) équivaut à un MCD (MERISE) • un modèle de données relationnel équivaut à un MLD (MERISE) • un modèle de stockage de données (scripts SQL) équivaut à un MPD (MERISE) L'outil permet de passer d'un modèle à un autre.

lien :

UML est-il adapté pour modéliser une base de données ?

Comment générer de la documentation avec Rational ? Auteurs : Cian , juilome , YAMKI , La documentation associée à un modèle UML peut être générée grâce à • l'outil SODA de Rational • l'outil Documentator Pour Rational Rose 2002, il existe une possibilité de génération HTML directement proposée sous l'éditeur : Tools |--> Web Publisher.

lien : IBM Rational SODA lien : Documentator lien :

Documentator

Comment réaliser un export XMI avec Rational Rose ? Auteurs : Cian , En général, le XMI Add-in n'est pas inclus dans la distribution de Rational Rose 2001. Il faut le télécharger chez Rational Software. Installation : • Lancer l'exécutable UnisysRoseXMLTools.exe. • Avancer dans la procédure d'installation jusqu'à l'écran de sélection de la version de Rational Rose. • Sélectionner votre version. • Sélectionner tous les composants. • Continuer jusqu'à la fin de la procédure d'installation. Export (dans Rose) : - le menu "File" de Rational Rose possède maintenant deux menus supplémentaires: Export to XML Import XML file

- 33 Les sources présentées sur cette pages sont libres de droits, et vous pouvez les utiliser à votre convenance. Par contre la page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright © 2004 - 2009 Developpez LLC. Tout droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://uml.developpez.com/faq/


FAQ UML

Attention, normalement cet export ne gardera pas la mise en forme graphique. Le standard XMI doit être modifié de manière à pouvoir également importer / exporter les diagrammes lors de la sortie du standard UML2.0.

lien :

Rational Rose XMI AddIns

lien :

Est-ce qu'un modèle est exportable/importable d'un outil UML vers un autre ?

lien :

Qu'est-ce qu'un fichier XMI ?

Comment représenter une agrégation avec Rational Rose ? Auteurs : n.patricia , La composition n'apparait pas sous ce nom mais comme 'référence' ou 'implémentation'. Il faut sélectionner "agrégation". En dessous, il y a trois boutons radio : par valeur, par référence ou non spécifié. Quand on sélectionne par référence ou non spécifié, c'est une agrégation. Quand on sélectionne par valeur, c'est une composition (puisque une valeur n'est pas partagée au contraire d'une référence).

Comment obtenir le diagramme de classe une fois le reverse engeniering réalisé avec Rational Rose ? Auteurs : Cian , lien :

How to...

- 34 Les sources présentées sur cette pages sont libres de droits, et vous pouvez les utiliser à votre convenance. Par contre la page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright © 2004 - 2009 Developpez LLC. Tout droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://uml.developpez.com/faq/


FAQ UML

Sommaire > Outils UML > Gentleware Poseidon Comment importer les schémas décrits dans Poseidon dans Microsoft Word ? Auteurs : jacma , Dans le menu "Fichier" de Poseidon, cliquer sur "Enregistrer les graphiques". Dans la boîte de dialogue sélectionner l'extension .png et enregistrer. Ensuite, dans Word, classiquement : "Insérer une image".

- 35 Les sources présentées sur cette pages sont libres de droits, et vous pouvez les utiliser à votre convenance. Par contre la page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright © 2004 - 2009 Developpez LLC. Tout droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://uml.developpez.com/faq/


FAQ UML

Sommaire > Outils UML > Rational XDE Comment indiquer dans un diagramme de classe que la référence (suite à une association 1...n) est de type ArrayList, ou de tout autre type Collection ? Auteurs : Cian , tiSioux , 1. Spécifier un type container pour la référence représentant une association 1..*, en établissant la navigabilité de cette association. 2. puis il suffit après avoir modéliser celle-ci de faire un clic droit 3. et choisir More Java Actions 5. puis Make Collection Type. 6. enfin choisir le type de collection.

- 36 Les sources présentées sur cette pages sont libres de droits, et vous pouvez les utiliser à votre convenance. Par contre la page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright © 2004 - 2009 Developpez LLC. Tout droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://uml.developpez.com/faq/

uml  

description uml