Qu'est-ce que le génie logiciel ? Définition, bases, caractéristiques

Qu'est-ce que le génie logiciel?

Le génie logiciel est défini comme un processus d'analyse des besoins des utilisateurs, puis de conception, de création et de test d'une application logicielle qui satisfera à ces exigences.

Examinons les différentes définitions du génie logiciel :

  • L'IEEE, dans sa norme 610.12-1990, définit le génie logiciel comme l'application d'une approche systématique et disciplinée, qui est une approche calculable, pour le développement, l'exploitation et la maintenance de logiciels.
  • Fritz Bauer l'a défini comme « l'établissement et l'utilisation de principes d'ingénierie standard ». Il vous aide à obtenir, de manière économique, des logiciels fiables et fonctionnant efficacement sur les machines réelles.
  • Boehm définit le génie logiciel, qui implique « l'application pratique des connaissances scientifiques à la conception créative et à la construction de programmes informatiques ». Il comprend également la documentation associée nécessaire à leur développement, à leur exploitation et à leur maintenance.

Pourquoi le génie logiciel ? Crise logicielle et sa solution

Quelle était la crise du logiciel ?

  • C’est à la fin des années 1960 que de nombreux projets logiciels ont échoué.
  • De nombreux logiciels ont dépassé leur budget. Le résultat était un logiciel peu fiable et coûteux à entretenir.
  • Les logiciels plus volumineux étaient difficiles et assez coûteux à maintenir.
  • De nombreux logiciels ne sont pas en mesure de satisfaire les exigences croissantes du client.
  • La complexité des projets logiciels augmentait à mesure que la capacité matérielle augmentait.
  • La demande de nouveaux logiciels a augmenté plus rapidement que la capacité à générer de nouveaux logiciels.

Tous les problèmes ci-dessus conduisent à une « crise logicielle ».

La solution

La solution au problème consistait à transformer l’effort de codage non organisé en une discipline de génie logiciel. Ces modèles d'ingénierie ont aidé les entreprises à rationaliser leurs opérations et à fournir des logiciels répondant aux exigences des clients.

  • La fin des années 1970 a vu l’utilisation généralisée des principes du génie logiciel.
  • Dans les années 1980, le processus de génie logiciel a été automatisé et le génie logiciel assisté par ordinateur (CASE) s'est développé.
  • Les années 1990 ont vu une importance accrue accordée aux aspects de « gestion » des normes de qualité et des processus des projets, tout comme la norme ISO 9001.

Pourquoi le génie logiciel est-il populaire ?

Voici les raisons importantes qui expliquent la popularité du génie logiciel :

Pourquoi le génie logiciel est populaire

  • Gros logiciel – Dans notre vie réelle, il est bien plus confortable de construire un mur qu’une maison ou un immeuble. De la même manière, à mesure que la taille du logiciel devient grande, le génie logiciel vous aide à créer des logiciels.
  • Évolutivité- Si le processus de développement logiciel était basé sur des concepts scientifiques et techniques, il serait plus facile de recréer un nouveau logiciel pour faire évoluer un logiciel existant.
  • Adaptabilité: Chaque fois que le processus logiciel était basé sur la science et l'ingénierie, il est facile de recréer de nouveaux logiciels à l'aide du génie logiciel.
  • Coût- L'industrie du matériel informatique a montré ses compétences et une fabrication massive a réduit le coût du matériel informatique et électronique.
  • Nature dynamique– Caractère toujours croissant et adaptatif du logiciel. Cela dépend de l'environnement dans lequel l'utilisateur travaille.
  • Gestion de la qualité: Offre une meilleure méthode de développement de logiciels pour fournir des produits logiciels de qualité.

Relation du génie logiciel avec d'autres disciplines

Voici comment le génie logiciel est lié aux autres disciplines :

  • L'informatique: Donne la base scientifique du logiciel car le génie électrique dépend principalement de la physique.
  • Science du management: Le génie logiciel est un travail à forte intensité de main d'œuvre qui exige un contrôle à la fois technique et managérial. Il est donc largement utilisé en sciences de gestion.
  • Économie: Dans ce secteur, le génie logiciel vous aide à estimer les ressources et à contrôler les coûts. Un système informatique doit être développé et les données doivent être entretenues régulièrement dans le cadre d'un budget donné.
  • Ingénierie système: La plupart des logiciels font partie d’un système beaucoup plus vaste. Par exemple, le logiciel d'un système de surveillance industriel ou le logiciel de vol d'un avion. Les méthodes de génie logiciel doivent être appliquées à l’étude de ce type de systèmes.

Les défis du génie logiciel

Voici quelques défis critiques auxquels sont confrontés les ingénieurs logiciels :

  • Dans les domaines critiques pour la sécurité tels que l’espace, l’aviation, les centrales nucléaires, etc., le coût d’une panne logicielle peut être énorme car des vies sont en danger.
  • Demandes croissantes du marché pour des délais d’exécution rapides.
  • Faire face à la complexité croissante des besoins logiciels en matière de nouvelles applications.
  • La diversité des systèmes logiciels doit communiquer entre eux.

Attributs des produits logiciels

Les caractéristiques de tout produit logiciel incluent les fonctionnalités affichées par le produit lors de son installation et de sa mise en service.

Il ne s'agit pas des services fournis par le produit. Au lieu de cela, ils sont liés au comportement dynamique du produit et à l'utilisation qui en est faite.

Des exemples de ces attributs sont :

Efficiency, reliability, robustness, maintainability, etc. 

Cependant, l'importance relative de ces caractéristiques varie d'un système logiciel à l'autre.

Caractéristiques du produit Description
Consommabilité Le logiciel doit évoluer pour répondre aux demandes changeantes des clients.
FIABILITÉ La fiabilité comprend diverses caractéristiques. Un logiciel fiable ne devrait jamais causer de dommages physiques ou économiques au moment d'une panne du système.
Efficacité L'application logicielle doit surutiliser les ressources du système telles que la mémoire et le cycle du processeur.
Convivialité L'application logicielle doit avoir une interface utilisateur et une documentation spécifiques.

L'optimisation de l'attribut ci-dessus est très difficile. Par exemple, offrir une meilleure interface utilisateur peut réduire l’efficacité du système.

Caractéristiques d'un bon logiciel

Tout logiciel doit être jugé en fonction de ce qu'il propose et des méthodes qui vous aident à l'utiliser.

Chaque logiciel doit satisfaire aux attributs suivants :

  • Efficacité
  • De transition
  • Entretien

Voici quelques caractéristiques importantes d’un bon logiciel développé par des professionnels du logiciel

Efficacité

Cette caractéristique nous permet de connaître le bon fonctionnement du logiciel dans les opérations qui peut être mesurée sur :

  • Le budget
  • Efficacité
  • Convivialité
  • FIABILITÉ
  • Correction
  • Fonctionnalités
  • Sécurité
  • Sécurité

De transition

C’est un aspect essentiel lorsque le logiciel passe d’une plateforme à une autre :

  • Interopérabilité
  • Réutilisable
  • Portabilité
  • Adaptabilité

Entretien

Cet aspect témoigne de la capacité du logiciel à s'adapter à un environnement en évolution rapide :

  • Flexibilité
  • Consommabilité
  • Modularité
  • Évolutivité

Résumé

  • Le génie logiciel est un processus d'analyse des besoins des utilisateurs, puis de conception, de création et de test d'une application logicielle qui satisfera à ces exigences.
  • Les raisons importantes d'utiliser le génie logiciel sont : 1) Logiciel volumineux, 2) Évolutivité 3) Adaptabilité 4) Coût et 5) Nature dynamique.
  • À la fin des années 1960, de nombreux logiciels dépassent leur budget. Il propose donc des logiciels peu fiables et coûteux à maintenir.
  • La fin des années 1970 a vu l’utilisation généralisée des principes du génie logiciel.
  • Concept de génie logiciel 1) Informatique 2) Sciences de gestion 3) Ingénierie système et 4) Économie
  • Les exigences croissantes du marché en matière de délais d’exécution rapides constituent le plus grand défi du domaine du génie logiciel.
  • 1) La maintenabilité, 2) la fiabilité, 3) l'efficacité et 4) la convivialité sont les attributs les plus importants des produits logiciels.
  • Les trois caractéristiques les plus importantes d’un bon logiciel sont 1) Operationnel 2)Transitoire 3)Maintenance.