Définition du “Cycle de vie d'un logiciel”

Le “cycle de vie d’un logiciel” (en anglais software lifecycle) désigne toutes les étapes du développement d’un logiciel, de sa conception à sa disparition. On parle du cycle de vie d’un logiciel pour définir des repères intermédiaires permettant la validation du développement logiciel, c’est-à-dire la conformité du logiciel avec les besoins exprimés et la vérification du processus de développement. La création d’un logiciel est très complexe et nécessite un ordre précis des étapes.

Découper le cycle de vie d’un logiciel en étapes “unitaires” va permettre de mettre en place des jalons et des processus de vérification et de validation qui leur seront associés. Le cycle de vie d’un logiciel va vous permettre de vous assurer de la qualité du produit et maintenir le coût du projet, de maîtriser les coûts de réalisation. En effet, plus vous réparez une erreur ou une anomalie tardivement, plus la correction de l’application va coûter cher.

Les étapes du cycle de vie d'un logiciel

Le cycle de vie du logiciel comprend généralement au minimum les activités suivantes :

  • La définition des objectifs : Cette étape consiste à déterminer la finalité du projet et son inclusion dans une stratégie globale.
  • L’analyse des besoins, appelée aussi spécifications des besoins : Cette phase doit contenir la mise du logiciel dans son contexte (type de produit, nouveau/altéré) et l’étude de l’existant. L’étude de l’existant désigne l’étude des produits similaires dans le marché (veille concurrentielle) et l’étude du processus ou des logiciels similaires à l’entreprise. Les besoins de l’entreprise peuvent contenir des besoins fonctionnels (des fonctionnalités que le produit doit automatiser) et des besoins non fonctionnels (disponibilité, rapidité de calcul…).
  • La conception : La conception utilise les spécifications pour décider des solutions proposées. Elle peut contenir la description des fonctionnalités de l’application. Il s’agit des fonctionnalités précisées lors de la spécification des besoins. La conception peut contenir la conception des interfaces, la conception des données et la conception de l’architecture matérielle.
  • Le codage : Il transforme des solutions proposées lors de la conception en un code opérationnel. Les techniques de codage dépendent du langage et doivent être bien conforme à la conception.
  • Le test : Il s’agit de la phase de test et de validation. Les tests déterminent les bugs techniques, les bugs fonctionnels et la qualité du logiciel. Pour cela, on peut utiliser des logiciels de test, des techniques et des benchmarks.
  • Le déploiement appelé “phase de livraison” et “phase de mise en exploitation” : La phase de déploiement regroupe toutes les activités qui mènent à l’installation et la mise en marche de l’application développée (installation des serveurs, setup et configuration des composants du logiciel développé et le test de déploiement).
  • La maintenance : Cette étape consiste à ajuster l’application après la livraison du produit au client. Elle a pour but de corriger les erreurs et les anomalies du système et modifier le système pour y ajouter des fonctionnalités.