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