Analisi dei Processi Aziendali Linguaggi di modellazione dei Processi Paolo Falcarin - Sistemi Informativi 2002 1 Processi Aziendali • Un processo aziendale è caratterizzato da un insieme di attività, collegate tra loro, per fornire un certo output a partire da input definiti. • Il processo aziendale nella sua esecuzione può richiedere l’interazione con diverse fonti di informazioni, anche nel corso della sua esecuzione. • Macroprocessi: possono essere scomposti in altri sottoprocessi e attività. Paolo Falcarin - Sistemi Informativi 2002 3 Paolo Falcarin - Sistemi Informativi 2002 2 Es.: macroprocessi al Ministero delle Finanze • Assistere i cittadini, le imprese e gli intermediari fiscali nel rispetto degli adempimenti • Attribuire il codice fiscale • Riscuotere le imposte • Ricevere le dichiarazioni e gli atti • Controllare la correttezza delle imposte versate • Eseguire i rimborsi • Accertare l’evasione • Fornire certificazioni e misure • Gestire il personale e pianificare le attivita` Paolo Falcarin - Sistemi Informativi 2002 4 Elementi di un modello Identificazione dei Processi Esaminare documentazione per estrarre: • Eventi: danno inizio o terminano ad un processo; oppure sono eventi significativi nello svolgimento del processo o sono situazione anomale. • Verbi: l’esame dei verbi contenuti nella documentazione raccolta e` utile per scomporre un processo nelle sue attività elementari; es: predisporre, approvare, richiedere il parere . • Punti di decisione: momenti nello svolgimento di un processo in cui devono essere prese delle decisioni che possono portare a diverse strade nell’esecuzione delle attività successive del processo. Paolo Falcarin - Sistemi Informativi 2002 • Per progettare un sistema informativo è necessario identificare tutti i suoi elementi e descriverli in modo preciso, non ambiguo e che possa essere compreso dagli utenti che partecipano alla progettazione e utilizzo del sistema. • Processi : insiemi di attività elementari che vengono svolte per raggiungere un certo obiettivo nel sistema. – processi fisici : descrivono attività di elaborazione di oggetti fisici del sistema; – processi informativi: funzioni che creano, gestiscono, elaborano e forniscono informazioni; – processi aziendali (o business process) : rappresentano funzioni legate all’attività complessiva dell’organizzazione o dell’impresa, quale la produzione di un’automobile, la pubblicazione di un libro, la gestione di una compagnia aerea. 5 • Attività (Task): i processi sono composti da attività da eseguire fra loro correlate – Elementari: definizione precisa di specifici compiti; – Sottoprocessi: costituite da un insieme di attività da svolgere • Agenti (Ruoli): sono gli esecutori dei processi (una persona, una macchina, un programma software): – identificare chi all’interno di una struttura organizzativa dovrà eseguire una determinata parte di un certo processo; – l’assegnazione delle attività agli esecutori deve essere effettuato in modo flessibile. Paolo Falcarin - Sistemi Informativi 2002 6 1 Tipi di modelli Elementi di un modello • Dati/oggetti : le attività di un processo saranno basate su operazioni svolte su oggetti (es: materie prime in un processo produttivo, i documenti protocollati in una pratica mministrativa) • Punti di decisione: definiscono le strade alternative nell’esecuzione dei passi successivi del processo. • Eccezioni: situazioni non previste che potranno presentarsi durante l’esecuzione del processo, anche in parti diverse del processo, e definire il comportamento da tenere in tali situazioni. Paolo Falcarin - Sistemi Informativi 2002 • Modelli basati sui dati: enfatizzano il flusso di dati e documenti nell’esecuzione del processo (es: i diagrammi di flussi di dati o DFD). • Modelli basati su attività: descrivono le attività da svolgere e la loro sequenza, in modo più o meno formale e articolato (es: WIDE). • Modelli basati su comunicazione: adatti a rappresentare processi in cui gli elementi di decisione sono da considerarsi importanti (Action workflow). Paolo Falcarin - Sistemi Informativi 2002 7 Data Flow Diagram Esempio DFD (Descrizione) • Il sistema viene visto come un insieme di processi collegati tra loro da flussi di dati, che indicano come i dati prodotti da un processo vengono utilizzati da altri processi. • Notazione grafica rende agevole la lettura delle specifiche del sistema. • Dizionario dei dati e` necessario per descrivere la struttura dei dati dei diagrammi in maggior dettaglio. • Gli elementi che caratterizzano un diagramma DFD sono i seguenti: – processi, che rappresentano le unità di elaborazione dei dati; – flussi di dati, che indicano scambi di dati tra i processi; – archivi (o file): rappresentano informazioni memorizzate in modo permanente nel sistema; – sorgenti e pozzi (o destinazioni) di dati, che rappresentano i fornitori dei dati e i destinatari dei dati esterni al sistema Paolo Falcarin - Sistemi Informativi 2002 • • • • • • 10 Esempio di DFD (Dizionario Dati) • • 11 La società è una ditta di consulenza e formazione di medie dimensioni che tiene corsi pubblici e presso clienti nelle maggiori città europee e a volte altrove. 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 a una delle fatture relative ai pagamenti attesi. Vi è un meccanismo che consente di cancellare l’iscrizione di un partecipante a un corso. Una volta che un partecipante ha seguito uno dei corsi della ditta, o espresso interesse in uno di essi, il suo nome è 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 domande quali: – 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? Paolo Falcarin - Sistemi Informativi 2002 9 Esempio di DFD (Diagramma) Paolo Falcarin - Sistemi Informativi 2002 8 Ciascun dato potrà essere dettagliato indicando i suoi componenti elementari utilizzando la seguente notazione: = equivalenza + composizione di dati [] scelta di una delle opzioni tra parentesi, separate da una barra verticale | () indica elemento opzionale {} indica un elemento di tipo iterativo, ripetibile più volte Alcuni esempi di descrizioni di archivi nel dizionario dei dati sono i seguenti: dati-pagamento = nomecliente + indirizzo-cliente + numero-fattura + ammontare-pagamento numero-fattura = codice-provincia +numero-conto-cliente + numero-venditore + numero-sequenziale-fattura persone = {persona} ordine = buono-ordine + (pagamento) ammontare-pagato = [ammontare-lire | ammontare-euro] Paolo Falcarin - Sistemi Informativi 2002 12 2 Cosa è un Workflow? • “automazione” di un processo aziendale Sistemi di gestione di workflow (business process) con: • documenti, informazioni e compiti • partecipanti • insieme predefinito di regole • obiettivo comune Paolo Falcarin - Sistemi Informativi 2002 13 Paolo Falcarin - Sistemi Informativi 2002 Altro esempio di processo interfunzionale Esempi di workflow • gestione prestiti Unità periferica • ordini acquisto 11 10 • fogli orari settimanali Cittadino 14 9 1 7 2 3 6 Unità locale • approvazione richieste rimborso assicurativo 16 15 5 8 4 Ministero Unità centrale Paolo Falcarin - Sistemi Informativi 2002 15 Sistema organizzativo, processi sistema informativo, sistema informatico Organizzazione 17 12 13 180gg • valutazione personale Richieste 14 180gg Paolo Falcarin - Sistemi Informativi 2002 16 Workflow automation Tecnologie per il supporto alla gestione di processi Groupware Servizi supporto alla gestione del lavoro di gruppo (es.: editing di documenti ) Procedimenti e processi Workflow Management Systems (WFMS) Informazioni e applicazioni supporto alla gestione di documenti all’interno di un processo Workflow Coalition Tecnologie di elaborazione e comunicazione Paolo Falcarin - Sistemi Informativi 2002 17 Paolo Falcarin - Sistemi Informativi 2002 18 3 Workflow Management Systems Workflow automation BPR (Business Process Reengineering) riorganizzazione dei processi da automatizzare • attività sia manuali che automatiche strumenti di supporto alla reingegnerizzazione • interazione con applicazioni e strumenti IT Evoluzione e integrazione degli strumenti Paolo Falcarin - Sistemi Informativi 2002 • automazione di processi 19 Paolo Falcarin - Sistemi Informativi 2002 20 Workflow Management System Esempio grafico • Sistema software per: – definire processi – crea, gestisce l’esecuzione di workflow – uno o più motori di workflow (workflow engine) – interagire con i partecipanti – chiamare applicazioni e strumenti software esterni General Manager controls – Gestire molte istanze di processo (o casi) che possono essere attive durante l’esecuzione di un processo, ciascuna con i propri dati e i propri partecipanti Paolo Falcarin - Sistemi Informativi 2002 21 Esempio di schermata (client) Paolo Falcarin - Sistemi Informativi 2002 22 Workflow e BPR • I Workflow vengono spesso messi in relazione con la reingegnerizzazione dei processi (Business Process Re-engineering - BPR), che riguarda la valutazione, analisi, modellazione, e realizzazione dei processi aziendali • La tecnologia WFMS e’ spesso una soluzione adeguata per separare la logica delle procedura aziendali dagli strumenti utilizzati per supportarle, facilitando il cambiamento, anche in successive modifiche delle regole procedurali adottate in esse Paolo Falcarin - Sistemi Informativi 2002 23 Paolo Falcarin - Sistemi Informativi 2002 24 4 Evoluzione dei workflow • • • • • • • WFMS Elaborazione di immagini gestione di documenti posta elettronica groupware software per la gestione dei progetti BPR e strumenti per la progettazione strutturata separazione delle funzionalita’ di gestione di WF Paolo Falcarin - Sistemi Informativi 2002 • Cinque sono le funzioni essenziali di un prodotto di gestione di WF: – instradamenti documenti / attivita` – monitoraggio e controllo – notifica o code di lavoro – assegnamento lavoro e automazione – gestione procedure 25 Workflow Management Coalition WFMC 27 Build Time Run Time Interaction with Users & Application Tools Paolo Falcarin - Sistemi Informativi 2002 • Funzioni di controllo run-time: riguardano la gestione dei processi di workflow in un ambiente operativo, l’attivazione delle diverse attivita` che devono essere gestite come parte del processo • Interazioni run-time interactions con gli utenti e altre applicazioni nell’esecuzione delle attivita’ del WF Paolo Falcarin - Sistemi Informativi 2002 28 • E’ la rappresentazione dei processi aziendali in una forma che consente la loro simulazione o la loro manipolazione automatica, come per la loro esecuzione in un WFMS • La definizione di un processo consiste in una rete di attivita’ con relazioni tra attivita’, criteri per iniziare e terminare il processo e informazioni sulle singole attivita’, quali i partecipanti, i documenti e i dati collegati, le applicazioni sw da utilizzare, ecc. Business Process Analysis, Modelling & Definition Tools Process Definition Process changes Process Instanciation & Control • Build-time functions (funzioni di creazione), riguardano la definizione e la modellazione del processo e delle attivita’ che lo compongono Definizione dei processi WFMS Process Design & Definition 26 Aree funzionali dei WFMS • The Workflow Management Coalition, fondata nell’agosto 1993, e’ un’organizzazione internazionale che comprende venditori di tecnologia WFMS, utenti e analisti • Obiettivi: favorire l’uso dei WFMS, definendo una terminologia standard, standard di interconnessione tra WFMS e con applicazioni esterne. Paolo Falcarin - Sistemi Informativi 2002 Paolo Falcarin - Sistemi Informativi 2002 Workflow Enactment Service Applications & IT Tools 29 Paolo Falcarin - Sistemi Informativi 2002 30 5 Partecipante di un Workflow Lista lavori • E’ una risorsa che esegue il lavoro associato a una particolare istanza di attivita’. Questo lavoro e’ normalmente indicato come un compito assegnato a una partecipante in una lista dei lavori (worklist). • Il partecipante puo’ essere una risorsa umana o una applicazione software, o hardware specifico in grado di eseguire il compito. • Una lista dei lavori e’ normalmente associata a un certo partecipante (o a un gruppo di partecipanti che condividono un insieme di compiti da svolgere). La lista lavori fa parte dell’interfaccia tra il motore del workflow e il gestore di liste lavori. Paolo Falcarin - Sistemi Informativi 2002 31 Paolo Falcarin - Sistemi Informativi 2002 32 Esempio di esecuzione Process Definition Process Instance Worklist 1st Process Instance Work List 1 Work Item 1 Process Definition A Work Item 2 Activity B Activity D Activity A 2nd Process Instance Activity C Work Item 3 Work Item 4 Architettura di WFMS 3rd Process Instance Work Item N Work List 2 Process Definition B 1st Process Instance Work Item 20 Work Item 21 Activity B Activity A Activity C Work Item 22 Activity E 2nd Process Instance Activity D Work Item N Work List 2 Paolo Falcarin - Sistemi Informativi 2002 33 Paolo Falcarin - Sistemi Informativi 2002 Interfaccia utente Applicazioni locali Passi Business Process Gestione processi Funzioni di distribuzione Applicazioni Paolo Falcarin - Sistemi Informativi 2002 Modello di Process Definition Tools Distribuzione e Interfacce Singola attività 34 Interface 5 Administr. & Monitoring Tools Workflow API and Interchange Interface 4 formats Other Workflow Workflow Enactment Service Enactment Service(s) Workflow Engine (s) Interface 2 Workflow Client Applications Basi di dati 35 Riferimento Interface 1 Paolo Falcarin - Sistemi Informativi 2002 Workflow Engine (s) Interface 3 Invoked Application 36 6 Servizi di supporto all’esecuzione di WF • Servizio software che puo’ essere composto da uno o piu’ motori di workflow per creare, gestire e eseguire istanze di WF. Le applicazioni possono interagire con questo servizio attraverso il workflow application programming interface (WAPI). • Un servizio di esecuzione puo’ operare in un dominio di WF omogeneo, oppure, utilizzando le funzionalita’ fornite dall’interfaccia WfMC interoperability interface, l’esecuzione puo’ avvenire su motori di esecuzione di WF diversi Paolo Falcarin - Sistemi Informativi 2002 37 Interazione con risorse esterne • client application interface (2), attraverso cui un gestore di liste di lavoro interagisce con applicazioni esterne • invoked application interface (3), consente a un workflow engine di attivare direttamente uno strumento specifico per una particolare attivita’ Paolo Falcarin - Sistemi Informativi 2002 Transizioni di stato per processi e attivita’ • Il servizio di esecuzione di WF puo’ essere considerato una macchina a stati finiti, dove le istanze di processi e attivita’ cambiano stato in risposta a eventi esterni. 38 Workflow enactment service Transizioni di stato per processi e attività – macchina a stati finiti – le istanze di processi e attività cambiano stato in risposta a eventi esterni Paolo Falcarin - Sistemi Informativi 2002 39 Transizioni di stato per istanze di processi Suspended Restart Suspend / resume Start Initiate Initiated Running Paolo Falcarin - Sistemi Informativi 2002 40 Transizioni di stato per attività Terminated Suspended Suspend / Resume Terminate/ Abort Active Start Inactive Active Complete Restart Complete Paolo Falcarin - Sistemi Informativi 2002 (1 or more activity istances) 41 (has Work Item) Paolo Falcarin - Sistemi Informativi 2002 42 7 Dati in un WFMS • Workflow Control Data: Dati interni gestiti dal WFMS Tipi di dati nei Workflow • Workflow Relevant Data: Dati usati dal WFMS per determinare le transizioni di stato di una istanza di processo Management Systems • Workflow Application Data: Dati delle applicazioni non accessibili dal sistema di WF Paolo Falcarin - Sistemi Informativi 2002 Build time 43 Paolo Falcarin - Sistemi Informativi 2002 Process Definition Interchange (intf. 1) Business Process Analysis Modelling & Definition Tools Process Analysis Modelling & Definition Tools Definizione processi Modifiche ai processi Run Time Interchange Format & APIs Workflow control data Process Definition Workflow Enactment Service Workflow relevant data Run Time Workflow Enactment Service Applications & IT Tools Workflow Engine (s) Application data Paolo Falcarin - Sistemi Informativi 2002 44 45 Paolo Falcarin - Sistemi Informativi 2002 46 Meta-model per la definizione dei processi Gestione lista lavori (intf. 2) Workflow Type Definition Role • parte dell’interfaccia tra il motore del has consists of associata a partecipante (o gruppo di partecipanti) may refer to may have workflow e il gestore di liste lavori Activity uses Workflow Relevant Data uses Invoked Application may refer to Transition Conditions Paolo Falcarin - Sistemi Informativi 2002 47 Paolo Falcarin - Sistemi Informativi 2002 48 8 Invoked Application Interface Client Application Interface Workflow Enactment Service Workflow Enactment Service Workflow Engine (s) Workflow Engine (s) Command Set Connection/Disconnection Standardised APIs & Interchange Client Application Process and Activity Control Functions Invoked Application Process Status Functions Worklist Manipulation Commands User Interface Paolo Falcarin - Sistemi Informativi 2002 Standardised APIs & Interchange Application Specific Interfaces (Local or Remote) 49 Workflow Interoperability (intf. 4) Application Agent Workflowenabled Applications Invoked Application Paolo Falcarin - Sistemi Informativi 2002 50 Workflow interoperability interface Workflow API and Interchange format Workflow API and Interchange format Workflow Enactment Service Workflow Enactment Service Definita da Workflow Coalition per scambiare elementi di lavoro Workflow Engine (s) tra Workflow Engine (s) WFMS diversi • 4 diversi possibili modelli di Activity or sub-process invocation Process / Activity status / control Application / Workflow relevant data transfer Synch-point coordination Process definition read / write interoperabilità Paolo Falcarin - Sistemi Informativi 2002 51 Paolo Falcarin - Sistemi Informativi 2002 52 Modello a sottoprocessi annidati Modello a servizi concatenati Process A Process B Process A A4 A1 B3 A5 A2 A3 B4 B5 B1 A4 A1 A5 A2 A3 B1 B2 B2 Domain of Workflow Service A Questo modello consente il trasferimento di un singolo elemento di lavoro (istanza di processo o attivita’) tra due ambienti WFMS diversi, che operano indipendentemente dopo lo scambio, senza ulteriori sincronizzazioni Paolo Falcarin - Sistemi Informativi 2002 Processo B B3 B4 B5 53 Domain of Workflow Service A • attivita’ (A3) di A eseguita come processo completo (B) sul sistema WF B • ritorno del controllo ad A Paolo Falcarin - Sistemi Informativi 2002 54 9 Modello Peer-Peer C4 C1 C5 C6 C2 C3 Enacted across Workflow Engine (s) A Workflow Engine (s) B Modello parallelo sincronizzato • definizione di processo comune • importata da un processo di definizione esterno o trasferita runtime • Richiede che entrambi i servizi di WF - supportino una interfaccia comune per la comunicazione - siano in grado di interpretare una definizione di processo comune, che puo’ essere importata da un processo di definizione esterno o trasferita run time durante l’esecuzione Processo A A1 Processo B A4 A5 A2 A3 Punto di sincronizzazione Dominio del WFMS A B3 B1 B4 B5 B2 Dominio del WFMS B I due processi operano indipendentemente punti di sincronizzazione Shared Domain of Workflow Services A&B Paolo Falcarin - Sistemi Informativi 2002 55 Paolo Falcarin - Sistemi Informativi 2002 56 Systems Administration & Monitoring Interface WAPI Interface 5 Managent Application Workflow Enactment Service Workflow Engine (s) A Workflow Enactment Service Typical Functional Areas Workflow B User management Engine (s) Role management Audit management Resource control Process supervisory functions, etc Paolo Falcarin - Sistemi Informativi 2002 57 10