Lezione 21 - Appunti 21 PDF

Title Lezione 21 - Appunti 21
Author Caterina Falchi
Course Metodi per la specifica e verifica di processi di business
Institution Università di Pisa
Pages 39
File Size 3.9 MB
File Type PDF
Total Downloads 35
Total Views 168

Summary

Lezione 21 Business Process Modeling professor Roberto Bruni...


Description

LEZIONE 21 – NOTAZIONE DEI BUSINESS PROCESS OBIETTIVO: overview dei BPMN e loro analisi in base alle Petri nets. STANDARDIZZAZIONE Lo sviluppo delle BMPN è stato uno step importante nella RIDUZIONE DELLA FRAMMENTAZIONE che esisteva con una miriade di strumenti di modellazione e notazioni. Questo è avvenuto sfruttando varie esperienze con diverse proposte per CONSOLIDARE LE IDEE MIGLIORI, supportando l’adozione dei sistemi di gestione dei processi di business INTER OPERABILI.

INIZIATIVE DI GESTIONE DEI PROCESSI DI BUSINESS Agosto 2000 – la BUSINESS PROCESS MANAGEMENT INITIATIVE era un’organizzazione indipendente devota allo sviluppo di SPECIFICHE APERTE per la gestione dei processi e-Business che spaziano applicazioni multiple, dipartimenti e business partners, dietro al firewall e oltre internet. L'appartenenza al gruppo di lavoro della notazione BPMI rappresenta un ampio segmento della comunità di modellazione dei BP.

Giugno 2005 – BMI-DTF L’iniziativa BPMI e l’Object Management Group (OMG) decisero di unire le loro attività sul BUSINESS PROCESS MANAGEMENT (BPM) per fornire standard di leadership e industriali per queste industrie vitali e crescenti. Il gruppo combinato si è messo nome Business Modelling & Integration Domain Task Force (BMI-DTF). BUSINESS PROCESS DIAGRAM Il BPMN definisce uno standard per i Business Process Diagrams (BPD) basato su tecniche di flowcharting adattate ai modelli grafici delle operazioni dei processi aziendali. Individuiamo 4 categorie di elementi: 1. Swimlanes 2. Flow objects 3. Artefacts

4. Connecting objects 2004-2006 – BPMN 1.0 Obiettivo principale: fornire una notazione che sia comprensibile da tutti i business users alla lettura, dal business analyst che ha creato la bozza del processo al technical developers responsabile di implementazione delle tecnologie che eseguivano quei processi, fino alle business people che gestiscono tali processi. BPMN VERSIONING BPMN 1.0 approvato nel 2006 BPMN 1.1 approvato nel 2007 BPMN 1.2 approvato nel 2009 BPMN 2.0 Beta 1 proposto nel 2009 BPMN 2.0 Beta 2 proposto nel 2010 BPMN 2.0 consegnato come versione finale nel 2011 DISCONOSCENZA Il rigore formale e la concisione non sono concetti primari (più di 100 simboli, abbreviazioni e costrutti alternativi sono spesso disponibili). Il grande numero di tipi di oggetto e la loro evoluzione continua rende difficile da definire i mapping e provare la loro consistenza sotto ogni contesto. Le inconsistenze e le ambiguità nello standard BPMN sono presenti ma difficili da identificare.

BPMN 2.0 vs 1.0 AGGIORNAMENTI (NUOVI MARKERS):  Task/sub processes  Eventi  Gateways  Artefatti AGGIUNTE:  Coreografie  Metamodello completo

  

Serializzazione XML Diagramma di interscambio Semantica di esecuzione dei BPMN

BPMN 2.0 (2009/11) FAQ COSA è IL BPMN? Il BPMN è una notazione grafica che descrive i passaggi (flusso end-to-end) in un processo aziendale. La notazione è stata specificata designando per coordinare le sequenze di processi e i messaggi che fluttuano tra diversi partecipanti in un insieme relazionato di attività. PERCHE’ IL BPMN È IMPORTANTE? Il mondo dei processi di business è cambiato drammaticamente lungo gli anni passati. I processi possono essere coordinati da “dietro”, all’interno e ai confini delle organizzazioni. Un processo di business adesso spazia tra più partecipanti e la coordinazione può essere complessa. FINO ALLA BPM, NON C’E’ STATA UNA TECNICA STANDARD DI MODELLAZIONE sviluppato che indirizzasse questi problemi. La BPMN fornisce agli utenti una notazione libera. Ciò avvantaggerà gli utenti in un modo simile in cui UML ha standardizzato il mondo dell'ingegneria del software. A CHI È INDIRIZZATO IL BPMN? Il BPMN è indirizzato ad alto livello agli utenti di business e a basso livello a coloro che implementano i processi. Il primo dovrebbe essere in grado di leggere e comprendere facilmente un diagramma BPMN. Il secondo invece dovrebbe essere in grado di arricchire un diagramma BPMN con ulteriori dettagli al fine di rappresentare il processo in un'implementazione fisica. Il BPMN è indirizzato agli utenti, fornitori e fornitori di servizi che necessitano di comunicare i processi di business in un modo standard. CI SARA’ UNA RISCRITTURA? Non per 2 o 3 anni. Siamo al 2018 e non c’è nessuna revisione pianificata.

PUNTI DI FORZA DEL BPMN  SEMPLICITA’: un piccolo insieme di simboli di base  ESTENSIBILITA’: molti simboli di arricchimento disponibili (se ne possono aggiungere altri in futuro)  DESIGN GRAFICO intuitivo  GENERALITA’: orchestrazione + coreografia  STRUMENTI DISPONIBILI: cambio di formato PUNTI DI DEBOLEZZA  Più di 100 elementi grafici  Descrizioni verbose (500 pagine)  Difficoltà a imparare completamente: sono possibili diverse letture di uno stesso diagramma  Diversi fornitori di BPM implementano l’esecuzione di diagrammi BPMN in diversi modi (e per diversi sottoinsiemi) BPMN BASI: SWIMLANES (POOLS, LANES) SWIMLANES Molte metodologie di modellazione utilizzano il concetto di SWIMLANE come meccanismo per organizzare attività in categorie visuali separate, a scopo di illustrare diverse capacità o responsabilità. Il BPMN supporta due oggetti swimlane:  POOL  LANE Un POOL rappresenta un partecipante (o ruolo) in un processo ed è rappresentato da un rettangolo con un nome. Un LANE è una sub-partizione gerarchica all’interno di un pool, che è usato per organizzare e categorizzare le attività. Si rappresenta con un rettangolo nel pool che si estende per tutta la lunghezza del pool stesso.

I pool e i lanes sono usati per rappresentare le organizzazioni, i ruoli, i sistemi e le responsabilità. Un pool DEVE contenere 0 o 1 business process. Un pool può contenere 0 o più lanes. Due pool possono essere connessi solo con un flusso di messaggi. Un POOL rappresenta i partecipanti in un processo, contiene un business process ed è usato nelle situazioni B2B. I pool e i lanes rappresentano le responsabilità per le attività in un processo. Un pool o un lane può essere un’organizzazione, un ruolo o un sistema. I lanes suddividono i pool o anche altri lanes in modo gerarchico.

I COLLAPSED POOLS nascondono tutti i processi che contengono al loro interno.

CONVENZIONI SUI NOMI:  MODELLO DI PROCESSO: è un nome possibilmente preceduto da un aggettivo. Il label è spesso ottenuto nominando il verbo che descrive l’azione principale nel processo (esempio gestione di reclami, completamento di un ordine). Si devono evitare lunghi labels e vanno omessi gli articoli. BASI DEL BPMN: OGGETTI FLUSSO (EVENTI, ATTIVITA’ E GATEWAYS) FLOW OBJECT o OGGETTI FLUSSO Teoria: fissare un piccolo insieme di elementi di base, in modo che i designer non debbano imparare e riconoscere un grande numero di diverse forme:  EVENTI  ATTIVITA’  GATEWAYS Pratica: usiamo diversi stili di bordi e markers interni per aggiungere più informazioni (in questo modo la notazione è ESTENDIBILE) EVENTI Un EVENTO è qualcosa che “accade” durante il corso di un processo di business. Il tipo di un evento può essere:  START o DI PARTENZA



INTERMEDIATE o INTERMEDIO



END o FINALE

Un evento è rappresentato come un cerchio, il suo tipo dipende quindi dallo stile del bordo (fine, doppio, spesso). Un evento può avere una CAUSA o TRIGGER o un IMPATTO o RISULTATO. Gli internal markers denotano il trigger o il risultato. CONVENZIONI SUI NOMI:  EVENTI: il label deve iniziare con un nome e finire con un verbo nella forma del participio passato per indicare qualcosa che è appena successo, esempio: fattura emessa. Il nome può essere preceduto da un aggettivo (esempio: invio urgente di un ordine). Non usare lunghe labels, gli articoli sono spesso omessi.

ATTIVITA’ Un’ATTIVITA’ è una qualche UNITA’ DI LAVORO (JOB) da fare durante il corso di un processo di business. Un’ATTIVITA’ può essere ATOMICA (TASK) o COMPOSTA (SUB-PROCESSO)

Un’attività è rappresentata come un box arrotondato; i marker adatti sono usati per indicare la natura dell’azione da performare (TIPO DI TASK) e il comportamento dell’esecuzione (ACTIVITY MARKER). SUB-PROCESSI I modelli di processo tendono ad essere troppo grandi per essere capiti la prima volta. Nascondendo alcune parti nei sub-processi, miglioriamo la leggibilità. Un SUB-PROCESSO è un’attività self-contained e composta che può essere spezzata in unità più piccole di lavoro. È quindi un’attività decomponibile che può essere “collassata” per nascondere i dettagli. Un EXPANDED SUBPROCESS contiene un diagramma BPMN valido.

TIPI DI ATTIVITA’ E MARKERS MARKER DI ATTIVITA’: indicano il comportamento dell’esecuzione delle attività:

TIPI DI TASK: specificano la natura dell’azione da eseguire

CONVENZIONI SUI NOMI: ATTIVITA’ Devono essere rappresentati da verbi nella forma imperativa, seguiti da un nome (esempio: approvare ordine). Il nome può essere preceduto da un aggettivo (esempio, rilasciare licenza di guida). Il verbo può essere seguito da un complemento (esempio, rinnovare licenza di guida per mezzo di agenzie offline). Non usare lunghe labels, gli articoli sono spesso omessi. EVENTI vs ATTIVITA’ Gli eventi sono istantanei, mentre le attività hanno una durata e richiedono quindi tempo. MULTIPLE ISTANZE della stessa attività iniziano in parallelo o sequenzialmente, per esempio per ogni riga di un ordine.

LOOP ACTIVITY è iterata fino a che la loop condition diventa true. La condizione è testata prima o dopo l’esecuzione dell’attività ogni volta.

SUBPROCESSI AD-HOC: contengono solo task. Ogni task può essere eseguito in modo arbitrario spesso fino al completamento delle condizioni.

ATTACHED INTERMEDIATE EVENT: l’attività viene abortita una volta che si cattura un evento.

Una CALL ACTIVITY è un involucro per un sub-process o un task definito globalmente che è riusato nel processo corrente.

GATEWAYS Un GATEWAY è usato per controllare lo splitting e il joining di paths nel flusso sequenziale (condizionale, fork, wait). Un gateway è rappresentato come un rombo. I markers adatti sono usati per indicare la natura del comportamento di controllo.

MARKERS DEI GATEWAY DATA-BASED EXCLUSIVE GATEWAY: quando splittiamo, indirizza il flusso della sequenza esattamente ad uno dei rami uscenti, in base alle condizioni. Quando uniamo (merge), aspetta il completamento di un branch entrante prima di triggerare il flusso uscente.

EVENT-BASED EXCLUSIVE GATEWAY È sempre seguito dal catching di eventi o dalla ricezione di task. Il flusso della sequenza è portato all’evento/task susseguente che capita per primo.

PARALLEL GATEWAY Quando è usato per splittare il flusso, tutti i branches uscenti sono attivati in modo simultaneo. Quando uniamo branches paralleli, aspetta il completamento di tutti i branches entranti prima di triggerare il flusso uscente.

INCLUSIVE GATEWAY Quando dividiamo, vengono attivati uno o più branches in base alle condizioni di branching. Quando uniamo (merge), aspetta che vengano completate tutte le attività dei branches entranti.

COMPLEX GATEWAY Gestiscono uno o più branches in base a condizioni complesse o descrizioni verbali. Da usare con parsimonia, la semantica potrebbe non essere chiara.

BPMN BASI: ARTEFATTI (DATA-OBJECTS, GRUPPI, ANNOTAZIONI TESTUALI) ARTEFATTI Il BPMN è designato per permettere ai modellatori e agli strumenti di modellazione della flessibilità per estendere la notazione di base. Qualsiasi numero di artefatti può essere aggiunto a un diagramma come appropriato per il contesto specifico del processo di business che viene modellato. Il BPMN include 2 tipi predefiniti di artefatti:  DATA-OBJECT  GRUPPI  ANNOTAZIONI TESTUALI Un DATA-OBJECT specifica i dati che sono richiesti o prodotti da un’attività un data-object è spesso rappresentato dall’icona usuale del file. Un DATA INPUT è un input esterno per l’intero processo. Può essere letto da un’attività. Un DATA OUTPUT è una variabile disponibile come risultato dell’intero processo.

Un DATA OBJECT rappresenta il flusso di informazioni all’interno di un processo, come documento di business, email o lettere

Una COLLECTION DATA OBJECT rappresenta una collezione di informazioni, come per esempio una lista di ordini.

Un DATA STORE è un posto in cui i processi possono leggere o scrivere, come un database. Persiste durante la vita dell’istanza di processo

Un MESSAGGIO è usato per rappresentare il contenuto di una comunicazione tra due partecipanti.

GRUPPO Un insieme arbitrario di oggetti può essere definito come GRUPPO per mostrare che essi logicamente stanno insieme.

Un gruppo è rappresentato da un rettangolo con angoli arrotondati e tratteggiato. ANNOTAIZIONI Qualsiasi oggetto può essere associato ad un’ANNOTAZIONE TESTUALE per fornire qualsiasi informazione addizionale e documentazione che può essere necessaria. Si rappresenta come un fumetto con una linea tratteggiata.

BPMN BASI: OGGETTI CONNESSI (FLUSSO SEQUENZA, FLUSSO MESSAGGI, ASSOCIAIZONI) CONNECTING OBJECTS Gli oggetti flusso sono connessi insieme in un diagramma per creare la struttura scheletro di base di un processo di business. Si possono usare 3 diversi connecting objects:  SEQUENCE FLOW o FLUSSO SEQUENZA  MESSAGE FLOW o FLUSSO MESSAGGI  ASSOCIAZIONE SEQUENCE FLOW: si usa per mostrare l’ordine in cui le attività vengono eseguite. Nota: i connected objects devono risiedere nello stesso pool (ma possono essere in diversi lanes). Il termine CONTROLLO DI FLUSSO o CONTROL FLOW è di solito eliminato nelle BPMN Un SEQUENCE FLOW è rappresentato da una freccia. I flow possono essere:  SEQUENCE FLOW: definisce l’ordine di esecuzione delle attività



CONDITIONAL FLOW: ha una condizione assegnata che definisce se il flusso è usato o meno



DEFAULT FLOW: è il branch di default da scegliere se tutte le altre condizioni sono valutate come false. Si legge come “altrimenti”

MESSAGE FLOW Un MESSAGE FLOW è usato per mostrare il flusso di messaggi tra due partecipanti al processo separati (entità di business o ruoli) che li inviano e li ricevono. Nota: i partecipanti RISIEDONO IN POOL SEPARATI. Un message flow si rappresenta con una linea tratteggiata e una freccia aperta

ASSOCIAZIONE Un’ASSOCIAZIONE è usata per associare dati, testi e altri artefatti con oggetti di flusso. Nota: in particolare, input e output di attività. Un’associazione è rappresentata con una linea tratteggiata ed una freccia. Un DATA OBJECT rappresenta il flusso informale nel process, come ad esempio documenti di business, email o lettere.

Allegare un data object con un’UNDIRECTED ASSOCIATION a un flusso sequenza, indica uno scambio di informazioni tra la attività coinvolte. In questo caso l’associazione non è indirizzata (non ci sono frecce).

Un’ASSOCIAIZONE DIRETTA indica flusso di informazioni un data object può essere letto all’inizio di un’attività o scritto una volta che essa è stata completata.

Un’ASSOCIAZIONE BIDIREZIONALE indica che i data object sono modificati, cioè legge e scritte durante l’esecuzione di un’attività.

Ci sono 3 modi per connettere FLOW OBJECTS (Eventi, Attività e Gateways) con le informazioni usando flussi di sequenze, flussi di messaggi o associazioni. Oggetti di collegamento grafico: Flusso normale di sequenza Un flusso sequenza è usato per mostrare l’ordine in cui le attività nel processo saranno eseguite Flusso condizionale di sequenza Un flusso di sequenza può avere espressioni condizionali che sono valutate a tempo di esecuzione per determinare se il flusso sarà usato o meno Flusso sequenza di default Per le decisioni esclusive dei data-base o per le decisioni inclusive, un tipo di flusso è il flusso condizionale di default. Questo flusso potrà essere usato solo se tutti i flussi condizionali uscenti non sono veri a tempo di esecuzione Flusso messaggio Un flusso di messaggi è usato per mostrare il flusso di messaggi tra due partecipanti che sono preparati per inviarli e riceverli. Nelle BPMN due pool separati in un diagramma possono rappresentare 2 partecipanti.

Associazione

Un’associazione (diretta o non diretta) è usata per associare informazioni con i Flow Objects. Gli object non flow testuali e grafici, possono essere associati con i flow objects

UN PAIO DI PATTERN Sequenza di completamento dell’ordine:

Decisioni esclusive: processo di controllo delle fatture:

È importante annotare i branches con le condizioni sotto cui sono rispettate. Attività parallele: controllo di sicurezza all’aeroporto

XOR + AND: completamento dell’ordine

Multipli eventi finali sono spesso considerati come notazione convenienti (sono mutualmente esclusivi nell’esempio). BPMN adotta la semantica della TERMINAZIONE IMPLICITA: un caso finisce solo quando ogni token raggiunge la fine. EVENTI DI PARTENZA MULTIPLI: COMPLETAMENTO DELL’ORDINE

Eventi di inizio multipli sono spesso considerati come notazione conveniente (catturano i trigger mutualmente esclusivi per iniziare l’istanza di processo). OMISSIONE DI GATEWAYS

Un AND-GATEWAY può essere omesso quando SEGUE un evento o un’attività. Similarmente, uno XOR-GATEWAY PRECEDENTE ad un evento o ad un’attività può essere omesso.

DECISIONI INCLUSIVE (UNA, MOLTE)

DECISIONI INCLUSIVE: DISTRIBUZIONE ORDINI

Solo XOR/AND gateway, ma il diagramma è involuto! Cosa succede se abbiamo 3 o più magazzini? Non scala

Solo XOR/AND gateways, il diagramma può scalare, ma è corretto? Anche il caso nessun magazzino è adesso possibile.

Solo OR gateways, il diagramma può scalare, ma ricordiamo che tutti i problemi con gli unmatched OR-join sono ancora validi. Gli OR gateways devono essere usati solo quando strettamente necessario. XOR + AND+ OR: completamento dell’ordine

Meglio se i gateways fossero bilanciati.

RILAVORAZIONE E RIPETIZIONE: CORRISPONDENZA MINISTERIALE

Un blocco di ripetizione inizia con uno XOR-join e finisce con un decision gateways (XOR-SPLIT). ARTEFATTI INFORMAZIONE: COMPLETAMENTO DEGLI ORDINI Gli artefatti forniscono INFORMAZIONI ADDIZIONALI al prezzo della complessità incrementata.

RISORSE COME LANES: COMPLETAMENTO DELL’ORDINE

PLACING ITEMS EVENTI: devono essere localizzati nel lane proprietario ATTIVITA’: devono essere localizzati nel lane proprietario DATA-OBJECTS: la loro localizzazione è irrilevante GATEWAYS:  (X)OR-SPLITS: stessi lane come attività di decisione precedenti  AND-SPLIT, JOINS: la localizzazione è irrilevante

Alcuni remarks: i lanes sono spesso usati per separare attività associate con una funzione o ruolo aziendale. Il flusso sequenza può attraversare i confini dei lanes all’interno dello stesso pool. Il flusso dei messaggi non può essere usato tra i flow objects nel lanes dello stesso pool. ESERCIZIO

IDENTIFICARE SUB-PROCESSI: COMPLETAMENTO DELL’ORDINE

Nascondere sub-processi: completamento ordine

Annidamento di sub-processi: mutuo per la casa

SUB-PROCESSI GLOBALI: mutuo per la casa / mutuo studentesco Supponiamo che il processo Firma_Del_Prestito sia definito come un modello separato: può essere riusato.

ATTIVITA’ DI CHIAMATA: MUTUO PER LA CASA / PER LO STUDIO I bordi spessi denotano attività di chiamata a sub-processi globali.

VANTAGGI DEI PROCESSI GLOBALI  LEGGIBILITA’: i processi tendono ad essere più piccoli  RIUSABILITA’: definire una volta, usare molte volte  CONDIVISIONE: qualsiasi cambiamento ad un processo globale è automaticamente propagato a tutti i modelli che lo invocano ESERCIZI Modellare i seguenti frammenti di processi di business per valutare la concessione di un mutuo. ESERCIZIO: CONCESSIONE DEL MUTUO 1 Una volta che una concessione è stata APPROVATA dal fornitore di mutui, un pack di accettazione è PREPARATO e INVIATO al cliente. Il pack di accett...


Similar Free PDFs