LO SVILUPPO PASSO A PASSO
Di seguito presentiamo le varie attività che sono state svolte per
sviluppare il programma, seguendo l'ordine in cui sono state effettuate.
Inoltre nel seguito riportiamo i documenti prodotti in ogni
attività considerata.
- Determinazione della struttura modulare
-
Per prima cosa cerchiamo di determinare i moduli in cui sembra
conveniente suddividere il programma, e per ognuno di essi determiniamo la
loro interfaccia iniziale.
Riportiamo il risultato di quest'attività in questo
documento:
Prima versione della struttura modulare
- Sviluppo top-down del main
-
Al passo successivo cerchiamo di sviluppare il MAIN, o più
precisamente la procedura che lo costituisce.
Sviluppo del main
Come risultato dello sviluppo del MAIN abbiamo modificato la struttura modulare,
aggiungendo ulteriori moduli.
Riportiamo la nuova versione nel documento:
Seconda versione della struttura modulare
- Sviluppo del modulo REALI_ENORMI
-
Sviluppo di REALI_ENORMI
Sviluppando questo modulo non abbiamo modificato la
struttura modulare, eccetto l'aggiunta delle funzioni
Scrivi_Car e Leggi_Car nell'interfaccia di BASIC_IO.
- Sviluppo del modulo IDENT
-
Sviluppo di IDENT
Lo sviluppo di IDENT ha modificato la sua interfaccia, ed inoltre
dato che abbiamo realizzato IDENT come array non è più
possibile definire funzioni che ritornano IDENT e neppure assegnare
variabili di tale tipo, pertanto le interfacce dei vari moduli ed anche il
MAIN dovranno essere modificate.
Le nuove interfacce ed il nuovo main sono riportati di seguito.
- BASIC_IO (operazioni elementari di I/O)
- Aggiunta delle nuove funzioni
BASIC_IO: versione 3
- REALI_ENORMI (il tipo di dato reali enormi)
- Non dipende da IDENT e quindi non è modificato
REALI_ENORMI: versione 2
- IDENT (il tipo di dato identificatori)
- IDENT: versione 3
- ESPRESSIONI (il tipo di dato espressioni)
- ESPRESSIONI: versione 3
- MEMORIA (le memorie per immagazzinare i valori delle costanti e
dei parametri delle funzioni)
- nterfaccia non modificata
MEMORIA: versione1
- AMBIENTE (gli ambienti per immagazzinare le definizioni delle funzioni)
- AMBIENTE: versione2
- MAIN
- MAIN: versione 2
- Sviluppo del modulo MEMORIA
-
Sviluppo di MEMORIA
- Sviluppo del modulo AMBIENTE
-
Sviluppo di AMBIENTE
- Sviluppo del modulo ESPRESSIONI
-
Sviluppo di ESPRESSIONI
- Sviluppo del modulo BASIC_IO
-
Sviluppo di BASIC_IO
- Messa a punto del programma
- Dopo aver controllato la correttezza sintattica del programma,
abbiamo "testato" i vari moduli che costituiscono il programma (dal verbo inglese to test, cioè
li abbiamo sottoposti a test per
controllare che siano corretti, cioè che facciano quello che devono)
realizzando parecchi main particolari che
chiamano le funzioni presenti sull'interfaccia di ogni modulo in maniera sistematica.
Riportiamo di seguito alcuni di questi main, nell'ordine con cui sono stati
sviluppati;
notare che per effettuare alcuni test
abbiamo dovuto sviluppare ulteriori funzioni ausiliarie, ad
esempio una per stampare le espressioni.
Successivamente è stato testato il MAIN utilizando vari casi del
file ingresso.txt, iniziando con quello proposto nel testo
dell'esercitazione (dato in input ingresso.txt
il programma sviluppato ritorna
uscita.txt).