analisi-disegno.com
L'Object Management Group (OMG) è un organismo che comprende le maggiori realtà del software internazionale.
L'OMG ha definito tre notazioni standard complementari:
Purtroppo questi standard si sovrappongono, almeno in parte. Quindi è opportuno chiarire l'ambito delle sovrapposizioni, per chi li vuole usare senza essere costretto ad addentrarsi nelle intricate logiche dell'OMG.
1.UML è nato prima, nel 1997, ed ha avuto una notevole diffusione nel campo del software, dove è diventato effettivamente lo standard internazionale. Ma è stato anche usato molto per la rappresentazione di sistemi non software, ad esempio hardware. E molto usato anche per la rappresentazione, a livello di business, di processi e strutture organizzativi.
2.BPMN è; stato creato al di fuori dall'OMG, nel 2004, dalla Business Process Management Initiative (BPMI), un consorzio di produttori di strumenti che giudicavano UML troppo poco specifico per la rappresentazione dei processi di business.
3.Nel 2006 la BPMI è; confluita nell'OMG, e BPMN è; stato preso in carico come proprio standard dall'OMG. Con una sovrapposizione, perché l'unico diagramma previsto da BPMN (Business Process Diagram) è; un flow chart, esattamente come l'Activity Diagram di UML, che ha una notazione leggermente diversa.
4.L'ipotesi di integrare UML e BPMN (due standard in parziale sovrapposizione emanati e gestiti dallo stesso organismo) è stata finora ostacolata dai produttori di strumenti di modellazione. La prossima versione di BPMN, prevista per il 2009, non risolverà il problema.
5.Per rappresentare sistemi "non software", l'OMG ha pubblicato nel 2007 il nuovo standard SysML. In questo caso, la sovrapposizione con UML è ancora più forte, ma al tempo stesso meno critica. Più forte, perché UML e SysML hanno molti diagrammi in comune; peraltro, non tutti i diagrammi UML sono inclusi in SysML, dove invece si trovano altri diagrammi non previsti in UML. Ma meno critica, perché SysML è un "profilo" di UML, cioè una derivazione di UML compatibile con il linguaggio base.
In sintesi, quale standard usare? Di seguito, qualche indicazione di massima.
Per chi deve rappresentare sistemi software, UML è la scelta naturale.
Per chi deve rappresentare processi di business, e null'altro, BPMN è; una scelta conveniente. Si può discutere sul fatto che sia più o meno efficace ed intuitiva di altre notazioni di tipo flow chart, ma è; uno standard. Tra l'altro, sono disponibili diversi strumenti, anche gratuiti, per la modellazione BPMN.
Per chi deve rappresentare sistemi "non software" o per i quali il software costituisce solo una parte e non il tutto, può essere utile SysML. Ha alcuni costrutti che lo rendono preferibile rispetto all'UML "base", in particolare per la rappresentazione dei legami tra la parte hardware e la parte software, che può valere la pena sfruttare. Anche SysML comincia ad essere supportato da alcuni strumenti di modellazione. Per la maggior parte delle situazioni di modellazione di sistemi complessi, comunque, l'UML "base" può risultare ampiamente sufficiente.
Alcuni riferimenti:
*** Modelli di stima dei costi nel software ***
Cocomo (Constructive Cost Model) è; ritenuto comunemente il modello per la stima dei costi più completo ed affidabile in ambito software.
"Achievements and Challenges in Cocomo-Based Software Resource Estimation" (su IEEE Software, September-October 2008) è un articolo scritto dal padre di Cocomo, Barry Boehm, insieme a Ricardo Valerdi del MIT.
L'articolo fa il punto sullo stato dell'arte, le criticità e le tendenze nell'evoluzione dei modelli previsionali.
*** Risorse educative gratuite ***
"Global Warming Toward Open Educational Resources", un articolo di Richard G. Baraniuk e C. Sidney Burrus su Communications of the ACM, settembre 2008
Sulla diffusione via Internet, da parte di prestigiose università internazionali, di ambienti e strumenti gratuiti per la formazione. Tra cui:
*** CMMI e Agile ***
Il Software Engineering Institute (SEI) è; un'istituzione finanziata dal governo e da grandi aziende USA. Nei miei corsi raccomando il sito del SEI come una delle fonti più autorevoli di documentazione sulle tematiche dello sviluppo software. Documenti di alta qualità, e gratuiti.
Tra le altre cose, il SEI è noto per aver creato il CMMI-SW (Capability Maturity Model Integration), un modello per la valutazione del grado di maturità delle organizzazioni che sviluppano software. Modello applicato dal governo americano e da molte organizzazioni internazionali per selezionare i propri fornitori nello sviluppo software.
Il CMMI-SW è; spesso ritenuto, a torto, come un modello che porta a burocratizzare lo sviluppo, pesante e con effetti negativi sulla produttività e sulla flessibilità. Può essere applicato così, è vero. Ma pesantezza e burocrazia non sono affatto insite nel modello, bensì sono causate da chi lo interpreta in modo superficiale.
Una recente pubblicazione del SEI, "CMMI or Agile: Why Not Embrace Both!" evidenzia la compatibilità del CMMI con gli approcci agili.
Se volete, potete contribuire ad ANALISI-DISEGNO:
ANALISI-DISEGNO viene spedito a chi ne fa richiesta. La pubblicazione non avviene con periodicità; predefinita.
Archivio notiziari | Notiziario precedente | Notiziario successivo
analisi-disegno.com , servizi e materiali per lo sviluppo dei sistemi software, a cura di Adriano Comai.