Introduzione ai Data Flow Diagram



Похожие документы
Analisi Strutturata. Generalità. Analisi strutturata

Diagrammi di Flusso dei Dati

Introduzione ai casi d uso

Analisi, rappresentazione e progettazione delle procedure

I database. Introduzione alla teoria delle basi di dati

Sistemi Web per il turismo - lezione 3 -

IL PROCESSO di PROGETTAZIONE

CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI

Basi di Dati Concetti Introduttivi

Rappresentazione generale del problema e fasi di progettazione

SISTEMI INFORMATIVI E DATABASE

Diagrammi a blocchi 1

Ingegneria del Software 4. Introduzione a UML. Dipartimento di Informatica Università di Pisa A.A. 2014/15

La mappatura dei processi. Analisi dei processi e revisione gestionale (I modulo) II lezione Anno accademico

Gestione del workflow

Introduzione alla programmazione

Bibliografia. INFORMATICA GENERALE Prof. Alberto Postiglione. Scienze della Comunicazione Università di Salerno. Definizione di DB e di DBMS

Introduzione alle Basi di Dati

Introduzione alla programmazione Algoritmi e diagrammi di flusso. Sviluppo del software

ANALISI FUNZIONALE E DIAGRAMMI DI FLUSSO DEI DATI DFD 1

Sistemi Informativi. Introduzione. Processi fisici. Tipologie di processi. Processi informativi. Processi aziendali

Architettura del Calcolatore

DATABASE MODELLAZIONE DATI TRATTO DA CAMAGNI-NIKOLASSY, CORSO DI INFORMATICA, VOL 2, HOEPLI. Informatica

BOX ONE, ERP PER SCATOLIFICI E CARTOTECNICHE. Metti le ali alla tua azienda!

Modellizzazione dei processi aziendali

REGOLAMENTO IN MATERIA DI CREDITI FORMATIVI PROFESSIONALI DEL PERSONALE TECNICO AMMINISTRATIVO DELL UNIVERSITA DEGLI STUDI DI PAVIA

Unità A2. Progettazione concettuale. Obiettivi. Astrazione. Astrazione per aggregazione

1 Considerare la seguente descrizione del processo di prestito dei libri di una biblioteca, per il quale si vuole progettare un software:

DFD DISPENSA DEL CORSO DI SISTEMI INFORMATIVI UNIVERSITÀ DEGLI STUDI DI VERONA FACOLTÀ DI MM.FF.NN LAUREA SPECIALISTICA IN INFORMATICA

Ciclo di vita di un sistema informativo

DELLA FUNZIONE AZIENDALE

Syllabus start rev. 1.03

L organizzazione dei documenti nei sistemi multimediali

Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia. Università degli Studi di Salerno

Comportamento del Sistema

Corso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a

ISO 9001:2008. Progettazione della Certificazione ISO 9001:2008. Ing. Nicola Cappuccio

Introduzione alle basi di dati: Il modello concettuale

Introduzione agli Algoritmi

REPERTORIO DELLE QUALIFICAZIONI PROFESSIONALI DELLA REGIONE CAMPANIA

SISTEMA INFORMATIVO E SISTEMA INFORMATICO. Sistema informativo e sistema informatico

Corso di Laurea Ingegneria Informatica

ADDETTA e ADDETTO ALLE RELAZIONI CON IL PUBBLICO

Manuale Operativo. Gestione Farmacie

Le caratteristiche dell impresa. Fabrizio Bava Dipartimento di Economia Aziendale Università degli Studi di Torino 1

Progetto Job Club Orientativo affidato con Delibera N. 223 del RELAZIONE JOB CLUB ORIENTATIVO

L assetto organizzativo dell azienda

Compito A. Esercizio 1 (13 punti) Minimizzare l automa descritto dalla seguente tabella degli stati

Транскрипт:

Introduzione ai Data Flow Diagram versione 16 marzo 2009 http://www.analisi-disegno.com Introduzione ai Data Flow Diagram Pag. 1

Obiettivo Fornire elementi di base sui DFD (Data Flow Diagram) Il tema è trattato in modo più approfondito nel modulo formativo online su http://www.adcorsi.com E nel corso in aula Analisi delle funzioni con i Data Flow Diagram : http://www.analisi-disegno.com/a_comai/corsi/sk_dfd.htm Introduzione ai Data Flow Diagram Pag. 2

L approccio strutturato 1966 programmazione strutturata inizio anni '70 disegno strutturato metà anni '70 analisi strutturata "primo" tentativo di fornire linee guida per le attività di sviluppo software utilizzo di modelli formali e diagrammatici Introduzione ai Data Flow Diagram Pag. 3

L analisi strutturata anni 70 (metà) Analisi strutturata 1984 Analisi strutturata per eventi 1985 Analisi strutturata per sistemi in tempo reale Gane - Sarson, De Marco McMenamin - Palmer W ard - Mellor Caratteristiche: definizione delle interazioni tra sistema e mondo esterno partizionamento gerarchico del sistema in processi, collegati tramite flussi di dati utilizzo del diagramma di flusso di dati - Data Flow Diagram Introduzione ai Data Flow Diagram Pag. 4

I DFD oggi Oggi i Data Flow Diagram sono usati prevalentemente per attività di analisi a livello di business Il loro uso in ambito informatico è in declino: l approccio Object Oriented ha progressivamente soppiantato l approccio strutturato per l analisi e la progettazione del software Introduzione ai Data Flow Diagram Pag. 5

Elementi di base dei DFD processo (process) deposito (data store) agente esterno (external agent) flusso di dati (data flow) esempio: cliente ordine del cliente acquisisci ordine ordine acquisito ordini Introduzione ai Data Flow Diagram Pag. 6

Processo È un'attività di trasformazione, che acquisisce dati in input e li trasforma in dati di output. Pertanto ogni processo: deve essere collegato ad almeno un flusso di dati in input e ad almeno uno in output i flussi in output devono essere diversi rispetto ai flussi di input (in quanto oggetto di trasformazione) input 1 processo output 1 input 2 Introduzione ai Data Flow Diagram Pag. 7

Processo: tipologie di trasformazione listino prezzi ordini emetti ricevuta ricevuta fiscale 1) produzione in output di dati diversi rispetto a quelli di input listino prezzi sconto o maggiorazione aggiorna listino listino prezzi aggiornato 2) produzione in output di dati della medesima tipologia di quelli di input, ma con valori diversi Introduzione ai Data Flow Diagram Pag. 8

Processo: tipologie di trasformazione (...) parole da controllare parole corrette dizionario controllo ortografia parole errate 3) partizionamento di un flusso in input ordini via telefono ordini via posta accettazio ne ordini ordini ricevuti 4) unione di più flussi in input Introduzione ai Data Flow Diagram Pag. 9

Flusso di dati È un canale che trasporta materiale (es. dati) omogeneo: ha una direzione connette due punti del sistema a uno dei due capi vi è necessariamente un processo (o un agente esterno) che produce il flusso o lo acquisisce emetti fattura fatture cliente Introduzione ai Data Flow Diagram Pag. 10

Contenuto del flusso di dati Il flusso può trasportare: dati organizzati in strutture (es. ordini memorizzati in un archivio) o non strutturati (es. reclami, risposte) zero, una o più occorrenze (es. dal deposito ordini possono essere letti da zero a molti ordini) reclami ordini ordini ricevuti tratta reclami risposte Introduzione ai Data Flow Diagram Pag. 11

Deposito (data store) è un archivio a cui accedono i processi del sistema è, per definizione, statico: mentre il flusso trasporta i dati, che sono quindi "in movimento", nel deposito i dati sono messi "a riposo", disponibili per essere trattati dai processi i dati contenuti nel deposito corrispondono alle entità (una o più) del sistema (rappresentabili con un modello Entity- Relationship acquisizio ne ordini ordini ricevuti ordini Introduzione ai Data Flow Diagram Pag. 12

Ruolo del deposito quando la connessione tra due processi avviene tramite deposito, i processi sono "asincroni": acquisizio ne ordini ordini ricevuti ordini ordini ricevuti evasione ordini il processo che accede ai dati contenuti nel deposito (es. evasione ordini) può iniziare la propria attività in un momento successivo al termine dell'attività del processo che li memorizza (es. acquisizione ordini) Introduzione ai Data Flow Diagram Pag. 13

Ruolo del deposito ( ) quando la connessione avviene senza il tramite di un deposito, i processi sono "sincroni": acquisizio ne ordini ordini ricevuti evasione ordini il secondo processo inizia la propria attività immediatamente al termine dell'attività del primo Introduzione ai Data Flow Diagram Pag. 14

Deposito e flussi di dati i flussi di dati che entrano in un deposito lo aggiornano, mentre quelli che ne escono lo leggono i flussi in input al deposito, e in output dal deposito, aggiornano o leggono un sottoinsieme dei dati contenuti nel deposito, non necessariamente l'intero deposito: flussi diversi possono aggiornare e/o leggere il medesimo deposito: ciascuno di essi corrisponde ad un determinato sottoinsieme del deposito ordini via posta ordini via telefono ordini ordini da evadere ordini già evasi è anche lecito che il medesimo flusso aggiorni e legga il deposito contratti stipulati contratti contratti stipulati Introduzione ai Data Flow Diagram Pag. 15

Agente esterno (external agent) è un sistema esterno, con il quale il sistema che analizziamo scambia informazioni in input e/o in output può essere una persona, un'organizzazione, un sistema hardware / software, un oggetto qualsiasi come ogni sistema, potrebbe essere analizzato, ma: l'agente esterno è da considerarsi come una "scatola nera", della quale non ci interessano le caratteristiche interne ci interessano solo gli scambi di dati (flussi) tra l'agente esterno ed il sistema che stiamo analizzando cliente sistema contabilità generale sensore banca Introduzione ai Data Flow Diagram Pag. 16

Diagramma di contesto ogni sistema è in relazione con il "mondo esterno", dal quale riceve input e verso il quale produce output agente esterno Z agente esterno X "il sistema" agente esterno Y agente esterno W Introduzione ai Data Flow Diagram Pag. 17

Diagramma di contesto ( ) Il diagramma di contesto è la rappresentazione delle interazioni tra il sistema e il "mondo esterno", e contiene: un solo processo, che rappresenta il sistema analizzato nella sua globalità tutti gli agenti esterni i flussi che agenti esterni e sistema si scambiano eventuali depositi Introduzione ai Data Flow Diagram Pag. 18

Ruolo degli agenti esterni l'individuazione degli agenti esterni è la base per la definizione del contesto del sistema analizzato gli agenti esterni corrispondono alle particolari entità del "mondo esterno" con cui il sistema è in relazione definire gli agenti esterni, e i flussi di dati che scambiano con il nostro sistema, permette di precisare i "confini" del sistema che stiamo analizzando: le attività che producono i flussi indirizzati verso gli agenti esterni sono interne al sistema le attività che producono i flussi che arrivano dagli agenti esterni sono al di fuori del sistema Introduzione ai Data Flow Diagram Pag. 19

Scomposizione dei processi Ogni processo può essere scomposto in sottoprocessi: la scomposizione origina un nuovo diagramma regola di scomposizione: i flussi di input e di output collegati al processo "padre" devono essere collegati anche ai processi "figli" (padri e figli devono avere i medesimi input ed output "netti") la scomposizione è reversibile: è cioè possibile aggregare più processi in un macro-processo Introduzione ai Data Flow Diagram Pag. 20

Scomposizione dei processi x y processo 2 z Diagramma di scomposizione del processo 2 x 2.1 deposito "X" y 2.2 2.3 z Introduzione ai Data Flow Diagram Pag. 21

diagramma di contesto x 0 y z diagramma di scomposizione di primo livello DFD articolati su più livelli x 1 y 2 3 z scomposizione processo 1 1.1 1.4 1.2 1.3 scomposizione processo 3 3.3 3.2 3.1 scomposizione processo 2 2.1 2.2 Introduzione ai Data Flow Diagram Pag. 22

DFD articolati su più livelli Il meccanismo di scomposizione dei processi permette di rappresentare il sistema a diversi livelli di dettaglio: dal diagramma più sintetico, con un unico processo (contesto) attraverso una serie di diagrammi intermedi fino ai diagrammi di dettaglio, che evidenziano i processi elementari (non ulteriormente scomposti) Introduzione ai Data Flow Diagram Pag. 23

I problemi della scomposizione 1. In che modo (secondo quali criteri) è opportuno partizionare un processo? Sono state proposte diverse tecniche per aiutare l'analista nella scomposizione. La più efficace, particolarmente nella scomposizione del diagramma di contesto, si basa sulla individuazione degli "eventi" a cui il processo deve rispondere, e nella definizione di un sottoprocesso per ciascun evento, che tratti l'evento in modo completo producendo tutte le "risposte" necessarie per soddisfarlo. Introduzione ai Data Flow Diagram Pag. 24

I problemi della scomposizione 2. In quanti sottoprocessi bisogna partizionare ciascun processo? Non esiste una regola vera e propria. Il numero dei sottoprocessi dipende dal tipo di processo e dai criteri (dalla tecnica) utilizzata per il partizionamento. Comunque, poiché ogni scomposizione genera un nuovo diagramma, è importante che il diagramma risultante risulti comprensibile, e che pertanto il numero di (sotto) processi contenuti non sia troppo elevato. L'applicazione ai DFD di studi di psicologia sperimentale ha portato Tom De Marco a proporre un numero indicativo di 7 (+ o - 2) sottoprocessi per ogni processo, ma sono numeri da prendere con buon senso, non da applicare in modo meccanico. Introduzione ai Data Flow Diagram Pag. 25

I problemi della scomposizione 3. Fino a che livello di dettaglio spingersi nella scomposizione? Ogni processo può essere più o meno complesso, e generare quindi un numero di sottoprocessi elementari molto diverso da quelli originati da un altro processo. Le tecniche utilizzate per il partizionamento influenzano anche il numero di diagrammi prodotti nella scomposizione, ed il livello di dettaglio necessario. Il livello analitico da raggiungere è sostanzialmente determinato dagli obiettivi dell analisi Introduzione ai Data Flow Diagram Pag. 26

Punti di forza dei DFD focus sull'interazione tra il sistema e il mondo esterno (approccio "sistemico"), e definizione chiara del contesto capacità di rappresentare qualunque tipo di sistema, a diversi livelli intuitività, immediatezza come strumento di comunicazione costituiscono una linea guida per gli analisti, in quanto costringono a porsi le domande a cui l'analisi deve dare risposta Introduzione ai Data Flow Diagram Pag. 27

Limiti dei DFD rischi di orientare la scomposizione dei processi alle soluzioni tecniche (al "come bisogna implementare" anziché al "cosa va fatto"), particolarmente nei livelli più dettagliati le "regole sintattiche" sono limitate: la qualità dei modelli prodotti dipende fortemente dall'esperienza di chi li utilizza Introduzione ai Data Flow Diagram Pag. 28

Per approfondimenti e altri materiali: http://www.analisi-disegno.com Introduzione ai Data Flow Diagram Pag. 29