This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Last revision Both sides next revision | ||
2016_2017:s3:concprogobjet:td:td1 [2016/09/09 09:04] cecchinel [Génération des codes (10 mn)] |
2016_2017:s3:concprogobjet:td:td1 [2016/09/09 15:34] cecchinel [Un projet sous tests (15mn)] |
||
---|---|---|---|
Line 72: | Line 72: | ||
==== Analyse : 15mn ==== | ==== Analyse : 15mn ==== | ||
- | - Sous [[:modelio|MODELIO]], commencer par créer un projet | + | - Sous [[:modelio|MODELIO]], commencer par créer un projet (Attention à bien sélectionner **Java Project**) |
- Définissez un diagramme de classes de niveau Analyse. | - Définissez un diagramme de classes de niveau Analyse. | ||
- Définissez, par cas d'utilisation, un diagramme de séquence élémentaire mettant en jeu les objets de votre système **et compléter** votre diagramme de classes au fur et à mesure. Pour cela utilisez, évidemment des lignes de vie qui font référence à des classes et les messages qui vous permettent d'identifier les méthodes et mettre à jour vos diagrammes de classes. | - Définissez, par cas d'utilisation, un diagramme de séquence élémentaire mettant en jeu les objets de votre système **et compléter** votre diagramme de classes au fur et à mesure. Pour cela utilisez, évidemment des lignes de vie qui font référence à des classes et les messages qui vous permettent d'identifier les méthodes et mettre à jour vos diagrammes de classes. | ||
Line 147: | Line 147: | ||
- Préciser si vous voulez travailler avec des vecteurs ou autres (Réfléchissez!!), **et** **préciser bien comme répertoire pour la génération votre répertoire** (si besoin, spécifiez le nom du package fr.unice.iut.info.coo directement dans le code généré) {{ :2014_2015:s3:concprogobjet:td:generationcodejava.png?direct&200 |}} | - Préciser si vous voulez travailler avec des vecteurs ou autres (Réfléchissez!!), **et** **préciser bien comme répertoire pour la génération votre répertoire** (si besoin, spécifiez le nom du package fr.unice.iut.info.coo directement dans le code généré) {{ :2014_2015:s3:concprogobjet:td:generationcodejava.png?direct&200 |}} | ||
- Retourner sous IntelliJ. Si votre répertoire est mal organisé (nouveau package par exemple, déplacer simplement les codes comme vous le voulez, par glisser/coller.) | - Retourner sous IntelliJ. Si votre répertoire est mal organisé (nouveau package par exemple, déplacer simplement les codes comme vous le voulez, par glisser/coller.) | ||
- | - Corriger vos codes pour qu'ils soient "compilables", en particulier en ajoutant le fichier {{:javadesigner.jar|}} comme une library du projet, afin que les annotations de Modelio soient comprises. | + | - Corriger vos codes pour qu'ils soient "compilables" : |
+ | - Afin que les annotations de Modelio soient comprises, ajouter {{:javadesigner.jar|}} comme une library du projet | ||
+ | - déposer sous idea/libraries... puis sélectionner le .jar et l'enregistrer comme une librairie utilisée par le projet | ||
+ | - **ou bien** placez vous sur le projet puis avec le menu contextuel (clique droit) > Open module Setting > Librairies et ajouter le .jar | ||
<html> | <html> | ||
<!-- | <!-- | ||
Line 182: | Line 185: | ||
*/ | */ | ||
- Pour créer des tests sur votre classe //Message//, suivez les instructions sous https://www.jetbrains.com/help/idea/2016.2/creating-tests.html. La classe de test créée se trouve sous test/java/... | - Pour créer des tests sur votre classe //Message//, suivez les instructions sous https://www.jetbrains.com/help/idea/2016.2/creating-tests.html. La classe de test créée se trouve sous test/java/... | ||
- | * Cochez les cases ''setUp()'' et ''tearDown()''. | + | * Cochez les cases ''setUp()'' ((est exécutée avant tout test)) et ''tearDown()'' ((est exécutée après tout test)). |
- IntelliJ a maintenant créé automatiquement le squelette de la classe de test. Il ne reste plus alors qu’à remplir cette dernière. | - IntelliJ a maintenant créé automatiquement le squelette de la classe de test. Il ne reste plus alors qu’à remplir cette dernière. | ||
+ | - Par exemple | ||
+ | <code java> | ||
+ | protected Message mToTest; | ||
+ | protected String content; | ||
+ | |||
+ | @Before | ||
+ | public void setUp() throws Exception { | ||
+ | content = "mon message"; | ||
+ | mToTest = new Message(content,b); | ||
+ | } | ||
+ | |||
+ | @Test | ||
+ | public void setContenu() throws Exception { | ||
+ | String nv = "newValue"; | ||
+ | mToTest.setContenu("newValue"); | ||
+ | assertEquals(" message contents is as expected",nv,mToTest.getContenu()); | ||
+ | assertFalse(" message contents has been modified", mToTest.getContenu().equals(content)); | ||
+ | } | ||
+ | |||
+ | </code> | ||
- Dans le menu contextuel, cliquez sur //Run As – JUnit test//. | - Dans le menu contextuel, cliquez sur //Run As – JUnit test//. | ||
Enfin, le premier rapport de tests s’affiche ! | Enfin, le premier rapport de tests s’affiche ! | ||
Line 212: | Line 235: | ||
<box round rgb(255,204,153) rgb(255,255,204) 97%|Je sais : > | <box round rgb(255,204,153) rgb(255,255,204) 97%|Je sais : > | ||
* Créer un projet sous un IDE avancé, et le structurer correctement. | * Créer un projet sous un IDE avancé, et le structurer correctement. | ||
- | * Générer le code à partir d'un modèle de classes en UML. | + | * (Rappel) Faire correspondre le code java et un modèle de classes en UML. |
- | * Structurer mon projet pour intégrer les tests unitaires. | + | * Mettre en place des tests unitaires. |
- | * Utiliser Eclipse pour améliorer mon développement en utilisant les outils d'aide au développement. | + | * Utiliser un IDE pour améliorer mon développement en utilisant les outils d'aide au développement. |
</box> | </box> | ||