Environnements de développement (2007-2008)
Présentation
La présentation officielle du cours dans la maquette de la licence : ED6.pdf.
Pré-requis du cours
- Programmation Orienté Objet de L3 (PO5)
- Système de L3 (SY5) (moins important que le 1er pré-requis)
Objectifs
- Comprendre l'utilité des environnements de développement intégrés (EDI) pour l'écriture et la maintenance d'applications importantes ; à comparer aux outils séparés traditionnels : éditeur de texte (Emacs, Vim, ...), compilateur, make, débogueur.
- Apprendre à développer des applications Java sous Eclipse.
- Maîtriser la configuration d'Eclipse.
- Savoir utiliser les outils de maintenance de code d'Eclipse.
- Savoir déboguer des programmes sous Eclipse.
- Apprendre à écrire des tests unitaires (pertinents) sous Eclipse (JUnit).
- Apprendre à gérer et à maintenir une documentation (Javadoc).
- Savoir utiliser un système de gestion de versions (CVS).
- Savoir étendre Eclipse par le biais de greffon.
Bibliographie et liens utiles
Livres :
- Eclipse (Steve Holzner, O'Reilly). Disponible à la bibliothèque centrale, abordable mais parfois trop simpliste et légèrement obsolète.
- Eclipse : Principes, patterns et plug-in (Erich Gamma, CampusPress France). Disponible à la bibliothèque centrale, mais orienté génie logiciel et motifs de conception (donc pas couvert par ce cours).
Sites web :
- Eclipse (dernière version : Eclipse 3.3, version installée sur les machines en salle de TP : Eclipse 3.2).
- Automatisation de la compilation : Apache Ant.
- Analyse statique de code : FindBugs.
- Tests unitaires en Java : JUnit.
- Développement collaboratif : CVS et une petite introduction à l'utilisation traditionnelle de CVS.
- Couverture de code : Coverlipse.
- Couverture de code : CodeCover (attention, Eclipse 3.3 requis).
Organisation
Intervenant et salles de cours/TP
Responsable du cours et des TP : Patrick Labatut.
L'enseignement a lieu au 2ème semestre et la première séance aura lieu la semaine du 21 janvier.
Le cours et les TP ont lieu le lundi de 16h30 à 18h30 à la Halle aux Farines, en salle 027C pour les cours et en salle machine S5T pour les TP.
Les cours et les TP auront lieu en alternance (consulter le calendrier).
Évaluation
La note finale sera (Nexamen + Nprojet) / 2 où Nexamen est la note de l'examen final (sur machine) et Nprojet est la note pour le projet.
Examen
Date de l'examen : jeudi 15 mai, 8h30-11h30, salles machines S5S et S5T.
Énoncé de l'examen en 2007 : énoncé
Énoncé de l'examen : énoncé
Séance de révision : mercredi 11 juin, 13h30-17h30, salle machine S5T.
Examen de rattrapage : mercredi 18 juin, 15h30-18h30, salle machine S5T.
Énoncé du rattrapage : énoncé
Projet
Sujet du projet : sujet , code fourni .
Remise du projet : par mail avant le vendredi 16 mai.
Il est possible de compléter le projet d'ici la soutenance.
Soutenances : mercredi 21 mai, salle machine S5T, à partir de 10h.
Horaires de passage:
Horaire | Nom | Prénom | Projet+Rapport |
---|---|---|---|
10h00-10h15 | Kogan | Alexander | X |
10h15-10h30 | Sadiki | Hicham | X |
10h30-10h45 | Attar | Pejman | X |
10h45-11h00 | Granarolo | Jean-Henri | X |
11h00-11h15 | Lazarov | Kaloyan | X |
11h15-11h30 | Debarnot | Pierre | X |
11h30-11h45 | Crapart | Rémi | X |
11h45-12h00 | Ettou | Asokcoumar | X |
12h00-12h15 | Laurent | Christian | X |
12h15-12h30 | Koubat | Johanna | X |
12h30-12h45 | Beaujour | Sébastien | X |
12h45-13h00 | Chan | Yun-kwan | X |
13h00-13h15 | Boughattas | Hassen | X |
13h15-13h30 | Sanij | Tarik | X |
13h30-13h45 | Azzou | Hasnae | |
13h45-14h00 | Ngo | Sophie | X |
14h00-14h15 | Lou | Jérémie | X |
14h15-14h30 | Hu | Alexandre | X |
14h30-14h45 | Kahlert | Björn | X |
14h45-15h00 | Rabehasaina | Loïc | X |
15h00-15h15 | Monot | Laurent | X |
15h15-15h30 | Zhao | Zhong Bao | X |
15h30-15h45 | Ly | David | X |
15h45-16h00 | Ritmixay | Annie | X |
Calendrier et supports de cours/TP
Date | Cours/TP | Sujet | Transparents/Énoncés |
---|---|---|---|
21/01 | Cours | Introduction aux EDI, plate-forme Eclipse |
Transparents (Eclipse) |
28/01 | TP | Découverte (?) d'Eclipse, premiers projets (Pong) |
Énoncé Code fourni Correction |
04/02 | Cours | Plan de travail, JDT (navigation, édition) |
Transparents (Workbench) Transparents (JDT : navigation) |
11/02 | TP | Utilisation du plan de travail, navigation et édition avancée (Breakout) |
Énoncé |
18/02 | Cours | JDT (suite : refactorisation, débogage), outils d'analyse statique (FindBugs) |
Transparents (JDT : refactorisation) Transparents (JDT : débogage) |
25/02 | TP | Débogage, refactorisation | Énoncé Code fourni |
03/03 | Cours | Test de programme : tests unitaires (JUnit), outils de couverture de code (Coverlipse/CodeCover) |
Transparents (JUnit) |
10/03 | TP | Refactorisation, tests unitaires, présentation du projet |
|
17/03 | Cours | Compléments sur JUnit, développement de greffon, développement collaboratif (CVS), automatisation de la compilation (Ant), génération de documentation (Javadoc) |
Transparents (JUnit) Transparents (PDE) Transparents (CVS, Ant, Javadoc) |
24/03 | Férié | ||
31/03 | TP | Utilisation du PDE (Code Search) | Énoncé |
07/04 | TP | Utilisation du PDE (suite), suivi de projet |
|
14/04 | TP | Suivi de projet |