This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
2016_2017:s3:concprogobjet:td:td1 [2016/09/09 09:00] cecchinel |
2016_2017:s3:concprogobjet:td:td1 [2016/09/29 21:15] (current) blay [EVALUATION de CE TD] |
||
---|---|---|---|
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 142: | 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 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 206: | Line 229: | ||
- Les modèles sont cohérents avec le code. | - Les modèles sont cohérents avec le code. | ||
- | + | [[http://jalon.unice.fr/cours/blay/Cours-blay-20160929210709/BoiteDepot-blay-20160929210839376812?mode_etudiant=false|Jalon de dépôt pour Mme Fornarino : donner comme nom du dépot : Gr<NumeroGroupe><Noms des étudiants>]] | |
- | http://jalon.unice.fr/cours/blay/Cours.blay.2011-10-10.3543/BoiteDepot-blay-20150731120912764725?mode_etudiant=true&menu=sujets | + | |
===== Je sais ===== | ===== Je sais ===== | ||
<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> | ||