Crise du logiciel
CYCLE DE VIE DU LOGICIEL
Alfred Strohmeier
Laboratoire de Génie Logiciel – Département d’Informatique Ecole Polytechnique Fédérale de Lausanne
Table des matières
1. Crise du logiciel et génie logiciel 2. Domaine du génie logiciel 3. Cycle de vie du logiciel 4. Cycle de développement du logiciel 5. Phases du cycle de développement 6. Autres modèles de développement 7. Notion de systèmeRéférences
1. Crise du logiciel et génie logiciel
Alors que le matériel informatique a fait, et continue de faire, des progrès très rapides, le logiciel, l’autre ingrédient de l’informatique, traverse une véritable crise. Etant donné que cette crise a été décelée en 1969 déjà et qu’elle dure toujours, il serait plus approprié de parler d’une maladie chronique. La crise du logiciel (software crisis)peut tout d’abord se percevoir à travers ses symptomes: • Le coût de développement d’un logiciel est presque impossible à prévoir et le délai de livraison n’est que rarement respecté. On cite ainsi dans la littérature des dépassements moyens du coût budgeté et du délai prévu respectivement de 70% et 50%. • La qualité du logiciel livré est souvent déficiente. Le produit ne satisfait pas les besoinsde l’utilisateur, il consomme plus de ressources que prévu et il est à l’origine de pannes. • La maintenance du logiciel est difficile, coûteuse et souvent à l’origine de nouvelles erreurs. Mais en pratique, il est indispensable
1 13. Mar 2000
d’adapter les logiciels car leurs environnements d’utilisation changent et les besoins des utilisateurs évoluent. • Il est rare qu’on puisse réutiliserun logiciel existant ou un de ses composants pour confectionner un nouveau système, même si celuici comporte des fonctions similaires. Tout amortissement sur plusieurs projets est ainsi rendu impossible. La crise du logiciel a ensuite des conséquences économiques: aujourd’hui le coût du logiciel est supérieur à celui du matériel. Même si des chiffres précis font défaut, les experts sont unanimesquant à la tendance: partant d’une proportion 50%-50% en 1965, et passant par 70%-30% en 1975, ce rapport avait atteint 80%-20% en 1985. Mais pas seulement en proportion, en valeur également, le coût du logiciel croît à une vitesse vertigineuse. On peut montrer que cette inflation des coûts est surtout due aux frais de maintenance, situés actuellement entre 40% et 75% du coût total d’un systèmeinformatique (matériel et logiciel). Or ces frais de maintenance résultent avant tout de la qualité déficiente du logiciel, au moment de sa livraison déjà ou après qu’il ait évolué. La raison de fond de la crise du logiciel réside dans le fait qu’il est beaucoup plus difficile de créer des logiciels que le suggère notre intuition. Comme les solutions informatiques sont essentiellement constituées decomposants immatériels, tels des programmes, des données à traiter, des procédures et de la documentation, on sous-estime facilement leur complexité. Déjà la taille des programmes montre que cette complexité est souvent bien réelle: un million de lignes pour un logiciel de commande et de navigation d’un avion moderne, le décuple pour une station orbitale. Pour maîtriser la complexité des systèmeslogiciels, il convient de procéder selon une démarche bien définie, de se baser sur des principes et méthodes, et d’utiliser des outils performants. On arrive ainsi à gérer des projets complexes et à élaborer scientifiquement des solutions. Le génie logiciel (software engineering) cherche donc à établir et à utiliser des principes sains d’ingénierie dans le but de développer économiquement dulogiciel qui est fiable et qui fonctionne efficacement sur des machines réelles. Arrivé à ce point, il nous semble important de définir un certain nombre de notions inhérentes au génie logiciel. Commençons par la notion de logiciel. L’Organisation internationale de normalisation, appelée brièvement ISO, a défini en 1981 le logiciel (software) comme une création intellectuelle rassemblant des…