next up previous contents index
suivant: Le but de la monter: Problématique de la programmation précédent: Problématique de la programmation   Table des matières   Index

Le cycle de vie d'un logiciel

On parle souvent du cycle de vie d'un logiciel. Par cela, on entend toutes les phases de développement du logiciel, de l'établissement des besoins du client jusqu'à l'achèvement du logiciel en tant que produit commercial.

Ce cycle de vie contient différentes activités dans différentes phases du développement du logiciel, en particulier :

Les activités ci-dessus ne sont pas organisées de manière chronologique : la correction des défauts est souvent mélée avec la programmation ou la conception; la documentation est souvent effectuée en parallèle avec d'autres activités, etc.

De plus, souvent, la vie d'un logiciel ne se fige pas après la première livraison au client (ou vente dans les magasins). Il continue à évoluer de plusieurs façons : des défauts détectés après livraison peuvent être corrigés; des fonctionnalités supplémentaires peuvent être rajoutées, etc. On appelle l'ensemble des activités de modification du logiciel après sa première sortie sur le marché la maintenance du logiciel.

Parmi les activités post-livraison, la plus grande partie concerne l'ajout de fonctionnalités. En fait, il arrive souvent que 80% du coût total d'un logiciel soit dû à sa maintenance. Pour faciliter les activités de maintenance, il est donc important que le logiciel soit bien écrit, ou maintenable. De plus, si un ou plusieurs modules du logiciel sont censés être réutilisés dans d'autres logiciels, il faut que ces modules soient bien écrits d'un autre point de vue que nous appelons réutilisablilité.

Tandis que les détails de la maintenabilité et de la réutilisabilité sont en dehors de la portée de ce livre, nous allons traiter une petite partie des règles de base nécessaires à appliquer dans le but d'obtenir un programme maintenable.


next up previous contents index
suivant: Le but de la monter: Problématique de la programmation précédent: Problématique de la programmation   Table des matières   Index