Ci sono sicuramente soluzioni là fuori che tentano di modellare i diagrammi di flusso in modo generico.
Cose come il fondamento del flusso di lavoro di Windows, SSIS, il routing nelle code di messaggi ecc.
Ma secondo la mia esperienza, a meno che il requisito non provenga da una fonte tecnica. cioè routing IP, fail over dns ecc dove esiste una specifica tecnica per la forma della logica. È meglio fare in modo che il codice corrisponda al documento dei requisiti il più fedelmente possibile al modo in cui descrive la logica
Avrai buchi nella logica e risultati che sembrano incoerenti, ma il tuo codice soddisferà i requisiti, e quando il requisito cambierà in qualche modo strano, non ti troverai a calpestarlo in un sistema generico intelligente che si aspetta che la logica essere espresso in un modo particolare.
Questo di solito si riduce a un blocco grande se. ma sarà facile da leggere e facile da modificare
Aggiornamento: ecco i modi in cui l'ho fatto / visto farlo in passato e rimpiangerlo
- Approccio OOP, oggetti logici persistenti in documenti XML, dati in un altro, con elementi come < addPercentage condizionale="riferimento xpath a dati doc" value="10" >
il xpath si è presto complicato molto con le espressioni personalizzate, gli utenti non si sono mai preoccupati di usare l'interfaccia, quindi gli sviluppatori ricevono comunque richieste di modifica della logica.
- eval script vb memorizzato in db
Gli utenti non possono fare script vb, elaborando come è stata presa una decisione, quasi impossibile.
- eval SQL (perché lo sappiamo)
Gli utenti non possono eseguire sql, gli stessi probori che con lo script vb
- websphere java orchestration con servizi wcf (perché i consulenti installeranno una 'lingua di dominio'
Gli utenti non possono fare java / 'lingua di dominio' una volta che i consulenti se ne vanno. Assumi nuovo team di java devs, problemi di controllo di implementazione / sorgente con IDE basato sul web
obsoleto anche quando lo abbiamo usato, oltre complicato per piccoli compiti. difficile da spiegare agli utenti
- Pacchetti SSIS / DTS perché hanno un'interfaccia drag & drop!
Strumento hacky per amministratori di db non di programmazione, controllo della versione, distribuzione, debugging, difficoltà di esecuzione. non scalabile.