Définition du génie logiciel
génie logiciel est une discipline qui consiste en un ensemble de méthodes, d’outils et de techniques utilisés dans le développement de logiciels ( logiciels ).
Cette discipline transcende l’activité de programmation , qui est le pilier fondamental lors de la création d’une application. L’ingénieur logiciel est responsable de la gestion complète du projet afin qu’il puisse être développé dans un délai donné et dans les limites du budget.
Le génie logiciel comprend donc l’analyse préalable de la situation, la conception du projet, le développement du logiciel, les tests nécessaires pour confirmer son bon fonctionnement et la mise en œuvre du système .
Il convient de noter que le processus de développement de logiciels comprend ce que l’on appelle le cycle de vie du logiciel , qui se compose de quatre étapes : conception, élaboration, construction et transition.
La conception définit la portée du projet et développe le modèle commercial ; l’élaboration définit le plan du projet, détaille les caractéristiques et fonde l’architecture ; la construction est le développement du produit ; et la transition est le transfert du produit fini aux utilisateurs.
Une fois ce cycle terminé, la maintenance du logiciel entre en jeu. C’est une phase de cette ingénierie où les bogues découverts (souvent remarqués par les utilisateurs eux-mêmes) sont corrigés et des mises à jour sont incorporées pour faire face aux nouvelles exigences. Le processus de maintenance intègre également de nouveaux développements, afin de permettre au logiciel de remplir un plus grand nombre de tâches.
Un domaine directement lié au génie logiciel est l’architecture des systèmes , qui consiste à déterminer et à schématiser la structure générale du projet, à schématiser son squelette avec un degré de spécificité relativement élevé et à indiquer les différents composants qui seront nécessaires pour réaliser le développement, tels que les applications et les bases de données complémentaires. C’est un point fondamental du processus, et c’est souvent la clé du succès d’un produit logiciel.
Les progrès technologiques et leur impact sur la vie sociale ont inévitablement affecté le processus de développement des logiciels pour diverses raisons, telles que l’accès aveugle des utilisateurs à certaines informations qu’ils ignoraient et ne pouvaient pas comprendre jusqu’à il y a quelques décennies, étant donné qu’ils ne possèdent pas le degré de connaissances techniques nécessaire. Un consommateur bien informé est un consommateur qui ne peut être trompé, car il sait ce dont il a besoin et a la capacité d’analyser les différentes offres sur le marché, en comparant les propositions et les performances des produits ; en revanche, un consommateur mal informé est comme un enfant capricieux qui pleure, crie et donne des coups de pied sans arrêt.
La première de toutes les étapes du travail effectué par les ingénieurs logiciels consiste à étudier en détail les caractéristiques que l’on estime nécessaires pour le programme à développer , et c’est à ce stade qu’ils doivent trouver un équilibre (de plus en plus difficile à atteindre) entre les exigences excessives des mauvais consommateurs et les possibilités de l’entreprise. Le temps, c’est de l’argent, et les entreprises du monde informatique le savent très bien.
Chaque fonction d’un programme, chaque caractéristique qui le rend plus confortable, plus intelligent, plus accessible, se traduit par un certain temps, qui à son tour porte les salaires de toutes les personnes impliquées dans son développement. Mais en plus du coût de production nécessaire pour réaliser chacune des parties d’un programme, le génie logiciel doit décider lesquelles d’entre elles ont un sens, sont cohérentes avec le reste et sont nécessaires pour communiquer clairement l’essence et les objectifs de l’application.