Les éléments du modèle UML ne doivent pas nécessairement se trouver dans le même fichier. Vous pouvez séparer un modèle UML en fragments, qui sont des collections d'éléments stockées dans des fichiers distincts mais qui font effectivement partie du modèle principal. La possibilité de
diviser un modèle en fragments est particulièrement utile dans les environnements de développement en équipes, lorsque plusieurs équipes
travaillent sur un modèle partagé.
Vous pouvez diviser un modèle logique en fragments en extrayant les packages, les discriminants et les diagrammes en sous-unités physiques. Bien que les fragments soient stockés dans des fichiers distincts, vous pouvez ouvrir et modifier le modèle tout comme s'il se trouvait dans un seul fichier. Dans ce cas, le modèle complet, incluant le modèle principal et tous les fragments de ce modèle, est appelé le modèle logique.
Lorsque vous ouvrez un modèle qui contient des fragments, vous pouvez voir les éléments fragmentés dans la vue Explorateur de projets mais pas le contenu des fragments. Ces fragments fermés sont indiqués par un recouvrement barré d'un trait rouge :
Lorsque vous accédez à un des éléments du fragment, par exemple en ouvrant manuellement le package fragmenté ou en ouvrant un diagramme qui contient un ou plusieurs des éléments du fragment, le fragment est chargé et le recouvrement sur le package change pour indiquer le fragment ouvert :
De cette façon, la fragmentation des modèles permet à une équipe de travailler sur le même modèle sans modifier le même fichier.
La possibilité de sauvegarder des parties d'un modèle en fragments est utile pour les raisons suivantes :
- La gestion des changements est plus facile, car le nombre de fusions de modèles et la complexité de ces opérations sont
significativement réduits, voire supprimés dans certains cas.
- Les points relatifs aux performances et à l'encombrement de la mémoire sont améliorés, en particulier dans les grands modèles.
- Vous pouvez utiliser des fragments pour imposer certains niveaux de discipline en matière d'architecture et de conception. Par exemple,
votre projet peut stipuler que le modèle doit être fragmenté par domaine fonctionnel.
- Vous pouvez séparer le développement de diagrammes visuels du développement du contenu sémantique du modèle, en sauvegardant les
diagrammes sous forme de fragments.
Vous pouvez ouvrir un fragment en l'ouvrant ou en le développant dans la vue Explorateur de projets, en accédant aux éléments du fragment (par exemple en ouvrant un diagramme qui contient un ou plusieurs des éléments du fragment) ou en cliquant avec le bouton droit sur le modèle (ou sur tout autre conteneur de fragments) puis en cliquant sur Ouvrir tous les sous-fragments.
Meilleures pratiques pour l'utilisation de fragments de modèle
Si vous utilisez des fragments de modèle, prenez en
considération les meilleures pratiques suivantes :
- Structurez le modèle en plusieurs petits fragments pour limiter le nombre de fusions requises.
- Les fragments doivent être assez indépendants, avec un nombre restreint de références interfragments.
- Stockez les fragments dans le même projet que le modèle principal, à l'aide d'une arborescence bien définie. Si vous déplacez un
fragment, utilisez la restructuration et assurez-vous que tous les fragments associés sont présents pour permettre la mise à jour des
références croisées.
- Si les fragments se trouvent dans des projets distincts, utilisez des mappes de chemin d'accès pour identifier leur emplacement.
- Votre espace de travail doit contenir tous les fragments appartenant au modèle sur lequel vous travaillez, y compris tous les fragments
référencés.
- Evitez de créer un nombre excessif de fragments. Les fragments ne sont pas utiles dans les petites modèles et peuvent même avoir une
incidence négative.
- Gérez les fragments avec soin ; des fragments mal gérés peuvent endommager des modèles.
Absorption de fragments de modèle
Si un modèle contient des fragments devenus inutiles, vous pouvez absorber les
éléments de modèle d'un fragment pour qu'ils reviennent dans le fichier de modèle parent. Lorsque les éléments sont absorbés, la connexion entre
le fichier de modèle parent et le fichier de fragment est interrompue, et le fichier de fragment est supprimé.
Réparation de fragments de modèle
Si un modèle comporte des fragments contenant des références croisées non résolues ou des références à des fragments absents, vous pouvez les réparer à l'aide de la vue Editeur de modèle.