Entro poco tempo dovrebbe uscire un articolo a riguardo su Computer Programming (scritto insieme ad Andrea Boschin) riguardo ad un'idea che mi frulla in testa da tempo, ossia la possibilità di applicare le indicazioni forniti da UML a casi esterni all'informatica, come ad esempio la formalizzazione della regolamentazione vigente in qualsivoglia società.
Già a Pasqua ho avuto modo di notare come le discusssioni nascano in gran parte semplicemente perchè una regola non è chiara (avete mai provato a leggere il retro di un biglietto della metro di Milano? Le interpretazioni plausibili al regolamento ivi scritto possono essere almeno tre!)
Il post di Andrea la difficoltà nello stabilire cosa sia OT e cosa no è stimolante. In UML esiste uno strumento che nasce proprio per tentare di rendere univocamente interpretabile un requisito funzionale, e che secondo me può essere applicato a qualsiasi algortimo o regola. Lo scenario, quindi, non descrive l'interazione tra un utente ed il sistema, ma tra l'utente e la società. Proviamoci:
Use Case:
Aggiunta di un post al blog personale
Main Success Scenario:
1. L'utente dedice l'argomento
2. L'utente scrive il post
3. L'utente invia il post
4. Il post viene pubblicato nel blog personale
5. Il post viene pubblicato nella homepage
Extensions
3a.: Il post non è inerente alle tematiche di UGIDotNet
- Il post riguarda tematiche relative ai metodi di programmazione in genereale (ma sempre relativo a linguaggi .NET): si procede dal punto 4 fino alla fine
- Il post riguarda tematiche personali ma comunque riconducibili ad argomenti legati all'informatica. Se il numero di post di questo tipo è superiore a quelli inerenti alle tematiche trattate da UGIDotNet si salta il punto 5
- Il post tratta solamente di argomenti personali e non legati in alcun modo con l'informatica in generale: si salta il punto 5
Che ne pensate? Lungi ovviamente dall'essere perfetto (l'ho fatto in 15 minuti) ma credo che serva per rendere l'idea. Molto probabilmente ci starebbe bene, come ulteriore aiuto, anche un Activity Diagram, per schematizzare il workflow legato alla logica di scelta della pubblicazione o meno sulla homepage. Se a qualcuno interessa contribuire lo scriva nel feedback che sposto tutto sul wiki.
Tanto per essere in tema con il tormentone del momento :-) lascio questo post in home perchè credo che sia stimolante per l'applicazione dei concetti UML. UML serve per modellare concetti applicabili allo sviluppo ad oggetti. I linguaggi .NET più famosi (C# e VB.NET) sono ad oggetti....quindi il post è inerente ad una tematica vicina a .NET :-D