Analyste informatique - Fiche métier : Tâches, compétences et formation
Consultez tous les offres d'emplois pour Analyste Informatique
Que fait un Analyste informatique ? Définition et fiche métier
L'analyste informatique (en anglais software analyst) est le professionnel informatique qui s'occupe d'analyser les besoins et exigences de business des clients qui lui demandent des logiciels, afin de produire des spécifications techniques et projets qui constitueront ensuite la base du processus de développement de logiciel.
Le travail de l'analyste informatique se situe donc au début du projet software, et il a un rôle de médiateur entre les clients et les développeurs du logiciel.
Voyons donc ce que fait un analyste informatique :
Avant tout, l'analyste informatique rencontre les clients qui ont besoin de développer un nouveau logiciel ou qui souhaitent modifier un programme existant (réingénierie).
Il recueille des informations détaillées quant au type et aux fonctionnalités du logiciel à développer, aux objectifs et attentes du client, au contexte d'utilisation et, en général, à tout ce qui peut être utile pour définir les caractéristiques que le logiciel devra avoir (requirement elicitation), car si les nécessités du client sont mal comprises le projet software est voué à l'échec.
Le software analyst recueille par exemple des informations quant aux processus et structures de l'entreprise, afin de comprendre comment automatiser certaines procédures (la gestion des stocks, la comptabilité, etc.) grâce au logiciel.
Si le logiciel existe déjà, l'analyste informatique devra également effectuer des entretiens et test avec les utilisateurs finaux, afin d'évaluer comment ils utilisent actuellement le logiciel, les interactions et les étapes critiques, mais aussi ce que les utilisateurs attendent de l'application.
L'analyste informatique n'est en effet pas uniquement chargé de traduire les requêtes des clients en projets et logiciels qui fonctionnent, mais aussi de les coordonner avec les exigences des autres personnes concernées (développeurs et utilisateurs).
Ainsi, l'analyste informatique analyse les données qu'il a recueilli, identifie le domaine d'application et prépare un document contenant les spécifications et exigences techniques du système logiciel à développer, que l'on appelle Software Requirement Specification (SRS).
Ce document explique de manière détaillée les caractéristiques fonctionnelles et le comportement du logiciel, l'architecture du système logiciel, les langages de programmation à utiliser, les exigences formelles ou standards à satisfaire, les frais, temps et ressources de développement nécessaires à la réalisation.
En phase de conception, le software analyst utilise généralement des modèles UML (Unified Modeling Language) pour construire le système et communiquer avec le client et les développeurs/programmateurs. ULM est un langage basé sur des diagrammes (structure diagrams e behavior diagrams), employé dans les projets logiciels pour spécifier, visualiser, construire et documenter les composants d'un système logiciel et son fonctionnement.
Lorsque le client approuve le projet, l'analyste informatique transmet à l'équipe de développement les directives pour la réalisation du logiciel (le résultat voulu et le processus pour l'obtenir).
Dans les grandes entreprises, l'analyste informatique et le software developer sont des profils distincts, et leurs tâches sont différentes : le premier se consacre à la partie initiale du projet logiciel (de l'idée à la définition et l'analyse des exigences, puis à la conception), tandis que le développeur se concentre sur la phase d'implémentation (coding, debugging, testing) à partir du projet de l'analyste.
Dans les contextes plus restreints, le software analyst est également chargé de la réalisation du logiciel, et ses fonctions sont alors proches de celles d'un programmeur, ainsi que du testing du logiciel (lorsqu'il n'existe pas de testeur logiciel).
Dans tous les cas, l'analyste informatique est le professionnel qui connaît mieux les exigences et les caractéristiques du logiciel à concevoir : il supervise donc l'ensemble du développement logiciel, afin de s'assurer que le client reçoit le produit voulu, et il intervient pour aider les programmeurs lors de la réalisation, par exemple pour mieux définir les task que le logiciel doit exécuter ou comment l'interface utilisateur doit se présenter.
Avant la livraison (delivery) au client, l'analyste informatique vérifie que le logiciel fonctionne, mais aussi qu'il respecte les exigences établies et qu'il répond aux objectifs de business de l'entreprise. Il suit l'installation et l'essai du logiciel et se rend disponible pour fournir son assistance au client et résoudre les éventuels problèmes liés à l'utilisation du logiciel.
De plus, grâce à sa connaissance approfondie du logiciel développé, le software analyst collabore souvent à la rédaction du mode d'emploi et de la documentation technique.
Où travaille un analyste informatique ?
Les software analyst travaillent le plus souvent pour les software house, des entreprises informatiques et sociétés de conseil informatique, ou comme conseillers freelance. Ils peuvent également travailler dans le service informatique de grandes entreprises qui disposent de personnel interne pour le développement, l'amélioration et la maintenance des logiciels de l'entreprise.
En général l'analyste informatique participe à des projets logiciels gérés par un chef de projet et collabore activement avec l'équipe de développement logiciel (composée de développeurs logiciels, architectes logiciels, programmateurs, ingénieurs système, techniciens informatiques, etc.).
Mais les projets logiciels ne sont pas tous pareils : ils peuvent avoir pour objectif le développement de logiciels de gestion, systèmes de paiement en ligne, applications Web, app pour smartphone, etc. et demander des ressources et temps de réalisation plus ou moins consistants. Il est donc souvent demandé à l'analyste informatique d'être flexible sur les heures et disposé à travailler tard le soir, en particulier lorsque l'échéance du projet est proche.
Autres noms pour cette profession : Software Analyst
Emplois similaires : Analyste Fonctionnel Informatique, Analyste Sécurité Informatique, Stage Analyste Programmeur
Analyste informatique - Tâches et fonctions
Les principales fonctions d'un analyste informatique sont les suivantes :
- Recueillir et interpréter les exigences des clients et des utilisateurs
- Analyser les données recueillies et les traduire en un projet logiciel
- Réaliser des modèles UML et des diagrammes
- Rédiger un document indiquant les caractéristiques et les spécifications techniques du logiciel
- Coordonner le groupe de programmeurs et développeurs de logiciels
- Participer à la rédaction du code source
- Vérifier que le logiciel développé répond aux exigences de business définies
- Identifier les procédures de gestion, mise à jour et maintenance du logiciel
- Fournir des conseils afin d'améliorer l'efficacité de l'application et pour la réingénierisation des logiciels existants
Comment devenir analyste informatique : Formation et qualités requises
Pour devenir analyste informatique, les diplômes les plus adaptés sont les DUT ou BTS informatique, une licence ou un master en informatique, ou encore un diplôme d'ingénieur informatique.
En alternative, il est possible de suivre des cours pour analyste informatique, qui permettent d'acquérir des compétences en programmation dans les différents langages (C#, C++, Java, MySQL, .NET, etc.), en architecture du logiciel et en software analysis & testing, nécessaires pour participer à un processus de développement logiciel moderne et réaliser des produits qui répondent aux exigences prédéfinies.
La formation d'un analyste informatique est complétée par la connaissance des outils C.A.S.E. (Computer Aided Software Engineering) et des environnements de développement IDE (Integrated Development Environment) les plus utilisés.
Après l'étude théorique, il est fondamental d'acquérir une bonne expérience sur le terrain en participant à de vrais projets et de se mettre à jour constamment sur les nouvelles technologies et les tendances dans le domaine du software development.
Compétences d'un analyste informatique
Les compétences et caractéristiques personnelles que doit posséder un bon analyste informatique sont les suivantes :
- Compétences dans la conception logicielle
- Capacités en programmation object-oriented (OO) et en component based software engineering (CBSE)
- Compétences en software analysis & testing
- Capacités de rédiger des spécifications techniques et fonctionnelles
- Connaissance des principaux outils de développement
- Excellentes capacités d'analyse
- Prédisposition au travail en équipe et par objectifs
- Bonnes capacités en communication et relations personnelles
- Attention à l'égard du client
- Capacité de résolution des problèmes
- Flexibilité et résistance au stress
Analyste informatique - Évolution de carrière
L'analyste informatique a des compétences complexes : avant de pouvoir exercer ce rôle, il doit donc acquérir des années d'expérience dans le développement logiciel, par exemple comme programmeur ou développeur junior.
Les possibilités de carrière d'un analyste informatique dépendent des compétences acquises, par exemple dans un langage de programmation (C, Java, MySQL, Visual Basic, PHP, ASP, etc.) spécifique. Il est également possible de se spécialiser comme QA/Software Test Analyst, le professionnel qui vérifie la qualité du logiciel à livrer au client.
Les personnes qui dénotent de bonnes capacités managériales peuvent penser à développer une carrière ascendante et gérer des projets logiciels comme chef de projet.
Les principaux attraits du métier de analyste informatique
La profession de l'analyste informatique est idéale pour les personnes qui sont passionnées par le monde du développement logiciel et souhaitent faire carrière dans l'informatique.
Il s'agit d'un travail varié, compétitif et très stimulant : l'analyste informatique doit trouver les meilleures solutions pour développer des applications et logiciels qui répondent aux exigences des clients.
Les analystes informatiques sont très recherchés sur le marché du travail et ils ont d'excellentes perspectives de d'emploi et de carrière. De plus, les salaires sont relativement élevés, bien que la rémunération puisse varier en fonction de l'entreprise, du secteur et de l'ancienneté.