Ingénieur logiciel
L’ingénieur logiciel a pour mission d’analyser et de modéliser des savoir-faire « métier » afin d’en rendre l’application plus aisée, plus simple à mettre en œuvre, tout en apportant la fiabilité, la sûreté d’exécution et la maintenabilité requises les maîtres d’ouvrage.
A partir d’un Cahier des Charges ou de Spécifications Fonctionnelles Techniques, l’ingénieur logiciel réalise une analyse fonctionnelle, rédige les spécifications techniques et conçoit l’architecture des futurs logiciels.
Il réalise la conception préliminaire, puis la conception détaillée qui serviront d’entrée à l’écriture des logiciels.
Ensuite, ces logiciels sont testés, intégrés et validés afin de garantir la conformité du produit final par rapport aux expressions de besoins et exigences initiales.
Tout au long du développement, l’ingénieur logiciel devra respecter avec une très grande rigueur les méthodes de conception en vigueur ainsi que les règles de codage définies dans le Plan Qualité afin de livrer un code efficace, performant, fiable et maintenable.
Selon l’importance et la complexité du projet, le développement logiciel pourra être réparti entre plusieurs équipes, par exemple :
- Conception et codage,
- Intégration,
- Validation.
Même s’il ne participe pas à toutes ces étapes sur un même projet, l’ingénieur logiciel sera amené à les connaître au cours de ses affectations successives.
Les phases de test revêtent une importance de plus en plus grande car les systèmes complexes sur lesquels nous travaillons doivent être maintenus et adaptés sur de longues périodes et les tests de bon fonctionnement (ou de non régression) doivent être régulièrement exécutés, de plus en plus souvent de manière automatique.
Les méthodes d’automatisation des tests constituent maintenant une compétence à part entière vers laquelle s’orientent de nombreux ingénieurs logiciels.