Genie logiciel
Jacques Lonchamp
PREMIERE PARTIE Définitions générales, principes, processus.
1. Définition et objectifs du génie logiciel (GL)
1.1. Définition Domaine des ‘sciences de l’ingénieur’ dont la finalité est la conception, la fabrication et la maintenance de systèmes logiciels complexes, sûrs et de qualité (‘Software Engineering’ en anglais). Aujourd’hui les économies de tous les pays développés sont dépendantes des systèmes logiciels. Le GL se définit souvent par opposition à la ‘programmation’, c’est à dire la production d’un programme par un individu unique, considérée comme ‘facile’. Dans le cas du GL il s’agit de la fabrication collective d’un système complexe, concrétisée par un ensemble de documents de conception, de programmes et de jeux de tests avec souvent de multiples versions (« multi-person construction of multi-version software »), et considérée comme ‘difficile’. 1.2. Objectifs – la règle du CQFD Le GL se préoccupe des procédés de fabrication des logiciels de façon à s’assurer que les 4 critères suivants soient satisfaits. • Le système qui est fabriqué répond aux besoins des utilisateurs (correction fonctionnelle). • La qualité correspond au contrat de service initial. La qualité du logiciel est une notion multiforme qui recouvre : – la validité : aptitude d'un logiciel à réaliser exactement les tâches définies par sa spécification, – la fiabilité : aptitude d'un logiciel à assurer de manière continue le service attendu, – la robustesse : aptitude d'un logiciel à fonctionner même dans des conditions anormales, – l’extensibilité : facilité d'adaptation d'un logiciel aux changements de spécification, – la réutilisabilité : aptitude d'un logiciel à être réutilisé en tout ou partie, – la compatibilité : aptitude des logiciels à pouvoir être combinés les uns aux autres, – l’efficacité : aptitude d'un logiciel à bien utiliser les ressources matérielles telles la mémoire, la puissance de l’U.C., etc. – la portabilité : facilité à