Analisi dei requisiti di un'applicazione Versione preliminare Lo scopo di questa introduzione al linguaggio C++ è di discutere in dettaglio un esempio di uso di C++. 1
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:Mario.Montobbio@cec.eu.int
Applicazione da costruire
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.
Diagramma di contesto dei dati — Passi di analisi
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.
Diagramma di contesto dei dati — Passi di analisi 1. Ricerca dei flussi di dati entranti 2. Ricerca delle sorgenti esterne dei dati 3. Ricerca dei flussi di dati uscenti 4. Ricerca dei pozzi esterni dei dati 5. Sintesi in un diagramma
Diagramma di contesto dei dati — Passi di analisi 1. Ricerca dei flussi di dati entranti 2. Ricerca delle sorgenti esterne dei dati 3. Ricerca dei flussi di dati uscenti 4. Ricerca dei pozzi esterni dei dati 5. Sintesi in un diagramma
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.
Diagramma di contesto dei dati — Passi di analisi 1. Ricerca dei flussi di dati entranti 2. Ricerca delle sorgenti esterne dei dati 3. Ricerca dei flussi di dati uscenti 4. Ricerca dei pozzi esterni dei dati 5. Sintesi in un diagramma
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.
Diagramma di contesto dei dati — Passi di analisi 1. Ricerca dei flussi di dati entranti 2. Ricerca delle sorgenti esterne dei dati 3. Ricerca dei flussi di dati uscenti 4. Ricerca dei pozzi esterni dei dati 5. Sintesi in un diagramma
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.
Diagramma di contesto dei dati — Passi di analisi 1. Ricerca dei flussi di dati entranti 2. Ricerca delle sorgenti esterne dei dati 3. Ricerca dei flussi di dati uscenti 4. Ricerca dei pozzi esterni dei dati 5. Sintesi in un diagramma
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.
Diagramma di contesto dei dati — Passi di analisi 1. Ricerca dei flussi di dati entranti 2. Ricerca delle sorgenti esterne dei dati 3. Ricerca dei flussi di dati uscenti 4. Ricerca dei pozzi esterni dei dati 5. Sintesi in un diagramma
Diagramma di contesto dei dati — Passi di analisi Centrale telefonica Amministratore Validazione Amministratore Validazione Ticket Formati entrata Formati uscita Normalizza- zione Validazione Ticket Localizzazione regole Centro Fatturazione 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.
Diagramma di contesto dei dati — Passi di analisi Centrale telefonica Amministratore Validazione Amministratore Validazione Ticket Formati entrata Formati uscita Normalizza- zione Validazione Ticket Localizzazione regole Centro Fatturazione Amministratore Validazione Vedendo un diagramma assorbiamo e ricordiamo più velocemente le informazioni che leggendo un testo scritto.
Diagramma di contesto dei dati
Diagramma di contesto dei dati Centrale telefonica Amministratore Validazione Amministratore Validazione Ticket Formati entrata Formati uscita Normalizza- zione Validazione Ticket Localizzazione regole Centro Fatturazione Amministratore Validazione Questo è il livello più alto nei diagrammi di flusso dei dati: il diagramma di contesto dei dati.
Diagramma di contesto dei dati Centrale telefonica Amministratore Validazione Amministratore Validazione Ticket Formati entrata Formati uscita Normalizza- zione Validazione Ticket Localizzazione regole Centro Fatturazione Amministratore Validazione Nel diagramma di contesto dei dati c’è un solo processo che rappresenta la nostra applicazione.
Diagramma di contesto dei dati Centrale telefonica Amministratore Validazione Amministratore Validazione Ticket Formati entrata Formati uscita Normalizza- zione Validazione Ticket Localizzazione regole Centro Fatturazione Amministratore Validazione Nell’applicazione entrano flussi di dati rappresentati da archi entranti ...
Diagramma di contesto dei dati Centrale telefonica Amministratore Validazione Amministratore Validazione Ticket Formati entrata Formati uscita Normalizza- zione Validazione Ticket Localizzazione regole Centro Fatturazione Amministratore Validazione ... che provengono da sorgenti esterne di dati.
Diagramma di contesto dei dati Centrale telefonica Amministratore Validazione Amministratore Validazione Ticket Formati entrata Formati uscita Normalizza- zione Validazione Ticket Localizzazione regole Centro Fatturazione Amministratore Validazione Dall’applicazione escono flussi di dati rappresentati da archi uscenti ...
Diagramma di contesto dei dati Centrale telefonica Amministratore Validazione Amministratore Validazione Ticket Formati entrata Formati uscita Normalizza- zione Validazione Ticket Localizzazione regole Centro Fatturazione Centro Fatturazione Amministratore Validazione ... che terminano in pozzi esterni di dati.
Diagramma di contesto dei dati Centrale telefonica Amministratore Validazione Amministratore Validazione Ticket Formati entrata Formati uscita Normalizza- zione Validazione Ticket Localizzazione regole Centro Fatturazione Amministratore Validazione Le sorgenti di dati e i pozzi di dati sono entità esterne alla nostra applicazione con cui occorre comunicare.
Diagramma di contesto dei dati Centrale telefonica Amministratore Validazione Amministratore Validazione Ticket Formati entrata Formati uscita Normalizza- zione Validazione Ticket Localizzazione regole Centro Fatturazione Amministratore Validazione Vicino ad ogni arco c’è il nome del flusso
Diagrammi di flusso dei dati — Principi di analisi
Diagrammi di flusso dei dati — Principi di analisi 1. 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
Diagrammi di flusso dei dati — Principi di analisi 1. 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
Diagrammi di flusso dei dati — Principi di analisi Diagramma di contesto dei dati Centrale elefonica Centro Fatturazione Amministratore Validazione Amministratore Validazione Amministratore Validazione CFD Diagramma di flusso di livello 1 4 1 3 2 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.
Diagrammi di flusso dei dati — Principi di analisi Diagramma di contesto dei dati Centrale elefonica Centro Fatturazione Amministratore Validazione Amministratore Validazione Amministratore Validazione CFD Diagramma di flusso di livello 1 4 1 3 2 DFD 0 Vedendo un diagramma assorbiamo e ricordiamo più velocemente le informazioni che leggendo un testo scritto.
Diagrammi di flusso dei dati — Principi di analisi 1. 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
Diagrammi di flusso dei dati — Principi di analisi Diagramma di contesto dei dati Centrale elefonica Centro Fatturazione Amministratore Validazione Amministratore Validazione Amministratore Validazione CFD Diagramma di flusso di livello 1 4 1 3 2 DFD 0 Nel diagramma di flusso dei dati di livello 1 descriviamo in maggior dettaglio l’unico processo del diagramma di contesto dei dati.
Diagrammi di flusso dei dati — Principi di analisi Diagramma di contesto dei dati Centrale elefonica Centro Fatturazione Amministratore Validazione Amministratore Validazione Amministratore Validazione CFD Diagramma di flusso di livello 1 4 1 3 2 DFD 0 Principio di analisi Nr. 2: L’analisi del sistema procede dal generale al particolare (top-down).
Diagrammi di flusso dei dati — Principi di analisi 1. 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
Diagrammi di flusso dei dati — Principi di analisi Diagramma di contesto dei dati Centrale elefonica Centro Fatturazione Amministratore Validazione Amministratore Validazione Amministratore Validazione CFD Diagramma di flusso di livello 1 4 1 3 2 DFD 0 Il confine del diagramma di flusso di livello 1 ...
Diagrammi di flusso dei dati — Principi di analisi Diagramma di contesto dei dati Centrale elefonica Centro Fatturazione Amministratore Validazione Amministratore Validazione Amministratore Validazione CFD Diagramma di flusso di livello 1 4 1 3 2 DFD 0 ... corrisponde al confine dell’unico processo nel diagramma di contesto dei dati.
Diagrammi di flusso dei dati — Principi di analisi Diagramma di contesto dei dati Centrale elefonica Centro Fatturazione Amministratore Validazione Amministratore Validazione Amministratore Validazione CFD Diagramma di flusso di livello 1 4 1 3 2 DFD 0 I flussi di di dati che attraversano il confine del diagramma di flusso dei dati di livello 1 ...
Diagrammi di flusso dei dati — Principi di analisi Diagramma di contesto dei dati Centrale elefonica Centro Fatturazione Amministratore Validazione Amministratore Validazione Amministratore Validazione CFD Diagramma di flusso di livello 1 4 1 3 2 DFD 0 ... sono i flussi che compaiono nel diagramma di contesto dei dati.
Diagrammi di flusso dei dati — Principi di analisi Diagramma di contesto dei dati Centrale elefonica Centro Fatturazione Amministratore Validazione Amministratore Validazione Amministratore Validazione CFD Diagramma di flusso di livello 1 4 1 3 2 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.
Diagrammi di flusso dei dati — Principi di analisi 1. 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
Diagrammi di flusso dei dati — Principi di analisi Diagramma di contesto dei dati Centrale elefonica Centro Fatturazione Amministratore Validazione Amministratore Validazione Amministratore Validazione CFD Diagramma di flusso di livello 1 4 1 3 2 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).
Diagrammi di flusso dei dati — Principi di analisi 1. 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
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.
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.4 2.2 DFD 2 Ogni processo del diagramma di livello 1 – se necessario – è dettagliato da un altro diagramma di flusso di livello 2.
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.4 3.2 DFD 3 Ogni processo del diagramma di livello 1 – se necessario – è dettagliato da un altro diagramma di flusso di livello 2.
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.4 2.2 DFD 2 Principio di analisi Nr. 5: L’analisi del sistema è affinata per passi successivi (stepwise refinements).
Diagrammi di flusso dei dati — Principi di analisi 1. 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
Diagrammi di flusso dei dati — Principi di analisi Centrale telefonica Amministratore Validazione Amministratore Validazione Ticket Formati entrata 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) Formati uscita Normalizza- zione Validazione Ticket Localizzazione regole Centro Fatturazione Amministratore Validazione Principio di analisi Nr. 6: Ogni flusso è definito con la precisione necessaria nel dizionario dei dati.
Diagrammi di flusso dei dati — Principi di analisi 1. 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 componenti dei flussi (data dictionary) 7. Notazione del dizionario elaborabile automaticamente
Diagrammi di flusso dei dati — Principi di analisi Centrale telefonica Amministratore Validazione Amministratore Validazione Ticket Formati entrata 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) Formati uscita Normalizza- zione Validazione Ticket Localizzazione regole Centro Fatturazione Amministratore Validazione Principio di analisi Nr. 7: I componenti dei flussi sono descritti nel dizionario dei dati con una notazione che può essere elaborata automaticamente.
Diagrammi di flusso dei dati — Livello 1
Diagrammi di flusso dei dati — Livello 1 Centrale telefonica Amministratore Validazione Amministratore Validazione Ticket Formati entrata Formati uscita Normalizza- zione Validazione Ticket Localizzazione regole Centro Fatturazione Amministratore Validazione Nel diagramma di flusso dei dati di livello 1 descriviamo in maggior dettaglio l’unico processo del diagramma di contesto dei dati.
Diagrammi di flusso dei dati — Livello 1 Centrale telefonica Amministratore Validazione Amministratore Validazione Centro Fatturazione Formati uscita Ticket Formati entrata Ticket 4 1 Esito validazione complessivo Normalizza- zione formati uscita Normalizza- zione formati entrata Esito validazione campo Valori normalizzati 3 2 Funzioni di validazione campo Coordinamento validazione Localizzazione regole Argomenti Questo è il diagramma di flusso dei dati di livello 1. Amministratore Validazione
Diagrammi di flusso dei dati — Livello 1 Centrale telefonica Amministratore Validazione Amministratore Validazione Centro Fatturazione Formati uscita Ticket Formati entrata Ticket 4 1 Esito validazione complessivo Normalizza- zione formati uscita Normalizza- zione formati entrata Esito validazione campo Valori normalizzati 3 2 Funzioni di validazione campo Coordinamento validazione Localizzazione regole Argomenti La riga tratteggiata è il confine con l’esterno dell’applicazione ... Amministratore Validazione
Diagrammi di flusso dei dati — Livello 1 Centrale telefonica Amministratore Validazione Amministratore Validazione Ticket Formati entrata Formati uscita Normalizza- zione Validazione Ticket Localizzazione regole Centro Fatturazione Amministratore Validazione ... e corrisponde al confine dell’unico processo nel diagramma di contesto dei dati.
Diagrammi di flusso dei dati — Livello 1 Centrale telefonica Amministratore Validazione Amministratore Validazione Centro Fatturazione Formati uscita Ticket Formati entrata Ticket 4 1 Esito validazione complessivo Normalizza- zione formati uscita Normalizza- zione formati entrata Esito validazione campo Valori normalizzati 3 2 Funzioni di validazione campo Coordinamento validazione Localizzazione regole Argomenti I flussi di dati che attraversano la linea tratteggiata nel diagramma di flusso dei dati di livello 1 ... Amministratore Validazione
Diagrammi di flusso dei dati — Livello 1 Centrale telefonica Amministratore Validazione Amministratore Validazione Ticket Formati entrata Formati uscita Normalizza- zione Validazione Ticket Localizzazione regole Centro Fatturazione Amministratore Validazione ... sono i flussi che compaiono nel diagramma di contesto dei dati.
Diagrammi di flusso dei dati — Livello 1 Centrale telefonica Amministratore Validazione Amministratore Validazione Ticket Formati entrata Formati uscita Normalizza- zione Validazione Ticket Localizzazione regole Centro Fatturazione Amministratore Validazione Criterio di verifica: quando un processo viene dettagliato i flussi che entrano ed escono dal processo ...
Diagrammi di flusso dei dati — Livello 1 Centrale telefonica Amministratore Validazione Amministratore Validazione Centro Fatturazione Formati uscita Ticket Formati entrata Ticket 4 1 Esito validazione complessivo Normalizza- zione formati uscita Normalizza- zione formati entrata Esito validazione campo Valori normalizzati 3 2 Funzioni di validazione campo Coordinamento validazione Localizzazione regole Argomenti ... devono entrare ed uscire anche dal diagramma di dettaglio. Amministratore Validazione
Diagrammi di flusso dei dati — Livello 1 Centrale telefonica Amministratore Validazione Amministratore Validazione Ticket Formati entrata Formati uscita Normalizza- zione Validazione Ticket Localizzazione regole Centro Fatturazione Amministratore Validazione Dettagliando l’unico processo del diagramma di contesto dei dati ...
Diagrammi di flusso dei dati — Livello 1 Centrale telefonica Amministratore Validazione Amministratore Validazione Centro Fatturazione Formati uscita Ticket Formati entrata Ticket 4 1 Esito validazione complessivo Normalizza- zione formati uscita Normalizza- zione formati entrata Esito validazione campo Valori normalizzati 3 2 Funzioni di validazione campo Coordinamento validazione Localizzazione regole Argomenti ... evidenziamo i processi principali dell’applicazione. Amministratore Validazione
Diagrammi di flusso dei dati — Livello 1 Centrale telefonica Amministratore Validazione Amministratore Validazione Centro Fatturazione Formati uscita Ticket Formati entrata Ticket 4 1 Esito validazione complessivo Normalizza- zione formati uscita Normalizza- zione formati entrata Esito validazione campo Valori normalizzati 3 2 Funzioni di validazione campo Coordinamento validazione Localizzazione regole Argomenti Il diagramma di flusso dei dati di livello 1 contiene non più di 7 ± 2 processi (soglia di attenzione). Amministratore Validazione
Diagrammi di flusso dei dati — Livello 1 Centrale telefonica Amministratore Validazione Amministratore Validazione Centro Fatturazione Formati uscita Ticket Formati entrata Ticket 4 1 Esito validazione complessivo Normalizza- zione formati uscita Normalizza- zione formati entrata Esito validazione campo Valori normalizzati 3 2 Funzioni di validazione campo Coordinamento validazione Localizzazione regole Argomenti I flussi di dati che non attraversano il confine dell’applicazione non comparivano nel diagramma di contesto dei dati. Amministratore Validazione
Diagrammi di flusso dei dati — Depositi dei dati (data store)
Diagrammi di flusso dei dati — Depositi dei dati Centrale telefonica Amministratore Validazione Amministratore Validazione Centro Fatturazione Formati uscita Ticket Formati entrata Ticket 4 1 Esito validazione complessivo Normalizza- zione formati uscita Normalizza- zione formati entrata Esito validazione campo Valori normalizzati 3 2 Funzioni di validazione campo Coordinamento validazione Localizzazione regole Argomenti Quali flussi di dati continuano ad esistere anche dopo i processi che li hanno generati? Amministratore Validazione
Diagrammi di flusso dei dati — Depositi dei dati Centrale telefonica Amministratore Validazione Amministratore Validazione Centro Fatturazione Formati uscita Ticket Formati entrata Ticket 4 1 Esito validazione complessivo Normalizza- zione formati uscita Normalizza- zione formati entrata Esito validazione campo Valori normalizzati 3 2 Funzioni di validazione campo Coordinamento validazione Localizzazione regole Argomenti Questi flussi di dati sono congelati e possono essere usati anche dopo che sono stati creati. Amministratore Validazione
Diagrammi di flusso dei dati — Depositi dei dati Centrale telefonica Amministratore Validazione Amministratore Validazione Centro Fatturazione Ticket Formati entrata Formati uscita Ticket 4 1 Esito validazione complessivo Normalizza- zione formati uscita Normalizza- zione formati entrata Esito validazione campo Valori normalizzati 3 2 Funzioni di validazione campo Coordinamento validazione Argomenti Localizzazione regole Rappresentiamo i flussi congelati con i depositi dei dati. Amministratore Validazione
Dizionario dei dati Dizionario dei dati
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 |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.
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 |Servizio_in_decade_uno |Codice_accesso + Prefisso_speciale + Migliaia + Centinaia + Decine + Unità] Un elemento del flusso Ticket è composto ...
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 |Servizio_in_decade_uno |Codice_accesso + Prefisso_speciale + Migliaia + Centinaia + Decine + Unità] ... dal Tipo ticket ...
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 |Servizio_in_decade_uno |Codice_accesso + Prefisso_speciale + Migliaia + Centinaia + Decine + Unità] ... seguito da uno solo degli elementi fra parentesi quadrate ...
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 |Servizio_in_decade_uno |Codice_accesso + Prefisso_speciale + Migliaia + Centinaia + Decine + Unità] ... – Data inizio conversazione oppure ...
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 |Servizio_in_decade_uno |Codice_accesso + Prefisso_speciale + Migliaia + Centinaia + Decine + Unità] ... Data fine conversazione – ...
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 |Servizio_in_decade_uno |Codice_accesso + Prefisso_speciale + Migliaia + Centinaia + Decine + Unità] ... seguita dal Numero chiamante, dal Numero chiamato ...
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 |Servizio_in_decade_uno |Codice_accesso + Prefisso_speciale + Migliaia + Centinaia + Decine + Unità] ... seguito dalla Durata conversazione ...
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 |Servizio_in_decade_uno |Codice_accesso + Prefisso_speciale + Migliaia + Centinaia + Decine + Unità] ... seguita opzionalmente dalla Quantità impulsi.
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 |Servizio_in_decade_uno |Codice_accesso + Prefisso_speciale + Migliaia + Centinaia + Decine + Unità] A sua volta Numero chiamante è un aggregato composto ...
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 |Servizio_in_decade_uno |Codice_accesso + Prefisso_speciale + Migliaia + Centinaia + Decine + Unità] ... dal Prefisso interurbano ...
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 |Servizio_in_decade_uno |Codice_accesso + Prefisso_speciale + Migliaia + Centinaia + Decine + Unità] ... seguito dal Prefisso urbano ...
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 |Servizio_in_decade_uno |Codice_accesso + Prefisso_speciale + Migliaia + Centinaia + Decine + Unità] ... seguito dalle Migliaia, dalle Centinaia, dalle Decine, e dalle Unità.
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 |Servizio_in_decade_uno |Codice_accesso + Prefisso_speciale + Migliaia + Centinaia + Decine + Unità] Come è definito Numero_chiamato ? Provate a rispondere.
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 |Servizio_in_decade_uno |Codice_accesso + Prefisso_speciale + Migliaia + Centinaia + Decine + Unità] Cosa indicano le parentesi quadre [ ], e la barra orizzontale | ?
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 |Servizio_in_decade_uno |Codice_accesso + Prefisso_speciale + Migliaia + Centinaia + Decine + Unità] Cosa indicano le parentesi tonde ( ) ?
Diagrammi di flusso dei dati — Livello 2
Diagrammi di flusso dei dati — Livello 2 Non ancora disponibile al 1998-01-26
Analisi dei requisiti di un'applicazione — Riepilogo
Diagramma di contesto dei flussi — Passi di costruzione 1. Ricerca dei flussi di dati entranti 2. Ricerca delle sorgenti esterne dei dati 3. Ricerca dei flussi di dati uscenti 4. Ricerca dei pozzi esterni dei dati 5. Sintesi in un diagramma
Diagrammi di flusso dei dati — Principi di analisi 1. 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
Diagrammi di flusso dei dati — Simboli DFD — Simboli Sorgente esterna dei dati Flusso di dati entrante Pozzo esterno dei dati Flusso di dati uscente 99 Processo di elaborazione Deposito di dati
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)
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 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:Mario.Montobbio@cec.eu.int