UML fornisce i propri tipi di dati per gli attributi nel diagramma delle classi?
Ci si aspetta che tu definisca i tuoi tipi. Tuttavia, UML prova a definirsi e quindi ha bisogno di un paio di tipi primitivi. Tutti gli altri tipi sono derivati da quello.
In tal caso, quali tipi di dati fornisce UML?
UML definisce i tipi primitivi Integer
, Boolean
, String
, UnlimitedNatural
e Real
nel capitolo 21 della specifica. Vedi anche Capitolo 8 per i valori in UML e Sezione 8.1 per i letterali in UML. Ad esempio, UML ha bisogno di questi tipi primitivi in modo che possiamo avere una notazione per la molteplicità.
Se UML fornisce il proprio tipo di dati e la lingua di destinazione ha un tipo equivalente con un nome diverso, quale scelgo per il diagramma di classe?
Alcune persone usano UML come linguaggi di programmazione autonomi e indipendenti dalla lingua. Considero questo inutile auto-flagellazione.
Invece, i modelli UML dovrebbero essere usati per illustrare alcune proprietà di alcuni sistemi. Più il modello è vicino al sistema, meglio è. Possiamo quindi lasciare i tipi primitivi UML allo standard UML e usare invece quello che definisce il nostro linguaggio attuale.
Il mio libro UML usa la sintassi del cammello in minuscolo per i nomi degli attributi, è una raccomandazione o obbligatoria (alcuni linguaggi come Python preferiscono una sintassi diversa, come "date_of_birth")?
UML non utilizza esclusivamente case cammello. La specifica contiene anche notazioni come A_default_templateParameter
per le associazioni.
Di nuovo, probabilmente non stai usando UML come un linguaggio completo in sé, ma come un modello per il software in qualche altra lingua. Se si desidera mantenere il modello il più vicino possibile al sistema da modellare, è necessario prendere in prestito le convenzioni di notazione dalla lingua corrente.
Sommario
UML si rivela utile quando puoi disegnare diagrammi che comunicano più chiaramente di una descrizione testuale. Lo standard fornisce un linguaggio (visivo) di base che dovrebbe essere bloccato piuttosto che inventare il proprio dialetto, ma non è necessario utilizzare UML come un proprio linguaggio completo. Nomi e tipi sono proprietà importanti del sistema soggetto, quindi prendili direttamente dal sistema soggetto invece di provare a inserirli in modo non corretto nel meta-modello UML.
Riferimenti
Versione 2.5 dello standard UML