Gestione del workflow Stefania Marrara Corso di Tecnologie dei Sistemi Informativi 2004/2005 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 1 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 2 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. 3 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 4 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 5 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 6 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 … … 7 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 8 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 9 produrre il livello 2 e così via Ogni processo di livello 1 ed i sui input ed output possono essere considerati il diagramma di contesto per ogni componente del sistema Si riapplicano le stesse tecniche E così via livello dopo livello…… 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. 10 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. 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 11 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 passando da un livello all’altro di dfd. Esempio: il processo 1 del livello 1 dà origine ai processi elementari 1.1 1.2 1.3 …nel livello 2. E così via… 12 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) ….. 13