2012-03-22 6 views

risposta

10

UML viene utilizzato semplicemente sbagliato in quei diagrammi. La testa della freccia deve essere un triangolo (non uno aperto) che deve puntare nell'altra direzione e si chiama realizza non implementa. Quindi, se non avessi interpretato erroneamente i diagrammi, l'autore (del diagramma o del software che li ha creati) semplicemente non sapeva come usare UML correttamente.

In this diagram (appena trovato googling) si può vedere una corretta visualizzazione di una classe "SearchService" realizzando (applicazione) l'interfaccia "SiteSearch".

Interface Realization

In the next diagram diverse classi sono generalizzate da (specializzati, allungare) la classe di "Account".

Generalization

Su this site è possibile ottenere una visione d'insieme (guarda corretto al primo colpo d'occhio). Se vuoi essere sicuro, dovresti cercare su the specification (trova il download del pdf lì).

+0

Perché si chiama realizzazione e generalizzazione? –

+0

Gli autori di UML hanno cercato di usare termini più generali. E gli "attrezzi" potrebbero essere confusi con l'implementazione di un modello UML in un linguaggio di programmazione. Mentre "estendere" non è sempre vero per UML. Una classe più generale può anche essere limitata da una sottoclasse. – Christian

+0

Nello stesso diagramma qual è il termine corretto per descrivere la relazione che il cliente ha con gli oggetti Visitor ed Element? – emeraldjava

0

Penso che la confusione qui emerga dalle variazioni nel modo in cui le persone si collegano alle sottigliezze della grammatica inglese.

Alcune persone possono essere inclini a completare lo "scomodo", ma i token standard UML "estendono" come "estendono", mentre altri lo completano come "esteso" durante la visualizzazione o la progettazione di un diagramma. Da qui le differenze nell'interpretazione.