Analisi dei requisiti di un'applicazione
Analisi dei requisiti
di un'applicazione
Versione 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.
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.
Mario G. Montobbio
mailto:[email protected]
Analisi strutturata
Applicazione da costruire
Applicazione da costruire
Analisi strutturata
Applicazione da costruire
Centro di verifica
Alcune 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 verifica
Alcune 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.
2.
3.
4.
5.
Ricerca dei flussi di dati entranti
Ricerca delle sorgenti esterne dei dati
Ricerca dei flussi di dati uscenti
Ricerca dei pozzi esterni dei dati
Sintesi in un diagramma
Analisi strutturata
Diagramma di contesto dei dati — Passi di analisi
Passi di analisi
1.
2.
3.
4.
5.
Ricerca dei flussi di dati entranti
Ricerca delle sorgenti esterne dei dati
Ricerca dei flussi di dati uscenti
Ricerca dei pozzi esterni dei dati
Sintesi in un diagramma
Analisi strutturata
Diagramma di contesto dei dati — Passi di analisi
Centro di verifica
Alcune 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.
Passo di analisi Nr. 1: Questi sono i flussi di entrata che l’applicazione
elabora.
Analisi strutturata
Diagramma di contesto dei dati — Passi di analisi
Passi di analisi
1.
2.
3.
4.
5.
Ricerca dei flussi di dati entranti
Ricerca delle sorgenti esterne dei dati
Ricerca dei flussi di dati uscenti
Ricerca dei pozzi esterni dei dati
Sintesi in un diagramma
Analisi strutturata
Diagramma di contesto dei dati — Passi di analisi
Centro di verifica
Alcune 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.
Passo di analisi Nr. 2: Queste sono le sorgenti esterne dei dati che inviano
flussi di dati all’applicazione.
Analisi strutturata
Diagramma di contesto dei dati — Passi di analisi
Passi di analisi
1.
2.
3.
4.
5.
Ricerca dei flussi di dati entranti
Ricerca delle sorgenti esterne dei dati
Ricerca dei flussi di dati uscenti
Ricerca dei pozzi esterni dei dati
Sintesi in un diagramma
Analisi strutturata
Diagramma di contesto dei dati — Passi di analisi
Centro di verifica
Alcune 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.
Passo di analisi Nr. 3: Questi sono i flussi di uscita che l’applicazione produce.
Analisi strutturata
Diagramma di contesto dei dati — Passi di analisi
Passi di analisi
1.
2.
3.
4.
5.
Ricerca dei flussi di dati entranti
Ricerca delle sorgenti esterne dei dati
Ricerca dei flussi di dati uscenti
Ricerca dei pozzi esterni dei dati
Sintesi in un diagramma
Analisi strutturata
Diagramma di contesto dei dati — Passi di analisi
Centro di verifica
Alcune 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.
Passo di analisi Nr. 4: Queste sono i pozzi esterni dei dati che ricevono flussi
di dati dall’applicazione.
Analisi strutturata
Diagramma di contesto dei dati — Passi di analisi
Passi di analisi
1.
2.
3.
4.
5.
Ricerca dei flussi di dati entranti
Ricerca delle sorgenti esterne dei dati
Ricerca dei flussi di dati uscenti
Ricerca dei pozzi esterni dei dati
Sintesi in un diagramma
Analisi strutturata
Diagramma di contesto dei dati — Passi di analisi
Centrale
telefonica
Amministratore
Validazione
Ticket
Amministratore
Validazione
Formati entrata
0
Formati uscita
Normalizzazione
Validazione
Ticket
Centro
Fatturazione
Localizzazione regole
Amministratore
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 analisi
Centrale
telefonica
Amministratore
Validazione
Ticket
Amministratore
Validazione
Formati entrata
0
Formati uscita
Normalizzazione
Validazione
Ticket
Centro
Fatturazione
Localizzazione regole
Amministratore
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 dati
Centrale
telefonica
Amministratore
Validazione
Ticket
Amministratore
Validazione
Formati entrata
0
Formati uscita
Normalizzazione
Validazione
Ticket
Centro
Fatturazione
Localizzazione regole
Amministratore
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
Centrale
telefonica
Amministratore
Validazione
Ticket
Amministratore
Validazione
Formati entrata
0
Formati uscita
Normalizzazione
Validazione
Ticket
Centro
Fatturazione
Localizzazione regole
Amministratore
Validazione
Nel diagramma di contesto dei dati c’è un solo processo che rappresenta la
nostra applicazione.
Analisi strutturata
Diagramma di contesto dei dati
Centrale
telefonica
Amministratore
Validazione
Ticket
Amministratore
Validazione
Formati entrata
0
Formati uscita
Normalizzazione
Validazione
Ticket
Centro
Fatturazione
Localizzazione regole
Amministratore
Validazione
Nell’applicazione entrano flussi di dati rappresentati da archi entranti ...
Analisi strutturata
Diagramma di contesto dei dati
Centrale
telefonica
Amministratore
Validazione
Ticket
Amministratore
Validazione
Formati entrata
0
Formati uscita
Normalizzazione
Validazione
Ticket
Centro
Fatturazione
Localizzazione regole
Amministratore
Validazione
... che provengono da sorgenti esterne di dati.
Analisi strutturata
Diagramma di contesto dei dati
Centrale
telefonica
Amministratore
Validazione
Ticket
Amministratore
Validazione
Formati entrata
0
Formati uscita
Normalizzazione
Validazione
Ticket
Centro
Fatturazione
Localizzazione regole
Amministratore
Validazione
Dall’applicazione escono flussi di dati rappresentati da archi uscenti ...
Analisi strutturata
Diagramma di contesto dei dati
Centrale
telefonica
Amministratore
Validazione
Ticket
Amministratore
Validazione
Formati entrata
0
Formati uscita
Normalizzazione
Validazione
Ticket
Centro
Fatturazione
Localizzazione regole
Amministratore
Validazione
... che terminano in pozzi esterni di dati.
Analisi strutturata
Diagramma di contesto dei dati
Centrale
telefonica
Amministratore
Validazione
Ticket
Amministratore
Validazione
Formati entrata
0
Formati uscita
Normalizzazione
Validazione
Ticket
Centro
Fatturazione
Localizzazione regole
Amministratore
Validazione
Le sorgenti di dati e i pozzi di dati sono entità esterne alla nostra applicazione
con cui occorre comunicare.
Analisi strutturata
Diagramma di contesto dei dati
Centrale
telefonica
Amministratore
Validazione
Ticket
Amministratore
Validazione
Formati entrata
0
Formati uscita
Normalizzazione
Validazione
Ticket
Centro
Fatturazione
Localizzazione regole
Amministratore
Validazione
Vicino ad ogni arco c’è il nome del flusso
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.
2.
3.
4.
5.
6.
7.
Uso di diagrammi
Dal generale al particolare (top-down)
Bilanciamento dei flussi (balancing)
Rispetto della soglia di attenzione (span of attention)
Affinamento per passi successivi (stepwise refinements)
Definizione dei flussi (data dictionary)
Notazione del dizionario elaborabile automaticamente
Analisi strutturata
Diagrammi di flusso dei dati — Principi di analisi
Principi di analisi
1.
2.
3.
4.
5.
6.
7.
Uso di diagrammi
Dal generale al particolare (top-down)
Bilanciamento dei flussi (balancing)
Rispetto della soglia di attenzione (span of attention)
Affinamento per passi successivi (stepwise refinements)
Definizione dei flussi (data dictionary)
Notazione del dizionario elaborabile automaticamente
Analisi strutturata
Diagrammi di flusso dei dati — Principi di analisi
Diagramma di contesto dei dati
Centrale elefonica
Centro
Fatturazione
Amministratore Validazione
0
Amministratore Validazione
Amministratore Validazione
CFD
Diagramma di flusso di livello 1
4
1
2
3
DFD 0
Principio di analisi Nr. 1: Un diagramma sintetizza quali sono le informazioni
rilevanti per l'argomento esaminato con maggior chiarezza di un testo scritto.
Analisi strutturata
Diagrammi di flusso dei dati — Principi di analisi
Diagramma di contesto dei dati
Centrale elefonica
Centro
Fatturazione
Amministratore Validazione
0
Amministratore Validazione
Amministratore Validazione
CFD
Diagramma di flusso di livello 1
4
1
2
3
DFD 0
Vedendo un diagramma assorbiamo e ricordiamo più velocemente le
informazioni che leggendo un testo scritto.
Analisi strutturata
Diagrammi di flusso dei dati — Principi di analisi
Principi di analisi
1.
2.
3.
4.
5.
6.
7.
Uso di diagrammi
Dal generale al particolare (top-down)
Bilanciamento dei flussi (balancing)
Rispetto della soglia di attenzione (span of attention)
Affinamento per passi successivi (stepwise refinements)
Definizione dei flussi (data dictionary)
Notazione del dizionario elaborabile automaticamente
Analisi strutturata
Diagrammi di flusso dei dati — Principi di analisi
Diagramma di contesto dei dati
Centrale elefonica
Centro
Fatturazione
Amministratore Validazione
0
Amministratore Validazione
Amministratore Validazione
CFD
Diagramma di flusso di livello 1
4
1
2
3
DFD 0
Nel diagramma di flusso dei dati di livello 1 descriviamo in maggior dettaglio
l’unico processo del diagramma di contesto dei dati.
Analisi strutturata
Diagrammi di flusso dei dati — Principi di analisi
Diagramma di contesto dei dati
Centrale elefonica
Centro
Fatturazione
Amministratore Validazione
0
Amministratore Validazione
Amministratore Validazione
CFD
Diagramma di flusso di livello 1
4
1
2
3
DFD 0
Principio di analisi Nr. 2: L’analisi del sistema procede dal generale al
particolare (top-down).
Analisi strutturata
Diagrammi di flusso dei dati — Principi di analisi
Principi di analisi
1.
2.
3.
4.
5.
6.
7.
Uso di diagrammi
Dal generale al particolare (top-down)
Bilanciamento dei flussi (balancing)
Rispetto della soglia di attenzione (span of attention)
Affinamento per passi successivi (stepwise refinements)
Definizione dei flussi (data dictionary)
Notazione del dizionario elaborabile automaticamente
Analisi strutturata
Diagrammi di flusso dei dati — Principi di analisi
Diagramma di contesto dei dati
Centrale elefonica
Centro
Fatturazione
Amministratore Validazione
0
Amministratore Validazione
Amministratore Validazione
CFD
Diagramma di flusso di livello 1
4
1
2
3
DFD 0
Il confine del diagramma di flusso di livello 1 ...
Analisi strutturata
Diagrammi di flusso dei dati — Principi di analisi
Diagramma di contesto dei dati
Centrale elefonica
Centro
Fatturazione
Amministratore Validazione
0
Amministratore Validazione
Amministratore Validazione
CFD
Diagramma di flusso di livello 1
4
1
2
3
DFD 0
... corrisponde al confine dell’unico processo nel diagramma di contesto dei
dati.
Analisi strutturata
Diagrammi di flusso dei dati — Principi di analisi
Diagramma di contesto dei dati
Centrale elefonica
Centro
Fatturazione
Amministratore Validazione
0
Amministratore Validazione
Amministratore Validazione
CFD
Diagramma di flusso di livello 1
4
1
2
3
DFD 0
I flussi di di dati che attraversano il confine del diagramma di flusso dei dati di
livello 1 ...
Analisi strutturata
Diagrammi di flusso dei dati — Principi di analisi
Diagramma di contesto dei dati
Centrale elefonica
Centro
Fatturazione
Amministratore Validazione
0
Amministratore Validazione
Amministratore Validazione
CFD
Diagramma di flusso di livello 1
4
1
2
3
DFD 0
... sono i flussi che compaiono nel diagramma di contesto dei dati.
Analisi strutturata
Diagrammi di flusso dei dati — Principi di analisi
Diagramma di contesto dei dati
Centrale elefonica
Centro
Fatturazione
Amministratore Validazione
0
Amministratore Validazione
Amministratore Validazione
CFD
Diagramma di flusso di livello 1
4
1
2
3
DFD 0
Principio di analisi Nr. 3: Quando un processo viene dettagliato i flussi che lo
attraversano devono comparire anche nel diagramma di livello inferiore.
Analisi strutturata
Diagrammi di flusso dei dati — Principi di analisi
Principi di analisi
2.
3.
4.
5.
6.
7.
1.Uso di diagrammi
Dal generale al particolare (top-down)
Bilanciamento dei flussi (balancing)
Rispetto della soglia di attenzione (span of attention)
Affinamento per passi successivi (stepwise refinements)
Definizione dei flussi (data dictionary)
Notazione del dizionario elaborabile automaticamente
Analisi strutturata
Diagrammi di flusso dei dati — Principi di analisi
Diagramma di contesto dei dati
Centrale elefonica
Centro
Fatturazione
Amministratore Validazione
0
Amministratore Validazione
Amministratore Validazione
CFD
Diagramma di flusso di livello 1
4
1
2
3
DFD 0
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).
Analisi strutturata
Diagrammi di flusso dei dati — Principi di analisi
Principi di analisi
1.
2.
3.
4.
5.
6.
7.
Uso di diagrammi
Dal generale al particolare (top-down)
Bilanciamento dei flussi (balancing)
Rispetto della soglia di attenzione (span of attention)
Affinamento per passi successivi (stepwise refinements)
Definizione dei flussi (data dictionary)
Notazione del dizionario elaborabile automaticamente
Analisi strutturata
Diagrammi di flusso dei dati — Principi di analisi
Diagramma di flusso di livello 1
4
1
3
2
DFD 0
Diagramma di flusso di livello 2
1.1
1.3
1.2
DFD 1
Ogni processo del diagramma di livello 1 – se necessario – è dettagliato da un
altro diagramma di flusso di livello 2.
Analisi strutturata
Diagrammi di flusso dei dati — Principi di analisi
Diagramma di flusso di livello 1
4
1
3
2
DFD 0
Diagramma di flusso di livello 2
2.5
2.3
2.1
2.2
2.4
DFD 2
Ogni processo del diagramma di livello 1 – se necessario – è dettagliato da un
altro diagramma di flusso di livello 2.
Analisi strutturata
Diagrammi di flusso dei dati — Principi di analisi
Diagramma di flusso di livello 1
4
1
3
2
DFD 0
Diagramma di flusso di livello 2
3.3
3.1
3.2
3.4
DFD 3
Ogni processo del diagramma di livello 1 – se necessario – è dettagliato da un
altro diagramma di flusso di livello 2.
Analisi strutturata
Diagrammi di flusso dei dati — Principi di analisi
Diagramma di flusso di livello 1
4
1
3
2
DFD 0
Diagramma di flusso di livello 2
2.5
2.3
2.1
2.2
2.4
DFD 2
Principio di analisi Nr. 5: L’analisi del sistema è affinata per passi successivi
(stepwise refinements).
Analisi strutturata
Diagrammi di flusso dei dati — Principi di analisi
Principi di analisi
1.
2.
3.
4.
5.
6.
7.
Uso di diagrammi
Dal generale al particolare (top-down)
Bilanciamento dei flussi (balancing)
Rispetto della soglia di attenzione (span of attention)
Affinamento per passi successivi (stepwise refinements)
Definizione dei flussi (data dictionary)
Notazione del dizionario elaborabile automaticamente
Analisi strutturata
Diagrammi di flusso dei dati — Principi di analisi
Centrale
telefonica
Amministratore
Validazione
Ticket
Amministratore
Validazione
Formati entrata
0
Normalizzazione
Validazione
Ticket
Centro
Fatturazione
Ticket = * File sequenziale letto *
Formati uscita
* da centrale via FTP
*
* oppure letto da nastro *
Tipo_ticket
+[Data_inizio_conversazione
Localizzazione|Data_fine_conversazione]
regole
+ Numero_chiamante
+ Numero_chiamato
Amministratore
+ Durata_conversazione
Validazione
+ (Quantità_impulsi)
Principio di analisi Nr. 6: Ogni flusso è definito con la precisione necessaria
nel dizionario dei dati.
Analisi strutturata
Diagrammi di flusso dei dati — Principi di analisi
Principi di analisi
1.
2.
3.
4.
5.
6.
7.
Uso di diagrammi
Dal generale al particolare (top-down)
Bilanciamento dei flussi (balancing)
Rispetto della soglia di attenzione (span of attention)
Affinamento per passi successivi (stepwise refinements)
Definizione dei componenti dei flussi (data dictionary)
Notazione del dizionario elaborabile automaticamente
Analisi strutturata
Diagrammi di flusso dei dati — Principi di analisi
Centrale
telefonica
Amministratore
Validazione
Ticket
Amministratore
Validazione
Formati entrata
0
Normalizzazione
Validazione
Ticket
Centro
Fatturazione
Ticket = * File sequenziale letto *
Formati uscita
* da centrale via FTP
*
* oppure letto da nastro *
Tipo_ticket
+ [Data_inizio_conversazione
|Data_fine_conversazione]
Localizzazione
regole
+ Numero_chiamante
+ Numero_chiamato
+ Durata_conversazione
Amministratore
+ (Quantità_impulsi)
Validazione
Principio di analisi Nr. 7: I componenti dei flussi sono descritti nel dizionario
dei dati con una notazione che può essere elaborata automaticamente.
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
Centrale
telefonica
Amministratore
Validazione
Ticket
Amministratore
Validazione
Formati entrata
0
Formati uscita
Normalizzazione
Validazione
Ticket
Centro
Fatturazione
Localizzazione regole
Amministratore
Validazione
Nel diagramma di flusso dei dati di livello 1 descriviamo in maggior dettaglio
l’unico processo del diagramma di contesto dei dati.
Analisi strutturata
Diagrammi di flusso dei dati — Livello 1
Amministratore
Validazione
Centrale
telefonica
Ticket
Amministratore
Validazione
Formati
uscita
Formati
entrata
Centro
Fatturazione
Ticket
4
1
Esito validazione
complessivo
Normalizzazione
formati
entrata
Esito validazione campo
Valori
normalizzati
3
2
Funzioni di
validazione
campo
Coordinamento
validazione
Localizzazione
regole
Amministratore
Validazione
Normalizzazione
formati
uscita
Argomenti
Questo è il diagramma di flusso dei dati di livello 1.
Analisi strutturata
Diagrammi di flusso dei dati — Livello 1
Amministratore
Validazione
Centrale
telefonica
Ticket
Amministratore
Validazione
Centro
Fatturazione
Formati
uscita
Formati
entrata
Ticket
4
1
Esito validazione
complessivo
Normalizzazione
formati
entrata
Esito validazione campo
Valori
normalizzati
3
2
Funzioni di
validazione
campo
Coordinamento
validazione
Localizzazione
regole
Amministratore
Validazione
Normalizzazione
formati
uscita
Argomenti
La riga tratteggiata
dell’applicazione ...
Analisi strutturata
è
il
confine
con
l’esterno
Diagrammi di flusso dei dati — Livello 1
Centrale
telefonica
Amministratore
Validazione
Ticket
Amministratore
Validazione
Formati entrata
0
Formati uscita
Normalizzazione
Validazione
Ticket
Centro
Fatturazione
Localizzazione regole
Amministratore
Validazione
... e corrisponde al confine dell’unico processo nel diagramma di contesto dei
dati.
Analisi strutturata
Diagrammi di flusso dei dati — Livello 1
Amministratore
Validazione
Centrale
telefonica
Ticket
Amministratore
Validazione
Formati
uscita
Formati
entrata
Centro
Fatturazione
Ticket
4
1
Esito validazione
complessivo
Normalizzazione
formati
entrata
Esito validazione campo
Valori
normalizzati
3
2
Funzioni di
validazione
campo
Coordinamento
validazione
Localizzazione
regole
Amministratore
Validazione
Normalizzazione
formati
uscita
Argomenti
I flussi di dati che attraversano la linea tratteggiata nel
diagramma di flusso dei dati di livello 1 ...
Analisi strutturata
Diagrammi di flusso dei dati — Livello 1
Centrale
telefonica
Amministratore
Validazione
Ticket
Amministratore
Validazione
Formati entrata
0
Formati uscita
Normalizzazione
Validazione
Ticket
Centro
Fatturazione
Localizzazione regole
Amministratore
Validazione
... sono i flussi che compaiono nel diagramma di contesto dei dati.
Analisi strutturata
Diagrammi di flusso dei dati — Livello 1
Centrale
telefonica
Amministratore
Validazione
Ticket
Amministratore
Validazione
Formati entrata
0
Formati uscita
Normalizzazione
Validazione
Ticket
Centro
Fatturazione
Localizzazione regole
Amministratore
Validazione
Criterio di verifica: quando un processo viene dettagliato i flussi che entrano
ed escono dal processo ...
Analisi strutturata
Diagrammi di flusso dei dati — Livello 1
Amministratore
Validazione
Centrale
telefonica
Ticket
Amministratore
Validazione
Formati
uscita
Formati
entrata
Centro
Fatturazione
Ticket
4
1
Esito validazione
complessivo
Normalizzazione
formati
entrata
Esito validazione campo
Valori
normalizzati
3
2
Funzioni di
validazione
campo
Coordinamento
validazione
Localizzazione
regole
Amministratore
Validazione
Normalizzazione
formati
uscita
Argomenti
... devono entrare ed uscire anche dal diagramma di
dettaglio.
Analisi strutturata
Diagrammi di flusso dei dati — Livello 1
Centrale
telefonica
Amministratore
Validazione
Ticket
Amministratore
Validazione
Formati entrata
0
Formati uscita
Normalizzazione
Validazione
Ticket
Centro
Fatturazione
Localizzazione regole
Amministratore
Validazione
Dettagliando l’unico processo del diagramma di contesto dei dati ...
Analisi strutturata
Diagrammi di flusso dei dati — Livello 1
Amministratore
Validazione
Centrale
telefonica
Ticket
Amministratore
Validazione
Formati
uscita
Formati
entrata
Centro
Fatturazione
Ticket
4
1
Esito validazione
complessivo
Normalizzazione
formati
entrata
Esito validazione campo
Valori
normalizzati
3
2
Funzioni di
validazione
campo
Coordinamento
validazione
Localizzazione
regole
Amministratore
Validazione
Normalizzazione
formati
uscita
Argomenti
... evidenziamo i processi principali dell’applicazione.
Analisi strutturata
Diagrammi di flusso dei dati — Livello 1
Amministratore
Validazione
Centrale
telefonica
Ticket
Amministratore
Validazione
Formati
uscita
Formati
entrata
Centro
Fatturazione
Ticket
4
1
Esito validazione
complessivo
Normalizzazione
formati
entrata
Esito validazione campo
Valori
normalizzati
3
2
Funzioni di
validazione
campo
Coordinamento
validazione
Localizzazione
regole
Amministratore
Validazione
Normalizzazione
formati
uscita
Argomenti
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
Amministratore
Validazione
Centrale
telefonica
Ticket
Amministratore
Validazione
Formati
uscita
Formati
entrata
Centro
Fatturazione
Ticket
4
1
Esito validazione
complessivo
Normalizzazione
formati
entrata
Valori
normalizzati
Localizzazione
regole
Amministratore
Validazione
Analisi strutturata
Normalizzazione
formati
uscita
Esito validazione campo
3
2
Funzioni di
validazione
campo
Coordinamento
validazione
Argomenti
I flussi di dati che non attraversano il confine
dell’applicazione non comparivano nel diagramma di
contesto dei dati.
Diagrammi di flusso dei dati — Depositi dei dati
Depositi dei dati
(data store)
Analisi strutturata
Diagrammi di flusso dei dati — Depositi dei dati
Amministratore
Validazione
Centrale
telefonica
Ticket
Amministratore
Validazione
Formati
uscita
Formati
entrata
Centro
Fatturazione
Ticket
4
1
Esito validazione
complessivo
Normalizzazione
formati
entrata
Valori
normalizzati
Localizzazione
regole
Amministratore
Validazione
Analisi strutturata
Normalizzazione
formati
uscita
Esito validazione campo
3
2
Funzioni di
validazione
campo
Coordinamento
validazione
Argomenti
Quali flussi di dati continuano ad esistere anche dopo i
processi che li hanno generati?
Diagrammi di flusso dei dati — Depositi dei dati
Amministratore
Validazione
Centrale
telefonica
Ticket
Amministratore
Validazione
Formati
uscita
Formati
entrata
Centro
Fatturazione
Ticket
4
1
Esito validazione
complessivo
Normalizzazione
formati
entrata
Valori
normalizzati
Localizzazione
regole
Amministratore
Validazione
Analisi strutturata
Normalizzazione
formati
uscita
Esito validazione campo
3
2
Funzioni di
validazione
campo
Coordinamento
validazione
Argomenti
Questi flussi di dati sono congelati e possono essere
usati anche dopo che sono stati creati.
Diagrammi di flusso dei dati — Depositi dei dati
Centrale
telefonica
Ticket
Amministratore
Validazione
Amministratore
Validazione
Formati entrata
Centro
Fatturazione
Formati uscita
Ticket
4
1
Esito validazione
complessivo
Normalizzazione
formati
entrata
Valori
normalizzati
Esito validazione campo
3
2
Funzioni di
validazione
campo
Coordinamento
validazione
Localizzazione regole
Amministratore
Validazione
Analisi strutturata
Normalizzazione
formati
uscita
Argomenti
Rappresentiamo i flussi congelati con i depositi dei dati.
Dizionario dei dati
Dizionario dei dati
Analisi strutturata
Dizionario dei dati
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à]
I componenti dei flussi sono descritti nel dizionario dei dati con una
notazione che può essere elaborata automaticamente.
Analisi strutturata
Dizionario dei dati
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à]
Un elemento del flusso Ticket è composto ...
Analisi strutturata
Dizionario dei dati
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à]
... dal Tipo ticket ...
Analisi strutturata
Dizionario dei dati
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à]
... seguito da uno solo degli elementi fra parentesi quadrate ...
Analisi strutturata
Dizionario dei dati
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à]
... – Data inizio conversazione oppure ...
Analisi strutturata
Dizionario dei dati
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à]
... Data fine conversazione – ...
Analisi strutturata
Dizionario dei dati
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à]
... seguita dal Numero chiamante, dal Numero chiamato ...
Analisi strutturata
Dizionario dei dati
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à]
... seguito dalla Durata conversazione ...
Analisi strutturata
Dizionario dei dati
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à]
... seguita opzionalmente dalla Quantità impulsi.
Analisi strutturata
Dizionario dei dati
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à]
A sua volta Numero chiamante è un aggregato composto ...
Analisi strutturata
Dizionario dei dati
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à]
... dal Prefisso interurbano ...
Analisi strutturata
Dizionario dei dati
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à]
... seguito dal Prefisso urbano ...
Analisi strutturata
Dizionario dei dati
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à]
... seguito dalle Migliaia, dalle Centinaia, dalle Decine, e dalle Unità.
Analisi strutturata
Dizionario dei dati
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à]
Come è definito Numero_chiamato ? Provate a rispondere.
Analisi strutturata
Dizionario dei dati
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à]
Cosa indicano le parentesi quadre [ ], e la barra orizzontale | ?
Analisi strutturata
Dizionario dei dati
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à]
Cosa indicano le parentesi tonde ( ) ?
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.
2.
3.
4.
5.
Analisi strutturata
Ricerca dei flussi di dati entranti
Ricerca delle sorgenti esterne dei dati
Ricerca dei flussi di dati uscenti
Ricerca dei pozzi esterni dei dati
Sintesi in un diagramma
Diagrammi di flusso dei dati — Principi di analisi
Diagrammi di flusso dei dati
1.
2.
3.
4.
5.
6.
7.
Uso di diagrammi
Dal generale al particolare (top-down)
Bilanciamento dei flussi (balancing)
Rispetto della soglia di attenzione (span of attention)
Affinamento per passi successivi (stepwise refinements)
Definizione dei flussi (data dictionary)
Notazione del dizionario elaborabile automaticamente
Analisi strutturata
Diagrammi di flusso dei dati — Simboli
DFD — Simboli
Sorgente
esterna
dei dati
Flusso di dati entrante
Flusso di dati uscente
Pozzo
esterno
dei dati
99
Processo
di
elaborazione
Analisi strutturata
Deposito di dati
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
=
+
( )
[ | ]
{ }
x{ }y
* *
È definito come
Seguito da
Opzionale
Uno a scelta fra
Ripetizione di
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.
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.
Mario G. Montobbio
mailto:[email protected]
Analisi strutturata
Scarica

ticket