![]() |
|||||
Les Étapes du cycle d'un Projet Java réussi : Introduction Phase DEVELOPPEMENT |
|||||
Après avoir fait un tour d’horizon de la modélisation notamment avec le langage UML, nous abordons maintenant un cycle d’articles concernant la phase de développement. Dans cet article nous allons essayer de décrire la problématique du développement & les principales tâches qui s'y rapportent. Cela nous permettra d'identifier les principales fonctionnalités que doit intégrer un atelier de développement « idéal ». En cette période de rentrée, essayons de rendre ludique cet article en assimilant la phase de développement aux activités d'un joueur de jeux vidéos. Avant de commencer un jeu, il convient d'en connaître les règles, d'en comprendre les objectifs & le but. Dans le cadre d'un développement informatique, ces règles sont données par les spécifications. Le développement consiste donc avant tout à lire ces spécifications (>> IL FAUT DONC QU'ELLES EXISTENT). Mais cela ne suffit pas pour commencer à jouer. En effet, un jeu possède une interface (manette – clavier – écran) qui nous permet de réaliser les actions nécessaires pour atteindre le but assigné. Dans le cadre d'un développement informatique, l'interface peut-être assimilée au langage de développement (qui permet bien de faire réaliser telle ou telle action par la machine). L'utilisation de ce langage doit se faire dans le cadre de règles (Utilisation de telle fonction pour ceci – de telle autre pour cela – etc.) que l'on appelle les règles de développement en vigueur. Nous sommes donc prêts pour jouer (donc développer). Mais, cela serait trop facile. Nous le savons tous, les jeux nous proposent des pièges qu'il convient de contourner, des ennemis qu'il convient de combattre, qui sans aide (raccourci ou code caché que l'on peut trouver sur internet ou armes qu'il convient d'utiliser au bon moment) ne nous permet pas d'atteindre l'objectif facilement. Dans le monde du développement, ces aides sont en fait des bibliothèques de composants ou des FrameWorks qui nous permettent d'éviter les pièges (Fuites mémoires – Transformation des données - etc.) ou d'atteindre l'objectif plus rapidement (Génération de code à partir des spécifications – Génération de code à partir d'outil RAD – Fonctions de Formatage – d'Internationalisation – etc.). Nous connaissons les règles du jeu, nous maîtrisons les interfaces, nous savons que l'on peut utiliser tel ou tel code, telle ou telle arme et donc nous jouons. Bien évidemment nous ne gagnons pas du premier coup. Nous testons tel ou tel moyen pour aller plus loin dans le jeu. Dans le cadre d'un développement, il s'agit de tester unitairement les codes réalisés pour vérifier qu'il nous permettront d'aller plus loin dans le « jeu » de construction d'un système informatique. Nous avons donc franchi une étape du jeu que nous nous empressons de sauvegarder pour ne pas avoir à tout refaire depuis le début. D'ailleurs, ces sauvegardes, nous pouvons les transmettre à nos amis pour qu'ils puissent reprendre le jeu dans l'état où nous l'avons laissé afin qu'ils puissent continuer le jeu à l'étape où nous étions arrivés. Dans le monde du développement informatique, il s'agit donc de gérer ces codes en version puis d'en proposer des assemblages qui sont mis à disposition des autres développeurs. Le jeu possédant un (ou des) objectif(s) « immuables », « invariants », cela lui permet de sanctionner sans « ambiguïté » la réussite ou l'échec. Dans le domaine du développement informatique, l'idéal serait donc de pouvoir procéder de la même façon. Mais plusieurs facteurs empêchent d'atteindre cet idéal, parmi lesquels on peut citer :
Enfin, et cela n'est pas négligeable, le jeu ne sanctionne « économiquement » pas le nombre d'essais, le temps qu'il a fallu au joueur pour atteindre l'objectif. En résumé, les activités de développement sont :
Olivier HEDIN |
|||||
|