Qu'est-ce que le génie logiciel?
L'ingénierie logicielle est définie comme un processus d'analyse des exigences des utilisateurs, puis de conception, de construction et de test d'une application logicielle qui satisfera ces exigences.
Regardons 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, qui est une approche calculable pour le développement, l'exploitation et la maintenance des logiciels.
- Fritz Bauer l'a défini comme «l'établissement et a utilisé des principes d'ingénierie standard. Il vous aide à obtenir, économiquement, un logiciel fiable et fonctionnant efficacement sur les vraies machines.
- 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 pour les développer, les exploiter et les maintenir. »
Dans ce didacticiel de génie logiciel, vous apprendrez:
- Qu'est-ce que le génie logiciel?
- Pourquoi le génie logiciel? Crise logicielle et sa solution
- Pourquoi le génie logiciel est-il populaire?
- Relation du génie logiciel avec d'autres disciplines
- Les défis du génie logiciel
- Attributs des produits logiciels
- Caractéristiques d'un bon logiciel
Pourquoi le génie logiciel? Crise logicielle et sa solution:
Quelle a été 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é le budget. La sortie était un logiciel peu fiable dont la maintenance est coûteuse.
- Un logiciel plus volumineux était difficile et assez coûteux à entretenir.
- De nombreux logiciels ne sont pas en mesure de satisfaire les exigences croissantes du client.
- La complexité des projets logiciels augmentait chaque fois que sa capacité matérielle augmentait.
- La demande de nouveaux logiciels a augmenté plus rapidement que la capacité de générer de nouveaux logiciels.
Tous les problèmes ci-dessus mènent à une «crise logicielle».
La solution
La solution au problème consistait à transformer l'effort de codage non organisé en une discipline du 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 répandue des principes du génie logiciel.
- Dans les années 1980, on a assisté à l'automatisation des processus de génie logiciel et à la croissance du génie logiciel assisté par ordinateur (CASE).
- Les années 90 ont vu un accent accru sur les aspects `` gestion '' des projets standard de qualité et de processus tout comme ISO 9001
Pourquoi le génie logiciel est-il populaire?
Voici les raisons importantes de la popularité du génie logiciel:
- Grands logiciels - Dans notre vie réelle, il est bien plus confortable de construire un mur qu'une maison ou un bâtiment. De la même manière, à mesure que la taille du logiciel devient importante, l'ingénierie logicielle vous aide à créer des logiciels.
- Évolutivité - Si le processus de développement logiciel était basé sur des concepts scientifiques et d'ingénierie, il est plus facile de recréer un nouveau logiciel pour mettre à l'échelle 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 un nouveau logiciel à l'aide de l'ingénierie logicielle.
- Coût - L'industrie du matériel a montré ses compétences et une fabrication massive a réduit le coût de l'ordinateur et du matériel électronique.
- Nature dynamique - Nature toujours croissante et adaptative 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 logiciel pour fournir des produits logiciels de qualité.
Relation du génie logiciel avec d'autres disciplines
Ici, comment le génie logiciel est lié à d'autres disciplines:
- Informatique: Donne les bases scientifiques du logiciel car l'ingénierie électrique dépend principalement de la physique.
- Science de la gestion: Le génie logiciel est un travail à forte intensité de main-d'œuvre qui exige à la fois un contrôle technique et de gestion. Par conséquent, il est largement utilisé en science de gestion.
- Economie: Dans ce secteur, le génie logiciel vous aide dans l'estimation des ressources et le contrôle des coûts. Le système informatique doit être développé et les données doivent être maintenues 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 dans un système de surveillance de l'industrie ou le logiciel de vol sur un avion. Des méthodes de génie logiciel devraient ê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 défaillance logicielle peut être énorme car des vies sont en danger.
- Augmentation de la demande du marché pour des délais d'exécution rapides.
- Faire face à la complexité accrue des besoins logiciels pour de nouvelles applications.
- La diversité des systèmes logiciels devrait communiquer entre eux.
Attributs des produits logiciels
Les caractéristiques de tout produit logiciel incluent des fonctionnalités qui sont affichées par le produit lors de son installation et de sa mise en service.
Ce ne sont pas les services fournis par le produit. Au lieu de cela, ils ont été liés au comportement dynamique des produits 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 |
Maintenabilité | Le logiciel doit évoluer pour répondre aux demandes changeantes des clients. |
Fiabilité | La fiabilité comprend diverses caractéristiques. Un logiciel fiable ne doit jamais causer de dommages physiques ou économiques au moment de la défaillance du système. |
Efficacité | L'application logicielle doit abuser des ressources 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 les attributs suivants:
- Opérationnel
- De transition
- Maintenance
Voici quelques caractéristiques importantes d'un bon logiciel développé par des professionnels du logiciel
Opérationnel
Cette caractéristique nous permet de savoir dans quelle mesure le logiciel fonctionne dans les opérations qui peuvent être mesurées sur:
- Budget
- Efficacité
- Convivialité
- Fiabilité
- Exactitude
- Fonctionnalité
- Sécurité
- Sécurité
De transition
C'est un aspect essentiel lorsque le logiciel est déplacé d'une plateforme à une autre:
- Interopérabilité
- Réutilisabilité
- Portabilité
- Adaptabilité
Maintenance
Cet aspect explique dans quelle mesure le logiciel a les capacités de s'adapter à un environnement en évolution rapide:
- Souplesse
- Maintenabilité
- Modularité
- Évolutivité
Résumé
- Le génie logiciel est un processus d'analyse des exigences des utilisateurs, puis de conception, de construction et de test d'une application logicielle qui satisfera ces exigences.
- Les raisons importantes d'utiliser l'ingénierie logicielle sont: 1) Grand logiciel, 2) Évolutivité 3) Adaptabilité 4) Coût et 5) Nature dynamique.
- À la fin des années 1960, de nombreux logiciels dépassent le budget. Par conséquent, il offre des logiciels peu fiables et coûteux à entretenir.
- La fin des années 1970 a vu l'utilisation répandue des principes du génie logiciel.
- Concept de génie logiciel 1) Informatique 2) Sciences de la gestion 3) Ingénierie système et 4) Économie
- Les demandes croissantes du marché pour des délais d'exécution rapides sont les plus grands défis du domaine du génie logiciel.
- 1) Maintenabilité, 2) Fiabilité, 3) Efficacité et 4) Convivialité sont les attributs les plus importants des produits logiciels.
- Les trois caractéristiques les plus importantes d'un bon logiciel sont 1) Opérationnel 2) Transitionnel 3) Maintenance.