This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
2015_2016:s3:concprogobjet:td:td1 [2015/07/31 11:56] blay [Un projet sous le gestionnaire de version (10mn)] |
2015_2016:s3:concprogobjet:td:td1 [2015/09/09 16:02] (current) blay [Développement (20mn)] |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== TD1 : Prise en main de l'environnement de développement ====== | ====== TD1 : Prise en main de l'environnement de développement ====== | ||
- | <note warning>SVN OU GIT A PRIORI PAS FAIT AVANT CETTE ANNE + Attention Allonger ce TD pour qu'il soit bien fait il est très important.</note> | + | |
**Objectifs :** Par le développement d'un mini-bus à messages nous mettons en place notre environnement de travail et rappelons les notions de base de la COO. | **Objectifs :** Par le développement d'un mini-bus à messages nous mettons en place notre environnement de travail et rappelons les notions de base de la COO. | ||
Line 53: | Line 53: | ||
- Sous Visual Paradigm, commencer par créer un "modèle" : //bus-analyse//. Pour cela, vous pouvez par exemple, ouvrir le volet "Explorateur de modèles" //(Apercu->Volet)// qui est très utile. Cette approche nous permettra de clairement identifier les éléments produits par l'analyse et ceux produits par la conception. | - Sous Visual Paradigm, commencer par créer un "modèle" : //bus-analyse//. Pour cela, vous pouvez par exemple, ouvrir le volet "Explorateur de modèles" //(Apercu->Volet)// qui est très utile. Cette approche nous permettra de clairement identifier les éléments produits par l'analyse et ceux produits par la conception. | ||
{{:2014_2015:s3:concprogobjet:td:vueexplorateurmodeles.png?direct&200|Visualisation partielle de la vue "Explorateur de modèles" à la fin de ce TD }} | {{:2014_2015:s3:concprogobjet:td:vueexplorateurmodeles.png?direct&200|Visualisation partielle de la vue "Explorateur de modèles" à la fin de ce TD }} | ||
- | - Définissez un modèle à 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 "Call" qui vous permettent d'identifier les méthodes d'appels et mettent automatiquement à jour vos diagrammes de classes {{:2014_2015:s3:concprogobjet:td:creationoperation.png?direct&200|}} | - 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 "Call" qui vous permettent d'identifier les méthodes d'appels et mettent automatiquement à jour vos diagrammes de classes {{:2014_2015:s3:concprogobjet:td:creationoperation.png?direct&200|}} | ||
Line 64: | Line 64: | ||
==== Conception : 15mn ==== | ==== Conception : 15mn ==== | ||
- | - **Dérivation du diagramme** : Pour bien différencier votre modèle d'analyse du modèle de conception, **dériver** votre diagramme. Pour cela vous vous placez dans le diagramme de classes, par un clique droit, vous sélectionnez "//utilities//" tout en bas -> //Transitez vers un nouveau diagramme// {{ :2014_2015:s3:concprogobjet:td:transiterdiagrammeanalyseconception.png?direct&200 |}} puis créez un modèle //Bus-Conception// pour bien distinguer vos éléments. Attention à présent de bien travailler dans le modèle en conception {{:2014_2015:s3:concprogobjet:td:deuxmodeles.png?direct&200|}} | ||
- Compléter votre modèle à classes pour préparer l'implémentation : | - Compléter votre modèle à classes pour préparer l'implémentation : | ||
* Réfléchir au sens des relations | * Réfléchir au sens des relations | ||
Line 85: | Line 84: | ||
* En sélectionnant le projet, //clique droit, new class// | * En sélectionnant le projet, //clique droit, new class// | ||
* Bien sélectionner le //main// et les commentaires sur la classe {{:2014_2015:s3:concprogobjet:td:monscenario.png?direct&200|MonScenario}} | * Bien sélectionner le //main// et les commentaires sur la classe {{:2014_2015:s3:concprogobjet:td:monscenario.png?direct&200|MonScenario}} | ||
+ | |||
+ | |||
+ | |||
<html> | <html> | ||
<!-- | <!-- | ||
+ | |||
==== Un projet sous le gestionnaire de version (10mn) ==== | ==== Un projet sous le gestionnaire de version (10mn) ==== | ||
Line 103: | Line 106: | ||
- Vérifier que votre fichier est bien, à présent, accessible depuis la forge, pour cela connectez vous sur la forge si ce n'est pas encore fait. | - Vérifier que votre fichier est bien, à présent, accessible depuis la forge, pour cela connectez vous sur la forge si ce n'est pas encore fait. | ||
- Evidemment, l'autre étudiant du binôme peut se connecter au même répertoire et faire un "checkout" de cet espace. | - Evidemment, l'autre étudiant du binôme peut se connecter au même répertoire et faire un "checkout" de cet espace. | ||
+ | |||
+ | |||
+ | |||
--!> | --!> | ||
- | <\html> | + | </html> |
==== Génération des codes (10 mn) ==== | ==== Génération des codes (10 mn) ==== | ||
Line 117: | Line 124: | ||
- Retourner sous Eclipse, sous la perspective Java, et faîtes un //refresh// (clique droit sur le projet). 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 Eclipse, sous la perspective Java, et faîtes un //refresh// (clique droit sur le projet). 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 utilisant simplement les petites boules jaunes sur le côté, mais **ne passez pas à l'implémentation**, nous ferons cela un peu plus tard. | - Corriger vos codes pour qu'ils soient "compilables" en utilisant simplement les petites boules jaunes sur le côté, mais **ne passez pas à l'implémentation**, nous ferons cela un peu plus tard. | ||
+ | <html> | ||
+ | <!-- | ||
- Quand il n'y a plus d'erreurs, mémoriser les codes dans SVN (pour s'entraîner ;-) ) . Donc cette fois-ci simplement, //clique droit// sur le package (car évidemment, vous travaillez bien dans un package), puis //Team// puis //commit//. Il vous propose directement les fichiers à ajouter au commit. N'oublier de mettre un message. | - Quand il n'y a plus d'erreurs, mémoriser les codes dans SVN (pour s'entraîner ;-) ) . Donc cette fois-ci simplement, //clique droit// sur le package (car évidemment, vous travaillez bien dans un package), puis //Team// puis //commit//. Il vous propose directement les fichiers à ajouter au commit. N'oublier de mettre un message. | ||
+ | --!> | ||
+ | </html> | ||
Line 127: | Line 137: | ||
- créer un bus de nom "Nice-Circulation", | - créer un bus de nom "Nice-Circulation", | ||
- créer un message annonçant "une attente de 5mn" | - créer un message annonçant "une attente de 5mn" | ||
- | - publier le message sur le bus, | ||
- créer un message annonçant "un accident" | - créer un message annonçant "un accident" | ||
- | - publier le message sur le bus, | ||
- lire les messages, | - lire les messages, | ||
- afficher le contenu des message. | - afficher le contenu des message. | ||
Line 156: | Line 164: | ||
{{ :2014_2015:s3:concprogobjet:td:testok.png?direct&200 |}} | {{ :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 et en n'oubliant pas de commiter. | + | - Terminez la mise en oeuvre du bus en complétant les tests au fur et à mesure. |
Line 170: | Line 178: | ||
===== EVALUATION de CE TD ===== | ===== EVALUATION de CE TD ===== | ||
- | - Tous les étudiants ont donné accès à leur professeur sur un de leur espace. | + | |
- | - Tous les étudiants ont bien sauvegardé dans leur espace SVN. | + | |
- | - Tous les étudiants ont au moins une fois fait un commit dans cet espace de travail. | + | |
- Le programme est fonctionnel et le scénario de base est bien réalisé. | - Le programme est fonctionnel et le scénario de base est bien réalisé. | ||
+ | - Les modèles sont cohérents avec le code. | ||
+ | http://jalon.unice.fr/cours/blay/Cours.blay.2011-10-10.3543/BoiteDepot-blay-20150731120912764725?mode_etudiant=true&menu=sujets | ||
===== Je sais ===== | ===== Je sais ===== | ||
Line 181: | Line 189: | ||
* Créer un projet sous Eclipse, et le structurer correctement. | * Créer un projet sous Eclipse, et le structurer correctement. | ||
* Générer le code à partir d'un modèle de classes en UML. | * Générer le code à partir d'un modèle de classes en UML. | ||
- | * Connecter mon code à un répertoire SVN. | ||
* Structurer mon projet pour intégrer les tests unitaires. | * Structurer mon projet pour intégrer les tests unitaires. | ||
* Utiliser Eclipse pour améliorer mon développement en utilisant les outils d'aide au développement. | * Utiliser Eclipse pour améliorer mon développement en utilisant les outils d'aide au développement. | ||
</box> | </box> | ||
- | <note warning>Reprendre les questions suggérées par les étudiants l'an passé </note> | + |