2009-12-09 2 views
160

Ho studiato di recente UML e disegno diagrammi semplici con normali frecce semplici tra le classi, ma so che non è sufficiente. Ci sono molte altre frecce: generalizzazione, realizzazione ed ecc. Che hanno un significato per il lettore di diagrammi.Spiegazione delle frecce UML

C'è una bella risorsa che potrebbe spiegare ogni freccia (ordinaria, semplice, punteggiata, piena di diamanti, diamante)?

Sarebbe il migliore se avesse alcuni esempi di codice per loro.

+3

consiglio vivamente considerando questo: https://dzone.com/refcardz/getting-started-uml – trinity

risposta

364

Ecco alcune spiegazioni da Visual Studio 2015 Documenti:

diagrammi di classe UML: Riferimento: https://msdn.microsoft.com/library/dd409437%28VS.140%29.aspx

UML class diagram

: Associazione: una relazione tra la membri di due classificatori.

5a: Aggregazione: Un'associazione che rappresenta un rapporto di proprietà condivisa. La proprietà Aggregation è impostata su condivisa.

5b: Composizione: Un'associazione rappresenta una relazione intero-parte. La proprietà Aggregation del ruolo proprietario è impostata su Composito.

: generalizzazione: Il classificatore specifico eredita parte della sua definizione dal generale classificatore. Il classificatore generale si trova all'estremità della freccia del connettore. Attributi, associazioni e operazioni sono ereditate dal classificatore specifico. Utilizzare lo strumento Ereditarietà per creare una generalizzazione tra due classificatori.

Package diagram

: importazione: Una relazione tra pacchetti, indicando che una pacchetto include tutte le definizioni di un'altra.

: Dipendenza: La definizione o attuazione del classificatore dipendente potrebbe cambiare se classificatore a fine freccia viene modificato.

Realization relationship

: Realizzazione: La classe implementa le operazioni ed attributi definiti dall'interfaccia. Utilizzare lo strumento Ereditarietà per creare una realizzazione tra una classe e un'interfaccia.

: Realizzazione: una presentazione alternativa dello stesso rapporto. L'etichetta sul simbolo del lecca-lecca identifica l'interfaccia.

diagrammi di classe UML: Linee guida: http://msdn.microsoft.com/library/dd409416%28VS.140%29.aspx

proprietà di un'associazione

Aggregation: Questo appare come una forma di diamante ad un'estremità del connettore. È possibile utilizzarlo per indicare che le istanze nel ruolo di aggregazione possiedono o contengono istanze dell'altro.

È navigabile: se è vero per un solo ruolo, viene visualizzata una freccia nella direzione di navigazione. È possibile utilizzare per indicare la navigabilità dei collegamenti e delle relazioni tra database nel software.


Generalization: generalizzazione significa che la specializzazione o tipo derivato eredita attributi, operazioni e le associazioni di tipo generale o di base. Il tipo generale appare sulla punta della freccia alla fine della relazione.

Realizzazione: Realizzazione indica che una classe implementa gli attributi e le operazioni specificate dall'interfaccia . L'interfaccia si trova all'estremità della freccia del connettore.

Fatemi sapere se avete altre domande.

+1

Bel riferimento ma per me un Menu -> MenuItem ha la stessa relazione come un Ordine -> OrderItem quindi entrambi sono Composizioni. –

+4

Che entrambi significano solo che l'articolo dell'ordine appartiene a un ordine e non può essere spostato, mentre la voce di menu può essere regolabile - l'utente può modificare la posizione della voce di menu. È la soluzione scelta. Perchè no? – Gangnus

+0

@Gangnus, grazie. Questa spiegazione ha chiarito la differenza che mi ha eluso per molto tempo. – JMD

13

Il mio foglio "cheat" preferito da UML è UML Distilled, di Martin Fowler. È l'unico dei suoi libri che ho letto che raccomando.

+1

Interessante, mi è piaciuto molto Refactoring. È quello su cui hai opinioni. – djna

+0

Sì, ho trovato tutto un po 'ovvio, e non mi piaceva la concentrazione su Java. Inoltre, per favore non dare la mia risposta dicendo che i suoi altri libri sono spazzatura. –

+0

Il libro di Fowler ha anche un cheat sheet all'interno delle copertine dei libri. Davvero buono per iniziare, soprattutto perché la tua prossima domanda sarà in che direzione vanno le frecce? –

11

Qui è semplificato tutorial:

Practical UML

Per ulteriori vi consiglio di prendere un po 'di letteratura.

9

Per una rapida consultazione con chiari esempi concisi, di Allen Holub UML di riferimento rapido è eccellente:

http://www.holub.com/goodies/uml/

(Ci sono alcuni esempi specifici di frecce e puntatori nella prima colonna di una tabella, con le descrizioni nella seconda colonna.

5

Una descrizione molto semplice da comprendere è the documentation of yuml, con esempi di diagrammi di classe, casi d'uso e attività.

3

La risposta è stata accettata, mancano alcune spiegazioni. per esempio, qual è la differenza tra un'associazione unidirezionale e una bidirezionale; entrambi utilizzati nell'esempio fornito. (numero "5" nelle frecce) Quindi se stai cercando una risposta più completa e più tempo, guarda here.

50

enter image description here

enter image description here

Credo che queste immagini sono comprensibili.