Blog ENI : Toute la veille numérique !
🐠 -25€ dès 75€ 
+ 7 jours d'accès à la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici

La structuration des éléments de modélisation

Introduction

UML décrit les paquetages à l’aide d’un diagramme spécifique. Un paquetage est un regroupement d’éléments de modélisation : classes, composants, cas d’utilisation, autres paquetages, etc.

Les paquetages d’UML sont utiles lors de la modélisation de systèmes importants pour en regrouper les différents éléments. Ce regroupement structure ainsi la modélisation.

Les paquetages et le diagramme de paquetage

Un paquetage est représenté par un dossier (voir figure 7.1). Il constitue un ensemble d’éléments de modélisation UML.

images/07ri01.png

Figure 7.1 - Représentation graphique d’un paquetage

Exemple

Le paquetage regroupant les différents éléments de modélisation d’un élevage de chevaux est illustré à la figure 7.2.

images/07ri02.png

Figure 7.2 - Exemple de paquetage

Le contenu d’un paquetage est décrit par un diagramme de paquetage. Celui-ci représente les différents éléments du paquetage avec leur propre représentation graphique. Ceux-ci peuvent être des classes, des composants, des cas d’utilisation, d’autres paquetages, etc.

Il est possible d’inclure directement les éléments d’un paquetage à l’intérieur du dossier qui le représente.

Exemple

Le contenu du paquetage Élevage de chevaux est illustré par son diagramme. Celui-ci contient trois paquetages qui contiennent des cas d’utilisation et des classes (voir figure 7.3).

images/07ri03.png

Figure 7.3 - Diagramme de paquetage représentant l’élevage de chevaux

Chaque élément inclus dans un paquetage peut être accessible à l’extérieur ou encapsulé à l’intérieur de celui-ci. Par défaut, un élément est accessible à l’extérieur. 

L’encapsulation est représentée par un signe plus ou un signe moins, précédant le nom de l’élément. Le signe plus signifie qu’il n’y pas d’encapsulation et que l’élément est visible en dehors du paquetage. Le signe moins signifie que l’élément est encapsulé et n’est pas visible à...

Les relations d’importation et d’accès entre les paquetages

Pour qu’un paquetage puisse exploiter les éléments d’un autre paquetage, il existe deux types de relations :

  • La relation d’importation consiste à amener dans le paquetage de destination un élément du paquetage d’origine. L’élément fait alors partie des éléments visibles du paquetage de destination.

  • La relation d’accès consiste à accéder, depuis le paquetage de destination, à un élément du paquetage d’origine. L’élément ne fait alors pas partie des éléments visibles du paquetage de destination.

Il n’est possible d’importer ou d’accéder à un élément que si celui-ci est défini comme visible dans le paquetage d’origine.

Ces deux relations peuvent également s’appliquer à un paquetage complet : elles importent ou accèdent à l’intégralité des éléments du paquetage d’origine qui sont définis comme visibles.

Ces deux relations sont des relations de dépendance qui sont spécialisées à l’aide du stéréotype «import» ou «access».

Exemple

Dans le paquetage Élevage de chevaux, les paquetages Achat de chevaux et Vente de chevaux importent la classe Cheval. Le résultat aurait été le même si ces deux paquetages avaient importé le paquetage Gestion des chevaux car la classe Cheval est la seule à être publique.

Ces deux relations d’importation sont illustrées à la figure 7.5.

images/07ri05.png

Figure 7.5 - Relations d’importation entre paquetages

La relation de fusion entre deux paquetages

La relation de fusion entre deux paquetages est illustrée à la figure 7.6. L’existence de cette relation engendre la fusion du contenu non privé du paquetage de destination dans le contenu du paquetage d’origine.

images/07RI06V4.png

Figure 7.6 - Relation de fusion entre deux paquetages

Les règles générales qui gouvernent la fusion entre un paquetage d’origine et un paquetage de destination sont les suivantes :

1.

La relation de fusion est transformée en une relation d’importation en conservant la même orientation. Les éléments publics du paquetage de destination sont importés dans le paquetage d’origine.

2.

Pour chaque élément du paquetage de destination qui peut être spécialisé (comme les classes, les cas d’utilisation, etc.) et pour lequel il n’existe pas un élément de même nom dans le paquetage d’origine, un nouvel élément de même nom est créé dans ce paquetage. Ensuite, une relation de spécialisation est introduite depuis tous les éléments du paquetage d’origine vers les éléments du paquetage de destination qui possèdent le même nom. Toutes les propriétés ainsi héritées dans les éléments du paquetage d’origine sont redéfinies. Ces propriétés redéfinies appartiennent par conséquent aux éléments du paquetage d’origine.

3.

Les relations de spécialisation existantes entre les éléments du paquetage de destination sont réintroduites entre les éléments de même nom dans le paquetage d’origine.

4.

Pour chaque paquetage présent dans le paquetage de destination et pour lequel il n’existe pas un paquetage...

Les paquetages template

Dans le chapitre La modélisation des objets, nous avons introduit la notion de classe template. Celle-ci constitue un modèle générique pour d’autres classes. La généricité est conférée par un ou plusieurs paramètres.

Il en est de même avec les paquetages. UML offre la possibilité d’élaborer un paquetage template doté de paramètres puis de fixer la valeur de ceux-ci dans la relation de liaison.

Exemple

La figure 7.9 illustre un exemple de paquetage template. Les paramètres sont les deux classes du paquetage, l’attribut caractéristique et le type T. Les classes sont de type Class, la classe du métamodèle d’UML qui décrit les classes. L’attribut caractéristique est de type Property, la classe qui décrit les attributs. Les instances de la classe Type sont notamment toutes les classes et tous les types standards.

Ce paquetage décrit de façon générique l’association entre un ou plusieurs propriétaires et leur(s) propriété(s), les indivisions étant prises en compte. La caractéristique de la propriété est introduite, mais son nom et son type sont génériques.

images/07RI09V4.png

Figure 7.9 - Exemple de paquetage template

La figure 7.10 illustre le premier exemple de liaison de ce paquetage template. Il est lié au template de gestion d’une écurie. Une écurie possède des chevaux de course, ce qui explique la liaison entre Propriétaire et Écurie et la liaison entre Propriété et ChevalCourse. La caractéristique d’un cheval de course est sa race, d’où la liaison entre caractéristique et race et entre T et Race.

images/07RI10V4.png

Figure 7.10 - Premier exemple de la relation de liaison d’un paquetage template...

Conclusion

Les paquetages sont utiles pour structurer la modélisation d’un système d’information important. Un paquetage système contient les paquetages de plus haut niveau, eux-mêmes contenant d’autres paquetages et ainsi de suite, jusqu’aux éléments de base de la modélisation, comme les classes ou les cas d’utilisation. La relation de fusion et les paquetages template sont des éléments puissants pour structurer la modélisation d’un système d’information.