Scelta di una notazione di modellazione del processo

2

È discutibile che questa domanda appartenga veramente a questo, ma, in ogni caso, non si adatta a Stack Overflow oa qualsiasi altro sito di Stack Exchange. Quindi eccomi.

Lo scopo

Il mio attuale progetto per animali domestici consiste nello sviluppo di uno strumento software per generare codice dalle specifiche dei processi aziendali.

Gli input del programma sono ...

  • Diagrammi di processo (molto dettagliati, ovviamente!)
  • Interfacce utente, se necessario, per quelle attività da automatizzare
  • Identificazione di interfacce con programmi di terze parti, già esistenti o da costruire successivamente

E le uscite del programma sono ...

  • Script di creazione di tabelle, viste e stored procedure
  • Codice dell'applicazione (CRUD, flusso di informazioni tra processi / attività / utenti, ecc.)

Il problema

Bene, non so ancora quale modellazione di processo notazione dovrei usare.

Le alternative

Personalmente, mi piacciono molto i diagrammi EPC (catena dei processi degli eventi) a causa della semplicità della loro struttura:

  • Il flusso del processo deve iniziare con un evento e deve terminare con un evento. Se esistono diversi rami alternativi, questa regola si applica a tutti i rami e ai possibili flussi.

  • Gli eventi possono attivare zero o più attività. Se attivano zero attività, sono eventi finali. Se attivano due o più attività, è necessario utilizzare un'apertura di ramo.

  • Una volta completata, un'attività deve attivare esattamente un evento.

  • Le attività possono essere attivate da uno o più eventi. Se sono attivati da due o più eventi, è necessario utilizzare una chiusura del ramo.

  • Tutto il resto (ad esempio, tutto ciò che non è un evento o un'attività, ad esempio personale, risorse, materiali fisici, informazioni) può essere aggiunto dopo aver completato la descrizione del flusso del processo.

Tuttavia, almeno a giudicare da altri sviluppatori di software che conosco, i diagrammi EPC sono impopolari. Tutti gli altri sembrano utilizzare BPMN, che sono ovviamente eccellenti per descrivere aspetti funzionali / di responsabilità (ad esempio, chi esegue ogni attività), ma sono orribili per tutto il resto, perché le corsie si intromettono.

I vincoli

Altre notazioni che conosco ma che ho esplicitamente rifiutato sono ...

  • Diagrammi di sequenza UML: Perché un diagramma deve essere creato per ogni flusso alternativo, il cui costo sarebbe proibitivo per gli utenti del mio strumento.

  • IDEF: IDEF0 è ottimo per mappare i flussi di informazioni, ma IDEF3 è una notazione di flusso di processo orribile: gotos non dovrebbe essere consentito a questo livello.

Le domande

Quali notazioni di processo hai usato? Quale mi consiglieresti per il mio progetto?

    
posta pyon 06.07.2011 - 17:02
fonte

1 risposta

4

Which process notations have you used?

UML e BPMN.

Which one would you recommend me for my project?

Nessuno dei due.

La notazione grafica dei processi aziendali diventa disordinata e difficile da utilizzare quando si inizia a scavare nei dettagli reali.

Abbiamo sviluppato linguaggi di programmazione in particolare perché la notazione grafica è troppo grossa per essere davvero utile.

Essenzialmente, i processi di business sono una sorta di linguaggio di programmazione e una lingua esistente con un numero di classi e oggetti predefiniti può essere più chiara di una montagna di immagini.

Un DSL chiaro (non basato su XML) può essere più utile della grafica.

link

link

(Sì, YAWL è basato su XML, ma non è completamente malvagio e si può fabbricare una sintassi simile a Python per YAWL che costruisce XML e diagrammi. No, non l'ho fatto, ma non dovrebbe essere < em> that hard.)

    
risposta data 06.07.2011 - 17:10
fonte

Leggi altre domande sui tag