I.2.2 Le 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.
L'objectif d'un tel découpage est de permettre de définir des
jalons (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, c'est-à-dire l'adéquation des
méthodes mises en oeuvre.
L'origine de ce découpage provient du constat que les
erreurs ont un coût d'autant plus élevé qu'elles sont
détectées tardivement dans le processus de réalisation. Le
cycle de vie permet de détecter les erreurs au plus tôt et ainsi
de maîtriser la qualité du logiciel, les délais de sa
réalisation et les coûts associés.
Le cycle de vie du logiciel comprend généralement
au minimum les étapes suivantes : Définition des
objectifs :
Cette étape consiste à définir la
finalité du projet et son inscription dans une stratégie globale.
Analyse des besoins et faisabilité :
C'est-à-dire l'expression, le recueil et la
formalisation des besoins du demandeur (le client) et de l'ensemble des
contraintes, puis l'estimation de la faisabilité de ces besoins.
Spécifications ou conception
générale :
Il s'agit de l'élaboration des spécifications de
l'architecture générale du logiciel.
Conception détaillée :
Cette étape consiste à définir
précisément chaque sous-ensemble du logiciel.
Codage (Implémentation ou programmation)
:
C'est la traduction dans un langage de programmation des
fonctionnalités définies lors de phases de conception.
13
Tests unitaires :
Ils permettent de vérifier individuellement que chaque
sous-ensemble du logiciel est
implémenté conformément aux
spécifications.
Intégration :
L'objectif est de s'assurer de l'interfaçage des
différents éléments (modules) du logiciel. Elle
fait l'objet de tests d'intégration consignés dans
un document.
Qualification (ou recette) :
C'est-à-dire la vérification de la
conformité du logiciel aux spécifications initiales.
Documentation :
Elle vise à produire les informations nécessaires
pour l'utilisation du logiciel et pour des
développements ultérieurs.
Mise en production :
C'est le déploiement sur site du logiciel.
Maintenance :
Elle comprend toutes les actions correctives (maintenance
corrective) et évolutives
(maintenance évolutive) sur le logiciel.
La séquence et la présence de chacune de ces
activités dans le cycle de vie dépend du choix
d'un modèle de cycle de vie entre le client et
l'équipe de développement. Le cycle de vie permet de
prendre en compte, en plus des aspects techniques, l'organisation
et les aspects humains.
|