Gestione del workflow Stefania Marrara Corso di Sistemi Informativi 2003/2004 Progettazione di un Sistema Informativo Analisi dei processi Per progettare un sistema informativo è necessario identificare tutti i suoi elementi e descriverli in modo preciso e facilmente comprensibile Tra gli elementi da descrivere troviamo i processi = insiemi di attività elementari fra loro interrelate che vengono svolte per raggiungere un certo obiettivo
I processi Durante la progettazione di un sistema troviamo diverse tipologie di processo: Processi fisici che descrivono attività di elaborazione di oggetti fisici del sistema Processi informativi che creano, gestiscono, elaborano e forniscono informazioni Processi aziendali che rappresentano funzioni legate all attività complessiva dell organizzazione o dell impresa Identificazione dei processi Per individuare i processi presenti all interno di una organizzazione occorre esaminare: modalità di esecuzione documentazione di tipo normativo L identificazione può essere spesso difficile e laboriosa
Analisi della documentazione Eventi che danno inizio ad un processo Eventi che portano alla terminazione di un processo Eventi significativi nello svolgimento del processo Verbi Per scomporre un processo nelle sue attività elementari può essere utile esaminare i verbi presenti nella documentazione raccolta. Esempio di verbi : predisporre, approvare, scrivere ecc.
Punti di decisione È importante individuare i momenti all interno di un processo in cui devono essere prese delle decisioni. Es: diverse strade nell esecuzione delle attività successive Modelli di rappresentazione dei processi Modelli basati sui dati: enfatizzano il flusso dei dati e/o documenti nell esecuzione del processo (-> DFD) Modelli basati su attività: hanno come elemento caratterizzante la descrizione delle attività da svolgere Modelli basati su comunicazione: mettono in luce l interazione tra agenti ed le fasi di negoziazione
Data Flow Diagram Sono un insieme di notazioni per la descrizione dei processi utilizzate soprattutto nella progettazione congiunta di dati e funzioni Il concetto di base è quello di processo che elabora dati in ingresso e produce dati in uscita. Elementi costitutivi Processi, che rappresentano le unità di elaborazione dati Flussi di dati, che indicano scambi di dati tra processi Archivi (o file), rappresentano informazioni memorizzate in modo permanente nel sistema Sorgenti o pozzi di dati
Notazione grafica Processo Data flow File Sorgente o destinazione Descrizione Ad ogni elemento grafico è associato un nome chiaro e univoco Per i processi si usa un verbo o verbo+oggetto per indicare il tipo di trasformazione dati Per i flussi di dati uso sostantivi o attributi Ad ogni processo viene assegnato un numero identificativo univoco
Metodologia di sviluppo I DFD possono essere sviluppati gerarchicamente come serie di livelli di informazioni. Il primo passo consiste nel fare una lista della spesa delle business activities per determinare gli elementi per i DFD Analisi preliminare del testo Analizzare il testo Identificare i dati Identificare le sorgenti Identificare le destinazioni Costruire una tabella riassuntiva: Sorgente Data Item Destinazione
Metodologia di sviluppo Costruzione del diagramma di contesto: Un solo processo Entità esterne associate Questo diagramma è noto anche come LEVEL 0 DIAGRAM System Boundaries Esaminare le entità della tabella Decidere quali sono interne e quali esterne A volte bisogna scendere di livello per capire meglio le cose e poi tornare indietro a correggere i diagrammi più generali
Level 0 diagram Identificati i confini del sistema: Tutto ciò che è all interno dei confini è un processo Individuo le entità esterne Le entità dentro i confini diventano locazioni per processi Le relazioni del sistema con l ambiente viene indicata dal dataflow da/per le Entità Esterne. Level 1 diagram I level 1 diagrams modellano processi e data stores generali. Regole: Preservare le relazioni sistema esterno Identificare solo processi e archivi generali Identificare un numero minimo di processi per gestire i flussi in/out Consultare la tabella per identificare data flow e data stores mancanti
Esempio specifica (1) La società tiene corsi pubblici e presso clienti. I partecipanti si iscrivono ai corsi per posta e per telefono. Ogni iscrizione è seguita da una lettera di conferma e da una fattura inviata al partecipante. I pagamenti arrivano per posta. Ogni pagamento deve essere associato ad una delle fatture relative ai pagamenti attesi. Vi è un meccanismo che consente di cancellare l iscrizione di un partecipante ad un corso. Esempio specifica (2) Una volta che un partecipante ha seguito uno dei corsi della ditta, o espresso interesse in uno di essi, il suo nome viene inserito in una lista di persone utilizzata in seguito per pubblicizzare i corsi. Questa base di dati contiene informazioni su circa 10000 persone in numerose organizzazioni diverse. Oltre ai normali rapporti sulle vendite, si deve poter rispondere a:
Esempio specifica (3) Quali persone di una certa organizzazione hanno frequentato il seminario sui DFD? Come lo hanno valutato? Che istruttore insegnerà il corso di Analisi e Progettazione a Londra il prossimo mese? Dizionario dei dati Dettaglia i dati contenuti nei diagrammi. Notazione: = equivalenza + composizione dei dati [ ] scelta di una delle opzioni, separate da { } elemento ripetibile più volte () elemento opzionale
Esempio Dati-pagamento = nomecliente+ indirizzocliente+numerofattura+ ammontarepagamento Persone = {persona} Ordine = buono-ordine + (pagamento) Ammontare-pagato = [ somma-lire somma-euro] Descrizione dei processi Un processo per essere ben descritto può essere scomposto in più processi più piccoli (processi elementari) segnalati in modo opportuno. Esempio: il processo 1 dà origine ai processi elementari 1.1 1.2 1.3
Processi elementari Vengono descritti in linguaggio strutturato che comprende: Sequenze Cicli alternative ProcessoProduciFattura Se l ammontare della fattura supera 1000000 se il conto del cliente ha fatture non pagate con più di 60 gg di ritardo conferma condizionata al pagamento Altrimenti( conto ok) emetti conferma e fattura Altrimenti (fattura di 1000000 o meno)..