I.11. Gestion de l'évolution d'un logiciel
La gestion de l'ensemble des versions d'un logiciel et de
celles de ses différents éléments (sa gestion de
versions) requiert l'utilisation d'un système de gestion de
configuration. Un tel système permet l'existence simultanée de
plusieurs versions du logiciel, en développement ou en maintenance.
Différentes branches permettent d'introduire des modifications, d'en
comparer les versions et d'en fusionner les changements.
I.11.1.Types d'évolutions
Il faut d'abord différencier les évolutions
mineures, des évolutions majeures d'un logiciel :
V' Les évolutions majeures
apportent de nouvelles fonctionnalités, voire restructurent
complètement l'application.
V' Les évolutions mineures
apportent principalement des corrections de bugs ou des ajouts de
fonctionnalités secondaires.
Une application peut être développée en
plusieurs branches indépendantes. Nous retrouvons
généralement la branche stable et la branche
développement, chaque branche ayant sa propre version. Une
branche peut aussi correspondre à un cycle de développement
particulier. Traditionnellement, la première version fonctionnelle d'un
logiciel est notée 1.0. Certaines versions de logiciels sont
notées 0.x ou 0.x.x, indiquant par là même que le logiciel
n'est pas abouti et correspond généralement à une version
bêta.
Par exemple , la version 2.6.10 du noyau Linux indique la 11e
révision (la numérotation commence par 0) de la 4e version
mineure (les numéros impairs ne sont pas utilisés pour les
versions stables) de la 2e version majeure du noyau.
17
Les notions de "majeur" ou "mineur" n'ont pas le même
sens pour les développeurs et les utilisateurs. Par exemple, une
restructuration profonde de l'application mais sans nouvelles
fonctionnalités, sera vue comme "majeure" par les développeurs,
mais ne sera pas perçue par les utilisateurs.
Afin que le changement de version reste compréhensible
par ces derniers, le premier chiffre du numéro de version
diffusée ne devrait changer que s'il y a modification des
fonctionnalités.
|