È 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?