Le contrôle de version fait référence à la gestion des modifications apportées à divers codes de programme, fichiers de configuration, documentation et autres fichiers au cours du processus de développement logiciel. C'est l'une des idées fondamentales de la gestion de la configuration logicielle.
Le contrôle de version fait référence à la gestion des modifications apportées à divers codes de programme, fichiers de configuration et documentation au cours du processus de développement logiciel. des idées fondamentales.
Brève description :
La fonction principale du contrôle de version est de suivre les modifications des fichiers. Il enregistre fidèlement des informations telles que quand et qui a modifié quel contenu du fichier. Chaque fois qu'un fichier est modifié, le numéro de version du fichier sera incrémenté. En plus d'enregistrer les modifications de version, une autre fonction importante du contrôle de version est le développement parallèle. Le développement de logiciels est souvent un effort de collaboration entre plusieurs personnes. Le contrôle de version peut résoudre efficacement le problème de la synchronisation des versions et de la communication de développement entre différents développeurs, et améliorer l'efficacité du développement collaboratif. Le problème le plus courant des corrections de bogues dans différentes versions de logiciels en développement parallèle peut également être résolu efficacement par le biais de branchements et de fusions dans le contrôle de version.
Plus précisément, dans chaque tâche de développement, il est nécessaire de d'abord définir la référence de développement et de déterminer la version de développement initiale de chaque élément de configuration. Au cours du processus de développement, les développeurs développent en fonction de la version de la référence de développement. version cible souhaitée. Lorsqu'un changement de demande se produit, la portée d'influence du changement est déterminée par l'évaluation du changement, et la version de l'élément de configuration affecté est modifiée. Selon la nature du changement, l'arborescence des versions de l'élément de configuration continue d'être modifiée. étendue ou une nouvelle branche est générée pour former une nouvelle version cible et les éléments de configuration qui ne sont pas affectés par le changement ne doivent pas être modifiés. Dans le même temps, l'impact des modifications sur la version doit être enregistré et suivi. Vous pouvez également revenir à une version précédente si nécessaire. Par exemple, lorsque les exigences de développement ou les modifications apportées aux exigences sont annulées, vous devez avoir la possibilité de restaurer la version vers la version de référence de développement. Dans le processus de déballage et de reconditionnement des packages de mise à niveau trimestriels qui ont eu lieu dans le passé, il s'agit en fait de restaurer les versions de certains éléments de configuration vers la ligne de base de développement, et de recombiner et fusionner différentes branches correspondant à différents besoins pour former un nouveau package de mise à niveau. version.
Le contrôle de version est la fonction essentielle de la gestion de la configuration logicielle. Tous les éléments placés dans la bibliothèque de configuration doivent être automatiquement identifiés par versions et l'unicité du nom de version doit être garantie. Au cours du processus de génération, la version se branche et évolue automatiquement selon le modèle d'utilisation défini. En plus des informations de version automatiquement enregistrées par le système, afin de coopérer avec les différentes étapes du processus de développement logiciel. Il est également nécessaire de définir et de collecter certaines métadonnées pour enregistrer les informations auxiliaires de version et normaliser le processus de développement, ainsi que pour préparer les mesures futures du processus logiciel. Bien entendu, si les outils sélectionnés le prennent en charge, ces données auxiliaires pourront calculer directement les données de processus, facilitant ainsi les activités d'amélioration des processus logiciels. Pour chaque élément de contrôle de base dans la bibliothèque de configuration, les autorisations d'accès correspondantes doivent être définies en fonction de l'emplacement et de l'état de sa ligne de base. De manière générale, toutes les versions antérieures à la version de base doivent être verrouillées. Si des modifications doivent y être apportées, le processus de contrôle des modifications doit être suivi.
Outils communs :
1. Outils de contrôle de version open source
Il existe de nombreux outils de contrôle de version open source, tels que Concurrent Versions System (CVS), Subversion (SVN), Vesta, Revision Control System (RCS), Source Code Control System. (SCCS) )attendez. Deux des outils les plus couramment utilisés sont CVS et SVN. CVS est un logiciel de contrôle de version d'architecture client-serveur basé sur RCS développé par Dick Grune de 1984 à 1985. Il a longtemps été le principal choix de logiciel de contrôle de version gratuit. Un objectif de développement important de SVN est de corriger les lacunes bien connues de CVS et de fournir un nouveau logiciel de contrôle de version. Pour les petites et moyennes équipes, SVN est un meilleur outil de contrôle de version open source. L'outil client couramment utilisé pour SVN est TortoiseSVN.
2. Outils commerciaux matures
Les outils commerciaux fournissent plus que des outils de contrôle de version open source, notamment des fonctions liées à la gestion de la configuration logicielle. Rational ClearCase d'IBM est un logiciel de gestion de configuration logicielle lourd qui fournit un contrôle de version, une gestion de l'espace de travail, une prise en charge du développement parallèle et un audit de version pour les grandes et moyennes entreprises de développement de logiciels. Il peut fournir des services complets pour les grands projets avec des milliers de développeurs. .
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!