Le workspace est le répertoire de travail dans lequel seront stockés tous vos projets. Vous pourriez définir un nouveau projet par TP pour par étude de cas.
Créez un dossier pour abriter tout votre travail du semestre avec Modelio. Dans la suite de ce TP, on considère que vous avez créé un dossier ~/uml/modelio
.
Lancez Modelio à partir du terminal, avec la commande modelio
(n’oubliez pas le &
pour que le terminal reste disponible après le lancement de Modelio.
Par défaut, Modelio utilise un workspace dans le dossier ~/modelio
File > Switch Workspace
par le menu de Modelio.~/uml/modelio
dans la boîte de dialogue, de manière à ce que Modelio enregistre votre travail dans le dossier en question.File > New Project
dans le menu. Pour ce TP, nommez votre projet TP de prise en main
. Validez en n’oubliant pas de cocher la case Java Project
.Un paquetage nommé tp de prise en main
(avec des minuscules) est automatiquement créé.
tp de prise en main
(dans l’arborescence à gauche).Par défaut, le diagramme de classes a pour nom tp de prise en main
.
salariés
. Vous pouvez employer le menu contextuel ou le raccourci F2
après avoir sélectionné le diagramme dans l’arborescence à gauche.Ouvrez le diagramme de classes en double-cliquant dessus dans l’arborescence du projet, si ce n’est pas déjà fait.
Pour créer un classe, glissez-déposez une icône Class
dans la fenêtre du diagramme.
Une classe apparaît dans le diagramme.
Entreprise
, soit en cliquant sur le nom de la classe, soit en employant le menu contextuel de l’item Class
dans l’arborescence du projet.Créez un attribut dans la classe en glissant-déposant l’icône A : Attribute
sur la classe dans le diagramme.
Renommez l’attribut en nom
.
Entreprise
et dans l’onglet Java
de la partie inférieure de la fenêtre de l’application, sélectionnez Element Java
.Ceci indique que la classe fera l’objet d’une génération de code. On peut également cochez cette case au niveau du paquetage (sélectionnable dans l’arborescence) pour que tous les éléments du paquetage fassent l’objet d’une génération de code.
nom : string
et indiquez dans l’onglet Java
qu’à cet attribut devront correspondre des accesseurs en Java.Les accesseurs en question apparaissent dans le modèle (voir l’arborescence) mais pas dans le diagramme. En effet, plusieurs diagrammes de classes peuvent être définis pour un seul projet, chacun représentant une partie du système. Il est donc nécessaire de faire apparaître explicitement ce que l’on veut dans chaque diagramme de classes.
Entreprise
.Un petit symbole apparaît dans la classe pour signifier que cet élément du diagramme donne lieu à une génération de code.
En sélectionnant le paquetage dans l’arborescence, faites-en un élément Java, si ce n’est déjà fait (cf 13.).
En sélectionnant la classe (dans le diagramme ou dans l’arborescence), des icônes apparaissent dans l’onglet Java. Vous aviez déjà employé l’icône génération. Employez maintenant l’icône Editer
.
Le code source généré par Modélio apparaît dans une fenêtre.
Ce terme désigne la possibilité que :
et que simultanément
De cette manière, on code et modélise en même temps, en intervenant pour chaque problème au niveau le plus pratique (abstrait avec les modèles et concrets avec les codes sources).
Entreprise
et éditez un fichier Adresse.java
dans le dossier uml
.Adresse
suivante (avec ou sans le commentaire).Java Designer > Reverse
en cherchant à importer des codes sources en .java
et pas des binaires (.class
). Sélectionnez le dossier uml
dans lequel se trouve le fichier Adresse.java
.Suivant
jusqu’à pouvoir faire Reverse
.La classe Adresse
apparaît dans l’arborescence mais pas encore dans le diagramme.
Getter
et Setter
pour chacun d’entre eux, après les avoir sélectionnés dans le diagramme ou l’arborescence du projet.A ce point, tous les accesseurs sont créés. Mais n’appariassent pas dans le modèle. C’est en fait une bonne idée car les accesseurs alourdissent considérablement les modèles. En revanche, il est nécessaire qu’ils apparaissent dans le code Java.
Adresse
pour le mettre à jour.Le code source du fichier original ayant servi au reverse-engeneering n’a pas été modifié.
En fait, tous les codes sources sont générés dans un dossier src
du dossier contenant le projet TP de prise en main
.
Adresse.java
de ce dossier. Supprimez dans le code source tout ce qui a trait aux commentaires.On peut maintenant revenir à Modelio pour répercuter ces modifications sur les modèles.
Entreprise
et Adresse
. Pour ce faire, cliquez sur l’icône Composition
dans la liste des éléments disponibles pour le diagramme.Les compositions en UML sont traduites en variables d’instance en Java. Comme toute autre variable, on peut lui adjoindre des accesseurs.
Il est possible qu’une erreur soit détectée. Dans ce cas, ne mettez pas à jour le modèle à partir des sources, sans quoi vous perdriez l’agrégation (dans ce cas, refaites le travail).
A noter : cette génération a modifié le fichier source. Il faut y prendre garde dans le cas de l’emploi d’éditeurs externes rudimentaires ne gérant pas ce type de situation.
Entreprise.java
et ajouter un constructeur membre à membre.Utiliser des éditeurs externes c’est bien, mais utiliser Eclipse
ou n’importe quel IDE, c’est tellement mieux ! Le lecteur attentif aura noté que Modelio génère le code dans un dossier src
. Il se trouve qu’Eclipse rassemble également les codes sources dans un dossier src
. En fait, Modelio emploie une structure de projets identique à Eclipse, ce qui permet une interopérabilité entre les deux.
puis
puis
Il est possible que – selon votre installation – Eclipse ne reconnaisse pas les meta-données @objid
spécifiques à Modelio. Dans ce cas, il faut indiquer à Eclipse comment les utiliser, faute de quoi rien ne fonctionne :
La solution est de dézipper le fichier JavaDesigner.XXXX.jmdac
qui se trouve dans le dossier mdastore
de votre installation de Modelio. Vous trouverez un fichier javadesigner.jar
dans un le répertoire bin
de l’archive.
Ce fichier javadesigner.jar
est à ajouter dans Eclipse (build path >add external archives
).
Un salarié est caractérisé par un nom et un prénom. Il a une adresse et il est employé par une entreprise. Une entreprise peut employer plusieurs salariés. Les entreprises sont soit des sociétés, auquel cas elles on un capital, soit des entreprises individuelles. Toutes les entreprises ont un nom et un numéro SIRET en plus d’une adresse.
Ajoutez le nécessaire au diagramme de classes pour prendre en compte ce complément au problème.
Assurez-vous de la cohérence entre le code source et les modèles.