Pré. | Proc. |
Considérations relatives aux performances
Cette rubrique présente quelques « meilleures pratiques » pour le contrôle de version qui améliorent les performances du modèle, ainsi qu'une brève explication de la manière dont cet avantage est réalisé.
Appliquer Contrôle de Version à tous Paquetages
Appliquez Contrôle de Version à chaque paquetage de votre modèle. Ceci est facilement réalisé en utilisant la fonction pratique "Ajouter une branche au Contrôle de Version ".
Les performances Contrôle de Version peuvent être considérablement améliorées en suivant cette pratique.
Le mécanisme utilisé pour appliquer Contrôle de Version dans Enterprise Architect consiste à exporter les informations décrivant un paquetage et son contenu, de la base de données modèle vers un fichier XMI, qui est ensuite ajouté au référentiel de contrôle de version. Si le contrôle de version est appliqué uniquement au paquetage de niveau supérieur, le modèle entier est exporté et enregistré dans un seul fichier XMI. Chaque fois que vous mettez à jour le paquetage à partir du contrôle de version, que ce soit pour un "Check Out" ou un "Get Latest", le paquetage et son contenu sont d'abord supprimés de la base de données modèle, avant d'être réimportés depuis le fichier XML associé. Dans ce cas, le modèle entier serait supprimé de la base de données, avant d'être réimporté depuis XML. En revanche, si tous paquetages sont sous contrôle de version, seule une infime partie du modèle est exportée vers chaque fichier XML et seule une infime partie du modèle est supprimée et réimportée lors de l'extraction ou de la mise à jour d'un paquetage .
L'accès simultané pour l'édition du modèle est également considérablement amélioré en suivant cette pratique.
Lorsqu'un paquetage dont la version est contrôlée est extrait, ce paquetage et son contenu sont verrouillés pour les autres utilisateurs - seul l'utilisateur qui a extrait le paquetage peut le modifier. Si le contrôle de version n'était appliqué qu'au niveau supérieur paquetage , lorsqu'un utilisateur extrait ce paquetage , l'ensemble du modèle serait verrouillé, empêchant tout autre membre de l'équipe d'apporter des modifications jusqu'à ce que le paquetage de niveau supérieur soit archivé par le premier utilisateur puis vérifié par l'autre. Si, d'autre part, le contrôle de version est appliqué à plusieurs niveaux dans une hiérarchie paquetage , les sous-paquets contrôlés indépendamment ne sont pas affectés lorsque le paquetage parent est extrait. Ainsi, si un utilisateur extrait un paquetage pour apporter des modifications, un deuxième utilisateur peut toujours extraire un paquetage séparé en même temps et apporter des modifications à ce paquetage .
Sélectionnez "Importer les fichiers modifiés uniquement" pour obtenir tous les derniers
Les performances de la fonction "Get All Latest" sont considérablement réduites par la réimportation de fichiers paquetage qui n'ont pas changé. Ainsi, pour de meilleures performances, ne réimportez pas les fichiers paquetage inchangés. Lorsque la commande "Get All Latest" est invoquée, vous serez invité à sélectionner les fichiers à importer. Vous devez toujours choisir l'option "Importer uniquement les fichiers modifiés".
Pour les environnements Modèle partagé, lorsque l'option "Importer uniquement les fichiers modifiés" est utilisée, la commande Obtenir tous les derniers actualisera simplement votre vue du modèle, en rechargeant diagrammes et le contenu de la fenêtre Navigateur , à partir de la base de données du modèle. Si vous sélectionnez "Toujours importer" ou "Inviter pour chaque fichier", vous forcez Enterprise Architect à supprimer le paquetage de la base de données du modèle, puis à réimporter exactement les mêmes informations dans le modèle.
Lors de l'utilisation d'un environnement Modèle partagé, où tous les utilisateurs sont connectés à une seule base de données de modèles, il n'est jamais nécessaire de réimporter les fichiers paquetage à partir du contrôle de version. Les informations contenues dans la base de données modèle sont toujours identiques ou supérieures à celles qui sont validées dans Contrôle de Version . Dans cette situation, les informations du contrôle de version ont été exportées de la base de données model avant d'être validées dans le contrôle de version. Vous ne pouvez tout simplement pas importer de nouvelles informations dans le modèle à partir du référentiel de contrôle de version. Lorsque vous utilisez un environnement Modèle privé, où chaque utilisateur se connecte à une copie privée de la base de données modèle, il n'y a toujours aucun avantage à réimporter des fichiers paquetage qui n'ont pas changé depuis votre dernière mise à jour. Cela ne fait que prolonger le temps nécessaire à l'exécution de l'opération.
Utilisez une seule configuration Contrôle de Version pour contrôler tous Paquetages dans Modèle
Minimiser le nombre de configurations Contrôle de Version dans votre modèle se traduira par un temps de chargement plus rapide du modèle. L'utilisation de plusieurs configurations Contrôle de Version dans un seul modèle Enterprise Architect prolongera le temps nécessaire pour charger le modèle.
Bien qu'il soit possible d'utiliser de nombreuses Configurations Contrôle de Version différentes pour contrôler différents paquetages dans votre modèle, à moins que vous n'ayez une raison spécifique à cela, vous ne devez utiliser qu'une seule configuration pour tous paquetages du modèle. Quand Enterprise Architect charge un modèle qui utilise le contrôle de version, il vérifie qu'il peut communiquer correctement avec chacune des configurations Contrôle de Version lorsque le modèle est chargé. Selon le fournisseur de contrôle de version, EA émet une commande telle que "statut" dans le dossier de la copie de travail associée à la configuration Contrôle de Version , qui vérifie que le dossier de la copie de travail existe et est accessible et que le client de contrôle de version peut communiquer avec le serveur de contrôle de version. Tout cela prend du temps. Lorsqu'il existe de nombreuses configurations Contrôle de Version dans un modèle, cela peut avoir un impact significatif sur le temps de chargement de votre modèle.