Analisi e sviluppo di un programma.

Materie:Appunti
Categoria:Informatica
Download:406
Data:26.05.2000
Numero di pagine:7
Formato di file:.doc (Microsoft Word)
Download   Anteprima
analisi-sviluppo-programma_1.zip (Dimensione: 7.63 Kb)
trucheck.it_analisi-e-sviluppo-di-un-programma.doc     33 Kb
readme.txt     59 Bytes



Testo

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.
STUDIO DI FATTIBILITA’: è un documento.
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.
PROGETTAZIONE
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:
- situazione attuale, il problema che si vuole risolvere, i risultati che si vogliono ottenere;
- le procedure attualmente seguite, manuali o meccanizzate, per l’esecuzione del procedimento da automatizzare;
- i vincoli imposti dall’ambiente in cui il prodotto dovrà funzionare.
E’ anche importante stabilire il tipo di prodotto che si vuole realizzare e la destinazione che questo prodotto avrà sul mercato.
DEFINIZIONE DELLE FUNZIONI: 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.
DISEGNO DELLA PROCEDURA: 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.
DEFINIZIONE DEI TEST: 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.
IMPLEMENTAZIONE: L’implementazione della procedura comprende le fasi di utilizzo diretto dell’elaboratore: codifica dei diversi moduli, compilazione, linkaggio, effettuazione dei controlli.
DOCUMENTAZIONE INTERNA: Descrive come il prodotto è stato realizzato; deve riprodurre il disegno della procedura e fornire tutti i risultati dell’implementazione.
DOCUMENTAZIONE ESTERNA: è 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.

DISEGNO DELLA PROCEDURA
ARCHITETTURA GENERALE: 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.
DESCRIZIONE DEI DATI: 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.
DATI DI OUTPUT: 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.
STAMPA: 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.
VIDEO: 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.
FILE: 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.
DATI IN INPUT: 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.
DATI INSERITI MANUALMENTE: 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.
DATI DI INPUT-OUTPUT: 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.
DATI INTERNI AL PROGRAMMA: Per ogni dato devono essere indicati: nome, tipo, dimensioni, valori possibili e significato.
PROCESSO DI ELABORAZIONE: 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.
INGEGNERIA DEL SOFTWARE
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.
METODO WARNIER: 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 grafa. 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.
METODO JACKSON: 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:
- descrizione della struttura dati;
- impostazione della struttura del programma in base alla struttura dei dati;
- descrizione del programma in pseudocodifica;
- codifica in linguaggio di programmazione.
La metodologia Jackson è molto diffusa ma non è applicabile a tutti i problemi, soprattutto a quelli di tipo scientifico.

STRUMENTI GRAFICI DI DOCUMENTAZIONE
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:
- bubblechart;
- diagrammi entità relazioni;
- reti di Petri;
- tabelle decisionali.
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.

Esempio