OOAD - Notazioni di base UML

UML definisce notazioni specifiche per ciascuno degli elementi costitutivi.

Classe

Una classe è rappresentata da un rettangolo con tre sezioni:

  • la sezione superiore contenente il nome della classe
  • la sezione centrale contenente gli attributi della classe
  • la sezione inferiore che rappresenta le operazioni della classe

La visibilità degli attributi e delle operazioni può essere rappresentata nei seguenti modi:

  • Public- Un membro pubblico è visibile da qualsiasi punto del sistema. Nel diagramma delle classi, è preceduto dal simbolo "+".

  • Private- Un membro privato è visibile solo dall'interno della classe. Non è possibile accedervi dall'esterno della classe. Un membro privato è preceduto dal simbolo "-".

  • Protected- Un membro protetto è visibile dall'interno della classe e dalle sottoclassi ereditate da questa classe, ma non dall'esterno. È preceduto dal simbolo "#".

Una classe astratta ha il nome della classe scritto in corsivo.

Example- Consideriamo la classe Circle introdotta in precedenza. Gli attributi di Circle sono coord x, coord y e raggio. Le operazioni sono findArea (), findCircumference () e scale (). Supponiamo che x-coord e y-coord siano membri dati privati, radius sia un membro dati protetto e le funzioni membro siano pubbliche. La figura seguente fornisce la rappresentazione schematica della classe.

Oggetto

Un oggetto è rappresentato come un rettangolo con due sezioni:

  • La sezione superiore contiene il nome dell'oggetto con il nome della classe o del pacchetto di cui è un'istanza. Il nome assume le seguenti forme:

    • object-name - nome della classe

    • object-name - nome-classe :: nome-pacchetto

    • class-name - in caso di oggetti anonimi

  • La sezione inferiore rappresenta i valori degli attributi. Ha la forma nome-attributo = valore.

  • A volte gli oggetti vengono rappresentati utilizzando rettangoli arrotondati.

Example- Consideriamo un oggetto della classe Circle denominato c1. Assumiamo che il centro di c1 sia in (2, 3) e il raggio di c1 sia 5. La figura seguente raffigura l'oggetto.

Componente

Un componente è una parte fisica e sostituibile del sistema che è conforme e prevede la realizzazione di un insieme di interfacce. Rappresenta il packaging fisico di elementi come classi e interfacce.

Notation - Nei diagrammi UML, un componente è rappresentato da un rettangolo con schede come mostrato nella figura seguente.

Interfaccia

L'interfaccia è una raccolta di metodi di una classe o di un componente. Specifica l'insieme di servizi che possono essere forniti dalla classe o dal componente.

Notation- In genere, un'interfaccia viene disegnata come un cerchio insieme al suo nome. Un'interfaccia è quasi sempre collegata alla classe o al componente che la realizza. La figura seguente fornisce la notazione di un'interfaccia.

Pacchetto

Un pacchetto è un gruppo organizzato di elementi. Un pacchetto può contenere cose strutturali come classi, componenti e altri pacchetti al suo interno.

Notation- Graficamente, un pacchetto è rappresentato da una cartella a schede. Un pacchetto viene generalmente disegnato solo con il suo nome. Tuttavia potrebbe avere ulteriori dettagli sul contenuto del pacchetto. Vedere le figure seguenti.

Relazione

Le notazioni per i diversi tipi di relazioni sono le seguenti:

Di solito, gli elementi in una relazione svolgono ruoli specifici nella relazione. Un nome di ruolo indica il comportamento di un elemento che partecipa a un determinato contesto.

Example- Le figure seguenti mostrano esempi di diverse relazioni tra le classi. La prima figura mostra un'associazione tra due classi, Reparto e Impiegato, in cui un dipartimento può avere un numero di dipendenti che vi lavorano. Worker è il nome del ruolo. "1" accanto a Department e "*" accanto a Employee indicano che il rapporto di cardinalità è uno a molti. La seconda figura ritrae il rapporto di aggregazione, un'Università è il “tutto – di” tanti Dipartimenti.