6 . Metodologia top-down e sottoprogrammi Versione 5.0 – Aprile 2023 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 .
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 .
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 .
PROBLEMA PRINCIPALE
SOTTOPROBLEMA 1 |
SOTTOPROBLEMA 2 |
………… |
SOTTOPROBLEMA N |
SP 1.1 |
SP 1.2 |
….. |
SP 2.1 |
SP 2.2 |
….. |
SP N . 1 |
SP N . 2 |
….. |
Pag . 1