travaux pratiques uml collaboratiftravaux pratiques uml collaboratif objectif : déouvrir...
TRANSCRIPT
Travaux Pratiques UML Collaboratif Objectif : Découvrir différentes manières d’interagir pour co-construire un modèle UML. IL ne vise
pas à former à l’usage d’UML.
Outils principaux : Papyrus MDT pour UML et ModelBus pour la collaboration, avec Eclipse et SVN.
Pré requis
Eclipse avec les plugins Subversion, Papyrus MDT et ModelBus, ainsi que le serveur Modelbus
installés et fonctionnels.
Trucs et Astuces
Annuler la dernière action : Menu Edit, puis undo.
Sujet
Première partie : Aperçu rapide d’Eclipse et de son Plugin Papyrus MDT
Cette partie s’effectue seul, en demandant de l’aide aux intervenants si besoin. L’objectif est
d’acquérir la base minimale utile en UML et Papyrus pour les autres parties.
-Lancer Eclipse
Les fenêtres qui apparaissent dans l’interface dépendent de la perspective courante. Cette
perspective est par défaut Java, mais elle peut être changée en fonction du type de projet désiré.
Dans un premier temps nous allons nous centrer sur Papyrus MDT.
-Passer en perspective Papyrus MDT (ignorer les deux fenêtres d’informations qui apparaîtront)
-Créer un projet Papyrus
Créer un projet papyrus, en sélectionnant tant que cela est possible le bouton Next afin de pouvoir
faire apparaître les différentes fenêtres de paramétrisation. Ici le nom choisi est « essai » mais
n’importe quel nom peut-être utilisé. Dans la fenêtre « Select language of the diagram »,
sélectionner UML. Attention, dans la fenêtre « Initialization information », il faut sélectionner « UML
Class diagram », ainsi que « A UML model with basic primitives types (ModelWithBasicTypes) ».
En cliquant à gauche sur les symboles + on
déroule les sous-parties.
Project Explorer montre les projets disponibles,
ici un seul nommé essai. On distingue les fichiers
associés à ce projet.
Model Explorer montre le contenu du modèle.
Ici nous avons uniquement un diagramme,
nommé NewDiagram.
Nodes concernent les éléments qui
peuvent être mis dans un diagramme
de classes. Nous utiliseront Class et
Comment. Il suffit de cliquer dessus,
puis de cliquer dans la fenêtre centrale
représentant le diagramme en
construction.
Edges montrent les liens entre les
nodes. Nous utiliseront surtout
Association, mais également
Généralization. Il faut sélectionner un
lien, puis dans le diagramme cliquer sur
les éléments à relier.
-Créer une classe dans le diagramme
- La renommer via le champ name de la fenêtre Properties : Personne. Ajouter une classe
intervention puis une autre nommée ENVOL2012.
- Relier Personne et Intervention par une association que l’on nommera « Assiste à ». On
obtient quand l’association est sélectionnée (le sens de l’association n’a pas d’importance):
- Relier par des associations ENVOL2012 a Personne ainsi qu’à Intervention, sans mettre de
nom.
-Nous allons maintenant modifier les associations, en commençant par « Assiste à ». Pour ce faire, il
faut la sélectionner. La fenêtre Properties va nous permettre d’enlever le sens de l’association, qui
dans notre cas alourdit inutilement le schéma. Ce sens dépend de l’ordre de création de l’association.
Dans le schéma, l’association a été créée de Personne vers Intervention. La flèche finie donc par la
classe Intervention. Dans Properties, dans la partie Intervention (member end), il suffit de passer le
champ Navigable de True à False.
- Pour les deux associations qui concernent ENVOL2012 :
- enlever également le sens des associations, et les transformer en
généralisation/spécialisation. On change le champ Aggregation (ENVOL2012 est basé sur des
Personnes et des Interventions) de none à shared, pour la partie member end Intervention et
Personne :
Les associations peuvent-être nommées (ex. Assiste à), ou non. Dans ce dernier cas, soit le symbole
Généralisation/spécialisation (losange) suffit, soit chaque coté de l’association est qualifié par le rôle
tenu par la classe adjacente (employé/employeur etc…). C’est ce que nous avons par défaut dans
Papyrus, et c’est pourquoi nous avons des +personne, +Intervention … Nous n’en avons pas besoin,
donc nous allons utiliser un filtre d’affichage pour ne pas les voir. Pour ce faire, il faut cliquer à droite
sur une association, puis les menu Filters puis Manage Connector Labels. Il suffit ensuite de décocher
SourceRole, Stereotype et TargetRole comme montré ci-après.
-Appliquer le filtre précédent aux trois associations.
Nous obtenons enfin notre premier diagramme de classes UML :
-Il serait utile de sauvegarder : menu File-> Save.
Important : Avant de passer à la seconde partie, vérifiez que vous obtenez le diagramme précédent.
En cas de soucis, demander de l’aide pour débloquer la situation car la partie la plus intéressante
arrive par la suite.