img

Pourquoi faut-il comprendre les besoins avant de programmer?

18 juin 2014 | Québec

Avant d’écrire du code, il faut savoir quel problème on cherche à résoudre.

Lorsqu’on pense au travail d’un programmeur-analyste, la programmation vient naturellement à l’esprit. Pourtant, concevoir une application ne consiste pas à simplement maîtriser un langage de programmation et à commencer à écrire du code.

 

Une étape essentielle vient avant : comprendre les besoins auxquels la solution devra répondre. Qui utilisera l’application? Dans quel contexte? Quel problème doit-elle résoudre? Quelles fonctions sont réellement nécessaires?

 

Cette capacité d’analyse fait partie intégrante du travail en développement logiciel. Elle permet de transformer un besoin, parfois exprimé de manière générale, en une solution informatique cohérente, fonctionnelle et adaptée aux utilisateurs.

 

C’est d’ailleurs une dimension importante du programme de Programmeur-analyste – LEA.9C du Collège CDI. La formation vise notamment à développer la capacité d’analyse des besoins des utilisateurs afin de concevoir et de réaliser les systèmes d’information requis.

Comprendre le problème avant de chercher la solution

Imaginez qu’une entreprise souhaite une application permettant à ses employés de gérer des demandes internes. Cette description donne une idée générale du projet, mais elle ne suffit pas pour commencer à programmer.

 

Quels types de demandes peuvent être soumis? Qui peut les consulter? Certaines doivent-elles être approuvées? Les utilisateurs doivent-ils recevoir des notifications? Faut-il conserver un historique? Certains renseignements doivent-ils être accessibles uniquement à certaines personnes?

 

Les réponses peuvent modifier considérablement la conception de l’application.

 

L’analyse des besoins sert donc à préciser ce que la solution doit accomplir avant de déterminer comment elle sera développée.

 

Cette distinction est fondamentale. Une application peut être techniquement fonctionnelle tout en répondant mal au problème qu’elle devait résoudre.

Qu’est-ce que l’analyse des besoins en programmation?

L’analyse des besoins consiste à recueillir, comprendre et organiser l’information nécessaire à la conception d’une solution informatique.

 

Selon le projet, il peut notamment être nécessaire de déterminer :

 

  • les objectifs de l’application;
  • les personnes qui l’utiliseront;
  • les tâches qu’elles devront pouvoir accomplir;
  • les données nécessaires à son fonctionnement;
  • les différentes fonctions à prévoir;
  • les contraintes auxquelles la solution devra répondre.

Cette réflexion permet progressivement de passer d’une idée ou d’un problème à une représentation beaucoup plus précise de la solution à développer.

 

C’est là que la partie « analyste » du métier de programmeur-analyste prend tout son sens. Le catalogue du programme de Programmeur-analyste – LEA.9C associe d’ailleurs explicitement la profession à l’analyse fonctionnelle, à la programmation, aux tests et à la maintenance des applications.

Pourquoi ne pas commencer directement à programmer?

Parce que du code parfaitement écrit ne garantit pas qu’une application sera utile.

 

Si les besoins ont été mal compris au départ, l’équipe peut développer une fonction dont les utilisateurs n’ont pas réellement besoin, oublier une fonction importante ou concevoir un fonctionnement qui ne correspond pas à la réalité du milieu d’utilisation de l’application.

 

Il faudra alors revenir sur certaines décisions, modifier la conception et, parfois, reprendre une partie du développement.

 

À l’inverse, une bonne compréhension du besoin permet de donner une direction au projet. Les choix techniques peuvent alors être faits en fonction d’un objectif clairement défini.

 

Autrement dit, programmer permet de construire la solution; analyser permet d’abord de déterminer quelle solution il faut construire.

Transformer les besoins en fonctions concrètes

Les utilisateurs ne décrivent pas nécessairement leurs besoins en langage de programmation.

 

Une personne pourrait dire : « J’aimerais pouvoir retrouver rapidement les dossiers de mes clients. »

 

Pour le programmeur-analyste, cette demande soulève plusieurs questions. Quels renseignements permettent d’effectuer une recherche? Peut-on rechercher par nom, numéro de dossier ou date? Quels résultats doivent apparaître? Qui peut consulter les dossiers? Comment les données seront-elles organisées?

 

Un besoin simplement exprimé peut donc entraîner plusieurs décisions concernant l’interface, les fonctionnalités, les données et la logique de l’application.

 

Le rôle d’analyse consiste notamment à établir le lien entre ce que l’utilisateur cherche à accomplir et ce que le système devra permettre.

L’analyse se poursuit pendant le développement

Comprendre les besoins n’est pas nécessairement une activité à effectuer une seule fois au début d’un projet.

 

Au cours de la conception, du développement et des essais, de nouvelles questions peuvent surgir. Une fonction imaginée au départ peut se révéler trop complexe, un cas particulier peut avoir été oublié ou les essais peuvent montrer qu’une interaction devrait être repensée.

 

Le développement logiciel comporte donc des allers-retours entre l’analyse, la conception, la programmation et la validation.

 

Le catalogue du programme de Programmeur-analyste – LEA.9C reflète cette diversité des tâches : il mentionne l’analyse et la conception, la construction, la mise à l’essai, l’implantation, l’intégration et l’amélioration fonctionnelle des logiciels existants.

De l’analyse à la réalisation d’un projet

Comprendre un besoin n’aurait évidemment peu d’utilité sans être ensuite capable de le transformer en une solution fonctionnelle.

 

C’est pourquoi l’analyse et la programmation sont complémentaires.

 

La formation de Programmeur-analyste – LEA.9C comprend notamment la programmation Web, la programmation orientée objet, les bases de données, le développement d’applications mobiles et le développement Web côté serveur.

 

Elle comprend également un cours d’Approche structurée à la résolution de problèmes, ainsi que du Développement et gestion de projets, deux projets d’intégration et un projet de fin d’études – Intégration.

 

L’ensemble permet de mieux comprendre pourquoi la programmation ne peut pas être considérée isolément : elle s’inscrit dans un processus plus large allant de l’analyse d’un problème jusqu’à la réalisation et à la validation d’une solution.

Une compétence au cœur du métier de programmeur-analyste

Savoir programmer demeure évidemment une composante importante du métier. Mais le programmeur-analyste doit également être capable de comprendre une situation, d’identifier les besoins et de réfléchir à la manière dont une solution informatique peut y répondre.

 

Cette dimension explique en partie pourquoi les compétences en analyse et en résolution de problèmes occupent une place aussi importante dans le développement logiciel.

 

Le programme de Programmeur-analyste – LEA.9C du Collège CDI prépare les étudiants à développer des applications dans divers environnements et à acquérir des compétences en analyse et en programmation.

 

Comprendre le besoin avant de programmer, c’est donc commencer un projet par la bonne question : non pas « Qu’allons-nous coder? », mais « Quel problème devons-nous résoudre? »

Foire aux questions

1. Pourquoi l’analyse des besoins est-elle importante en programmation?
Elle permet de déterminer ce qu’une application doit réellement accomplir avant de commencer son développement. Une bonne compréhension des utilisateurs, des objectifs et des fonctions nécessaires aide à orienter la conception de la solution et à réduire le risque de développer des fonctionnalités qui ne répondent pas au problème initial.

 

2. Quelle est la différence entre analyser et programmer?
L’analyse vise notamment à comprendre le problème, les besoins des utilisateurs et les fonctionnalités que la solution devra offrir. La programmation consiste ensuite à utiliser des langages, des outils et des méthodes de développement pour concrétiser cette solution. Dans le travail du programmeur-analyste, ces deux dimensions sont étroitement liées.

 

3. Apprend-on l’analyse dans le programme de Programmeur-analyste – LEA.9C?
Oui. Les objectifs de la formation mentionnent explicitement l’analyse fonctionnelle et le développement de la capacité d’analyser les besoins des utilisateurs afin de concevoir et de réaliser les systèmes d’information requis. Le programme comprend également un cours consacré à l’approche structurée de la résolution de problèmes ainsi que des projets d’intégration.

Pour aller plus loin

👉 Programmation et développement Web : comprendre le domaine et ses perspectives

 

👉 Résolution de problèmes : une compétence essentielle en programmation

 

👉 Le programmeur-analyste : bien plus que du code

 

👉 En savoir plus sur le programme de Programmeur-analyste – LEA.9C du Collège CDI

Souhaitez-vous obtenir plus d'information ou vous inscrire?

Cliquez sur le bouton ci-dessous et un conseiller communiquera avec vous dès que possible.