Archivi categoria: UML

Arc42, per documentare le architetture software

Arc42 è un framework semplice e concreto per documentare le architetture software. L’impostazione è essenziale, ma completa.

Basato su una serie di template, è stato realizzato da Gernot Starke e Peter Hruschka, ed è usabile  gratuitamente e senza vincoli. Prevede come opzione, anche se non obbligatoria, l’uso di UML.

Le caratteristiche di Arc42 vengono spiegate in questa intervista su Software Engineering Radio.

Intervista a Grady Booch su UML

InfoQ ha pubblicato un’intervista a Grady Booch, uno dei principali autori di UML (Unified Modeling Language – la notazione standard per rappresentare i sistemi software).

L’intervista tocca vari temi, tra cui lo sviluppo iterativo e agile, UP, XP, Scrum, linguaggi di programmazione – ma buona parte è dedicata a UML, alla sua diffusione, ai suoi vantaggi e limiti, alla sua evoluzione nel corso dei due decenni trascorsi dall’idea iniziale a oggi.

Tra le osservazioni di Booch, il fatto che il 20% di UML è sufficiente nell’80% dei casi; che la diffusione di UML non ha mai superato il 20% delle realtà che sviluppano software (a parte il mondo real time, dove le percentuali sono superiori); che l’uso di UML come linguaggio di programmazione è molto diverso da ciò che i suoi autori intendevano.

Per i curiosi, può essere interessante confrontare l’intervista del 2014 con le risposte che mi diede nel 1998, poco dopo la pubblicazione di UML.

Enterprise Architect – video tutorial (in italiano)

Ho pubblicato su YouTube una serie di 14 video sull’uso dello strumento di modellazione Enterprise Architect, di Sparx Systems, uno degli strumenti più diffusi per la modellazione UML, SysML e BPMN. Sono stati registrati durante un corso tenuto recentemente presso uno dei miei clienti, che ringrazio per il permesso di diffonderli.

I video sono stati pensati per guidare i primi passi di chi non conosce Enterprise Architect, ma possono anche fornire indicazioni utili a chi già lo usa già. Sono relativi alla versione 10 dello strumento.

Programmare in UML? No, grazie.

Quando lo Unified Modeling Language (UML) nacque, attorno alla metà degli anni novanta, l’obiettivo era definire un linguaggio-notazione comune per gli sviluppatori software, che fosse in grado di standardizzare (e quindi agevolare) la documentazione dei prodotti e la comunicazione tra le persone.

Ma poi, con il nuovo millennio, l’ambizione cresce. Gli obiettivi, almeno quelli di alcuni all’interno dell’Object Management Group (OMG – il consorzio che “possiede” UML), si allargano: Model Driven Architecture, Model Driven Development, generazione di codice a partire dai modelli.

Un esempio è questa presentazione del 2013 di Ed Seidewitz, dove a pagina 19 si chiarisce la meta finale di chi spinge in questa direzione: programmare in UML.

Non era certamente questo, l’obiettivo di chi ha ideato UML. E non lo è neanche per la grande maggioranza dei suoi utilizzatori, né tantomeno per chi sviluppa davvero software. Per rimettere un po’ i piedi per terra, rimando ai miei video introduttivi su come si può usare UML in pratica (ora disponibili anche su un nuovo canale YouTube).

UML in Practice …

UML in Practice è una ricerca di Marian Petre della Open University, pubblicata negli atti del convegno ICSE (International Conference on Software Engineering) 2013 (devo a Jordi Cabot la segnalazione).

Si tratta dell’ennesima critica accademica allo Unified Modeling Language. Priva di ogni base scientifica (sono stati selezionate 50 persone che lavorano nello sviluppo software, e solo 15 tra queste hanno dichiarato di usare UML), e basata su criteri arbitrari (l’idea, sbagliata anche se fantasiosa, che possa esistere un uso “completo” di UML).

UML può essere usato per pensare a come risolvere un problema (disegnando forme e linee su un pezzo di carta) OPPURE per comunicare qualcosa a qualcuno per qualche scopo specifico OPPURE per generare codice software a partire da modelli. In ognuno di questi diversi ambiti di utilizzo ha senso solo l’uso selettivo di qualche parte di UML, non certamente di tutto il linguaggio.

UML 2.5: documentazione più semplice

Sul sito dell’Object Management Group è stata pubblicata, come beta, la versione 2.5 di UML, Unified Modeling Language, la notazione standard per rappresentare i sistemi software.

Dal punto di vista del linguaggio, non ci sono novità sostanziali.
Dal punto di vista della documentazione, invece, le novità ci sono, importanti: la distinzione tra “infrastructure” e “superstructure” è stata eliminata, e il manuale è stato notevolmente semplificato.

La versione 2.5 sarà ufficializzata nel 2013.