Dal problema al programma – ciclo di sviluppo del software La scrittura del programma è solo una delle fasi del processo di sviluppo di un'applicazione informatica. Tutto inizia con l'esigenza di risolvere un problema con un sistema informatico. La parola problema deve essere intesa in modo ampio: gestire la contabilità di un'azienda, usare il personal computer per scrivere documenti, per una simulazione di guida, per svolgere calcoli complessi, controllare un processo industriale, pilotare un robot eccetera. Per quanto ci riguarda, i problemi saranno espressi in forma testuale.
Dal problema al programma – ciclo di sviluppo del software Es. esame di Stato del Una galleria d'arte ha deciso di creare un sistema che consenta ai suoi clienti di consultare da casa il catalogo: dei quadri, tramite accesso a una pagina web che la galleria può creare presso un fornitore di servizi telematici. Per ogni quadro è compilata una scheda che riporta l'autore, il titolo, la tecnica (olio, tempera ecc.), le dimensioni, il prezzo. La consultazione del catalogo: può avvenire o semplicemente scorrendo avanti e indietro le schede in ordine alfabetico oppure cercando uno specifico autore. Il candidato, fatte le ipotesi aggiuntive che ritiene necessarie, 1) proponga una soluzione per la creazione del sistema illustrandone la struttura a blocchi e indicando una soluzione di principio per ciascun blocco; 2) proponga e illustri una struttura per il Data Base dei quadri, 3) sviluppi in dettaglio la soluzione per almeno una delle seguenti funzioni, codificandone un segmento con uno strumento software di sua conoscenza: a) creazione del Data Base, b) creazione di una semplice pagina web della galleria, c) interfaccia per consentire al cliente la consultazione del catalogo: e la visione delle singole schede, 4) facoltativamente proponga una soluzione di principio per realizzare un sistema che consenta di mostrare al cliente non solo la scheda di catalogo, ma anche una fotografia del quadro.
1 FASE : studio della situazione reale Il testo va dapprima ha studiato per evidenziare parti poco chiare (sulle quali sarà necessario prendere delle decisioni) ed eventualmente fare ipotesi aggiuntive su aspetti per i quali il testo non dice come comportarsi.. La letteratura informatica fa riferimento a questa fase anche con il nome di analisi. ). Naturalmente noi inizieremo con problemi e testi assai più semplici. Ad esempio: calcolare la spesa in euro per una settimana di viaggi andata e ritorno da casa a scuola.
1 FASE : studio della situazione reale Vengono anche presi in considerazione i requisiti (cosa deve fare il programma, con quali vincoli di velocità, occupazione di memoria, hardware e software a disposizione, se deve funzionare in rete, se deve sapere interoperare con altri software magari su piattaforme hardware diverse, se deve funzionare in real time, se deve essere portabile in altri ambienti hardware/software, che grado di sicurezza, che tipo di periferiche deve supporatare ecc.)
2 FASE : Analisi dei dati Devono poi essere individuate tutte le informazioni che è necessario gestire. Il risultato di questa fase viene di solito sintetizzato con uno schema che evidenzia i cosiddetti insiemi entità e le relazioni tra esse. Anche per questa fase inizieremo con situazioni molto semplici. Proseguendo con l'esempio di problema presentato al punto uno, non è difficile convincersi che i dati di cui abbiamo bisogno sono: costo di un litro di carburante, numero di chilometri tra la casa e la scuola, numero di chilometri che il mezzo utilizzato compie con un litro di carburante, costo di eventuali pedaggi.
2 FASE : Analisi dei dati Elencheremo i cosiddetti dati in ingresso (input); il programma li elabora (processing) per produrre i risultati, i dati in uscita (output).
3 FASE : Stesura dell’algoritmo È arrivato il momento di descrivere il modo in cui i dati di input devono essere utilizzati per ottenere i risultati. Questa 'descrizione' è chiamata algoritmo. In un modo più formale, possiamo quindi definire l'algoritmo come una sequenza ordinata e finita di istruzioni che, dato uno od una serie di elementi in input, produce uno od una serie di risultati in output. Un algoritmo non è tale se risolve in un caso particolare di un problema: deve essere utile per la soluzione di un'intera classe di problemi.
4 FASE : Codifica dell’algoritmo Un programma è la traduzione di un algoritmo in un blocco di istruzioni eseguibili automaticamente da un sistema di elaborazione elettronico. La fase di scrittura di un programma è detta di codifica (il programmatore scrive il codice del programma). La figura professionale che si occupa della scrittura dei programmi è il programmatore. La figura professionale specializzata nei compiti preliminari e fondamentali di analisi è chiamato analista.
5 FASE : Test del programma Terminata la scrittura del programma inizia la fase di test. Sottoporre a test un programma significa provarlo con tutte le configurazioni di dati in input normali e particolari.
6 FASE : Debug La fase di debug indica l'attività del programmatore volta ad individuare esattamente la porzione di codice che contiene l'errore in modo da poter eliminare. Ogni volta che si scopre un errore è necessario ritornare alla fase di codifica per modificare il codice. 7 FASE : Manutenzione Ci sono tre tipi di manutenzione: correttiva,perfettiva o migliorativa,adattativa 8 FASE : Dismissione Quando un'applicazione non è più utile (perché superata da altre, perché le modifiche richieste sono troppe, perché un evento imprevisto la rende obsoleta eccetera) se ne può anche decretare la morte, la dismissione.