Analisi strutturata Analisi dei requisiti di un'applicazione Analisi dei requisiti di...

Post on 02-May-2015

227 views 3 download

Tags:

Transcript of Analisi strutturata Analisi dei requisiti di un'applicazione Analisi dei requisiti di...

Analisi strutturata

Analisi dei requisiti di un'applicazione

Analisi dei requisiti

di un'applicazioneVersione preliminare

Analisi strutturata

Analisi dei requisiti di un'applicazione

Copyright © 1997 by Mario G. Montobbio

All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior written permission of the author.

Mario G. Montobbio

mailto:Mario.Montobbio@cec.eu.int

Permission to use, copy and distribute this publication for the purposes of research or private study without fee is hereby granted, provided that this copyright notice and this permission notice appear in all copies.

Analisi strutturata

Applicazione da costruire

Applicazione da costruire

Analisi strutturata

Applicazione da costruire

Centro di verificaAlcune centrali telefoniche di costruttori diversi inviano le registrazioni delle chiamate (ticket) ad un centro di verifica.Ogni costruttore adotta uno o più formati diversi.L’amministratore del centro di verifica configura il centro di verifica per fagli elaborare i diversi formati dei ticket.L’amministratore poi definisce le regole di verifica da applicare ai ticket per scartare i ticket incompleti o non validi.I ticket che hanno superato la verifica devono essere inviati all’applicazione di fatturazione che li richiede in un suo specifico formato.L’amministratore del centro di verifica configura il centro di verifica per fargli trasformare i ticket nel formato atteso dall’applicazione di fatturazione.

Analisi strutturata

Diagramma di contesto dei dati — Passi di analisi

Diagramma di contesto dei dati

Passi di analisi

Analisi strutturata

Diagramma di contesto dei dati — Passi di analisi

Centro di verificaAlcune centrali telefoniche di costruttori diversi inviano le registrazioni delle chiamate (ticket) ad un centro di verifica.Ogni costruttore adotta uno o più formati diversi.L’amministratore del centro di verifica configura il centro di verifica per fagli elaborare i diversi formati dei ticket.L’amministratore poi definisce le regole di verifica da applicare ai ticket per scartare i ticket incompleti o non validi.I ticket che hanno superato la verifica devono essere inviati all’applicazione di fatturazione che li richiede in un suo specifico formato.L’amministratore del centro di verifica configura il centro di verifica per fargli trasformare i ticket nel formato atteso dall’applicazione di fatturazione.

Questo è un estratto dalla requisiti dell’utente per un’applicazione di verifica dei dati di tassazione registrati da centrali telefoniche.

Analisi strutturata

Diagramma di contesto dei dati — Passi di analisi

Passi di analisi

1. Ricerca dei flussi di dati entranti2. Ricerca delle sorgenti esterne dei dati3. Ricerca dei flussi di dati uscenti4. Ricerca dei pozzi esterni dei dati5. Sintesi in un diagramma

Analisi strutturata

Diagramma di contesto dei dati — Passi di analisi

Passi di analisi

1. Ricerca dei flussi di dati entranti2. Ricerca delle sorgenti esterne dei dati3. Ricerca dei flussi di dati uscenti4. Ricerca dei pozzi esterni dei dati5. Sintesi in un diagramma

Analisi strutturata

Diagramma di contesto dei dati — Passi di analisi

Passo di analisi Nr. 1: Questi sono i flussi di entrata che l’applicazione elabora.

Centro di verificaAlcune centrali telefoniche di costruttori diversi inviano le registrazioni delle chiamate (ticket) ad un centro di verifica.Ogni costruttore adotta uno o più formati diversi.L’amministratore del centro di verifica configura il centro di verifica per fagli elaborare i diversi formati dei ticket.L’amministratore poi definisce le regole di verifica da applicare ai ticket per scartare i ticket incompleti o non validi.I ticket che hanno superato la verifica devono essere inviati all’applicazione di fatturazione che li richiede in un suo specifico formato.L’amministratore del centro di verifica configura il centro di verifica per fargli trasformare i ticket nel formato atteso dall’applicazione di fatturazione.

Analisi strutturata

Diagramma di contesto dei dati — Passi di analisi

Passi di analisi

1. Ricerca dei flussi di dati entranti2. Ricerca delle sorgenti esterne dei dati3. Ricerca dei flussi di dati uscenti4. Ricerca dei pozzi esterni dei dati5. Sintesi in un diagramma

Analisi strutturata

Diagramma di contesto dei dati — Passi di analisi

Passo di analisi Nr. 2: Queste sono le sorgenti esterne dei dati che inviano flussi di dati all’applicazione.

Centro di verificaAlcune centrali telefoniche di costruttori diversi inviano le registrazioni delle chiamate (ticket) ad un centro di verifica.Ogni costruttore adotta uno o più formati diversi.L’amministratore del centro di verifica configura il centro di verifica per fagli elaborare i diversi formati dei ticket.L’amministratore poi definisce le regole di verifica da applicare ai ticket per scartare i ticket incompleti o non validi.I ticket che hanno superato la verifica devono essere inviati all’applicazione di fatturazione che li richiede in un suo specifico formato.L’amministratore del centro di verifica configura il centro di verifica per fargli trasformare i ticket nel formato atteso dall’applicazione di fatturazione.

Analisi strutturata

Diagramma di contesto dei dati — Passi di analisi

Passi di analisi

1. Ricerca dei flussi di dati entranti2. Ricerca delle sorgenti esterne dei dati3. Ricerca dei flussi di dati uscenti4. Ricerca dei pozzi esterni dei dati5. Sintesi in un diagramma

Analisi strutturata

Diagramma di contesto dei dati — Passi di analisi

Passo di analisi Nr. 3: Questi sono i flussi di uscita che l’applicazione produce.

Centro di verificaAlcune centrali telefoniche di costruttori diversi inviano le registrazioni delle chiamate (ticket) ad un centro di verifica.Ogni costruttore adotta uno o più formati diversi.L’amministratore del centro di verifica configura il centro di verifica per fagli elaborare i diversi formati dei ticket.L’amministratore poi definisce le regole di verifica da applicare ai ticket per scartare i ticket incompleti o non validi.I ticket che hanno superato la verifica devono essere inviati all’applicazione di fatturazione che li richiede in un suo specifico formato.L’amministratore del centro di verifica configura il centro di verifica per fargli trasformare i ticket nel formato atteso dall’applicazione di fatturazione.

Analisi strutturata

Diagramma di contesto dei dati — Passi di analisi

Passi di analisi

1. Ricerca dei flussi di dati entranti2. Ricerca delle sorgenti esterne dei dati3. Ricerca dei flussi di dati uscenti4. Ricerca dei pozzi esterni dei dati5. Sintesi in un diagramma

Analisi strutturata

Diagramma di contesto dei dati — Passi di analisi

Passo di analisi Nr. 4: Queste sono i pozzi esterni dei dati che ricevono flussi di dati dall’applicazione.

Centro di verificaAlcune centrali telefoniche di costruttori diversi inviano le registrazioni delle chiamate (ticket) ad un centro di verifica.Ogni costruttore adotta uno o più formati diversi.L’amministratore del centro di verifica configura il centro di verifica per fagli elaborare i diversi formati dei ticket.L’amministratore poi definisce le regole di verifica da applicare ai ticket per scartare i ticket incompleti o non validi.I ticket che hanno superato la verifica devono essere inviati all’applicazione di fatturazione che li richiede in un suo specifico formato.L’amministratore del centro di verifica configura il centro di verifica per fargli trasformare i ticket nel formato atteso dall’applicazione di fatturazione.

Analisi strutturata

Diagramma di contesto dei dati — Passi di analisi

Passi di analisi

1. Ricerca dei flussi di dati entranti2. Ricerca delle sorgenti esterne dei dati3. Ricerca dei flussi di dati uscenti4. Ricerca dei pozzi esterni dei dati5. Sintesi in un diagramma

Analisi strutturata

Diagramma di contesto dei dati — Passi di analisiCentraletelefonica

Ticket Formati entrata

AmministratoreValidazione

AmministratoreValidazione

Formati uscita

Ticket

AmministratoreValidazione

CentroFatturazione

Localizzazione regole

0

Normalizza-zione

Validazione

Passo di analisi Nr. 5: Un diagramma sintetizza quali sono le informazioni rilevanti per l'argomento esaminato con maggior chiarezza di un testo scritto.

Analisi strutturata

Diagramma di contesto dei dati — Passi di analisiCentraletelefonica

Ticket Formati entrata

AmministratoreValidazione

AmministratoreValidazione

Formati uscita

Ticket

AmministratoreValidazione

CentroFatturazione

Localizzazione regole

0

Normalizza-zione

Validazione

Vedendo un diagramma assorbiamo e ricordiamo più velocemente le informazioni che leggendo un testo scritto.

Analisi strutturata

Diagramma di contesto dei dati

Diagramma di contesto dei dati

Analisi strutturata

Diagramma di contesto dei datiCentraletelefonica

Ticket Formati entrata

AmministratoreValidazione

AmministratoreValidazione

Formati uscita

Ticket

AmministratoreValidazione

CentroFatturazione

Localizzazione regole

0

Normalizza-zione

Validazione

Questo è il livello più alto nei diagrammi di flusso dei dati: il diagramma di contesto dei dati.

Analisi strutturata

Diagramma di contesto dei dati

Ticket Formati entrata

Formati uscita

Ticket Localizzazione regole

Nel diagramma di contesto dei dati c’è un solo processo che rappresenta la nostra applicazione.

0

Normalizza-zione

Validazione

Centraletelefonica

AmministratoreValidazione

AmministratoreValidazione

AmministratoreValidazione

CentroFatturazione

Analisi strutturata

Diagramma di contesto dei dati

Ticket Formati entrata

Formati uscita

Ticket Localizzazione regole

Nell’applicazione entrano flussi di dati rappresentati da archi entranti ...

Centraletelefonica

AmministratoreValidazione

AmministratoreValidazione

AmministratoreValidazione

CentroFatturazione

0

Normalizza-zione

Validazione

Analisi strutturata

Diagramma di contesto dei dati

Ticket Formati entrata

Formati uscita

Ticket Localizzazione regole

... che provengono da sorgenti esterne di dati.

Centraletelefonica

AmministratoreValidazione

AmministratoreValidazione

AmministratoreValidazione

0

Normalizza-zione

Validazione

CentroFatturazione

Analisi strutturata

Diagramma di contesto dei dati

Ticket Formati entrata

Formati uscita

Ticket Localizzazione regole

Dall’applicazione escono flussi di dati rappresentati da archi uscenti ...

Centraletelefonica

AmministratoreValidazione

AmministratoreValidazione

AmministratoreValidazione

CentroFatturazione

0

Normalizza-zione

Validazione

Analisi strutturata

Diagramma di contesto dei dati

Ticket Formati entrata

Formati uscita

Ticket

CentroFatturazione

Localizzazione regole

... che terminano in pozzi esterni di dati.

Centraletelefonica

AmministratoreValidazione

AmministratoreValidazione

AmministratoreValidazione

CentroFatturazione

0

Normalizza-zione

Validazione

Analisi strutturata

Diagramma di contesto dei dati

Ticket Formati entrata

Formati uscita

Ticket Localizzazione regole

Le sorgenti di dati e i pozzi di dati sono entità esterne alla nostra applicazione con cui occorre comunicare.

CentroFatturazione

Centraletelefonica

AmministratoreValidazione

AmministratoreValidazione

AmministratoreValidazione

0

Normalizza-zione

Validazione

Analisi strutturata

Diagramma di contesto dei dati

Ticket Formati entrata

Formati uscita

Ticket Localizzazione regole

Vicino ad ogni arco c’è il nome del flusso

Centraletelefonica

AmministratoreValidazione

AmministratoreValidazione

AmministratoreValidazione

CentroFatturazione

0

Normalizza-zione

Validazione

Analisi strutturata

Diagrammi di flusso dei dati — Principi di analisi

Diagrammi di flusso dei dati

Principi di analisi

Analisi strutturata

Diagrammi di flusso dei dati — Principi di analisi

Principi di analisi

1. Uso di diagrammi2. Dal generale al particolare (top-down)3. Bilanciamento dei flussi (balancing)4. Rispetto della soglia di attenzione (span of attention)5. Affinamento per passi successivi (stepwise refinements)6. Definizione dei flussi (data dictionary)7. Notazione del dizionario elaborabile automaticamente

Analisi strutturata

Diagrammi di flusso dei dati — Principi di analisi

Principi di analisi

1. Uso di diagrammi2. Dal generale al particolare (top-down)3. Bilanciamento dei flussi (balancing)4. Rispetto della soglia di attenzione (span of attention)5. Affinamento per passi successivi (stepwise refinements)6. Definizione dei flussi (data dictionary)7. Notazione del dizionario elaborabile automaticamente

Analisi strutturata

Diagrammi di flusso dei dati — Principi di analisi

Principio di analisi Nr. 1: Un diagramma sintetizza quali sono le informazioni rilevanti per l'argomento esaminato con maggior chiarezza di un testo scritto.

Centrale elefonica

Amministratore Validazione

CentroFatturazione

Amministratore Validazione

Amministratore Validazione

0

1

2 3

4

Diagramma di flusso di livello 1

Diagramma di contesto dei dati

DFD 0

CFD

Analisi strutturata

Diagrammi di flusso dei dati — Principi di analisi

Vedendo un diagramma assorbiamo e ricordiamo più velocemente le informazioni che leggendo un testo scritto.

Centrale elefonica

Amministratore Validazione

CentroFatturazione

Amministratore Validazione

Amministratore Validazione

0

1

2 3

4

Diagramma di flusso di livello 1

Diagramma di contesto dei dati

DFD 0

CFD

Analisi strutturata

Diagrammi di flusso dei dati — Principi di analisi

Principi di analisi

1. Uso di diagrammi2. Dal generale al particolare (top-down)3. Bilanciamento dei flussi (balancing)4. Rispetto della soglia di attenzione (span of attention)5. Affinamento per passi successivi (stepwise refinements)6. Definizione dei flussi (data dictionary)7. Notazione del dizionario elaborabile automaticamente

Analisi strutturata

Diagrammi di flusso dei dati — Principi di analisi

Nel diagramma di flusso dei dati di livello 1 descriviamo in maggior dettaglio l’unico processo del diagramma di contesto dei dati.

Centrale elefonica

Amministratore Validazione

CentroFatturazione

Amministratore Validazione

Amministratore Validazione

0

1

2 3

4

Diagramma di flusso di livello 1

Diagramma di contesto dei dati

DFD 0

CFD

Analisi strutturata

Diagrammi di flusso dei dati — Principi di analisi

Principio di analisi Nr. 2: L’analisi del sistema procede dal generale al particolare (top-down).

Centrale elefonica

Amministratore Validazione

CentroFatturazione

Amministratore Validazione

Amministratore Validazione

0

1

2 3

4

Diagramma di contesto dei dati

Diagramma di flusso di livello 1

DFD 0

CFD

Analisi strutturata

Diagrammi di flusso dei dati — Principi di analisi

Principi di analisi

1. Uso di diagrammi2. Dal generale al particolare (top-down)3. Bilanciamento dei flussi (balancing)4. Rispetto della soglia di attenzione (span of attention)5. Affinamento per passi successivi (stepwise refinements)6. Definizione dei flussi (data dictionary)7. Notazione del dizionario elaborabile automaticamente

Analisi strutturata

Diagrammi di flusso dei dati — Principi di analisi

Il confine del diagramma di flusso di livello 1 ...

Centrale elefonica

Amministratore Validazione

CentroFatturazione

Amministratore Validazione

Amministratore Validazione

0

1

2 3

4

Diagramma di contesto dei dati

Diagramma di flusso di livello 1

DFD 0

CFD

Analisi strutturata

Diagrammi di flusso dei dati — Principi di analisi

... corrisponde al confine dell’unico processo nel diagramma di contesto dei dati.

Centrale elefonica

Amministratore Validazione

CentroFatturazione

Amministratore Validazione

Amministratore Validazione

0

1

2 3

4

Diagramma di contesto dei dati

Diagramma di flusso di livello 1

DFD 0

CFD

Analisi strutturata

Diagrammi di flusso dei dati — Principi di analisi

I flussi di di dati che attraversano il confine del diagramma di flusso dei dati di livello 1 ...

Centrale elefonica

Amministratore Validazione

CentroFatturazione

Amministratore Validazione

Amministratore Validazione

0

1

2 3

4

Diagramma di contesto dei dati

Diagramma di flusso di livello 1

DFD 0

CFD

Analisi strutturata

Diagrammi di flusso dei dati — Principi di analisi

... sono i flussi che compaiono nel diagramma di contesto dei dati.

Centrale elefonica

Amministratore Validazione

CentroFatturazione

Amministratore Validazione

Amministratore Validazione

0

1

2 3

4

Diagramma di contesto dei dati

Diagramma di flusso di livello 1

DFD 0

CFD

Analisi strutturata

Diagrammi di flusso dei dati — Principi di analisi

Principio di analisi Nr. 3: Quando un processo viene dettagliato i flussi che lo attraversano devono comparire anche nel diagramma di livello inferiore.

Centrale elefonica

Amministratore Validazione

CentroFatturazione

Amministratore Validazione

Amministratore Validazione

0

1

2 3

4

Diagramma di contesto dei dati

Diagramma di flusso di livello 1

DFD 0

CFD

Analisi strutturata

Diagrammi di flusso dei dati — Principi di analisi

Principi di analisi1.Uso di diagrammi

2. Dal generale al particolare (top-down)3. Bilanciamento dei flussi (balancing)4. Rispetto della soglia di attenzione (span of attention)5. Affinamento per passi successivi (stepwise refinements)6. Definizione dei flussi (data dictionary)7. Notazione del dizionario elaborabile automaticamente

Analisi strutturata

Diagrammi di flusso dei dati — Principi di analisi

Principio di analisi Nr. 4: Un diagramma di flusso dei dati dovrebbe contenere non più di 7 ± 2 processi (soglia di attenzione: span of attention).

Centrale elefonica

Amministratore Validazione

CentroFatturazione

Amministratore Validazione

Amministratore Validazione

0

1

2 3

4

Diagramma di contesto dei dati

Diagramma di flusso di livello 1

DFD 0

CFD

Analisi strutturata

Diagrammi di flusso dei dati — Principi di analisi

Principi di analisi

1. Uso di diagrammi2. Dal generale al particolare (top-down)3. Bilanciamento dei flussi (balancing)4. Rispetto della soglia di attenzione (span of attention)5. Affinamento per passi successivi (stepwise refinements)6. Definizione dei flussi (data dictionary)7. Notazione del dizionario elaborabile automaticamente

Analisi strutturata

Diagrammi di flusso dei dati — Principi di analisi

Ogni processo del diagramma di livello 1 – se necessario – è dettagliato da un altro diagramma di flusso di livello 2.

1

2 3

4

Diagramma di flusso di livello 1

Diagramma di flusso di livello 2

1.1

1.21.3

DFD 1

DFD 0

Analisi strutturata

Diagrammi di flusso dei dati — Principi di analisi

Ogni processo del diagramma di livello 1 – se necessario – è dettagliato da un altro diagramma di flusso di livello 2.

1

2 3

4

Diagramma di flusso di livello 1

Diagramma di flusso di livello 2

2.1

2.2

2.3

2.4

2.5

DFD 2

DFD 0

Analisi strutturata

Diagrammi di flusso dei dati — Principi di analisi

Ogni processo del diagramma di livello 1 – se necessario – è dettagliato da un altro diagramma di flusso di livello 2.

1

2 3

4

Diagramma di flusso di livello 1

Diagramma di flusso di livello 2

3.1

3.2

3.3

3.4

DFD 3

DFD 0

Analisi strutturata

Diagrammi di flusso dei dati — Principi di analisi

Principio di analisi Nr. 5: L’analisi del sistema è affinata per passi successivi (stepwise refinements).

1

2 3

4

Diagramma di flusso di livello 1

Diagramma di flusso di livello 2

2.1

2.2

2.3

2.4

2.5

DFD 2

DFD 0

Analisi strutturata

Diagrammi di flusso dei dati — Principi di analisi

Principi di analisi

1. Uso di diagrammi2. Dal generale al particolare (top-down)3. Bilanciamento dei flussi (balancing)4. Rispetto della soglia di attenzione (span of attention)5. Affinamento per passi successivi (stepwise refinements)6. Definizione dei flussi (data dictionary)7. Notazione del dizionario elaborabile automaticamente

Analisi strutturata

Formati entrata

Formati uscita

Localizzazione regole

Diagrammi di flusso dei dati — Principi di analisi

Ticket

Ticket

Principio di analisi Nr. 6: Ogni flusso è definito con la precisione necessaria nel dizionario dei dati.

Centraletelefonica

AmministratoreValidazione

AmministratoreValidazione

AmministratoreValidazione

CentroFatturazione

0

Normalizza-zione

Validazione

Ticket = * File sequenziale letto * * da centrale via FTP * * oppure letto da nastro * Tipo_ticket +[Data_inizio_conversazione |Data_fine_conversazione] + Numero_chiamante + Numero_chiamato + Durata_conversazione + (Quantità_impulsi)

Analisi strutturata

Diagrammi di flusso dei dati — Principi di analisi

Principi di analisi

1. Uso di diagrammi2. Dal generale al particolare (top-down)3. Bilanciamento dei flussi (balancing)4. Rispetto della soglia di attenzione (span of attention)5. Affinamento per passi successivi (stepwise refinements)6. Definizione dei componenti dei flussi (data dictionary)7. Notazione del dizionario elaborabile automaticamente

Analisi strutturata

Formati entrata

Formati uscita

Localizzazione regole

Diagrammi di flusso dei dati — Principi di analisi

Ticket

Ticket

Principio di analisi Nr. 7: I componenti dei flussi sono descritti nel dizionario dei dati con una notazione che può essere elaborata automaticamente.

Centraletelefonica

AmministratoreValidazione

AmministratoreValidazione

AmministratoreValidazione

CentroFatturazione

0

Normalizza-zione

Validazione

Ticket = * File sequenziale letto * * da centrale via FTP * * oppure letto da nastro * Tipo_ticket + [Data_inizio_conversazione |Data_fine_conversazione] + Numero_chiamante + Numero_chiamato + Durata_conversazione + (Quantità_impulsi)

Analisi strutturata

Diagrammi di flusso dei dati — Livello 1

Diagrammi di flusso dei dati

Livello 1

Analisi strutturata

Diagrammi di flusso dei dati — Livello 1

Ticket Formati entrata

Formati uscita

Ticket Localizzazione regole

Nel diagramma di flusso dei dati di livello 1 descriviamo in maggior dettaglio l’unico processo del diagramma di contesto dei dati.

Centraletelefonica

AmministratoreValidazione

AmministratoreValidazione

AmministratoreValidazione

CentroFatturazione

0

Normalizza-zione

Validazione

Analisi strutturata

Diagrammi di flusso dei dati — Livello 1Centraletelefonica

Ticket Formati entrata

AmministratoreValidazione

1

Normalizza-zione

formati entrata

Valori normalizzati

Localizzazione regole

AmministratoreValidazione

2

Coordinamento validazione

Esito validazione campo

Argomenti

3

Funzioni di validazione

campo

Esito validazione complessivo

4

Normalizza-zione

formati uscita

Formati uscita

AmministratoreValidazione

CentroFatturazione

Questo è il diagramma di flusso dei dati di livello 1.

Ticket

Analisi strutturata

Diagrammi di flusso dei dati — Livello 1

La riga tratteggiata è il confine con l’esterno dell’applicazione ...

Centraletelefonica

Ticket Formati entrata

AmministratoreValidazione

1

Normalizza-zione

formati entrata

Valori normalizzati

Localizzazione regole

AmministratoreValidazione

2

Coordinamento validazione

Esito validazione campo

Argomenti

3

Funzioni di validazione

campo

Esito validazione complessivo

4

Normalizza-zione

formati uscita

Formati uscita Ticket

AmministratoreValidazione

CentroFatturazione

Analisi strutturata

Diagrammi di flusso dei dati — Livello 1

... e corrisponde al confine dell’unico processo nel diagramma di contesto dei dati.

Ticket Formati entrata

Formati uscita

Ticket Localizzazione regole

Centraletelefonica

AmministratoreValidazione

AmministratoreValidazione

AmministratoreValidazione

CentroFatturazione

0

Normalizza-zione

Validazione

Analisi strutturata

Diagrammi di flusso dei dati — Livello 1

I flussi di dati che attraversano la linea tratteggiata nel diagramma di flusso dei dati di livello 1 ...

Centraletelefonica

Ticket Formati entrata

AmministratoreValidazione

1

Normalizza-zione

formati entrata

Valori normalizzati

Localizzazione regole

AmministratoreValidazione

2

Coordinamento validazione

Esito validazione campo

Argomenti

3

Funzioni di validazione

campo

Esito validazione complessivo

4

Normalizza-zione

formati uscita

Formati uscita Ticket

AmministratoreValidazione

CentroFatturazione

Analisi strutturata

Diagrammi di flusso dei dati — Livello 1

... sono i flussi che compaiono nel diagramma di contesto dei dati.

Ticket Formati entrata

Formati uscita

Ticket Localizzazione regole

Centraletelefonica

AmministratoreValidazione

AmministratoreValidazione

AmministratoreValidazione

CentroFatturazione

0

Normalizza-zione

Validazione

Analisi strutturata

Diagrammi di flusso dei dati — Livello 1

Criterio di verifica: quando un processo viene dettagliato i flussi che entrano ed escono dal processo ...

Ticket Formati entrata

Formati uscita

Ticket Localizzazione regole

Centraletelefonica

AmministratoreValidazione

AmministratoreValidazione

AmministratoreValidazione

CentroFatturazione

0

Normalizza-zione

Validazione

Analisi strutturata

Diagrammi di flusso dei dati — Livello 1

... devono entrare ed uscire anche dal diagramma di dettaglio.

Centraletelefonica

Ticket Formati entrata

AmministratoreValidazione

1

Normalizza-zione

formati entrata

Valori normalizzati

Localizzazione regole

AmministratoreValidazione

2

Coordinamento validazione

Esito validazione campo

Argomenti

3

Funzioni di validazione

campo

Esito validazione complessivo

4

Normalizza-zione

formati uscita

Formati uscita Ticket

AmministratoreValidazione

CentroFatturazione

Analisi strutturata

Diagrammi di flusso dei dati — Livello 1

Dettagliando l’unico processo del diagramma di contesto dei dati ...

Ticket Formati entrata

Formati uscita

Ticket Localizzazione regole

Centraletelefonica

AmministratoreValidazione

AmministratoreValidazione

AmministratoreValidazione

CentroFatturazione

0

Normalizza-zione

Validazione

Analisi strutturata

... evidenziamo i processi principali dell’applicazione.

Diagrammi di flusso dei dati — Livello 1Centraletelefonica

Ticket Formati entrata

AmministratoreValidazione

1

Normalizza-zione

formati entrata

Valori normalizzati

Localizzazione regole

AmministratoreValidazione

2

Coordinamento validazione

Esito validazione campo

Argomenti

3

Funzioni di validazione

campo

Esito validazione complessivo

4

Normalizza-zione

formati uscita

Formati uscita Ticket

AmministratoreValidazione

CentroFatturazione

Analisi strutturata

Diagrammi di flusso dei dati — Livello 1Centraletelefonica

Ticket Formati entrata

AmministratoreValidazione

1

Normalizza-zione

formati entrata

Valori normalizzati

Localizzazione regole

AmministratoreValidazione

2

Coordinamento validazione

Esito validazione campo

Argomenti

3

Funzioni di validazione

campo

Esito validazione complessivo

4

Normalizza-zione

formati uscita

Formati uscita Ticket

AmministratoreValidazione

CentroFatturazione

Il diagramma di flusso dei dati di livello 1 contiene non più di 7 ± 2 processi (soglia di attenzione).

Analisi strutturata

Diagrammi di flusso dei dati — Livello 1

I flussi di dati che non attraversano il confine dell’applicazione non comparivano nel diagramma di contesto dei dati.

Centraletelefonica

Ticket Formati entrata

AmministratoreValidazione

1

Normalizza-zione

formati entrata

Valori normalizzati

Localizzazione regole

AmministratoreValidazione

2

Coordinamento validazione

Esito validazione campo

Argomenti

3

Funzioni di validazione

campo

Esito validazione complessivo

4

Normalizza-zione

formati uscita

Formati uscita Ticket

AmministratoreValidazione

CentroFatturazione

Analisi strutturata

Diagrammi di flusso dei dati — Depositi dei dati

Depositi dei dati

(data store)

Analisi strutturata

Diagrammi di flusso dei dati — Depositi dei dati

Quali flussi di dati continuano ad esistere anche dopo i processi che li hanno generati?

Centraletelefonica

Ticket Formati entrata

AmministratoreValidazione

1

Normalizza-zione

formati entrata

Valori normalizzati

Localizzazione regole

AmministratoreValidazione

2

Coordinamento validazione

Esito validazione campo

Argomenti

3

Funzioni di validazione

campo

Esito validazione complessivo

4

Normalizza-zione

formati uscita

Formati uscita Ticket

AmministratoreValidazione

CentroFatturazione

Analisi strutturata

Questi flussi di dati sono congelati e possono essere usati anche dopo che sono stati creati.

Diagrammi di flusso dei dati — Depositi dei datiCentraletelefonica

Ticket Formati entrata

AmministratoreValidazione

1

Normalizza-zione

formati entrata

Valori normalizzati

Localizzazione regole

AmministratoreValidazione

2

Coordinamento validazione

Esito validazione campo

Argomenti

3

Funzioni di validazione

campo

Esito validazione complessivo

4

Normalizza-zione

formati uscita

Formati uscita Ticket

AmministratoreValidazione

CentroFatturazione

Analisi strutturata

Diagrammi di flusso dei dati — Depositi dei dati

Rappresentiamo i flussi congelati con i depositi dei dati.

Centraletelefonica

AmministratoreValidazione

1

Normalizza-zione

formati entrata

Valori normalizzati

AmministratoreValidazione

2

Coordinamento validazione

Esito validazione campo

Argomenti

3

Funzioni di validazione

campo

Esito validazione complessivo

4

Normalizza-zione

formati uscita

AmministratoreValidazione

CentroFatturazione

Ticket Formati entrata

Localizzazione regole

Formati uscita Ticket

Analisi strutturata

Dizionario dei dati

Dizionario dei dati

Analisi strutturata

Dizionario dei dati

I componenti dei flussi sono descritti nel dizionario dei dati con una notazione che può essere elaborata automaticamente.

Ticket = Tipo_ticket + [Data_inizio_conversazione|Data_fine_conversazione] + Numero_chiamante + Numero_chiamato + Durata_conversazione + (Quantità_impulsi)Numero_chiamante = Prefisso_interurbano + Prefisso_urbano + Migliaia + Centinaia + Decine + UnitàNumero_chiamato = [(Prefisso_interurbano) + Prefisso_urbano + Migliaia + Centinaia + Decine + Unità |Servizio_in_decade_uno |Codice_accesso + Prefisso_speciale + Migliaia + Centinaia + Decine + Unità]

Analisi strutturata

Dizionario dei dati

Un elemento del flusso Ticket è composto ...

Ticket = Tipo_ticket + [Data_inizio_conversazione|Data_fine_conversazione] + Numero_chiamante + Numero_chiamato + Durata_conversazione + (Quantità_impulsi)Numero_chiamante = Prefisso_interurbano + Prefisso_urbano + Migliaia + Centinaia + Decine + UnitàNumero_chiamato = [(Prefisso_interurbano) + Prefisso_urbano + Migliaia + Centinaia + Decine + Unità |Servizio_in_decade_uno |Codice_accesso + Prefisso_speciale + Migliaia + Centinaia + Decine + Unità]

Analisi strutturata

Dizionario dei dati

... dal Tipo ticket ...

Ticket = Tipo_ticket + [Data_inizio_conversazione|Data_fine_conversazione] + Numero_chiamante + Numero_chiamato + Durata_conversazione + (Quantità_impulsi)Numero_chiamante = Prefisso_interurbano + Prefisso_urbano + Migliaia + Centinaia + Decine + UnitàNumero_chiamato = [(Prefisso_interurbano) + Prefisso_urbano + Migliaia + Centinaia + Decine + Unità |Servizio_in_decade_uno |Codice_accesso + Prefisso_speciale + Migliaia + Centinaia + Decine + Unità]

Analisi strutturata

Dizionario dei dati

... seguito da uno solo degli elementi fra parentesi quadrate ...

Ticket = Tipo_ticket + [Data_inizio_conversazione|Data_fine_conversazione] + Numero_chiamante + Numero_chiamato + Durata_conversazione + (Quantità_impulsi)Numero_chiamante = Prefisso_interurbano + Prefisso_urbano + Migliaia + Centinaia + Decine + UnitàNumero_chiamato = [(Prefisso_interurbano) + Prefisso_urbano + Migliaia + Centinaia + Decine + Unità |Servizio_in_decade_uno |Codice_accesso + Prefisso_speciale + Migliaia + Centinaia + Decine + Unità]

Analisi strutturata

Dizionario dei dati

... – Data inizio conversazione oppure ...

Ticket = Tipo_ticket + [Data_inizio_conversazione|Data_fine_conversazione] + Numero_chiamante + Numero_chiamato + Durata_conversazione + (Quantità_impulsi)Numero_chiamante = Prefisso_interurbano + Prefisso_urbano + Migliaia + Centinaia + Decine + UnitàNumero_chiamato = [(Prefisso_interurbano) + Prefisso_urbano + Migliaia + Centinaia + Decine + Unità |Servizio_in_decade_uno |Codice_accesso + Prefisso_speciale + Migliaia + Centinaia + Decine + Unità]

Analisi strutturata

Dizionario dei dati

... Data fine conversazione – ...

Ticket = Tipo_ticket + [Data_inizio_conversazione|Data_fine_conversazione] + Numero_chiamante + Numero_chiamato + Durata_conversazione + (Quantità_impulsi)Numero_chiamante = Prefisso_interurbano + Prefisso_urbano + Migliaia + Centinaia + Decine + UnitàNumero_chiamato = [(Prefisso_interurbano) + Prefisso_urbano + Migliaia + Centinaia + Decine + Unità |Servizio_in_decade_uno |Codice_accesso + Prefisso_speciale + Migliaia + Centinaia + Decine + Unità]

Analisi strutturata

Dizionario dei dati

... seguita dal Numero chiamante, dal Numero chiamato ...

Ticket = Tipo_ticket + [Data_inizio_conversazione|Data_fine_conversazione] + Numero_chiamante + Numero_chiamato + Durata_conversazione + (Quantità_impulsi)Numero_chiamante = Prefisso_interurbano + Prefisso_urbano + Migliaia + Centinaia + Decine + UnitàNumero_chiamato = [(Prefisso_interurbano) + Prefisso_urbano + Migliaia + Centinaia + Decine + Unità |Servizio_in_decade_uno |Codice_accesso + Prefisso_speciale + Migliaia + Centinaia + Decine + Unità]

Analisi strutturata

Dizionario dei dati

... seguito dalla Durata conversazione ...

Ticket = Tipo_ticket + [Data_inizio_conversazione|Data_fine_conversazione] + Numero_chiamante + Numero_chiamato + Durata_conversazione + (Quantità_impulsi)Numero_chiamante = Prefisso_interurbano + Prefisso_urbano + Migliaia + Centinaia + Decine + UnitàNumero_chiamato = [(Prefisso_interurbano) + Prefisso_urbano + Migliaia + Centinaia + Decine + Unità |Servizio_in_decade_uno |Codice_accesso + Prefisso_speciale + Migliaia + Centinaia + Decine + Unità]

Analisi strutturata

Dizionario dei dati

... seguita opzionalmente dalla Quantità impulsi.

Ticket = Tipo_ticket + [Data_inizio_conversazione|Data_fine_conversazione] + Numero_chiamante + Numero_chiamato + Durata_conversazione + (Quantità_impulsi)Numero_chiamante = Prefisso_interurbano + Prefisso_urbano + Migliaia + Centinaia + Decine + UnitàNumero_chiamato = [(Prefisso_interurbano) + Prefisso_urbano + Migliaia + Centinaia + Decine + Unità |Servizio_in_decade_uno |Codice_accesso + Prefisso_speciale + Migliaia + Centinaia + Decine + Unità]

Analisi strutturata

Dizionario dei dati

A sua volta Numero chiamante è un aggregato composto ...

Ticket = Tipo_ticket + [Data_inizio_conversazione|Data_fine_conversazione] + Numero_chiamante + Numero_chiamato + Durata_conversazione + (Quantità_impulsi)Numero_chiamante = Prefisso_interurbano + Prefisso_urbano + Migliaia + Centinaia + Decine + UnitàNumero_chiamato = [(Prefisso_interurbano) + Prefisso_urbano + Migliaia + Centinaia + Decine + Unità |Servizio_in_decade_uno |Codice_accesso + Prefisso_speciale + Migliaia + Centinaia + Decine + Unità]

Analisi strutturata

Dizionario dei dati

... dal Prefisso interurbano ...

Ticket = Tipo_ticket + [Data_inizio_conversazione|Data_fine_conversazione] + Numero_chiamante + Numero_chiamato + Durata_conversazione + (Quantità_impulsi)Numero_chiamante = Prefisso_interurbano + Prefisso_urbano + Migliaia + Centinaia + Decine + UnitàNumero_chiamato = [(Prefisso_interurbano) + Prefisso_urbano + Migliaia + Centinaia + Decine + Unità |Servizio_in_decade_uno |Codice_accesso + Prefisso_speciale + Migliaia + Centinaia + Decine + Unità]

Analisi strutturata

Dizionario dei dati

... seguito dal Prefisso urbano ...

Ticket = Tipo_ticket + [Data_inizio_conversazione|Data_fine_conversazione] + Numero_chiamante + Numero_chiamato + Durata_conversazione + (Quantità_impulsi)Numero_chiamante = Prefisso_interurbano + Prefisso_urbano + Migliaia + Centinaia + Decine + UnitàNumero_chiamato = [(Prefisso_interurbano) + Prefisso_urbano + Migliaia + Centinaia + Decine + Unità |Servizio_in_decade_uno |Codice_accesso + Prefisso_speciale + Migliaia + Centinaia + Decine + Unità]

Analisi strutturata

Dizionario dei dati

... seguito dalle Migliaia, dalle Centinaia, dalle Decine, e dalle Unità.

Ticket = Tipo_ticket + [Data_inizio_conversazione|Data_fine_conversazione] + Numero_chiamante + Numero_chiamato + Durata_conversazione + (Quantità_impulsi)Numero_chiamante = Prefisso_interurbano + Prefisso_urbano + Migliaia + Centinaia + Decine + UnitàNumero_chiamato = [(Prefisso_interurbano) + Prefisso_urbano + Migliaia + Centinaia + Decine + Unità |Servizio_in_decade_uno |Codice_accesso + Prefisso_speciale + Migliaia + Centinaia + Decine + Unità]

Analisi strutturata

Dizionario dei dati

Come è definito Numero_chiamato ? Provate a rispondere.

Ticket = Tipo_ticket + [Data_inizio_conversazione|Data_fine_conversazione] + Numero_chiamante + Numero_chiamato + Durata_conversazione + (Quantità_impulsi)Numero_chiamante = Prefisso_interurbano + Prefisso_urbano + Migliaia + Centinaia + Decine + UnitàNumero_chiamato = [(Prefisso_interurbano) + Prefisso_urbano + Migliaia + Centinaia + Decine + Unità |Servizio_in_decade_uno |Codice_accesso + Prefisso_speciale + Migliaia + Centinaia + Decine + Unità]

Analisi strutturata

Dizionario dei dati

Cosa indicano le parentesi quadre [ ], e la barra orizzontale | ?

Ticket = Tipo_ticket + [Data_inizio_conversazione|Data_fine_conversazione] + Numero_chiamante + Numero_chiamato + Durata_conversazione + (Quantità_impulsi)Numero_chiamante = Prefisso_interurbano + Prefisso_urbano + Migliaia + Centinaia + Decine + UnitàNumero_chiamato = [(Prefisso_interurbano) + Prefisso_urbano + Migliaia + Centinaia + Decine + Unità |Servizio_in_decade_uno |Codice_accesso + Prefisso_speciale + Migliaia + Centinaia + Decine + Unità]

Analisi strutturata

Dizionario dei dati

Cosa indicano le parentesi tonde ( ) ?

Ticket = Tipo_ticket + [Data_inizio_conversazione|Data_fine_conversazione] + Numero_chiamante + Numero_chiamato + Durata_conversazione + (Quantità_impulsi)Numero_chiamante = Prefisso_interurbano + Prefisso_urbano + Migliaia + Centinaia + Decine + UnitàNumero_chiamato = [(Prefisso_interurbano) + Prefisso_urbano + Migliaia + Centinaia + Decine + Unità |Servizio_in_decade_uno |Codice_accesso + Prefisso_speciale + Migliaia + Centinaia + Decine + Unità]

Analisi strutturata

Diagrammi di flusso dei dati — Livello 2

Diagrammi di flusso dei dati

Livello 2

Analisi strutturata

Diagrammi di flusso dei dati — Livello 2

Non ancora disponibile al 1998-01-26

Analisi strutturata

Analisi dei requisiti di un'applicazione — Riepilogo

Riepilogo

Analisi strutturata

Diagramma di contesto dei flussi — Passi di costruzione

Diagramma di contesto dei flussi

1. Ricerca dei flussi di dati entranti2. Ricerca delle sorgenti esterne dei dati3. Ricerca dei flussi di dati uscenti4. Ricerca dei pozzi esterni dei dati5. Sintesi in un diagramma

Analisi strutturata

Diagrammi di flusso dei dati — Principi di analisi

Diagrammi di flusso dei dati

1. Uso di diagrammi2. Dal generale al particolare (top-down)3. Bilanciamento dei flussi (balancing)4. Rispetto della soglia di attenzione (span of attention)5. Affinamento per passi successivi (stepwise refinements)6. Definizione dei flussi (data dictionary)7. Notazione del dizionario elaborabile automaticamente

Analisi strutturata

Diagrammi di flusso dei dati — Simboli

DFD — Simboli

Sorgenteesternadei dati

Flusso di dati entrante

Pozzoesternodei dati

Flusso di dati uscente

99

Processodi

elaborazione

Deposito di dati

Analisi strutturata

Dizionario dei dati — Esempio

Dizionario dei dati — Esempio

Elemento_da_definire

= (Elemento_opzionale_1)

+ Elemento_obbligatorio_1

+ [Elemento_in_alternativa_1

|Elemento_in_alternativa_2

|Elemento_in_alternativa_3]

+ {Elemento_ripetuto_più_volte}

+ 2{Elemento_ripetuto_da_2_a_5_volte}5

+ (Elemento_opzionale_2)

Analisi strutturata

Dizionario dei dati — Simboli

Dizionario dei dati — Simboli

= È definito come

+ Seguito da

( ) Opzionale

[ | ] Uno a scelta fra

{ } Ripetizione di

x{ }y Ripetuto da x a y volte

* * Commento

Analisi strutturata

Analisi dei requisiti di un'applicazione

Copyright © 1997 by Mario G. Montobbio

All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior written permission of the author.

Mario G. Montobbio

mailto:Mario.Montobbio@cec.eu.int

Permission to use, copy and distribute this publication for the purposes of research or private study without fee is hereby granted, provided that this copyright notice and this permission notice appear in all copies.