Il pacchetto è un meccanismo per organizzare e gestire ciascun elemento del modello in UML. Organizza elementi del modello concettualmente simili e correlati (inclusi statici e dinamici) in un pacchetto per formare moduli con varie funzioni o scopi e può controllare la visibilità degli elementi nel file pacchetto per facilitare le persone a comprendere meglio i sistemi complessi.
Il diagramma dei pacchetti consiste nelle relazioni tra i pacchetti e mostra le dipendenze tra i vari moduli del sistema attraverso la descrizione delle relazioni tra i pacchetti.
È simile a una cartella nel sistema operativo, pertanto è rappresentata anche in UML utilizzando una notazione di cartella simile:
Ogni pacchetto dovrebbe avere un nome diverso dagli altri pacchetti all'interno della stessa gerarchia. I nomi dei pacchetti sono disponibili in due forme:
1. Nome semplice
Un nome semplice contiene solo la stringa del nome del pacchetto, come nell'esempio seguente:
2. Nome del percorso
In molti casi, il pacchetto contiene altri pacchetti. Quando si utilizza un pacchetto nel pacchetto esternamente, è possibile utilizzare il nome del percorso per indicare il percorso del pacchetto. La sintassi di base è: nome pacchetto esterno::nome pacchetto. La figura seguente mostra che il pacchetto "Borrow" si trova nel pacchetto "SystemInterface":
Il pacchetto è un meccanismo di raggruppamento, quindi un pacchetto può contenere qualsiasi elemento in UML, come classi, casi d'uso, interfacce, componenti, nodi, ecc. Può anche contenere altri pacchetti, diagrammi di casi d'uso, diagrammi di collaborazione, diagrammi di sequenza, ecc.
Esistono tre tipi principali di visibilità degli elementi nei pacchetti:
1. Pubblico
Indicato aggiungendo il simbolo "+" prima dell'elemento, l'elemento sarà visibile a tutti gli elementi introdotti nel pacchetto.
2. Privato
Indicato aggiungendo un simbolo "-" prima di un elemento, l'elemento può essere visibile solo agli elementi nello stesso pacchetto.
3. protetto
Indicato aggiungendo il simbolo "#" prima dell'elemento, l'elemento sarà visibile agli elementi nel pacchetto che ereditano il pacchetto.
La figura seguente mostra tre modi per rappresentare la visibilità degli elementi in un pacchetto:
Contiene tre metodi di rappresentazione della visibilità per gli elementi
La visibilità delle tre classi "classe A", "classe B" e "classe C" nella figura sopra è rispettivamente pubblica, privata e protetta.
Le relazioni tra i pacchetti includono principalmente relazioni di dipendenza e relazioni di generalizzazione.
1. Dipendenza
La relazione di dipendenza tra i pacchetti si riferisce alla dipendenza tra diversi elementi nei due pacchetti. Le dipendenze sono rappresentate da frecce tratteggiate. Le frecce puntano dal pacchetto dipendente al pacchetto dipendente. La relazione di dipendenza tra i pacchetti può essere generalizzazione, implementazione, importazione, ecc. La figura seguente mostra la relazione di dipendenza tra i due pacchetti:
La dipendenza dall'importazione si riferisce al consentire agli elementi di un pacchetto di accedere agli elementi di un altro pacchetto. Ciò può essere rappresentato aggiungendo lo stereotipo <<import>> sulla freccia tratteggiata. Le dipendenze dalle importazioni non sono transitive.
2. Relazione di generalizzazione
La relazione di generalizzazione tra i pacchetti è simile alla relazione di generalizzazione tra le classi. Questa relazione di generalizzazione tra pacchetti significa che pacchetti speciali possono sostituire elementi in pacchetti generali e aggiungere nuovi elementi. In effetti, anche la generalizzazione tra pacchetti è una relazione di dipendenza.
La figura seguente mostra alcuni stereotipi di pacchetti, rappresentati da diversi grafici o notazioni:
Stereotipo del pacchetto
Nella figura sopra, dall'alto al basso e da sinistra a destra, rappresentano il modello di analisi aziendale, il sistema aziendale (sistema aziendale), il modello di analisi dei casi d'uso aziendali (modello di analisi dei casi d'uso aziendali) e il pacchetto di domini (pacchetto di domini). , livello (Layer) e sottosistema (Subsystem). È possibile selezionare lo stereotipo corrispondente del pacchetto secondo necessità e identificare rapidamente la funzione del pacchetto.
Nella modellazione vera e propria è possibile seguire i seguenti principi:
1. Principio di equivalenza del riutilizzo
Prova a inserire elementi del modello riutilizzabili simili in un unico pacchetto. Non mescolare elementi del modello riutilizzabili ed elementi del modello non riutilizzabili in un unico pacchetto.
2. Principio di riutilizzo comune
Inserisci più elementi del modello che devono essere riutilizzati nella stessa applicazione nello stesso pacchetto per ridurre le dipendenze tra i pacchetti e migliorare l'indipendenza dei pacchetti.
3. Principio di chiusura comune
Inserisci gli elementi del modello che possono essere modificati e mantenuti allo stesso tempo in un pacchetto per facilitare la manutenzione e gli aggiornamenti futuri.
4. Principio di dipendenza non ciclica
La relazione di dipendenza tra i pacchetti non dovrebbe formare un ciclo: cioè, non si deve verificare il fenomeno per cui A dipende da B e B dipende da A, oppure più pacchetti formano una dipendenza circolare.
A rigor di termini, i diagrammi dei pacchetti non sono diagrammi UML nel vero senso della parola, ma svolgono un ruolo importante nella classificazione degli elementi del modello, nella struttura del modello e nello spazio dei nomi del programma. Nel processo di modellazione vero e proprio, è possibile utilizzare i seguenti metodi per disegnare i diagrammi dei pacchetti:
1. Analizzare gli elementi del modello del sistema e incorporare elementi del modello concettualmente o semanticamente simili in un pacchetto;
2. Contrassegnare la visibilità di ogni elemento del pacco;
3. Determinare le dipendenze tra i pacchetti;
4. Disegna la mappa del pacchetto e ottimizza la mappa del pacchetto.
In ProcessOn è possibile creare un diagramma di pacchetto in un file di diagramma UML oppure aggiungere gli elementi grafici coinvolti nella produzione del diagramma di pacchetto al diagramma di flusso per creare un diagramma di pacchetto.
1. Crea un pacchetto
Trascina semplicemente l'elemento "pacchetto" nella grafica generale UML dall'area dei componenti grafici sul lato sinistro dell'editor all'area vuota sul lato destro dell'editor per completare la creazione del pacchetto.
Crea un pacchetto utilizzando ProcessOn
2. Rinominare il pacchetto
Fare clic su "Nome pacchetto" sull'immagine del pacchetto per rinominarlo.
3. Aggiungi elementi al pacchetto
Durante il disegno, l'utente può trascinare direttamente la grafica dall'area dei componenti grafici sul lato sinistro dell'editor all'area vuota dell'editor per completare la creazione della grafica. Quindi puoi selezionare l'immagine e impostare le proprietà relative all'immagine tramite la barra degli strumenti nella parte superiore dell'editor e il pannello degli strumenti a destra.
Aggiungi elementi al pacchetto
4. Aggiungi connessioni tra pacchetti
Il metodo per tracciare un collegamento consiste nell'utilizzare il tasto di scelta rapida "L", oppure trascinare l'elemento "linea retta" dalla grafica di base nell'area dei componenti grafici a sinistra nell'area vuota dell'editor, oppure spostarlo direttamente da un'estremità di un grafico all'altro. Ottieni una linea. Se desideri aggiungere una relazione di dipendenza, seleziona "Pacchetto dipendente", fai clic su un'estremità di esso e tieni premuto il pulsante sinistro del mouse sul "Pacchetto dipendente", quindi rilascia il mouse per completare la creazione di una relazione di dipendenza.
Aggiungi collegamenti tra i pacchetti
Di seguito vengono forniti due esempi di diagrammi di pacchetto per illustrare l'uso specifico dei diagrammi di pacchetto.
Il primo esempio riflette l'organizzazione di ciascun elemento del modello nel processo di modellazione, utilizzando pacchetti per organizzare vari modelli in base alle fasi di analisi e progettazione del sistema.
L'organizzazione di ciascun elemento del modello durante il processo di modellazione
Il secondo esempio descrive l'organizzazione degli elementi nello sviluppo del sistema. L'interfaccia utente contiene varie interfacce utente utilizzate, BLL contiene varie classi o interfacce per l'elaborazione della logica aziendale, DAL contiene classi correlate del livello di accesso ai dati e Common memorizza alcuni componenti o classi condivisi da vari moduli del sistema.
Organizzazione dei vari elementi nello sviluppo del sistema