Développeur - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs est disponible ici.

En informatique, un développeur (ou programmeur) est un informaticien qui réalise du logiciel en créant des algorithmes et en les mettant en œuvre dans un langage de programmation.

Cette section composée d'une simple liste devrait être rédigée en un paragraphe synthétique et avec un style encyclopédique.

La notion de développement inclut :

  • un travail d’équipe : les projets sont en général une collaboration entre plusieurs développeurs sous la responsabilité d'un chef de projet, qui traitent chacun une partie du programme, mais aussi d’autres collaborateurs tels que les commerciaux, qui définissent avec le client la finalité du produit, les concepteurs graphiques qui définissent l’aspect et l’ergonomie...
  • la conception (design) : à partir d’un cahier des charges (user requirement specifications), définir les spécifications techniques (structure des données, communication entre les modules...)
  • les tests, qui servent à détecter les non-conformités et les erreurs (bogues) ;
  • la maintenance : la correction des erreurs après la sortie du logiciel, et l’amélioration pour faire évoluer le produit.

Voir Cycle en V pour plus de renseignements.

Perspectives En principe accessibles aux titulaires d'un BTS ou d'un DUT Informatique, les postes de développeurs sont de plus en plus souvent confiés à des bac+4/5 (Miage, DESS, écoles d'ingénieurs). Grâce aux techniques de production automatique de code, le processus de codage et de test est pris en charge par les outils. Résultat, on demande aux développeurs des compétences plus élevées et plus conceptuelles. Enfin, la délocalisation vers l'Inde et la Chine touche de plein fouet le métier de développeur.

  • Il est le "pro" des langages informatiques. Sous la direction d'un chef de projet qui consigne les besoins du client dans un cahier des charges (analyse fonctionnelle), le développeur détermine une solution technique et crée un modèle (analyse organique) du futur logiciel. Il écrit ensuite des lignes de code nécéssaires à son fonctionnement (programmation), participe aux phases d'essai, réalise la documentation technique, s'occupe du suivi et de la maintenance de son produit. Il peut également former les utilisateurs. Suivant la taille du projet, il peut être amené à participer à l'analyse fonctionnelle.
  • Dans le multimédia, les compétences requises ne sont pas les mêmes. Dans le domaine de l'Internet, sont demandées des connaissances spécifiques en langages (HTML, C ++, Java, Perl, etc...), en logiciels (Frontpage, Dreamweaver, etc...), et en système d'exploitation (Unix, Windows, Linux, etc...). Dans le multimédia off-line (cédéroms, bornes interactives, etc...) tout en travaillant avec le directeur artistique, le développeur reste le garant des spécifités techniques des divers programmes réalisés par les infographistes. Connaître Photoshop, Powerpoint, Flash est recommandé. Le développeur doit être capable d'apporter une fluidité à la navigation.

La connaissance d'un secteur d'activité est un atout. Rigueur, sens de la méthode, qualités relationnelles, rapidité d'exécution et facilité de s'adapter à de nouveaux langages sont autant de qualitées demandées. Il faut également faire preuve d'autonomie.

Le développeur peut travailler dans une SSII, chez un éditeur de logiciel ou dans une entreprise utilisatrice.

Top-down ou bottom-up ?

Le monde du développement informatique a été longtemps agité par la question suivante : devait-on développer

  • top-down, ce qui correspond à la décomposition progressive de Descartes évoquée ici. On va du complexe au simple.
    • Avantage : On est certain que la complexité de ce qu’on étudie se réduit à chaque étape
    • Inconvénient 1 : La manière de décomposer n’a pas de raison d’être unique, ergo il se peut qu’on ne choisisse pas la meilleure. Le problème se répète et se cumule à chaque nouvelle étape de décomposition.
    • Inconvénient 2 : Le découpage d’un problème en tranches peut escamoter involontairement les questions transversales qui n’appartiennent spécifiquement ni à une tranche, ni à une autre. Pire : au moment où on examine chaque tranche, on peut de bonne foi croire que le problème transversal est du ressort de l’autre. Or, pour un problème complexe il ne semble guère possible de garder en tête simultanément tous les problèmes transversaux en suspens, sauf dans les cas où l’on sait déjà très bien formaliser pour des raisons d’habitude

Ces considérations conduisent à ne pas remettre en cause le modèle top-down dans un cas : celui des problèmes qu’à quelques détails près on connaît bien.

  • bottom-up, ce qui correspond à la maîtrise progressive d’éléments simples, et que l’on combine pour cheminer vers une complexité de plus en plus grande. On va du simple au complexe.
    • Inconvénient : beaucoup d’essais et d’erreurs, et pas toujours dans les bonnes directions. On tâtonne.
    • Mais en contrepartie on se familiarise avec les éléments de la résolution, on voit où on met les pieds, on acquiert des bases stables.

Un pianiste qui fait des gammes, puis des accords, puis des arpèges, puis des exercices de déliateur avant d’attaquer des œuvres simples, puis de plus en plus compliquées travaille en bottom-up. En top-down, il prendrait d’emblée la Fantaisie impromptue de Chopin, puis la décomposerait, par exemple mesure par mesure. Cela marchera aussi, mais cela serait-il la méthode la plus efficace ?

Le chat qui attrape une souris travaille aussi en bottom-up, en jouant avec la souris et en acquérant peu à peu les concepts qui le rendent plus efficace. Il n’a pas de théorie générale sur l’apprentissage des souris, qu’il décompose en éléments pour vérifier chacun un par un.

Peindre la Joconde par la méthode de Descartes sur un écran 1024×1024 : couper le tableau en 4, puis chaque quart en quatre, jusqu’à ce qu’on tombe sur un pixel. On ne peut pas trouver plus simple ni plus petit. Il n’y a donc plus qu’à choisir la couleur du pixel. " Diviser chacune des difficultés que j’examinerais, en autant de parcelles qu’il se pourrait, et qu’il serait requis pour les mieux résoudre ", c’est fait. Est-on bien certain d’obtenir la Joconde par ce moyen ?

Cela suggère une approche où chaque méthode a son domaine d’usage optimal :

  • Le top-down pour tout ce qu’on maîtrise à peu près dans les grandes lignes
  • Le bottom-up pour explorer efficacement les terra incognita
Page générée en 0.047 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales | Partenaire: HD-Numérique
Version anglaise | Version allemande | Version espagnole | Version portugaise