I vantaggi di utilizzare generalizzazione in UML Modeling

October 8

I vantaggi di utilizzare generalizzazione in UML Modeling


Nella modellazione orientata agli oggetti utilizzando Unified Modeling Language (UML), generalizzazione si riferisce alla estrazione di elementi comuni tra più classi, noto come sottoclassi, e le loro associazioni condivise in una classe generale o superclasse. Secondo Hoffer, George e Valacich in "I moderni sistemi di progettazione e analisi," nella modellazione UML, generalizzazione è rappresentata "come una linea continua dalla sottoclasse alla superclasse, con un triangolo vuoto alla fine di, e verso, la superclasse . "Utilizzo di generalizzazione in modellazione UML è vantaggioso perché promuove l'eredità, la riusabilità, estendibilità e semplicità.

Eredità

In generalizzazione, una sottoclasse eredita gli attributi da una superclasse. Questo è utile perché fornisce un modo per distinguere gli attributi comuni di caratteristiche uniche. Tuttavia, dal momento che una sottoclasse è più specifico e di una superclasse è più generale, un bambino o sottoclasse può ereditare gli attributi e il comportamento di un genitore o superclasse - ma non viceversa. Per esempio, se l'animale è una superclasse e il cane è una sottoclasse della superclasse degli animali, si può indicare che ogni cane è un animale, ma non tutti gli animali è un cane.

riusabilità

Consentendo classi di condividere gli attributi e comportamenti comuni, la pratica della generalizzazione in Modellazione UML permette riutilizzabilità, perché si traduce in minimo la duplicazione. Dal momento che le sottoclassi ereditano attributi generali da una superclasse, è possibile riutilizzare gli attributi ei comportamenti della superclasse per produrre più sottoclassi. Inoltre, avere classi di oggetti con gli attributi generici e comportamenti possono essere utili nello sviluppo del sistema, perché riutilizzabilità è possibile attraverso molteplici sforzi di sviluppo del sistema, senza dover reinventare la ruota ogni volta.

estendibilità

La generalizzazione supporta estensibilità perché una volta che è stata definita una superclasse, è possibile continuare a creare attributi e comportamenti che sono diverso da quello superclasse 'attributi e comportamenti in una sottoclasse. Per illustrare, utilizzando l'esempio superclasse degli animali, è possibile aggiungere sottoclassi aggiuntivi come una sottoclasse gatto alla superclasse animale senza dover ridefinire le caratteristiche che rendono un gatto un animale. Inoltre, la superclasse animale può diventare una sottoclasse della superclasse esseri viventi e una nuova sottoclasse impianto può essere creato sotto la superclasse esseri viventi.

Semplicità

In generalizzazione, classi di oggetti sono più facili da gestire, perché si sta semplificando il processo di classificazione degli oggetti predefinendo in comune per le sottoclassi una volta attraverso una superclasse. Allora, avete solo bisogno di definire gli attributi distinti quando si aggiungono sottoclassi alla superclasse. Come risultato di questo livello più elevato di astrazione, si utilizza meno oggetti, che riduce le complessità associate alla strutturare una gerarchia di classi in UML modellazione.