FAQ UMLConsultez toutes les FAQ

Nombre d'auteurs : 16, nombre de questions : 64, dernière mise à jour : 13 avril 2013  Ajouter une question

 

La FAQ UML, toutes les réponses à vos questions.


SommairePaquetage (1)
précédent sommaire suivant
 

La dépendance entre paquetage est signalée en UML à l'aide d'une flèche en pointillés entre les deux paquetages. Cette relation de dépendance indique qu'au moins une classe du package se trouvant à l'origine de la flèche requièrt les services d'au moins une classe se trouvant dans le package à l'autre bout.

Il faut impérativement vérifier deux choses :
- Qu'il n'existe pas de dépendance circulaire :
pa-->pb-->pc-->pa ou plus simplement pa-->pb-->pa
Un tel cas de figure entrainerait qu'une modification de l'un des packages se répercute dans les autres, voire même à nouveau dans le premier etc. et indiquerait la non réutilisabilité de ceux-ci, leur évolutivité très réduite et une maintenance délicate (tout l'inverse du regroupement en paquetages). Dans ce type de cas, soit les classes ont été mal regroupées, soit il existe une solution détaillée ci-après.
- Que les paquetages desquels dépendent le plus d'autres packages sont les plus stables(nombreuses flèches entrantes) donc les moins appelés à évoluer. La aussi la solution est la même que précédement et est détaillée ci-dessous.

Solution :
Données du problème : nous disposons de deux packages pa et pb
dans chaque package nous avons une classe A et B
A est liée à B et B à A d'où une dépendance circulaire pa-->pb-->pa

Résolution :
On introduit dans le package le plus stable (disons pa) une interface qui reprend l'interface publique de B afin d'inverser la dépendance :
A-->IB
on indique ensuite que B implémente IB et on garde la dépendance B-->A
Le schéma devient alors :

Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
 
 A --> IB 
 
 ^     >| 
 
  \   / 
 
   \ / 
 
    B
relation B-->A et relation d'implémentation IB |>-- B
Et la dépendance reste unique et est B-->A
Cette solution permet donc aussi d'inverser une dépendance entre packages pour que le plus stable des deux soit bien celui dont on dépend.

Mis à jour le 22 février 2004 Cian Sébastien MERIC

Proposer une nouvelle réponse sur la FAQ

Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour ça


Réponse à la question

Liens sous la question
précédent sommaire suivant
 

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2018 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

 
Contacter le responsable de la rubrique UML