Proprietà di operazioni in diagrammi classi UML

In un diagramma classi UML di Visual Studio Ultimate è possibile aggiungere operazioni a classi e interfacce. Un'operazione è una funzione o un metodo che può essere eseguito da un'istanza di una classe o di un'interfaccia.

Per aggiungere un'operazione, fare clic con il pulsante destro del mouse sulla classe o sull'interfaccia, scegliere Aggiungi, quindi fare clic su Operazione.

Se le operazioni di una classe nel diagramma non sono visibili, fare clic sulla freccia di espansione nella parte superiore della classe o dell'interfaccia. Se viene visualizzata l'intestazione Operazione, fare clic su [+] per espandere la sezione Operazioni.

Firma di un'operazione

La firma di un'operazione è la riga di testo che la rappresenta in una classe o in un'interfaccia di un diagramma classi UML. Presenta il formato seguente:

+ OperationName (parameter1 : Type1 [*], ...) : ReturnType [*]

+ indica la visibilità pubblica. Gli altri valori consentiti sono - (privato), # (protetto), ~ (pacchetto).

OperationName è sottolineato se la proprietà Is Static è true, mentre è in corsivo se la proprietà Is Abstract è true.

: ReturnType viene omesso se non è definito alcun tipo restituito.

[*] indica la molteplicità di un parametro o di un tipo restituito. Viene omesso se la molteplicità è 1.

Per una descrizione completa di tali proprietà, vedere la sezione successiva.

Proprietà

In questa sezione vengono illustrate le proprietà di un'operazione in una classe o in un'interfaccia di un diagramma classi UML.

Per visualizzare le proprietà di un'operazione, fare clic con il pulsante destro del mouse sull'operazione nella classe o nell'interfaccia del diagramma, quindi scegliere Proprietà. Le proprietà verranno visualizzate nella finestra Proprietà.

Proprietà

Valore predefinito

Descrizione

Nome

(un nuovo nome)

Deve essere univoco all'interno del tipo che contiene l'operazione.

Parametri

(nessuno)

Elenco nel formato seguente: nome:Tipo, nome:Tipo, …. Fare clic su […] per modificare l'elenco.

I tipi possono essere primitivi o definiti nel modello. Se si immette un nome per un nuovo tipo in questa proprietà, un tipo verrà aggiunto alla sezione Tipi non specificati di Esplora modelli UML.

Tipo restituito

(nessuno)

(nessuno) oppure un tipo primitivo o un tipo definito nel modello. Se si immette un nome per un nuovo tipo in questa proprietà, un tipo verrà aggiunto alla sezione Tipi non specificati di Esplora modelli UML.

Postcondizioni

(nessuno)

Una condizione facoltativa che specifica una relazione tra lo stato del sistema prima e dopo l'esecuzione dell'operazione.

Preconditions

(nessuno)

Una condizione facoltativa che specifica i presupposti sullo stato del sistema prima dell'inizio dell'esecuzione dell'operazione.

Body Conditions

(nessuno)

Un vincolo facoltativo sui valori restituiti dall'operazione.

Visibilità

Public

I valori consentiti e i caratteri visualizzati nella firma sono:

+ Pubblico: visibile globalmente

- Privato: non visibile all'esterno del tipo proprietario

# Protetto: visibile ai tipi derivati dal proprietario

~ Pacchetto: visibile agli altri tipi all'interno dello stesso pacchetto

Signature

+Name()

Riepiloga la visibilità, il nome, i parametri e il tipo restituito di questa operazione. È possibile modificare tali proprietà modificando la firma sul diagramma o modificando le singole proprietà.

Elementi di lavoro

0 elementi associati

Numero di elementi di lavoro associati. Di sola lettura.

Per ulteriori informazioni, vedere Procedura: collegare elementi di modello a elementi di lavoro.

Concorrenza

Sequenziale

Sequenziale: l'operazione è progettata, o lo sarà, senza il controllo della concorrenza. Se si eseguono contemporaneamente più chiamate a questa operazione potrebbero verificarsi errori.

Protetto: l'operazione verrà bloccata automaticamente fino al completamento delle altre istanze dell'operazione.

Simultaneo: l'operazione è progettata in modo da potere eseguire contemporaneamente più chiamate all'operazione.

Is Static

False

Se true, questa operazione viene condivisa tra tutte le istanze di questo tipo.

Se true, il nome dell'operazione verrà sottolineato all'interno del diagramma, laddove è presente.

Is Abstract

False

Se true, a questa operazione non è associato alcun codice. Pertanto, la classe proprietaria è astratta.

Is Leaf

False

La progettazione indica che non è possibile eseguire l'override di questa operazione nelle classi derivate.

Is Query

False

Se true, non vengono apportate modifiche significative allo stato del sistema da questa operazione. Pertanto, può ad esempio essere utilizzata in un test per controllare lo stato del sistema.

Multiplicity

1

1: un singolo valore del tipo specificato.

0..1: può essere null.

*: un insieme di valori del tipo specificato.

1.. *: un insieme che contiene almeno un valore.

n..m: un insieme che contiene valori compresi tra n e m.

Is Ordered

False

Se true, l'insieme forma un elenco sequenziale. Con Multiplicity maggiore di 1.

Univoco

False

Se true, non sono presenti valori duplicati nell'insieme. Con Multiplicity maggiore di 1.

Vedere anche

Concetti

Diagrammi classi UML: riferimento

Proprietà di tipi in diagrammi classi UML

Proprietà di attributi in diagrammi classi UML

Proprietà di associazioni nei diagrammi classi UML

Diagrammi classi UML: linee guida