Blog ENI : Toute la veille numérique !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
💥 Les 22 & 23 novembre : Accès 100% GRATUIT
à la Bibliothèque Numérique ENI. Je m'inscris !

Les outils du développeur

Introduction

L’interface de développement NetBeans met à disposition du développeur différents outils d’aide au développement et à la maintenance de code, lui permettant ainsi de gagner en efficacité, rapidité, et par conséquent en productivité.

Ce chapitre a pour objet d’appréhender les outils de débogage mis à disposition des développeurs, de présenter les générations automatiques de code, les techniques de refactorisation de code, les outils d’internationalisation d’une application disponibles dans NetBeans, le plug-in easyUML et le groupement de projets.

Débogage d’une application grâce à NetBeans

La maîtrise de l’outil de débogage de NetBeans est un atout supplémentaire dans le maintien et le développement de projets Java complexes. Cette partie a pour but de découvrir le mode debug, de présenter les notions nécessaires au débogage et d’aller plus loin dans l’utilisation de l’outil grâce à un cas concret de débogage.

1. Découvrir le mode debug

La découverte du mode debug s’effectue grâce à un exemple de projet Java intitulé csvproject. Ce dernier exécute une lecture des données d’un fichier csv afin d’en créer un tableau d’objets. Ce tableau est par la suite affiché dans la console. Le code de ce projet est disponible dans les ressources associées au livre.

Les données présentes dans le fichier csv sont les suivantes :

John,Doe,120 jefferson st.,Riverside,NJ,08075 
Jack,McGinnis,220 hobo Av.,Phila,PA,09119 
John "Da Man",Repici,120 Jefferson St.,Riverside,NJ,08075 
Stephen,Tyler,7452 Terrace "At the Plaza" road,Blankman,SomeTown  
SD,00298 
Joan "the bone",Anne,9th,"at Terrace plc",Desert City CO,00123 

 Importez l’archive csvproject.zip du projet dans NetBeans en sélectionnant le menu File - Import project - From ZIP.

 Cliquez sur le premier bouton Browse de la fenêtre de sélection, afin de rechercher l’archive zip à importer.

 Cliquez sur le second bouton Browse afin de sélectionner le répertoire dans lequel le projet va être importé, par exemple C:\ws_netbeans\

images/03EI01.png

 Cliquez sur Import ; le projet est chargé dans NetBeans.

Ce projet est composé du package fr.eni.csvproject, contenant les classes Java, et du fichier addresses.csv, présent dans le répertoire src/main/resources et contenant les données lues en entrée du programme.

 Cliquez sur le bouton Run project ou utilisez le raccourci [F6] pour exécuter le projet. Lors du premier lancement, sélectionnez la classe principale CsvFileReader.java.

La console affiche la liste des personnes et adresses contenues dans le fichier csv.

System.getProperty("user.dir") retourne le chemin complet où...

Capacités de génération de code

Cette partie a pour but de présenter les différentes options de génération de code présentes dans NetBeans. La génération d’attributs, de constructeurs, des méthodes equals() et hashCode(), de la méthode toString(), des méthodes comportementales et de la méthode clone() s’effectue depuis n’importe quelle classe d’un projet.

1. Les attributs

Le développement d’attributs et de leurs accesseurs dans une classe peut être optimisé grâce à NetBeans. Pour ce faire, après avoir créé une classe Etudiant dans un nouveau projet Java, effectuez la manipulation suivante.

 Affichez la fenêtre Generate depuis le menu Source - Insert Code ou via le raccourci [Alt]+[Inser].

images/03EI14.png

 Sélectionnez Add Property et validez afin d’ouvrir la boîte de dialogue de saisie.

 Renseignez le nom de la propriété, par exemple prénom.

 Sélectionnez le type de la propriété, par exemple String.

 Sélectionnez son état, par exemple private.

 Sélectionnez les accesseurs à créer, dans ce cas getter et setter.

 Validez la saisie afin de générer ce code dans la classe.

La boîte de dialogue offre un aperçu du code qui va être généré avant la validation. 

images/03EI15.png

 Reproduisez cette manipulation afin de créer des attributs nom, dateNaissance et ville.

Les attributs de la classe créés, la génération de constructeurs est possible.

2. Les constructeurs

Le développement de différents constructeurs est parfois nécessaire dans une classe. Dans ce type de cas, il est intéressant de connaître le menu de génération de constructeurs afin de ne pas perdre de temps à écrire du code redondant. 

 Dans la classe Etudiant, utilisez le raccourci [Alt]+[Inser].

 Dans la boîte de dialogue, sélectionnez le menu Constructor et validez.

 Sélectionnez les attributs à insérer dans le constructeur, par exemple prénom, nom et âge d’un étudiant.

images/03EI16.png

 Cliquez sur le bouton Generate afin de valider la génération du constructeur...

Refactoring avec NetBeans

Cette partie a pour but de présenter les menus permettant l’introduction de variables, de constantes, d’attributs, de méthodes et de paramètres dans une classe d’un projet. Les manipulations présentées dans cette partie sont effectuées dans le projet refactoring téléchargeable depuis la page Informations générales.

1. L’introduction de variables

La manipulation ci-dessous présente l’introduction d’une variable dans la classe Calcul.

 Dans la méthode main, déclarez deux variables de type int valant par exemple 2 et 3.

 Codez la multiplication de ces deux variables en sélectionnant a*b puis en cliquant sur le menu Refactor - Introduce - Variable… ou en tapant le raccourci [Alt]+[Shift]+V.

La fenêtre ci-dessous apparaît.

images/03EI22.png

 Renseignez le nom de la variable à créer, par exemple resultat, et validez.

La variable est automatiquement créée dans la méthode.

       int a = 2; 
       int b = 2; 
       int resultat = a*b; 

 Affichez le résultat de la multiplication dans la console.

Dans l’éditeur de code, la saisie du raccourci sout puis l’action du bouton [Tab] permettent de générer automatiquement la ligne de code System.out.println("");.

La génération d’une constante permet de remplacer la valeur d’une variable, puis de l’utiliser à plusieurs reprises dans le code si nécessaire.

2. L’introduction de constantes

La manipulation ci-dessous présente l’introduction d’une constante dans la classe Calcul.

 Sélectionnez la valeur...

Internationalisation d’un projet

Cette partie a pour but de présenter les outils de NetBeans d’aide à l’internationalisation d’une application contenant un formulaire. La manipulation ci-dessous présente l’internationalisation de tous les champs texte de l’écran.

Le projet, i18n, contient une classe Main principale exécutant le projet et une classe Inscription contenant un écran de saisie. Le projet est disponible dans le dépôt du livre.

À la suite de son téléchargement, l’exécution du projet ouvre la fenêtre suivantes :

images/03EI27.png

La manipulation ci-dessous présente comment internationaliser cet écran.

 Pour ce faire, en première étape, créez un fichier de propriétés lié à cet écran. À partir du package fr.eni.i18n, cliquez sur New - Other.

 Dans la catégorie Other, sélectionnez Properties File.

images/03EI28.png

 Cliquez sur le bouton Next.

 Nommez le fichier Inscription.

 Cliquez sur bouton Finish.

Le fichier Inscription.properties, vide, est créé dans le package du projet. Ce fichier va par la suite être utilisé pour contenir les clés associées au texte contenu dans l’écran.

 Pour ce faire, sélectionnez le projet i18n.

 Sélectionnez le menu Tools - Internationalization...

Diagrammes de classes UML avec NetBeans

Unified Modeling Language (UML) se traduit par langage de modélisation unifié. C’est un langage visuel dédié à la spécification, la construction et la documentation des artefacts d’un système logiciel.

LObject Management Group (OMG) fondé en 1989 est un organisme à but non lucratif créé pour promouvoir des standards garantissant l’interopérabilité entre applications orientées objet. La version 1.0 d’UML est devenue en 1997 une norme OMG. Une nouvelle version majeure 2.0 est par la suite sortie en 2005.

Il existe différents modèles UML, destinés à des cibles différentes.

  • Les modèles descriptifs décrivent l’existant du métier alors que les modèles prescriptifs décrivent le futur système à réaliser.

  • Les modèles de conception destinés aux utilisateurs définissent le quoi alors que ceux destinés aux développeurs définissent le comment.

  • Les modèles statiques décrivent les aspects structurels et les modèles dynamiques décrivent les interactions.

La modélisation est la description de manière visuelle et graphique des besoins et des solutions fonctionnelles et techniques d’un logiciel. Un modèle UML permet par conséquent la visualisation du futur logiciel, ce qui est beaucoup plus intéressant et rapide que l’écriture puis la lecture d’un texte décrivant les différentes fonctionnalités et interactions d’une application.

La liste ci-dessous présente les types de diagrammes statiques.

  • Le diagramme de cas d’utilisation décrit le comportement et les fonctions du point de vue d’un utilisateur.

  • Le diagramme de classes décrit la structure statique, les types et les relations des ensembles d’objets.

  • Le diagramme d’objets décrit les objets et leurs liens à un instant donné.

  • Le diagramme de composants décrit tous les composants physiques nécessaires à l’exécution du logiciel.

  • Le diagramme de déploiement décrit l’environnement d’exécution du système. 

La liste ci-dessous présente les types de diagrammes dynamiques....

Groupement de projets

Le menu Project Groups de NetBeans permet de regrouper un ou plusieurs projets et de passer ainsi rapidement d’un groupement de projets à un autre. Ce menu améliore l’organisation de l’IDE lorsque le nombre de programmes développés est important.

Une première possibilité de ce menu est de regrouper tous les projets ouverts. La manipulation ci-dessous présente ce regroupement.

 Sélectionnez le menu File - Project Groups.

 À ce stade, aucun groupe n’étant créé, cliquez sur le bouton New Group.

 Dans la boîte de dialogue, renseignez le nom du groupe, par exemple AllOpenProjects

Les deux options cochées par défaut signifient que tous les projets ouverts présents dans l’IDE seront intégrés à ce groupe.

images/03EI56.png

 Cliquez sur le bouton Create Group.

Le groupe est automatiquement créé et le nom de l’onglet Projects de NetBeans est mis à jour avec le nom du groupe créé.

images/03EI57.png

Grâce à l’option Free Group de ce menu, il est possible de sélectionner manuellement un ou plusieurs projets à intégrer au groupe. La manipulation ci-dessous présente le groupement des deux projets créés dans le chapitre précédent, le projet de gestion des notes ainsi que le projet contenant...