Que sont les packages et les diagrammes de packages
Le package est un mécanisme permettant d'organiser et de gérer chaque élément de modèle dans UML. Il organise les éléments de modèle conceptuellement similaires et liés (y compris statiques et dynamiques) dans un package pour former des modules avec diverses fonctions ou objectifs, et peut contrôler la visibilité des éléments dans le package. package pour aider les gens à mieux comprendre les systèmes complexes.
Le diagramme des packages comprend les relations entre les packages et montre les dépendances entre les différents modules du système à travers la description des relations entre les packages.
Il est similaire à un dossier dans le système d'exploitation, par conséquent, il est également représenté en UML en utilisant une notation de dossier similaire :
Chaque package doit avoir un nom différent des autres packages au sein de la même hiérarchie. Les noms de packages se présentent sous deux formes :
1. Nom simple
Un nom simple contient uniquement la chaîne de nom du package, comme dans l'exemple suivant :
2. Nom du chemin
Dans de nombreux cas, le package contient d'autres packages. Lors de l'utilisation externe d'un package dans le package, vous pouvez utiliser le nom du chemin pour indiquer le chemin du package. La syntaxe de base est la suivante : nom du package externe : ce nom du package. La figure suivante montre que le package « Borrow » se trouve dans le package « SystemInterface » :
Le package est un mécanisme de regroupement, donc un package peut contenir n'importe quel élément UML, tel que des classes, des cas d'utilisation, des interfaces, des composants, des nœuds, etc. Il peut également contenir d'autres packages, des diagrammes de cas d'utilisation, des diagrammes de collaboration, des diagrammes de séquence, etc.
Il existe trois principaux types de visibilité des éléments dans les packages :
1. Publique
Indiqué en ajoutant le symbole "+" avant l'élément, l'élément sera visible par tous les éléments introduits dans le package.
2. Privé
Indiqué par l'ajout d'un symbole "-" avant un élément, l'élément ne peut être visible que par les éléments du même package.
3. protégé
Indiqué en ajoutant le symbole "#" avant l'élément, l'élément sera visible par les éléments du package qui héritent du package.
La figure suivante montre trois manières de représenter la visibilité des éléments dans un package :
Contient trois méthodes de représentation de visibilité pour les éléments
La visibilité des trois classes « classe A », « classe B » et « classe C » dans la figure ci-dessus est respectivement publique, privée et protégée.
Les relations entre packages incluent principalement des relations de dépendance et des relations de généralisation.
1. Dépendance
La relation de dépendance entre les packages fait référence à la dépendance entre plusieurs éléments des deux packages. Les dépendances sont représentées par des flèches en pointillés. Les flèches pointent du package dépendant au package dépendant. La relation de dépendance entre les packages peut être une généralisation, une implémentation, une importation, etc. La figure suivante montre la relation de dépendance entre les deux packages :
La dépendance d'importation fait référence au fait de permettre aux éléments d'un package d'accéder aux éléments d'un autre package. Cela peut être représenté en ajoutant le stéréotype « importer » sur la flèche en pointillé. Les dépendances d’importation ne sont pas transitives.
2. Relation de généralisation
La relation de généralisation entre packages est similaire à la relation de généralisation entre classes. Cette relation de généralisation entre packages signifie que des packages spéciaux peuvent remplacer des éléments dans des packages généraux et ajouter de nouveaux éléments. En fait, la généralisation entre packages est également une relation de dépendance.
La figure suivante montre quelques stéréotypes de packages, représentés par différents graphiques ou notations :
Stéréotype du paquet
Dans la figure ci-dessus, de haut en bas et de gauche à droite, ils représentent le modèle d'analyse métier, le système métier (système commercial), le modèle d'analyse de cas d'utilisation métier (modèle d'analyse de cas d'utilisation métier) et le package de domaine (package de domaine). , couche (Couche) et sous-système (Sous-système). Vous pouvez sélectionner le stéréotype correspondant du package selon vos besoins et vous pouvez identifier rapidement la fonction du package.
Les principes suivants peuvent être suivis dans la modélisation réelle :
1. Principe d'équivalence de réutilisation
Essayez de regrouper des éléments de modèle réutilisables similaires dans un seul package. Ne mélangez pas des éléments de modèle réutilisables et des éléments de modèle non réutilisables dans un seul package.
2. Principe commun de réutilisation
Placez plusieurs éléments de modèle qui doivent être réutilisés dans la même application dans le même package pour réduire les dépendances entre les packages et améliorer l'indépendance des packages.
3. Principe de clôture commune
Mettez les éléments du modèle qui peuvent être modifiés et maintenus en même temps dans un package pour faciliter la maintenance et les mises à niveau futures.
4. Principe de dépendance non cyclique
La relation de dépendance entre les packages ne doit pas former un cycle : c'est-à-dire qu'il n'y a pas de phénomène selon lequel A dépend de B et B dépend de A, ou plusieurs packages forment une dépendance circulaire.
À proprement parler, les diagrammes de packages ne sont pas des diagrammes UML au sens propre du terme, mais ils jouent un rôle important dans la classification des éléments du modèle, la structure du modèle et l'espace de noms du programme. Dans le processus de modélisation réel, vous pouvez utiliser les méthodes suivantes pour dessiner des diagrammes de package :
1. Analyser les éléments de modèle du système et incorporer des éléments de modèle conceptuellement ou sémantiquement similaires dans un package ;
2. Marquez la visibilité de chaque élément du package ;
3. Déterminez les dépendances entre les packages ;
4. Dessinez la carte du package et optimisez la carte du package.
Dans ProcessOn, vous pouvez créer un diagramme de package dans un fichier de diagramme UML, ou vous pouvez ajouter les éléments graphiques impliqués dans la production du diagramme de package à l'organigramme pour créer un diagramme de package.
1. Créez un package
Faites simplement glisser l'élément "package" dans le graphique général UML depuis la zone des composants graphiques sur le côté gauche de l'éditeur vers la zone vide sur le côté droit de l'éditeur pour terminer la création du package.
Créer un package à l'aide de ProcessOn
2. Renommez le package
Cliquez sur "Nom du package" sur le graphique du package pour renommer le package.
3. Ajouter des éléments au package
Lors du dessin, l'utilisateur peut directement faire glisser les graphiques de la zone des composants graphiques sur le côté gauche de l'éditeur vers la zone vide de l'éditeur pour terminer la création des graphiques. Ensuite, vous pouvez sélectionner le graphique et définir les propriétés liées au graphique via la barre d'outils en haut de l'éditeur et le panneau d'outils sur la droite.
Ajouter des éléments au package
4. Ajouter des connexions entre les packages
La méthode pour tracer une connexion consiste à utiliser la touche de raccourci "L", ou à faire glisser l'élément "ligne droite" du graphique de base dans la zone des composants graphiques à gauche vers la zone vide de l'éditeur, ou à le déplacer directement d'une extrémité d'un graphique à l'autre. Obtenez une ligne. Si vous souhaitez ajouter une relation de dépendance, sélectionnez "Dependent Package", cliquez sur une extrémité de celui-ci et maintenez le bouton gauche de la souris enfoncé sur "Dependent Package", puis relâchez la souris pour terminer l'établissement d'une relation de dépendance.
Ajouter des liens entre les packages
Deux exemples de diagrammes de packages sont donnés ci-dessous pour illustrer l'utilisation spécifique des diagrammes de packages.
Le premier exemple reflète l'organisation de chaque élément du modèle dans le processus de modélisation, en utilisant des packages pour organiser divers modèles en fonction des étapes d'analyse et de conception du système.
L'organisation de chaque élément du modèle pendant le processus de modélisation
Le deuxième exemple décrit l'organisation des éléments dans le développement d'un système. L'interface utilisateur contient diverses interfaces utilisateur utilisées, le BLL contient diverses classes ou interfaces pour le traitement de la logique métier, le DAL contient les classes associées de la couche d'accès aux données et Common stocke certains composants ou classes partagés par divers modules du système.
Organisation de divers éléments dans le développement du système