This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
2016_2017:s3:concprogobjet:td:td1 [2016/09/09 00:18] blay [Un projet sous tests (15mn)] |
2016_2017:s3:concprogobjet:td:td1 [2016/09/09 12:18] blay [Je sais] |
||
---|---|---|---|
Line 12: | Line 12: | ||
* [[https://www.jetbrains.com/idea/|IntelliJ]] | * [[https://www.jetbrains.com/idea/|IntelliJ]] | ||
- | * [[http://www.eclipse.org/downloads/packages/eclipse-ide-java-developers/marsr|Eclipse]] | ||
Et pour GIT, vous devez déjà l'avoir sur vos ordinateurs. | Et pour GIT, vous devez déjà l'avoir sur vos ordinateurs. | ||
Line 73: | 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 143: | Line 142: | ||
Aujourd'hui nous faisons le choix de générer les codes puis de travailler ces derniers sans chercher, au moins pour l'instant, à maintenir les modèles en cohérence. | Aujourd'hui nous faisons le choix de générer les codes puis de travailler ces derniers sans chercher, au moins pour l'instant, à maintenir les modèles en cohérence. | ||
- | - Générez les codes (voir [[https://mbf-iut.i3s.unice.fr/doku.php?id=modelio#generer_les_codes|ici]] et choisissez comme répertoire de génération celui sous src/main/java | + | - Générez les codes (voir [[https://mbf-iut.i3s.unice.fr/doku.php?id=modelio#generer_les_codes|ici]] et choisissez comme répertoire de génération celui sous src/main/java/fr/unice/iut/info/coo |
- - Sélectionner votre diagramme de classe en conception; | - - Sélectionner votre diagramme de classe en conception; | ||
- Vérifier que vous avez bien toutes les classes prévues; | - Vérifier que vous avez bien toutes les classes prévues; | ||
- | - 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 src sous Eclipse** {{ :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 184: | ||
* sur le projet, faire un //new source-folder//, et l'appeler //tests// {{ :2014_2015:s3:concprogobjet:td:newsourcefolder.png?direct&200 |}} | * sur le projet, faire un //new source-folder//, et l'appeler //tests// {{ :2014_2015:s3:concprogobjet:td:newsourcefolder.png?direct&200 |}} | ||
*/ | */ | ||
- | - Dans le menu contextuel de, par exemple la classe //Message//, cliquez sur //New – JUnit Test Case//((Cette partie du TD reprend en partie le tutoriel JUNIT : http://www.junit.fr/2011/11/20/tutoriel-eclipse-junit-mon-premier-test-automatique/)). {{ :2014_2015:s3:concprogobjet:td:junittestcase.png?direct&200 |}} Dans le panneau qui s'affiche {{ :2014_2015:s3:concprogobjet:td:messagetest.png?direct&200 |}} | + | - 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/... |
- | * Sélectionnez le bouton radio //New JUnit 4 test//. | + | |
- | * Changez le dossier Source folder pour //tests//. | + | |
- | * Nommez la classe ''MessageTest''. | + | |
* Cochez les cases ''setUp()'' et ''tearDown()''. | * Cochez les cases ''setUp()'' et ''tearDown()''. | ||
- | * Enfin cliquez sur //Finish//. | + | - IntelliJ a maintenant créé automatiquement le squelette de la classe de test. Il ne reste plus alors qu’à remplir cette dernière. |
- | * Eclipse va remarquer que la bibliothèque de //JUnit// est absente du projet et vous propose d’ajouter automatiquement cette dernière au projet. | + | |
- | * Dans le panneau qui apparaît, cliquez sur OK. | + | |
- | - Eclipse a maintenant créé automatiquement le squelette de la classe de test. Il ne reste plus alors qu’à remplir cette dernière. | + | |
- 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 ! | ||
- | {{ :2014_2015:s3:concprogobjet:td:testok.png?direct&200 |}} | + | |
==== Développement (20mn) ==== | ==== Développement (20mn) ==== | ||
- Terminez la mise en oeuvre du bus en complétant les tests au fur et à mesure. | - Terminez la mise en oeuvre du bus en complétant les tests au fur et à mesure. | ||
Line 219: | Line 215: | ||
<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> | ||