Qu'est-ce que le génie logiciel ? Caractéristiques et définition
⚡ Résumé intelligent
Le génie logiciel est le processus rigoureux d'analyse des besoins, suivi de la conception, du développement et des tests de logiciels répondant à ces besoins. Cette ressource explique ses définitions, la crise du logiciel qui l'a engendré, sa popularité, les disciplines connexes, les défis rencontrés et les caractéristiques d'un logiciel de qualité.

Qu'est-ce que le génie logiciel?
Le génie logiciel se définit comme le processus d'analyse des besoins des utilisateurs, puis de conception, de construction et de test d'une application logicielle qui répondra à ces besoins.
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, disciplinée et calculable au développement, à l'exploitation et à la maintenance des logiciels.
- Fritz Bauer la définissait comme « l’établissement et l’utilisation de principes d’ingénierie standard. Cela permet d’obtenir, à moindre coût, un logiciel fiable et performant sur des machines réelles ».
- Boehm définit le génie logiciel comme « l'application pratique des connaissances scientifiques à la conception et à la réalisation créatives de programmes informatiques. Il inclut également la documentation associée nécessaire au développement. »ping, les exploiter et les entretenir. »
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é les budgets prévus. Le résultat : des logiciels peu fiables et coûteux à maintenir.
- Les logiciels plus volumineux étaient difficiles et assez coûteux à maintenir.
- De nombreux logiciels n'ont pas été en mesure de satisfaire les exigences croissantes des clients.
- La complexité des projets logiciels augmentait à mesure que leurs capacités matérielles augmentaient.
- La demande de nouveaux logiciels a augmenté plus rapidement que la capacité à générer de nouveaux logiciels.
Tous les problèmes mentionnés ci-dessus ont conduit à la «crise du logiciel».
La solution
La solution à ce problème a consisté à transformer les efforts de codage non structurés en une discipline d'ingénierie logicielle. Ces modèles d'ingénierie ont permis aux entreprises de rationaliser leurs opérations et de fournir des logiciels répondant aux exigences des clients.
- La fin des années 1970 a vu une utilisation généralisée des principes du génie logiciel.
- Les années 1980 ont vu l'automatisation du processus d'ingénierie logicielle et la croissance de l'ingénierie logicielle assistée par ordinateur (CASE).
- Les années 1990 ont vu une importance accrue accordée aux aspects « de gestion » des projets et aux normes de qualité et de processus, à l'instar de la norme ISO 9001.
Pourquoi le génie logiciel est-il populaire ?
Voici les raisons importantes qui expliquent la popularité du génie logiciel :
- Gros logiciel Dans la réalité, il est bien plus facile de construire un mur qu'une maison ou un immeuble. De même, à mesure que la taille d'un logiciel augmente, le génie logiciel vous aide à le concevoir.
- Évolutivité – Si le processus de développement logiciel repose sur des concepts scientifiques et d'ingénierie, il est plus facile de recréer un nouveau logiciel pour adapter un logiciel existant.
- Adaptabilité – Lorsque le processus logiciel repose sur des principes scientifiques et d'ingénierie, il est facile de recréer un nouveau logiciel grâce au génie logiciel.
- Prix – L’industrie du matériel informatique a démontré son savoir-faire, et la production massive a permis de réduire le coût des ordinateurs et du matériel électronique.
- Nature dynamique – La nature évolutive et adaptable des logiciels. Elle dépend de l'environnement de travail de l'utilisateur.
- Gestion de la qualité – Propose une meilleure méthode de développement logiciel pour fournir des produits logiciels de qualité.
Relation du génie logiciel avec d'autres disciplines
Voici comment le génie logiciel se rattache à d'autres disciplines :
- L'informatique: Elle fournit les bases scientifiques du logiciel, tout comme la physique est les bases du génie électrique.
- 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. C'est pourquoi il est largement utilisé en sciences de gestion.
- Économie: Dans ce secteur, le génie logiciel vous aide à estimer les ressources et à maîtriser les coûts. Un système informatique doit être développé et les données doivent être régulièrement mises à jour dans le respect du budget alloué.
- Ingénierie système: La plupart des logiciels font partie d'un système beaucoup plus vaste, comme par exemple le logiciel d'un système de surveillance industrielle ou le logiciel de pilotage d'un avion. Les méthodes du génie logiciel doivent être appliquées à l'étude de ces types 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 secteurs critiques pour la sécurité tels que l'espace, l'aviation et les centrales nucléaires, le coût d'une défaillance logicielle peut être colossal car des vies sont en jeu.
- Demandes croissantes du marché pour des délais d’exécution rapides.
- Gérer la complexité accrue des logiciels nécessaires aux nouvelles applications.
- La diversité des systèmes logiciels qui devraient communiquer entre eux.
Attributs des produits logiciels
Les caractéristiques de tout logiciel comprennent des fonctionnalités qui sont affichées par le produit lorsqu'il est installé et mis en service.
Il ne s'agit pas des services fournis par le produit lui-même, mais plutôt de son comportement dynamique et de l'usage qui en est fait.
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 ne doit pas surutiliser les ressources système telles que la mémoire et les cycles du processeur. |
| Convivialité | L'application logicielle doit comporter une interface utilisateur et une documentation appropriées. |
Optimiser les attributs mentionnés ci-dessus est très complexe. Par exemple, proposer une meilleure interface utilisateur peut réduire l'efficacité du système.
Caractéristiques d'un bon logiciel
Tout logiciel doit être jugé selon ce qu'il offre et les méthodes qui facilitent son utilisation.
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 savoir dans quelle mesure le logiciel fonctionne correctement en production, ce qui peut être mesuré sur :
- 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 aborde la capacité du logiciel à s'adapter à un environnement en constante évolution :
- Souplesse
- Consommabilité
- Modularité
- Évolutivité

