3° Anno TEORIA 7. Metodologie di progettazione e programmazione

6. Metodologia top-down e sottoprogrammi Versione 1.5 – Ottobre 2019 6. METODOLOGIA TOP-DOWN E SOTTOPROGRAMMI Nella realtà per risolvere problemi è possibile individuare, analizzare i sottoproblemi più semplici che lo compongono e le loro interrelazioni (ossi come concorrono a comporre il problema complessivo). In questo modo è possibile vedere la progettazione dell’algoritmo che descrive il processo risolutivo come la progettazione di una serie di (sotto-)algoritmi più semplici che verranno poi assemblati per ottenere la risoluzione del problema complessivo. METODOLOGIE DI PROGETTAZIONE Una delle metodologie di progettazione ossia di analisi dei problemi più note è quella cosiddetta top-down (TOP = ALTO e DOWN = BASSO). Gli aggettivi alto e basso si riferiscono al livello di dettaglio o astrazione al quale ci si pone. Il livello più alto o TOP è quello di descrizione del processo risolutivo del problema principale mediante descrizione fondamentale dei suoi passi fondamentali chiamati sottoproblemi. Ciascun sottoproblema viene dettagliato a parte e, se complesso, può essere a sua volta scomposto in ulteriori sottoproblemi più semplici. In pratica si scende dal generale al particolare mediante affinamenti successivi. La tecnica top-down nasce come tecnica di analisi dei problemi. Il programmatore deciderà all’atto dell’implementazione del programma se implementare tutti i sottoproblemi individuati o, nonostante la loro individuazione, accorparne alcuni. Tale metodologia è diventata una tra le principali tecniche di progettazione software. N.B. Tale metodologia di progettazione utilizza una strategia di tipo deduttivo Un altro tipo di metodologia di progettazione è quella bottom-up (BOTTOM = FONDO, BASSO e UP = CIMA, ALTO). Anche in questo caso gli aggettivi fondo e cima si riferiscono al livello di dettaglio o astrazione al quale ci si pone. In pratica si sale dal particolare al generale mediante accorpamenti successivi. Tale metodologia consente di concentrarsi e di occuparsi subito sui punti cardine del problema che però sono molto difficili da individuare immediatamente. Per questo motivo è meno adatta alla progettazione di software. N.B. Tale metodologia di progettazione utilizza una strategia di tipo induttivo Schematizzando la tecnica di progettazione top-down abbiamo: PROBLEMA PRINCIPALE SOTTOPROBLEMA 1 SP 1.1 SP 1.2 ………… SOTTOPROBLEMA 2 ….. SP 2.1 SP 2.2 ….. Autore: Rio Chierego (email: riochierego@libero.it - sito web: www.riochierego.it) SOTTOPROBLEMA N SP N.1 SP N.2 Pag. 1 …..