Cos'è la classe?
Una classe è un progetto utilizzato per creare un oggetto. La classe definisce cosa può fare l'oggetto.
Cos'è il diagramma di classe?
DIAGRAMMA DELLE CLASSI UML fornisce una panoramica di un sistema software visualizzando classi, attributi, operazioni e le loro relazioni. Questo diagramma include il nome della classe, gli attributi e l'operazione in compartimenti designati separati.
Class Diagram definisce i tipi di oggetti nel sistema e i diversi tipi di relazioni che esistono tra di loro. Fornisce una visualizzazione 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.
Class Diagram aiuta a costruire il codice per lo sviluppo dell'applicazione software.
In questo tutorial imparerai:
- Cos'è la classe?
- Cos'è il diagramma di classe?
- Vantaggi del diagramma di classe
- Elementi essenziali di un diagramma delle classi UML
- Nome della classe
- Attributi:
- Relazioni
- Aggregazione vs. composizione
- Classi astratte
- Esempio di diagramma di classe UML:
- Diagramma delle classi nel ciclo di vita dello sviluppo software:
- Migliori pratiche di progettazione del diagramma delle classi
Vantaggi del diagramma di classe
- Diagramma di classe Illustra modelli di dati per sistemi informativi anche molto complessi
- Fornisce una panoramica di come è strutturata l'applicazione prima di studiare il codice effettivo. Questo può facilmente ridurre i tempi di manutenzione
- Aiuta a comprendere meglio gli schemi generali di un'applicazione.
- Permette di disegnare grafici dettagliati che evidenziano il codice che deve essere programmato
- Utile per sviluppatori e altri stakeholder.
Elementi essenziali di un diagramma delle classi UML
Gli elementi essenziali del diagramma delle 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, inclusi il nome, gli attributi e le operazioni in compartimenti separati.
Le seguenti regole devono essere rispettate durante la rappresentazione di una classe:
- Il nome di una classe dovrebbe sempre iniziare con una lettera maiuscola.
- Il nome di una classe dovrebbe essere sempre al centro del primo compartimento.
- Il nome di una classe dovrebbe sempre essere scritto in grassetto .
- Il nome di una classe astratta dovrebbe essere scritto in 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 del nome.
Un attributo derivato viene calcolato da altri attributi. Ad esempio, l'età dello studente può essere facilmente calcolata dalla sua data di nascita.
Caratteristiche degli attributi
- Gli attributi sono generalmente scritti insieme al fattore di visibilità.
- Public, private, protected e package 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
Esistono principalmente tre tipi di relazioni in UML:
- Dipendenze
- Generalizzazioni
- Associazioni
Dipendenza
Una dipendenza indica 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.
Nell'esempio seguente, Student ha una dipendenza dal College
Generalizzazione:
Una generalizzazione aiuta a connettere 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 Student è generalizzata da Person Class.
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 è principalmente verbo o una frase verbale o un nome o una frase nominale.
- Dovrebbe essere denominato per indicare il ruolo svolto dalla classe allegata alla fine del percorso associativo.
- Obbligatorio per associazioni riflessive
In questo esempio, viene mostrata la relazione tra studente e college che è studi.
Molteplicità
Una molteplicità è un fattore associato a un attributo. Specifica quante istanze di attributi vengono create quando una classe viene inizializzata. Se una molteplicità non è specificata, per impostazione predefinita una è considerata come 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 di parte intera tra l'aggregato e le sue parti.
Ad esempio, la classe college è composta da uno o più studenti. Nell'aggregazione, le classi contenute non sono mai totalmente dipendenti dal ciclo di vita del contenitore. Qui, la classe del college 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 potrebbe contenere molti studenti, mentre ogni studente appartiene a un solo college. Quindi, se l'università non funziona, vengono rimossi anche tutti gli studenti.
Aggregazione vs. composizione
Aggregazione |
Composizione |
L'aggregazione indica una relazione in cui il figlio può esistere separatamente dalla classe padre. Esempio: Automobile (genitore) e Auto (bambino). Quindi, se elimini l'Automobile, l'Auto figlio esiste ancora. |
Relazione di visualizzazione della composizione in cui il bambino non esisterà mai indipendentemente dal genitore. Esempio: casa (genitore) e camera (bambino). 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 operazioni dichiarate al suo interno. Un abstract è utile per identificare le funzionalità tra le classi. Consideriamo un esempio di una classe astratta. Supponiamo di avere una classe astratta chiamata come movimento con un metodo o un'operazione dichiarata al suo interno. Il metodo dichiarato all'interno della classe astratta si chiama move () .
Questo metodo di classe astratto può essere utilizzato da qualsiasi oggetto come un'auto, un animale, un robot, ecc. Per cambiare la posizione corrente. È efficiente utilizzare questo metodo di classe astratta con un oggetto perché non viene fornita alcuna implementazione per la funzione data. 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 un carattere corsivo.
Una classe astratta non può essere inizializzata o istanziata.

Nella notazione di classe astratta sopra, c'è l'unico metodo astratto che può essere utilizzato da più oggetti di classi.
Esempio di diagramma di classe UML
La creazione di un diagramma delle classi è un processo semplice. Non comporta molti tecnicismi. Ecco un esempio:
Il sistema degli sportelli automatici è molto semplice in quanto i clienti devono premere alcuni pulsanti per ricevere contanti. Tuttavia, ci sono più livelli di sicurezza che qualsiasi sistema ATM deve superare. Questo aiuta a prevenire le frodi e fornire contanti o richiedere dettagli ai clienti bancari.
Di seguito è riportato un esempio di diagramma di classe UML:
Diagramma delle classi nel ciclo di vita dello sviluppo del 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 le cose nel mondo reale. Dovresti disegnare un diagramma che rappresenti i concetti nel dominio in esame. Questi concetti sono legati alla classe ed è sempre indipendente dalla lingua.
2. Prospettiva delle specifiche: la prospettiva delle specifiche descrive astrazioni o componenti del software con specifiche e interfacce. Tuttavia, non si impegna a realizzare una specifica implementazione.
3. Prospettiva di implementazione: questo tipo di diagrammi di classe viene utilizzato per implementazioni in un linguaggio o un'applicazione specifici. Prospettiva di implementazione, utilizzo per l'implementazione del software.
Migliori pratiche di progettazione del diagramma delle classi
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 mentre si disegna un diagramma delle classi. Rappresentano vari aspetti di un'applicazione software.
Ecco alcuni punti che dovrebbero essere tenuti a mente mentre si disegna un diagramma di classe:
- Il nome dato al diagramma delle classi deve essere significativo. Inoltre, dovrebbe descrivere l'aspetto reale del sistema.
- La relazione tra ogni elemento deve essere identificata in anticipo.
- La responsabilità di ogni classe deve essere identificata.
- Per ogni classe, è necessario specificare il numero minimo di proprietà. Pertanto, le proprietà indesiderate possono facilmente complicare il diagramma.
- Le note dell'utente dovrebbero essere incluse ogni volta che è necessario definire alcuni aspetti del diagramma. Alla fine del disegno, deve essere comprensibile per il team di sviluppo software.
- Infine, prima di creare la versione finale, è necessario disegnare lo schema su carta comune. Inoltre, dovrebbe essere rielaborato fino a quando non è pronto per la presentazione finale.
Conclusione
- UML è il linguaggio standard per la specifica, la progettazione e la visualizzazione degli artefatti dei sistemi software
- Una classe è un progetto per un oggetto
- Un diagramma delle classi descrive i tipi di oggetti nel sistema e i diversi tipi di relazioni che esistono tra di 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 effettivo. Certamente riduce i tempi di manutenzione
- Il diagramma delle classi è utile per mappare linguaggi di programmazione orientati agli oggetti come Java, C ++, Ruby, Python, ecc.