Tutorial sul diagramma delle classi UML: classe astratta con esempi
Cos'è la classe nel diagramma UML?
A Classe in UML il diagramma è un progetto utilizzato per creare un oggetto o un insieme di oggetti. La Classe definisce cosa può fare un oggetto. È un modello per creare vari oggetti e implementare il loro comportamento nel sistema. Una classe in UML è rappresentata da un rettangolo che include righe con nomi di classe, attributi e operazioni.
Cos'è il diagramma delle classi?
A Diagramma di classe in Ingegneria del software è una struttura statica che fornisce una panoramica di un sistema software visualizzando classi, attributi, operazioni e le loro relazioni tra loro. Questo diagramma include il nome della classe, gli attributi e il funzionamento in compartimenti designati separati. Class Diagram aiuta a costruire il codice per lo sviluppo dell'applicazione software.
Il diagramma delle classi definisce i tipi di oggetti nel sistema e i diversi tipi di relazioni che esistono tra loro. Fornisce una visione di alto livello di un'applicazione. Questo metodo di modellazione può essere eseguito con quasi tutti i metodi orientati agli oggetti. Una classe può fare riferimento a un'altra classe. Una classe può avere i suoi oggetti o può ereditare da altre classi.
Vantaggi del diagramma delle classi
- Diagramma di classe Illustra modelli di dati anche per sistemi informativi molto complessi
- Fornisce una panoramica di come è strutturata l'applicazione prima di studiare il codice vero e proprio. Ciò può facilmente ridurre i tempi di manutenzione
- Aiuta a comprendere meglio gli schemi generali di un'applicazione.
- Consente di disegnare grafici dettagliati che evidenziano il codice che deve essere programmato
- Utile per gli sviluppatori e altre parti interessate.
Elementi essenziali di un diagramma di classi UML
Gli elementi essenziali del diagramma classi UML sono:
- Nome della classe
- Attributi
- Operazioni
Nome della classe
Il nome della classe è necessario solo nella rappresentazione grafica della classe. Appare nello scomparto più in alto. Una classe è il progetto di un oggetto che può condividere le stesse relazioni, attributi, operazioni e semantica. La classe viene rappresentata come un rettangolo, incluso il nome, gli attributi e le operazioni in compartimenti separati.
Quando si rappresenta una classe è necessario rispettare le seguenti regole:
- Il nome di una classe dovrebbe sempre iniziare con una lettera maiuscola.
- Il nome di una classe dovrebbe essere sempre al centro del primo scomparto.
- Dovrebbe essere sempre scritto il nome della classe perno formato.
- Il nome della classe astratta UML deve essere scritto in formato corsivo.
Attributi
Un attributo è denominato proprietà di una classe che descrive l'oggetto da modellare. Nel diagramma delle classi, questo componente è posizionato appena sotto il compartimento dei nomi.
Un attributo derivato viene calcolato da altri attributi. Ad esempio, l'età dello studente può essere facilmente calcolata a partire dalla sua data di nascita.
Caratteristiche degli attributi
- Gli attributi sono generalmente scritti insieme al fattore di visibilità.
- Pubblico, privato, protetto e pacchetto sono le quattro visibilità indicate rispettivamente dai segni +, -, # o ~.
- La visibilità descrive l'accessibilità di un attributo di una classe.
- Gli attributi devono avere un nome significativo che ne descriva l'uso in una classe.
Relazioni
Ne esistono principalmente tre tipologie relazioni in UML:
- dipendenze
- generalizzazioni
- Associazioni
Dipendenza
Una dipendenza è la relazione tra due o più classi in cui un cambiamento in una può forzare cambiamenti nell'altra. Tuttavia, creerà sempre una relazione più debole. La dipendenza indica che una classe dipende da un'altra.
Nei seguenti esempi di diagrammi di classe UML, Student ha una dipendenza da College
Generalizzazione:
Una generalizzazione aiuta a collegare una sottoclasse alla sua superclasse. Una sottoclasse viene ereditata dalla sua superclasse. La relazione di generalizzazione non può essere utilizzata per modellare l'implementazione dell'interfaccia. Il diagramma delle classi consente di ereditare da più superclassi.
In questo esempio, la classe Studente è generalizzata dalla Classe Persona.
Associazione:
Questo tipo di relazione rappresenta relazioni statiche tra le classi A e B. Ad esempio; un dipendente lavora per un'organizzazione.
Ecco alcune regole per l'Associazione:
- L'associazione è per lo più un verbo o una frase verbale o un sostantivo o una frase nominale.
- Dovrebbe essere nominato per indicare il ruolo svolto dalla classe allegata alla fine del percorso associativo.
- Obbligatorio per le associazioni riflessive
In questo esempio viene mostrata la relazione tra studente e università, ovvero gli studi.
moltiplicità
Una molteplicità è un fattore associato a un attributo. Specifica quante istanze di attributi vengono create quando una classe viene inizializzata. Se non viene specificata una molteplicità, per impostazione predefinita viene considerata una molteplicità predefinita.
Diciamo che ci sono 100 studenti in un college. Il college può avere più studenti.
Aggregazione
L'aggregazione è un tipo speciale di associazione che modella una relazione tutto-parte tra l'aggregato e le sue parti.
Ad esempio, la classe college è composta da uno o più studenti. Nell'aggregazione, le classi contenute non dipendono mai totalmente dal ciclo di vita del contenitore. Qui la classe universitaria rimarrà anche se lo studente non è disponibile.
Composizione:
La composizione è un tipo speciale di aggregazione che denota una forte proprietà tra due classi quando una classe fa parte di un'altra classe.
Ad esempio, se il college è composto da classi studentesche. Il college può contenere molti studenti, mentre ogni studente appartiene a un solo college. Quindi, se l'università non funziona, vengono allontanati anche tutti gli studenti.
Aggregazione contro composizione
Aggregazione | Composizione |
---|---|
L'aggregazione indica una relazione in cui il bambino può esistere separatamente dalla classe genitore. Esempio: Automobile (Genitore) e Automobile (Figlio). Quindi, se elimini l'automobile, l'auto bambino esiste ancora. | Relazione di visualizzazione della composizione in cui il figlio non esisterà mai indipendentemente dal genitore. Esempio: Casa (genitore) e Stanza (figlio). Le stanze non si separeranno mai in una casa. |
Classi astratte
È una classe con un prototipo di operazione, ma non l'implementazione. È anche possibile avere una classe astratta senza alcuna operazione dichiarata al suo interno. Un abstract è utile per identificare le funzionalità tra le classi. Consideriamo un esempio di classe astratta. Supponiamo di avere una classe astratta chiamata movimento con un metodo o un'operazione dichiarata al suo interno. Il metodo dichiarato all'interno della classe astratta si chiama a mossa ().
Questo metodo di classe astratta può essere utilizzato da qualsiasi oggetto come un'auto, un animale, un robot, ecc. per modificare la posizione corrente. È efficiente utilizzare questo metodo di classe astratta con un oggetto perché non viene fornita alcuna implementazione per la funzione specificata. Possiamo usarlo in qualsiasi modo per più oggetti.
In UML la classe astratta ha la stessa notazione di quella della classe. L'unica differenza tra una classe e una classe astratta è che il nome della classe è scritto rigorosamente in corsivo.
Una classe astratta non può essere inizializzata o istanziata.
Nel sopra notazione di classe astratta, esiste l'unico metodo astratto che può essere utilizzato da più oggetti di classi.
Esempio di diagramma di classi UML
La creazione di un diagramma di classi è un processo semplice. Non comporta molti tecnicismi. Ecco un esempio:
Il sistema ATM è molto semplice, in quanto i clienti devono premere alcuni pulsanti per ricevere denaro. Tuttavia, ci sono diversi livelli di sicurezza che qualsiasi sistema ATM deve superare. Ciò aiuta a prevenire le frodi e a fornire denaro o informazioni di necessità ai clienti bancari.
Di seguito è riportato un esempio di diagramma di classi UML:
Controlla anche: - Diagrammi UML: storia, tipi, caratteristiche, versioni, strumenti
Diagramma delle classi nel ciclo di vita dello sviluppo software
I diagrammi di classe possono essere utilizzati in varie fasi di sviluppo del software. Aiuta a modellare i diagrammi di classe in tre diverse prospettive.
1. Prospettiva concettuale: I diagrammi concettuali descrivono cose nel mondo reale. Dovresti disegnare un diagramma che rappresenti i concetti nel dominio in studio. Questi concetti si riferiscono alla classe ed è sempre indipendente dalla lingua.
2. Prospettiva delle specifiche: La prospettiva delle specifiche descrive astrazioni o componenti software con specifiche e interfacce. Tuttavia, non fornisce alcun impegno per un'attuazione specifica.
3. Prospettiva di attuazione: Questo tipo di diagrammi di classe viene utilizzato per le implementazioni in un linguaggio o un'applicazione specifica. Prospettiva implementativa, utilizzo per l'implementazione del software.
migliori pratiche di progettazione del diagramma di classe
I diagrammi di classe sono i diagrammi UML più importanti utilizzati per lo sviluppo di applicazioni software. Ci sono molte proprietà che dovrebbero essere considerate quando si disegna un diagramma di classe. Rappresentano vari aspetti di un'applicazione software.
Ecco alcuni punti che dovrebbero essere tenuti a mente quando si disegna un diagramma di classe:
- Il nome dato al diagramma classi deve essere significativo. Inoltre, dovrebbe descrivere l'aspetto reale del sistema.
- La relazione tra ciascun elemento deve essere identificata in anticipo.
- La responsabilità di ogni classe deve essere identificata.
- Per ogni classe deve essere specificato il numero minimo di proprietà. Pertanto, le proprietà indesiderate possono facilmente complicare il diagramma.
- Le note utente devono essere incluse ogni volta che è necessario definire un aspetto del diagramma. Alla fine del disegno, deve essere comprensibile per il team di sviluppo software.
- Infine, prima di realizzare la versione finale, è necessario disegnare lo schema su carta comune. Inoltre, dovrebbe essere rielaborato fino a quando non sarà pronto per la presentazione finale.
Conclusione
- UML è il linguaggio standard per specificare, progettare e visualizzare gli artefatti dei sistemi software
- Una classe è un progetto per un oggetto
- Un diagramma di classi descrive i tipi di oggetti nel sistema e i diversi tipi di relazioni che esistono tra loro
- Consente l'analisi e la progettazione della vista statica di un'applicazione software
- I diagrammi di classe sono i diagrammi UML più importanti utilizzati per lo sviluppo di applicazioni software
- Gli elementi essenziali del diagramma delle classi UML sono 1) Classe 2) Attributi 3) Relazioni
- Class Diagram fornisce una panoramica di come è strutturata l'applicazione prima di studiare il codice vero e proprio. Sicuramente riduce i tempi di manutenzione
- Il diagramma delle classi è utile per mappare linguaggi di programmazione orientati agli oggetti come Java, C++, Rubino, Python, ecc.
Controlla anche: - Tutorial sui diagrammi UML per principianti: impara UML online GRATUITAMENTE