Estratto del documento

Riassunto di Modellazione dei Dati e Processi Aziendali

Basato sulle lezioni di: Matteo Baldoni Bruni Christian

Indice

Indice iii

1 Introduzione 1

1.1 Triangle of Meaning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.1.1 Concettualizzazione . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2 Sistema Informativo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.3 Modelli Concettuali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.3.1 Linguaggi di Modellazione . . . . . . . . . . . . . . . . . . . . . . . 3

1.3.1.1 Open & Closed World . . . . . . . . . . . . . . . . . . . 4

1.3.2 Cos’è un Modello Concettuale . . . . . . . . . . . . . . . . . . . . . 4

1.3.2.1 Schema Concettuale . . . . . . . . . . . . . . . . . . . . . 5

1.3.2.2 Information Base . . . . . . . . . . . . . . . . . . . . . . 5

1.3.2.3 Schema Strutturale e Comportamentale . . . . . . . . . . 5

1.3.3 Eventi e Aggiornamenti . . . . . . . . . . . . . . . . . . . . . . . 5

1.3.3.1 Integrità . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.3.4 Validazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.3.5 Business Processes . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.4 Sviluppo di Sistemi Informativi . . . . . . . . . . . . . . . . . . . . . . . . 7

1.4.1 Linguaggi di modellazione . . . . . . . . . . . . . . . . . . . . . . 8

2 Object Role Modeling 9

2.1 Entity-Relationship . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.2 Unified Modeling Language . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.3 Object Role Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.3.1 Conceptual Schema Design Procedure . . . . . . . . . . . . . . . . 11

2.3.1.1 Passo 1. Trasformare gli Esempi in Fatti Elementari . . . 11

Procedura per il passo 1 . . . . . . . . . . . . . . . . . . . . 13

2.3.1.2 Passo 2. Disegnare i Fact Types . . . . . . . . . . . . . 14

Unary Fact Types . . . . . . . . . . . . . . . . . . . . . . . 15

Fact Type Eterogenei e Omogenei . . . . . . . . . . . . . . 16

Reificazione . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.3.1.3 Passo 3. Verificare la Presenza di Entity Type . . . . . . 17

Elementi Sovrapposti . . . . . . . . . . . . . . . . . . . . . . 17

Stesso tipo di Reference Mode . . . . . . . . . . . . . . . . . 17

Stessa Unità di Misura . . . . . . . . . . . . . . . . . . . . . 18

2.3.1.4 Passo 4. Aggiungere Vincoli di Unicità . . . . . . . . . . 20

Proiezione Concettuale . . . . . . . . . . . . . . . . . . . . . 23

iii

Indice iv

Vincolo di Unicità Esterno . . . . . . . . . . . . . . . . . . . 25

2.3.1.5 Passo 5. Aggiungere Vincoli di Ruolo Obbligatori . . . . 26

Exactly One . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

Disjunctive Mandatory Constraint . . . . . . . . . . . . . . 27

Reference Scheme . . . . . . . . . . . . . . . . . . . . . . . . 27

Compound Preferred Reference Scheme . . . . . . . . . . . 27

Flattening, Nesting & Coreference . . . . . . . . . . . . . . 28

Logical Derivation Check . . . . . . . . . . . . . . . . . . . 29

2.3.1.6 Passo 6. Aggiungere Vincoli di Valore . . . . . . . . . . 30

Vincoli di Valore . . . . . . . . . . . . . . . . . . . . . . . . 30

Vincoli Insiemistici . . . . . . . . . . . . . . . . . . . . . . . 31

Vincoli di Sottotipo . . . . . . . . . . . . . . . . . . . . . . 34

Asserted Subtypes . . . . . . . . . . . . . . . . . . . . . 36

Semiderived Subtypes . . . . . . . . . . . . . . . . . . . 37

Preferred ID . . . . . . . . . . . . . . . . . . . . . . . . 37

2.3.1.7 Passo 7. Ultimi Vincoli e Controlli . . . . . . . . . . . . 39

3 Relational Mapping 43

3.1 Schema Relazionale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

3.1.1 Rappresentazione . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

3.2 Algoritmo Rmap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

3.2.1 Traduzione di Relazioni 1:1 . . . . . . . . . . . . . . . . . . . . . 46

3.2.2 Traduzione di UC esterni . . . . . . . . . . . . . . . . . . . . . . 48

3.2.3 Traduzione di Oggettificazioni . . . . . . . . . . . . . . . . . . . . 50

3.2.4 Traduzione di Sottotipi . . . . . . . . . . . . . . . . . . . . . . . 51

4 Business Process Management 55

4.1 Cos’è BPM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

4.1.1 Aziende basate sui processi . . . . . . . . . . . . . . . . . . . . . . 56

4.2 Approccio sistemico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

4.2.1 Organizzazione funzionale . . . . . . . . . . . . . . . . . . . . . . . 57

4.3 Catena del Valore di Porter . . . . . . . . . . . . . . . . . . . . . . . . . . 58

4.4 Business Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

4.4.1 Ciclo di vita di un BP . . . . . . . . . . . . . . . . . . . . . . . . 59

4.4.2 Tipi di BP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

Organizzativo e Operazionale . . . . . . . . . . . . . . . . . 61

Intra-organizzativo e Inter-organizzativo . . . . . . . . . . . 61

Livelli Estensionale e Intensionale . . . . . . . . . . . . . . . 61

4.4.3 Differenze tra Metamodelli . . . . . . . . . . . . . . . . . . . . . 62

4.4.3.1 Modello Strategico . . . . . . . . . . . . . . . . . . . . . 62

4.4.3.2 Modello Organizzativo . . . . . . . . . . . . . . . . . . . 62

4.4.3.3 Modello Funzionale . . . . . . . . . . . . . . . . . . . . 62

4.4.3.4 Modello dei Processi . . . . . . . . . . . . . . . . . . . . 63

4.4.4 Metamodello Business Process . . . . . . . . . . . . . . . . . . . 63

4.4.5 Activity Lifecycle . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

4.4.6 Process Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

4.4.7 Process Interaction . . . . . . . . . . . . . . . . . . . . . . . . . . 65

Indice v

5 Business Process Management and Notation 67

5.1 BPMN (parte Descrittiva) . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

5.1.1 Processo di BPMN . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

5.1.2 Struttura di BPMN . . . . . . . . . . . . . . . . . . . . . . . . . 68

5.1.3 Elementi di Base . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

5.1.4 Token Game . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

5.1.4.1 Sottoprocessi . . . . . . . . . . . . . . . . . . . . . . . . 71

5.1.4.2 Organizzare i Sottoprocessi . . . . . . . . . . . . . . . . 72

5.1.5 Gateway . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

5.1.6 Start Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

5.1.7 End Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

5.1.8 Flussi di Esecuzione . . . . . . . . . . . . . . . . . . . . . . . . . 78

5.1.9 Pool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

5.1.10 Data Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

5.2 BPMN (parte Metodologica e Stilistica) . . . . . . . . . . . . . . . . . . . 80

5.2.1 Metodo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

5.2.2 Stile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

5.3 BPMN (parte Analitica) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

5.3.1 Eventi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

5.3.1.1 Tipi di Evento . . . . . . . . . . . . . . . . . . . . . . . 91

5.3.1.2 Eventi Intermedi . . . . . . . . . . . . . . . . . . . . . . 93

Evento Intermedio di Throw . . . . . . . . . . . . . . . . . . 93

Evento Intermedio di Catch . . . . . . . . . . . . . . . . . . 93

Evento Intermedio di Catch sul Confine . . . . . . . . . . . 93

Intermediate Timer Event . . . . . . . . . . . . . . . . . . . 94

5.3.2 Messaggi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

5.3.2.1 Send Task . . . . . . . . . . . . . . . . . . . . . . . . . 96

5.3.2.2 Receive Task . . . . . . . . . . . . . . . . . . . . . . . . 96

5.3.2.3 Sincronia dei Messaggi . . . . . . . . . . . . . . . . . . 96

5.3.3 Eventi sul Confine . . . . . . . . . . . . . . . . . . . . . . . . . . 97

5.3.4 Scelte basate sugli eventi . . . . . . . . . . . . . . . . . . . . . . 97

5.3.5 Error event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

5.3.6 Escalation Event . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

5.3.7 Signal event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

5.3.8 Conditional Event . . . . . . . . . . . . . . . . . . . . . . . . . . 100

5.3.9 Event Subprocess . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

5.3.10 Decoratori di attività . . . . . . . . . . . . . . . . . . . . . . . . . 102

5.3.11 Uno a Molti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

5.3.11.1 Uno a Molti con i Pool . . . . . . . . . . . . . . . . . . 103

5.3.12 Multipool Process . . . . . . . . . . . . . . . . . . . . . . . . . . 103

5.3.13 Batch Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

5.3.14 Gateway OR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

5.3.14.1 OR Join . . . . . . . . . . . . . . . . . . . . . . . . . . 104

5.3.15 SESE Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

5.3.15.1 Semantica per i SESE Block . . . . . . . . . . . . . . . 106

5.3.16 Gateway Discriminator . . . . . . . . . . . . . . . . . . . . . . . 106

Indice vi

6 Reti di Petri in BPMN 107

6.1 Elementi di una Rete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

6.1.1 Multiset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

6.1.1.1 Preset . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

6.1.1.2 Postset . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

6.1.2 Marking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

6.1.3 Firing Rule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

6.2 Reti di Petri da BMPN . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

6.2.1 Traduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

6.2.2 Free Choice Net . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

6.2.3 Workflow Net . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

6.2.4 Proprietà Fondamentali di una Rete di Petri . . . . . . . . . . . . . 115

6.2.5 Marking Speciali . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

6.2.6 Correttezza Workflow Net . . . . . . . . . . . . . . . . . . . . . . 116

6.2.7 Grafo di Raggiungibilità . . . . . . . . . . . . . . . . . . . . . . . . 116

6.2.8 Problema della Limitatezza . . . . . . . . . . . . . . . . . . . . . 117

6.2.8.1 Algoritmo di Copertura . . . . . . . . . . . . . . . . . . 118

Glossario 119

Capitolo 1

Introduzione

1.1 Triangle of Meaning

Nell’immagine viene rappresentata l’associazione tra una parola di un linguaggio ad un concetto, più è preciso il linguaggio e più è precisa l’interpretazione.

Un concetto rappresenta un’idea astratta o generale dedotta o derivata da casi specifici, viene utilizzato per attribuire significati a degli oggetti.

1.1.1 Concettualizzazione

La concettualizzazione è il modo in cui un agente percepisce la realtà, tramite un’astrazione di una specifica situazione e di un linguaggio.

L’agente deve separare le invarianti rilevanti da quelle irrilevanti, e questo viene fatto grazie agli obiettivi da raggiungere; quindi, al variare degli obiettivi, è possibile che due agenti trovino una concettualizzazione diversa per la stessa realtà.

L’obiettivo della concettualizzazione è trovare un linguaggio che riesca a rappresentare nel modo migliore quello che voglio esprimere.

1

Capitolo 1. Introduzione 2

La concettualizzazione è differente dall’ontologia in quanto viene fatta da un agente che persegue un obiettivo mentre l’ontologia è una descrizione formale della realtà che descrive la struttura e le proprietà di essa.

1.2 Sistema Informativo

Un Sistema Informativo, obiettivo della modellazione, è un sistema che colleziona, immagazzina, processa e distribuisce informazioni sullo stato del dominio per facilitare pianificazione, controllo, coordinazione e processo decisionale in una organizzazione.

Il dominio di interesse viene chiamato Universo del Discorso (UoD).

Un SI non è composto solo da un DB con le informazioni del dominio ma anche come i dati sono organizzati e la loro semantica.

Un SI ha tre funzioni:

  • Memorizzazione: il SI ha una rappresentazione interna dei dati, questa rappresentazione può essere di due tipi:
    • 1. Informazione intensionale: sono le colonne e le varie relazioni tra i dati; concetti e vincoli che descrivono la struttura del dominio.
    • 2. Informazione estensionale: sono le istanze dei concetti, quindi i dati che popolano il SI; possono essere aggiornate così da rappresentare sempre al meglio la realtà.

Le informazioni vengono aggiornate tramite due modalità:

  • 1. Su richiesta: l’utilizzatore informa il sistema ogni volta che questo cambiamento avviene.
  • 2. Autonomo: il sistema osserva direttamente il dominio e aggiorna il suo stato interno.
  • Informativa: possono essere richieste sia informazioni estensionali che intensionali tramite delle query fatte sul SI in due modalità:
    • 1. Su richiesta: l’utente pone una query e il sistema risponde.
    • 2. Autonomo: un utente definisce una condizione sullo stato mantenuto dall’SI ed è notificato ogni volta che tale condizione si verifica.

Le query effettuate possono essere estensionali, ovvero informazioni specifiche su un elemento particolare, o intensionali, ovvero riguardanti le proprietà di una classe, il livello intensionale corrisponde a concetti e vincoli.

Capitolo 1. Introduzione 3

  • Funzione attiva: un SI esegue azioni che modificano lo stato del dominio. Un SI deve essere a conoscenza delle azioni che può svolgere, delle loro precondizioni e degli effetti, rappresentati tramite concetti nel SI.

Esistono due modalità di esecuzione delle azioni:

  • 1. Su richiesta: in questa modalità, un utente autorizza il sistema a eseguire un’azione specifica.
  • 2. Autonomo: in questa configurazione, il sistema è impostato in modo tale che quando una condizione specifica si verifica nello stato del dominio, viene triggerata l’esecuzione di un’azione.

1.3 Modelli Concettuali

Per funzionare correttamente, un SI richiede conoscenza del dominio di interesse e delle funzioni che deve poter eseguire.

La rappresentazione di un dominio ha bisogno dei dati che lo costituiscono e di uno schema concettuale.

Bisogna ricordare che il dominio evolve nel tempo quindi lo schema concettuale deve contenere aspetti sia statici che dinamici.

Non tutte le informazioni sono importanti perché alcune possono essere inferite tramite regole.

Un SI si aspetta che quello che modelliamo siano fatti primitivi, ovvero elementi di conoscenza semplici, ridotti al minimo termine (Ad esempio: A sposta B).

Usando fatti primitivi si garantisce stabilità per il SI, ovvero in caso di modifiche al modello concettuale, l’impatto deve essere il minore possibile.

I modelli concettuali per i SI mirano alla stabilità e sono indipendenti dallo specifico linguaggio di programmazione, in questo modo possiamo riutilizzare più facilmente il modello.

1.3.1 Linguaggi di Modellazione

Tipicamente un linguaggio di modellazione rappresenta le entità e le relazioni tra di esse; le entità sono concetti le cui istanze sono oggetti identificabili presenti nel dominio mentre le relazioni sono entità le cui istanze sono tuple di 2 o più entità.

Un modo semplice per modellare entità e relazioni è usare la logica First Order Logic (FOL): Le relazioni sono predicati e le entità sono costanti.

Capitolo 1. Introduzione 4

Lo stato di un dominio è costituito da proprietà rilevanti che obbediscono ai vincoli del dominio.

Esistono due tipi di proprietà rilevanti:

  • Fatti primitivi (A sposta B).
  • Fatti derivati.

Ed esistono tre tipi di vincoli:

  • Statici: vincoli statici sui dati in uno stato, visualizzati come schemi concettuali; ad esempio:
    • Dipendenze funzionali.
    • Chiavi primarie.
    • Vincoli di quantità.
  • Temporali: vincoli temporali sulle evoluzioni consentite dei dati.
  • Dinamici: vincoli dinamici sul modo in cui le attività possono essere eseguite nel tempo, visualizzati come schemi comportamentali; ad esempio vincoli sulla possibilità di effettuare delle azioni in base al tempo in cui vengono svolte.

1.3.1.1 Open & Closed World

Nel modellare una realtà devo anche sapere come modellare le affermazioni, ad esempio quando un fatto non viene specificato serve sapere come rappresentarlo; si utilizzano due metodi:

  • Closed world: tutte le descrizioni sono presenti, quindi se un fatto non è esplicitato come vero si assume che sia falso (database).
  • Open world: si sa solo se le informazioni sono vere o false, tutto il resto semplicemente non si sa (ontologie e web semantico).

1.3.2 Cos’è un Modello Concettuale

Un modello concettuale è l’insieme tra lo schema concettuale e l’Information Base (IB) o database concettuale.

Lo schema concettuale è il progetto del dominio all’interno del SI mentre l’IB è uno specifico stato del dominio del SI.

Per sviluppare un SI è necessario definire lo schema concettuale.

Capitolo 1. Introduzione 5

1.3.2.1 Schema Concettuale

Uno schema concettuale è l’unione di:

  • Fact types: specificano quali entità sono coinvolte, i riferimenti agli oggetti del dominio e le relazioni.
  • Vincoli: proprietà da soddisfare all’interno del SI.
  • Regole di derivazione: come si derivano i nuovi fatti da quelli precedenti.

1.3.2.2 Information Base

L’IB è composta da fatti espressi in FOL; è importante specificare dei fatti il più primitivi possibile, così da evitare ridondanze, semplificare gli aggiornamenti e garantire consistenza.

1.3.2.3 Schema Strutturale e Comportamentale

Lo schema strutturale è lo studio di concetti e delle loro relazioni, ad esempio quali generi di dati

Anteprima
Vedrai una selezione di 20 pagine su 125
Modellazione di dati e processi aziendali Pag. 1 Modellazione di dati e processi aziendali Pag. 2
Anteprima di 20 pagg. su 125.
Scarica il documento per vederlo tutto.
Modellazione di dati e processi aziendali Pag. 6
Anteprima di 20 pagg. su 125.
Scarica il documento per vederlo tutto.
Modellazione di dati e processi aziendali Pag. 11
Anteprima di 20 pagg. su 125.
Scarica il documento per vederlo tutto.
Modellazione di dati e processi aziendali Pag. 16
Anteprima di 20 pagg. su 125.
Scarica il documento per vederlo tutto.
Modellazione di dati e processi aziendali Pag. 21
Anteprima di 20 pagg. su 125.
Scarica il documento per vederlo tutto.
Modellazione di dati e processi aziendali Pag. 26
Anteprima di 20 pagg. su 125.
Scarica il documento per vederlo tutto.
Modellazione di dati e processi aziendali Pag. 31
Anteprima di 20 pagg. su 125.
Scarica il documento per vederlo tutto.
Modellazione di dati e processi aziendali Pag. 36
Anteprima di 20 pagg. su 125.
Scarica il documento per vederlo tutto.
Modellazione di dati e processi aziendali Pag. 41
Anteprima di 20 pagg. su 125.
Scarica il documento per vederlo tutto.
Modellazione di dati e processi aziendali Pag. 46
Anteprima di 20 pagg. su 125.
Scarica il documento per vederlo tutto.
Modellazione di dati e processi aziendali Pag. 51
Anteprima di 20 pagg. su 125.
Scarica il documento per vederlo tutto.
Modellazione di dati e processi aziendali Pag. 56
Anteprima di 20 pagg. su 125.
Scarica il documento per vederlo tutto.
Modellazione di dati e processi aziendali Pag. 61
Anteprima di 20 pagg. su 125.
Scarica il documento per vederlo tutto.
Modellazione di dati e processi aziendali Pag. 66
Anteprima di 20 pagg. su 125.
Scarica il documento per vederlo tutto.
Modellazione di dati e processi aziendali Pag. 71
Anteprima di 20 pagg. su 125.
Scarica il documento per vederlo tutto.
Modellazione di dati e processi aziendali Pag. 76
Anteprima di 20 pagg. su 125.
Scarica il documento per vederlo tutto.
Modellazione di dati e processi aziendali Pag. 81
Anteprima di 20 pagg. su 125.
Scarica il documento per vederlo tutto.
Modellazione di dati e processi aziendali Pag. 86
Anteprima di 20 pagg. su 125.
Scarica il documento per vederlo tutto.
Modellazione di dati e processi aziendali Pag. 91
1 su 125
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze economiche e statistiche SECS-S/01 Statistica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher ChristianBruni di informazioni apprese con la frequenza delle lezioni di Modellazione di dati e processi aziendali e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli studi di Torino o del prof Baldoni Matteo.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community