|
La gestion de la configuration logicielle (SCM) est une discipline qui identifie la configuration d'un système logiciel à différents moments et qui gère les modifications apportées à cette configuration. Il s'agit essentiellement d'une approche systématique pour gérer et contrôler l'évolution d'un système logiciel tout au long de son cycle de vie.
Cela implique plusieurs aspects clés :
* Identification : Identifier de manière unique tous les composants du système logiciel, y compris le code, la documentation, les exigences, les documents de conception et les plans de test. Cela implique souvent des systèmes de contrôle de version.
* Contrôle de version : Suivi des modifications apportées au logiciel au fil du temps. Cela permet de revenir aux versions précédentes si nécessaire et facilite la collaboration entre les développeurs. Les exemples incluent Git, SVN et Mercurial.
* Contrôle des modifications : Établir un processus de gestion des demandes de modifications du logiciel. Cela implique généralement un processus formel pour proposer, examiner, approuver et mettre en œuvre des changements.
* Statut Comptabilité : Tenir des enregistrements précis de la configuration du système et de l'état des modifications. Cela donne une image claire de l’état actuel du système et de l’histoire de son développement.
* Audit : Suivre et enregistrer toutes les modifications apportées au logiciel et les personnes responsables de ces modifications. Cela garantit la responsabilité et permet de remonter aux problèmes jusqu’à leur cause profonde.
* Gestion des versions : Gérer le déploiement des versions logicielles dans différents environnements (par exemple, développement, tests, production). Cela inclut la création, les tests et la distribution de versions logicielles.
L’objectif du SCM est de :
* Maintenir la cohérence : Assurez-vous que toutes les versions du logiciel sont cohérentes et fiables.
* Améliorer la qualité : Réduisez les erreurs et les défauts en gérant efficacement les changements.
* Améliorez la collaboration : Faciliter la collaboration entre les développeurs et les autres parties prenantes.
* Réduire les risques : Minimisez les risques associés au développement et au déploiement de logiciels.
* Améliorer la traçabilité : Suivez les modifications et leur impact sur le logiciel.
En bref, SCM fournit une approche structurée pour gérer la complexité des projets logiciels, conduisant à une qualité améliorée, à une réduction des risques et à des processus de développement plus efficaces.
|