Rubriques

ExplicationHaut de la  page

La gestion des dépendances d'importation entre les packages est un aspect important dans la structuration d'un modèle d'objet. Il existe un lien de dépendance entre les packages si une de leurs classes présente une relation qui permet la navigation vers les classes d'un autre package. Pour exprimer une telle dépendance, vous devez utiliser la dépendance d'importation d'un package vers le package dont il dépend.

Diagramme décrivant les relations entre un composant et un opérateur, une alarme et une imprimante, un client et un article de stock.

Les dépendances entre les packages sont exprimées par les dépendances d'importation.

UtilisationHaut de la page

Vous faites évoluer les dépendances de la manière suivante :

  • Avant de commencer à travailler avec un modèle d'objet, indiquez brièvement les dépendances afin de vous en servir comme fil conducteur.
  • Lorsque le modèle est achevé, utilisez-le pour illustrer les dépendances réelles. Cela nécessite de mettre à jour les dépendances d'importation dans le modèle d'objet.
  • Si vous avez préalablement divisé le modèle en packages, utilisez les dépendances d'importation pour indiquer à quel endroit les dépendances sont autorisées.
  • La manière dont les packages dépendent les uns des autres se répercute sur la tolérance d'un système au changement. Il vous sera plus facile de modifier un modèle d'objet si vous :
  • Référencez un nombre minimal de ses classes à l'extérieur de chaque package. Si vous référencez plusieurs classes, le package aura peut être trop de responsabilités et vous serez contraint de le diviser en deux.
  • Rendez chaque package dépendant de peu d'autres packages.
  • Testez chaque package séparément. Cela signifie que vous devez pouvoir tester un package en simulant le package dont il dépend. Vous ne devez pas exiger des autres packages qu'ils soient presque complètement ou complètement implémentés. Si vous pouvez tester un package séparément, le développement et la maintenance du système pour chaque package seront plus aisés.
  • Placez les parties globales du modèle d'objet dans des packages séparés dont dépendent les autres packages. Si un tel package existe, vous devrez être très attentif en termes de gestion des versions, car plusieurs parties du système pourraient être affectées par les changements effectués sur le package.

Exemple

Supposons que vous trouviez un lien commun aux classes Panneau client et Panneau opérateur au niveau de la machine de recyclage. Vous attribuez ces services généraux à une nouvelle classe, Panneau, que vous placez dans un nouveau package, Panneaux. Les deux autres classes pourront alors se référer à cette classe pour l'utilisation des services généraux. Du fait que les classes appartiennent à deux packages séparés, les deux packages dépendront du nouveau package. Cette élimination de redondance implique que les changements concernant la fonctionnalité commune ne devront être apportés qu'à un seul endroit.



RUP (Rational Unified Process)   2003.06.15