Vai alla Home Page About me Courseware Federica Living Library Federica Federica Podstudio Virtual Campus 3D Le Miniguide all'orientamento Gli eBook di Federica La Corte in Rete
 
I corsi di Ingegneria
 
Il Corso Le lezioni del Corso La Cattedra
 
Materiali di approfondimento Risorse Web Il Podcast di questa lezione

Valeria Vittorini » 13.Programmazione - Metodologia di sviluppo per raffinamenti successivi


Metodologia del raffinamento

Step-wise refinement: una metodologia per l’analisi, il progetto e la realizzazione di programmi basata sui seguenti principi

  • Divide-et-impera: il problema da risolvere viene suddiviso in problemi “più piccoli” che possono essere gestiti più facilmente
  • Astrazione: il problema viene inizialmente affrontato nel suo complesso, studiandone i particolari in un secondo momento

Fasi

Si opera pertanto secondo le seguenti fasi:

  • Individuazione dei problemi componenti
  • Costruzione di una strategia di soluzione complessiva che non tiene conto inizialmente della soluzione dei problemi componenti
  • Definizione della soluzione dei singoli problemi componenti che a loro volta viene affrontata secondo i passi precedenti (cioè mediante un approccio per raffinamenti successivi) finchè non si arriva a sottoproblemi di banale soluzione

Raffinamento e programmazione

  • In particolare nella realizzazione di un programma si applica un principio di astrazione sul controllo:
    • Si utilizzano le strutture fondamentali (sequenza, selezione e iterazione)
    • Si dettagliano le operazioni da compiere per passi successivi
    • I dati vengono considerati in maniera astratta e solo in un secondo momento si specificano le strutture dati concrete
  • Un programma quindi viene costruito per passi, a ciascuno dei quali corrisponde un diverso livello di dettaglio
  • All’inizio ci si preoccupa essenzialmente di individuare cosa il programma fa
  • Nei primi passi le specifiche vengono implementate mediante una sequenza di azioni elaborative collegate tra loro mediante una delle strutture fondamentali di controllo e non sono ancora espresse direttamente mediante la sintassi di un linguaggio di programmazione
  • A questo livello si fa spesso uso di pseudocodice

Pseudocodice

  • Pseudocodice: “Codice di un programma scritto in un linguaggio intermedio tra un particolare linguaggio di programmazione e la normale lingua parlata. Lo pseudocodice viene spesso utilizzato per chiarire il funzionamento di un programma evidenziandone con maggiore enfasi alcune parti” (citato dal glossario di Manuali.it)
  • Pseudocodice: “un linguaggio di programmazione fittizio, non direttamente compilabile o interpretabile da un programma compilatore o interprete, il cui scopo è quello di rappresentare algoritmi. Lo pseudolinguaggio può essere utilizzato alternativamente al diagramma di flusso” (citato da Wikipedia)

Alcune Linee Guida

Una esemplificazione del procedimento di sviluppo di un programma per raffinamenti successivi e alcune linee guida per la realizzazione di semplici programmi si trovano nel seguente documento:

Dispensa (Linee guida per la realizzazione di semplici programmi)

Prossima lezione

  • Tipi strutturati
    • Array

I materiali di supporto della lezione

Fadini, C. Savy, Fondamenti di Informatica I, Napoli, Liguori Ed., 1997, Parte 2, cap. XV, par.4

Linee guida

  • Contenuti protetti da Creative Commons
  • Feed RSS
  • Condividi su FriendFeed
  • Condividi su Facebook
  • Segnala su Twitter
  • Condividi su LinkedIn
Progetto "Campus Virtuale" dell'Università degli Studi di Napoli Federico II, realizzato con il cofinanziamento dell'Unione europea. Asse V - Società dell'informazione - Obiettivo Operativo 5.1 e-Government ed e-Inclusion