1 / 24

POO

POO. Programmation Orientée Objet. année 2010/2011. Industrialisation. But : avoir une vision d’ensemble des outils, techniques , bonnes pratiques , méthodes d’un environnement de développement pour des projets en groupe L’ insdispensable : Utilisation d’Eclipse – développement Java

udell
Download Presentation

POO

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. POO ProgrammationOrientée Objet année 2010/2011

  2. Industrialisation • But : avoir une vision d’ensemble des outils, techniques, bonnes pratiques, méthodes d’un environnement de développement pour des projets en groupe • L’insdispensable : • Utilisation d’Eclipse – développement Java • Debugging • Gestion de la documentation • Gestion des sources/versions • Outils de qualimétrie du code

  3. Aujourd’hui…

  4. Exemples d’Outils • Stats/qualimétrie • Sur la collaboration dans le groupe [statsvn] • La qualité du code [checkstyle, pmd, cpd, sonar]

  5. Plan de cette présentation • EDI • Définition • Historique • Les EDI aujourd’hui • Eclipse • Historique • Pourquoi Eclipse ? • Installation et exécution • démo

  6. EDI : Définition • Un environnement de développement intégré (EDI, ou Integrated Developement Environement - IDE) est un logiciel regroupant un ensemble d'outils nécessaires au développement logiciel dans un (ou plusieurs) langage(s) de programmation • Un EDI c’est : • un éditeur de texte spécialisé (avec coloration syntaxique, indentation automatique, complétion automatique, . . . ), • un compilateur (ou au moins l'intégration d'un compilateur existant), • un débogueur (ou au moins l'intégration d'un débogueur existant), • des outils d'automatisation de la compilation et de gestion de projets

  7. EDI : Définition • Des outils complémentaires : • un système de gestion de versions (eg CVS ou Subversion), • conception d'interface graphique • un navigateur de classes (pour explorer la hiérarchie des classes), • des outils de tests unitaires et de couverture du code, • des outils de maintenance/remaniement du code (refactoring), • un générateur de documentation (eg Javadoc ou Doxygen).

  8. EDI : buts • Augmenter significativement la productivité du développeur : • en minimisant le temps passé à basculer entre les différentes tâches intervenant dans le cycle de développement logiciel (édition, compilation, exécution, débogage, test, documentation, import/export vers le depôt de versions, . . . ), • en minimisant le temps d'apprentissage requis par les différents outils intervenant dans le cycle de développement : pas de syntaxe (e.g. celles des Makefile), ou de commandes/instructions (e.g. jdb/gdb) à apprendre. • l'utilisation d'un EDI ne dispense pas complètement d'une certaine familiarité avec chacune des étapes du cycle de développement. . .

  9. EDI : Un peu d’histoire • 1983 : Borland Turbo Pascal, très accessible ($50) • 1987 : Borland Turbo C • 1991 : Microsoft Visual Basic • 1992 : Microsoft Visual C++ • 2001 : Eclipse

  10. EDI : alternatives • Le cycle édition/compilation/exécution a lieu dans un éditeur de texte avancé qui (en général) gère les fonctionnalités suivantes (entre autres) : • coloration syntaxique • indentation automatique • complétion automatique • intégration avec le compilateur (M-x compile/C-x ` sous Emacs, mode QuickFix sous Vim, . . . ) • Exemples classiques : • Emacs : libre, multiplateforme, classique linux • Vim : libre, multiplateforme, mode commande/édition

  11. EDI : alternatives • Ce type d'approche du développement logiciel est limitée : • la complétion automatique des éditeurs ne dépend pas (assez) du contexte, • il n'y a pas ou peu d'intégration avec le débogueur, • il n'y a pas ou peu d'intégration avec les outils de gestion de version, • des tâches laborieuses comme la maintenance/remaniement de code restent entièrement manuelles, • requiert une expertise importante dans chacune des phases du cycle de développement (configuration de l'éditeur de texte, syntaxe des Makefile, commandes du débogueur, ... )

  12. EDI : état des lieux • Logiciels propriétaires : • C++ Builder (Borland) : C/C++, gratuit/payant, Windows uniquement, • JBuilder (Borland) : Java (gratuit/payant, multiplateforme), • Xcode (Apple) : C/C++, Objective C, Java (payant, Mac OS X seulement), • Visual Studio (Microsoft) : C/C++, C#, Web ASP (gratuit/payant, Windows uniquement), • Rational Application Developper IBM : Java JEE, payant, multiplateforme

  13. EDI : état des lieux • Logiciels « libres » : • KDevelop (KDE) : C/C++, Java, base sur les outils GNU (GCC, make, GDB) et sur d'autres outils répandus (CVS, Doxygen), Unix uniquement, • Anjuta (GNOME) : C/C++ uniquement, aussi base sur les outils GNU (multiplateforme), • Netbeans (Sun) : initialement Java uniquement, maintenant C/C++, Java Micro Edition4, Ruby, JavaScript, . . . (multiplateforme), • Eclipse : Java, C/C++, Java Micro Edition, PHP, . . . (multiplateforme) • ...

  14. EDI : focus sur Eclipse • Initialement un simple EDI Java (IBM/OTI VisualAge for Java), Eclipse est devenu un framework • Offrir une plateforme ouverte pour le développement d'applications : • non-dédiée à un langage ou un SE ou une IG, • facile à comprendre mais surtout facile à étendre, • paramétrable selon les besoins/goûts du développeur, • capable d'automatiser les tâches lourdes du développement, • open source, • ouvert et EXTENSIBLE par plugin

  15. EDI : Eclipse • 1996 : IBM achète OTI qui développe la suite d'EDI VisualAge (en SmallTalk), et en particulier VisualAge for Java, • Nov. 2001 : lancement du projet libre Eclipse et création de l'Eclipse Consortium • Jan. 2004 : création de l'Eclipse Foundation, organisation a but non lucratif qui regroupe plusieurs grandes entreprises (AMD, Borland, IBM, Intel, Motorola, Nokia, Oracle, . . . ) dans le but de conduire le développement de la plateforme Eclipse • . . . • Juin 2006 : Eclipse 3.2 (depuis, une nouvelle version par an) • Juin 2007 : Eclipse 3.3 Europa • Juin 2008 : Eclipse 3.4 Ganymède • Juin 2009 : Eclipse 3.5 Galiléo • Juin 2010 : Eclipse 3.6 Hélios

  16. Eclipse : historique… • http://www.vimeo.com/1130828

  17. Pourquoi Eclipse ? • Sondage developpez.com

  18. Eclipse : un framework • Eclipse = plateforme + greffons (plugins) • plateforme : • un exécutif indépendant du SE (JVM), • un ensemble basique de greffons extensibles, • des mécanismes (API), règles et outils pour construire des greffons, • un moteur pour découvrir, charger et exécuter des greffons • greffon/plugin : • se connecte a des points précis de la plateforme, • remplit une tâche (pas forcement exécutable), • offre des points d'extension, • coexiste avec d'autres greffons, • instance : ensemble de greffons qui coopèrent pour offrir un EDI

  19. Eclipse : un framework • Eclipse + JDT = Java IDE • Eclipse + CDT = C/C++ IDE • Eclipse + PDT = PHP IDE • ... • Eclipse + JDT + CDT + PDT = Java, C/C++, PHP IDE • Ruby, TCL, JavaScript, ...

  20. Eclipse : un framework • Construction de MON Eclipse avec les plugins que je veux • Des outils pour « tout » faire • Business Intelligence and Reporting Tools, Web Tools Project, Data Tools Project, Eclipse Modeling Framework, ...

  21. Eclipse : installation • Installer un JDK, Sun JDK 6 • Télécharger UN zip d’Eclipse [version, SE] • Extraire l’archive [ pas d’espace dans le chemin] • Lancer l’exécutable (eclipse ou eclipse.exe) • Paramètres éventuels dans eclipse.ini • Eg la machine virtuelle Java à utiliser : -vm "C:\Program Files\Java\jdk1.6.X\bin\javaw"

  22. UN Eclipse....

  23. Ressources • Eclipse : http://www.eclipse.org http://www.eclipsetotale.com/ • Cours en ligne : http://www.jmdoudoux.fr/java/dejae/ • Tutoriels en vidéo : http://eclipsetutorial.sourceforge.net/ • Indispensable !!! : http://www.developpez.com

  24. Eclipse • Une petite démo quand même !

More Related