2012-09-28 9 views
9

Quando stavo creando la prima volta un diagramma di classe uml per un piccolo progetto C# ho avuto qualche problema con le proprietà. Alla fine ho appena aggiunto le proprietà come variabile con <<property>> all'inizio. Ora mi sto chiedendo come posso risolvere questo con un metodo astratto? Devo semplicemente aggiungere <<abstract>> al metodo una multa? Sto facendo qualcosa del genere:Diagramma di classe UML: è questo il modo di scrivere metodo e proprietà astratti?

----------------------------------- 
|   <<abstract>>   | 
|    MyClass    | 
----------------------------------- 
|<<property>> + a : int   | 
|<<property>> + b : string  | 
----------------------------------- 
|<<abstract>> # Job() : void  | 
|<<abstract>> # Job2() : string | 
|- SomeNonAbstractMethod() : void | 
----------------------------------- 

Va bene? Eventuali suggerimenti?

risposta

6

Ogni "attributo" è in realtà una proprietà in UML2. I metodi astratti sono visualizzati in testo in corsivo (UML ha un valore booleano per questo).

La notazione che si sta utilizzando si chiama Parola chiave (modo semplice) o Stereotipo (più complessa). Se vuoi contrassegnare una proprietà come una sorta di "speciale" va bene con una parola chiave come hai fatto tu.

0

Poiché non ci sono proprietà in UML, penso che questa sia una soluzione possibile per sottolineare che un attributo deve essere implementato come proprietà. Tuttavia dovresti documentare l'uso di questa parola chiave non standard all'interno del documento che utilizzi il diagramma.

Un'altra soluzione potrebbe essere quella di creare una convenzione in base alla quale tutti gli attributi pubblici devono essere implementati come proprietà (a meno che non si verifichino alcune eccezioni ...).

Se ricordo che i metodi astratti vengono visualizzati utilizzando il testo in corsivo. Non mi piace però questo approccio, perché potrebbe essere supervisionato più facilmente che nel tuo diagramma. Potrebbe anche dipendere dalle possibilità offerte dall'editor UML, dove di solito preferisco adattare il metodo dell'editor per rimanere in linea con altri diagrammi disegnati con lo stesso editor.

Problemi correlati