Informatica: Sviluppo di una Procedura
ANALISI
Lo sviluppo di una procedura si compone delle fasi: definizione dei requisiti, analisi, disegno, implementazione e verifica
. A queste fasi segue l’utilizzo a regime della procedura.
In tutte queste fasi si possono verificare degli errori.
Se l’errore viene trovato subito la correzione è semplice e poco costosa; gli errori più semplici sono quelli che si verificano durante l’implementazione.
Al contrario, prima si trova un errore (fasi di disegno o analisi), più tardi può essere costatata la presenza (fase di verifica o di funzionamento a regime) e più difficile e costosa diventa la correzione
Dopo la fase di sviluppo c’è una fase di manutenzione della procedura.
La manutenzione può riguardare le modifiche per correzione degli errori, per adattamenti all’evoluzione dell’ambiente di utilizzo, o per miglioramenti in seguito a nuove richieste dell’utente.
Per fare delle modifiche bisogna ripartire delle fasi di analisi e disegno. Nella scelta del computer adatto bisogna tener conto dell’uso che se ne deve fare, del tipo di lavoro da automatizzare, ecc…
Bisogna tenere presente le proprie esigenze, gli investimenti che si è disposti a fare e il rapporto prestazione/prezzo dei vari tipi e modelli.
Un cattivo programma può rendere inefficiente e inutilizzabile un complesso apparato hardware.
Una procedura o un programma può essere reso generale togliendo le costanti o i procedimenti fissi e introducendo l’uso di parametri e di tabelle esterne.
Se l’utente chiede delle modifiche allo SVILUPPATORE bisogna tenere conto se si tratta di una modifica di tempi brevi o lunghi.
Per le modifiche che richiedono tempi lunghi si fa un altro contratto nuovo.
Con l’automazione delle aziende, l’azienda compra computer, ha costi per l’addestramento del personale…
Rilascio del programma: si rilascia di solito l’eseguibile (la licenza d’uso) e non il file sorgente; l’eseguibile costa molto di meno del file sorgente.
Se allo sviluppatori un determinato progetto può dar problemi, lavora solo su quello e accantona per un po’ gli altri che può permettersi di fare in altri momenti.
Se ci sono problemi, come ad esempio non arriva del materiale allo sviluppatore, bisogna che scriva subito che il programma si è bloccato, così si può tutelare.
Non è lo sviluppatore che controlla se il programma funziona o no.
Ognuno lavora per la sua competenza e deve documentare il lavoro per far si che gli altri capiscano il lavoro svolto.
Il progetto deve tener conto di obiettivi di qualità e di massima produttività (rapporto tra prestazione, costi, tempi di realizzazione, futuri costi di manutenzione…). Lo sviluppo di un progetto inizia con la richiesta da parte di un utente di un prodotto per risolvere un determinato problema; l’utente descrive le sue esigenze in modo informale.
DEFINIZIONE DEI REQUISITI
Nella formalizzazione devono essere descritti:
E’ anche importante stabilire il tipo di prodotto che si vuole realizzare e la destinazione che questo prodotto avrà sul mercato.
Deve essere indicata in modo particolare l’interfaccia tra utente e prodotto. Devono essere descritti i formati dei dati di ingresso e di uscita e le modalità operative per l’utilizzo del prodotto. Devono anche essere indicate le risorse hardware e software necessarie per il funzionamento del prodotto e le prestazioni attese.
Si passa a stabilire la suddivisione della procedura in programmi e dei programmi in moduli per la realizzazione delle diverse funzioni. Devono essere indicate la descrizione della struttura di tutti i dati che permettono la comunicazione con l’esterno (l’utente) o tra le diverse componenti e le relazioni che intercorrono tra i diversi moduli e programmi. Bisogna descrivere anche ogni componente della procedura.
La definizione dei test deve derivare dalla descrizione delle funzioni del prodotto (test funzionale), evidenziando per ogni funzione le modalità con cui eseguire il test, includendo anche i test negativi, cioè il comportamento del prodotto in caso di errori, per esempio l’introduzione di valori non ammessi.
L’implementazione della procedura comprende le fasi di utilizzo diretto dell’elaboratore: codifica dei diversi moduli, compilazione, linkaggio, effettuazione dei controlli.
Descrive come il prodotto è stato realizzato; deve riprodurre il disegno della procedura e fornire tutti i risultati dell’implementazione.
è la documentazione rivolta all’utente finale e ai realizzatori del prodotto e a chi poi ne dovrà curare la manutenzione.
Si divide in:
- guida all’utente con descrizioni generali dell’utilizzo del prodotto, procedure e installazione;
- manuale di riferimento con la spiegazione con tutte le spiegazioni possibili in modo sistematico;
- manuali dei messaggi di errore.
Lo schema generale della procedura può venire descritto mediante uno schema grafico: il diagramma di flusso dei dati. Il diagramma è costituito da blocchi di due tipi, programmi e dati, e da frecce che collegano tra loro blocchi di tipo diverso.
Per realizzare un programma, fissati gli output desiderati, si cercano i file che contengono i dati necessari e si decide come procedere per reperire correttamente i dati. I dati necessari che non compaiono già nel sistema informativo devono essere reperiti in qualche altro modo; può essere necessaria la creazione di altri file.
Possono essere di vario tipo: su stampa, su video… Un programma può prevedere più tipi diversi di output, su supporti diversi o sullo stesso supporto. Si possono suddividere i dati in variabili e costanti. Gli output su file in generale non contengono costanti perché ciò sarebbe soltanto uno spreco di spazio.
Ogni prospetto di stampa può essere composto da più pagine, anche con formato diverso tra loro. Bisogna stabilire una lunghezza comune delle pagine e il formato di ciascun tipo di pagina. Ogni campo può contenere costanti o variabili. La pagina si può pensare suddivisa in righe e colonne. La posizione di ogni campo è individuabile dal numero di riga e colonna dove inizia o finisce il campo e dalla lunghezza del campo.
Ogni pagina può contenere:
- righe di intestazione
- righe contenenti le informazioni vere e proprie;
- righe conclusive a piè di pagina.
una videata è un insieme di dati che compare sul video e che viene solitamente gestito con una sola operazione complessiva. Per ogni diversa videata deve essere predisposta una descrizione. Per facilitare la descrizione dei formati video si possono usare degli appositi moduli grigliati in cui ogni elemento corrisponde ad una possibile posizione di un carattere sullo schermo.
Per ogni file da creare bisogna stabilire il tipo di organizzazione, la natura e la lunghezza dei campi di ciascun tipo record usato. Per ogni file si produce uno schema che illustri il tracciato record di ogni tipo diverso di record del file.
insieme di dati che deve essere fornito al programma per l’elaborazione. L’input può avvenire in modo diversi; i dati possono essere già stati memorizzati in file o devono essere inseriti manualmente al momento dell’elaborazione.
I dati possono venire richiesti: -in una forma libera composta da una successione di domande e risposte –attraverso videate predisposte a ricevere i dati in input.
Alcuni dati possono venire inseriti, modificati dall’elaborazione e rimessi a sostituire i precedenti. I vari formati video e tracciati record vengono descritti per i dati di input e output, evidenziando quali dati del supporto in esame sono da considerarsi in ingresso e quali in uscita.
Per ogni dato devono essere indicati: nome, tipo, dimensioni, valori possibili e significato.
permette di trasformare i dati di ingresso in dati di uscita. Per ogni singola componente della procedura è necessario indicare le condizioni di ingresso e di uscita, le funzioni svolte e le relazioni con gli altri moduli. Si può usare il metodo top-down.
E’ un insieme di tecniche di formalizzazione dei metodi di sviluppo e di documentazione, basati anche su principi e formalismi matematici. Il primo passo verso l’ingegnerizzazione del software è stato l’introduzione delle tecniche di programmazione strutturata, affiancate da metodologie di lavoro che spingono ad affrontare il lavoro in modo razionale e modulare.
E’ un metodo che utilizza un linguaggio lineare (non grafico) per la rappresentazione e documentazione dell’algoritmo e si basa su tecniche top-down e di programmazione strutturata. Un blocco logico viene rappresentato con una parentesi graffa. Più livelli di parentesi grafe sviluppano blocchi di istruzioni. Il metodo warnier si basa sull’esame dell’output, deducendo a partire da questo l’input necessario e la struttura del programma.
E’ un metodo grafico per la rappresentazione e la documentazione della struttura dei dati e dell’algoritmo che si basa su tecniche top-down e di programmazione strutturata. La rappresentazione grafica si basa sullo sviluppo di un diagramma ad albero.
Fasi fondamentali:
La metodologia Jackson è molto diffusa ma non è applicabile a tutti i problemi, soprattutto a quelli di tipo scientifico.
La documentazione fa riferimento a due aspetti della procedura: l’aspetto strutturale, definito nelle fasi di analisi e progettazione, fa uso maggiormente di tecniche grafiche mentre l’aspetto procedurale fa uso sia di tecniche grafiche che discorsive.
Alcuni strumenti grafici o semigrafici sono:
Le bubble-chart si usano per la descrizione del flusso dei dati in un programma. I diagrammi entità relazioni rappresentano un sistema come insieme di entità, cioè oggetti elementari tra i quali intercorrono relazioni di diverso tipo.
Le reti di Petri permettono di rappresentare il flusso di controllo di un sistema. In una rete di Petri ci sono 2 simboli: cerchi e barre. Le tabelle decisionali sono uno strumento semigrafico che permette di elencare tutte le condizioni che si possono verificare e di stabilire per ogni combinazione di condizioni quale azione intraprendere. La tab si suddivide in 2 parti: -decisione: contiene l’elenco delle possibili condizioni elementari con l’elenco delle possibili situazioni –azione: elenca le diverse azioni possibili.