Top down e bottom up
|
|
|
- Benedetto Antonelli
- 9 anni fa
- Просмотров:
Транскрипт
1 Top down e bottom up Top down e bottom up sono termini di lingua inglese attribuiti a metodologie adoperate per analizzare situazioni problematiche e costruire ipotesi adeguate alla loro soluzione: il concetto di situazione problematica è riconducibile ad ambiti tra i più vari come ad esempio la elaborazione di un programma informatico, la risoluzione di un problema geometrico ovvero matematico, la elaborazione di un testo, la risoluzione di un problema pratico/operativo. Top down TOP = CIMA, OBIETTIVO DOWN = BASE, STRATEGIE Il top down richiama l'immagine di una piramide con la cima (top) in alto e la base (down) posta in posizione orizzontale; la caratterizzazione dinamica del metodo prevede di partire dal top e scendere verso il down. Top, termine molto usato nel linguaggio contemporaneo ( top ten, top model, ecc.), può essere efficacemente tradotto in obiettivo inteso come obiettivo da raggiungere per risolvere una situazione problematica; down è riconducibile alla strategia necessaria a conseguire il fine predeterminato. Il top down parte dall'obiettivo e da esso fa scaturire la strategia direttamente adatta a determinare l'obiettivo stesso, quindi valorizza il perché e da esso fa dipendere il come, ovvero la strategia; individua, quindi, le risorse necessarie, precisa quelle disponibili e identifica quelle mancanti, propone successivamente ogni risorsa mancante come subobiettivo ovvero come sotto-problema in cui ciascun sub-obiettivo richiede una sub-strategia ad esso correlata. Il top down struttura e sistematizza la riflessione, motiva ogni passaggio in modo logico e ripulisce il metodo di lavoro da tentativi casuali, intreccia strettamente analisi ed elaborazione, dà alla strategia complessiva un carattere di eleganza sostanziale e formale che si estrinseca come trasparenza e sistematicità. È soprattutto adatto, ma non solo, a situazioni complesse, inedite, di differenti tipologie di problemi.
2 Un esempio di top down: come studiare un problema di storia locale Le vocazioni ambientali del Vercellese terra d'acque Analisi dati Uscite presa di contatto con l habitat Docenti Raccolta dati Storici statistici geografici Scelte operative Geo-pedologia morfologia riconfigurazione storica dei dati climatologia Industriaterziario CONTESTO SCOLASTICO Settori attività Agricoltura Tecniche demografia Distribuzione.popolazione Habitat rurale Tipologie di cascinali Verifiche dati storici statistici economici Geo-ambientali Studenti attività di ricerca su materiali predisposti aziendali Realizzazione tre ipertesti da parte degli studenti Risultati della ricerca presentazione divulgazione All esterno della scuola Soluzione del problema
3 Bottom up UP = PUNTA BOTTOM = PARTE BASSA Il bottom up richiama invece un'immagine raffigurante una freccia in cui la coda è il bottom (la parte bassa) mentre up è la punta: dal punto di vista dinamico si parte dal bottom e si procede verso up. Il bottom up prende corpo dal punto di partenza (bottom) ovvero dalla situazione iniziale; considera l'obiettivo finale, induce a costruire un percorso sequenziale organizzato in passaggi successivi in cui l'ancoraggio tra traguardi intermedi e obiettivo finale è ricercato con metodo generalmente improntato a tentativo ed errore quindi di tipo casuale, nei casi migliori intuitivo. La testualità come rappresentazione del reale È per lo più adatto a situazioni problematiche lineari, semplici, delle quali la dinamica è generalmente nota. Top-down e bottom-up sono strategie di elaborazione dell'informazione e di gestione delle conoscenze, riguardanti principalmente la scelta di particolari software e, per estensione, fanno riferimento ad altre teorie umanistiche e a teorie dei sistemi. Nel modello top-down è formulata una visione generale del sistema senza scendere nel dettaglio di alcuna delle sue parti. Ogni parte del sistema è successivamente rifinita aggiungendo maggiori dettagli dalla progettazione. Ogni nuova parte così ottenuta può quindi essere nuovamente rifinita, specificando ulteriori dettagli finché la specifica completa è sufficientemente dettagliata da validare il modello. Il modello top-down è spesso progettato con l'ausilio di scatole nere che semplificano il riempimento ma non consentono di capirne il meccanismo elementare. In contrasto con il modello top-down c'è la progettazione bottom-up, nella quale parti individuali del sistema sono specificate in dettaglio. Queste parti vengono poi connesse tra
4 loro in modo da formare componenti più grandi, che vengono a loro volta interconnessi fino a realizzare un sistema completo. Le strategie basate sul flusso informativo bottom-up sembrano potenzialmente necessarie e sufficienti, dato che sono basate sulla conoscenza di tutte le variabili che possono condizionare gli elementi del sistema. In sintesi Top-down: Un generico problema viene scomposto in tanti sottoproblemi di più semplice risoluzione, e ad ognuno è associato un sottoprogramma. Informatica Nel processo di sviluppo software, gli approcci top-down e bottom-up giocano un ruolo fondamentale. L'approccio top-down enfatizza la pianificazione ed una completa comprensione del sistema. È ovvio che nessuna codifica può iniziare finché non si è raggiunto almeno un sufficiente livello di dettaglio nella progettazione di una parte significante del sistema. Questo, comunque, ritarda la fase di test delle ultime unità funzionali di un sistema finché una parte significativa della progettazione non è stata completata. L'approccio bottom-up enfatizza la codifica e la fase di test precoce, che può iniziare appena il primo modulo è stato specificato. Questo approccio, comunque, induce il rischio che i moduli possano essere codificati senza avere una chiara idea di come dovranno essere connessi ad altre parti del sistema, e quel tipo di link potrebbe non essere facile. La riusabilità del codice è uno dei principali benefici dell'approccio bottom-up. La progettazione top-down è stata sostenuta negli anni 70 dai ricercatori IBM Harlan Mills e Niklaus Wirth. Mills sviluppò i concetti della programmazione strutturata per uso pratico e li testò in un progetto del 1969 per automatizzare l'archivio del New York Times. Il successo ingegneristico e gestionale di questo progetto condusse alla crescita dell'approccio top-down tramite IBM ed il resto dell'industria informatica. Niklaus Wirth, che tra altre imprese sviluppò il linguaggio di programmazione Pascal, scrisse l'autorevole documento Lo sviluppo del software per raffinamenti successivi. I metodi topdown erano i preferiti nell'ingegneria del software negli anni 80. I moderni approcci alla progettazione software tipicamente combinano sia la tecnica top-down che quella bottom-up. Sebbene la comprensione del sistema completo è tipicamente considerata necessaria per una buona progettazione che conduce teoricamente ad un approccio top-down, la maggior parte dei progetti software cercano di fare uso di codice già esistente ad alcuni livelli. I moduli preesistenti danno alla progettazione una tendenza bottom-up. Alcuni approcci di progettazione operano progettando un sistema parzialmente funzionale che viene completamente codificato, poi questo sistema viene quindi espanso fino a soddisfare tutti i requisiti di progetto. Programmazione La programmazione top-down è uno stile di programmazione, fondamento dei tradizionali linguaggi procedurali, nel quale la progettazione inizia specificando parti complesse e suddividendole successivamente in parti più piccole. Eventualmente, i componenti sono specificati quanto basta per la codifica ed il programma viene anche scritto. Questo è l'esatto opposto della programmazione bottom-up che è comune nei linguaggi orientati agli oggetti come C++ o Java. La tecnica per la scrittura di un programma mediante l'utilizzo dei metodi top-down indica di scrivere una procedura principale che indica dei nomi per le principali funzioni di cui avrà bisogno. In seguito, il gruppo di programmazione esaminerà i requisiti di ognuna di queste funzioni ed il processo verrà ripetuto. Queste sotto-procedure a comparto eseguiranno eventualmente azioni così semplici che porteranno ad una codifica semplice e
5 concisa. Quando tutte le varie sotto-procedure sono state codificate, il programma è realizzato. Vantaggi Il gruppo di programmazione resta focalizzato sull'obiettivo. Ognuno conosce il proprio compito. Nel momento in cui parte la programmazione, non vi sono più domande. Il codice è semplice da seguire, dato che è scritto in maniera metodica e con uno scopo preciso. Svantaggi La programmazione top-down può complicare la fase di test, dato che non esisterà un eseguibile finché non si arriverà quasi alla fine del progetto. La programmazione bottom-up agevola il test di unità, ma finché il sistema non si unisce non può essere testato nella sua interezza, e ciò causa spesso complicazioni verso la fine del progetto "Individualmente ci siamo, insieme falliamo." Tutte le decisioni dipendono dall'avvio del progetto ed alcune decisioni non possono essere fatte sulla base del dettaglio delle specifiche. Neuroscienza e psicologia Questo lessico è anche utilizzato nella neuroscienza e nella psicologia. Lo studio dell'attenzione visiva ne è un esempio. Se la tua attenzione è rivolta ad un fiore in un campo, può semplicemente essere che il fiore è visivamente più rilevante rispetto al resto del campo. L'informazione che ti ha portato ad osservare il fiore ti è giunta in modo bottom-up. La tua attenzione non è stata condizionata dalla conoscenza del fiore; gli stimoli esterni era già propriamente sufficienti. Confronta questa situazione con una in cui tu stai cercando un fiore. Hai una rappresentazione di cosa cerchi. Quando vedi l'oggetto che cerchi, questo è saliente. Questo è un esempio dell'uso dell'informazione in modo top-down. Parte delle informazioni sono tratte da Wikipedia
PROGETTAZIONE TOP-DOWN E BOTTOM-UP
PROGETTAZIONE TOP-DOWN E BOTTOM-UP Top-down e bottom-up sono strategie di elaborazione dell'informazione e di gestione delle conoscenze, riguardanti principalmente il software e, per estensione, altre
PROGETTAZIONE TOP-DOWN E BOTTOM-UP
PROGETTAZIONE TOP-DOWN E BOTTOM-UP Top-down e bottom-up sono strategie di elaborazione dell'informazione e di gestione delle conoscenze, riguardanti principalmente il software e, per estensione, altre
Programmazione I. Fondamenti di programmazione. Problemi, Algoritmi, Diagrammi di flusso
Programmazione I Fondamenti di programmazione ( Lezione I ) Problemi, Algoritmi, Diagrammi di flusso Fabrizio Messina [email protected] www.dmi.unict.it/~messina Algoritmo Dato un problema, un algoritmo
PROGRAMMAZIONE. INFORMATICA SECONDO BIENNIO Opzione Scienze Applicate
PROGRAMMAZIONE INFORMATICA SECONDO BIENNIO Opzione Scienze Applicate Anno scolastico 2016-2017 Programmazione di Informatica pag. 2 / 5 INFORMATICA - SECONDO BIENNIO OBIETTIVI SPECIFICI DI APPRENDIMENTO
Procedura. Procedure e funzioni. Esempio di procedura in C. Procedure in C. Esempio con prototipo. Esecuzione del codice
Procedure e funzioni In linguaggio C Procedura Una procedura può essere rappresentata come una macchina in grado di eseguire un certo compito quando attivata. In un primo tempo la macchina deve essere
PROGRAMMAZIONE INFORMATICA SECONDO BIENNIO. Liceo Scientifico opzione Scienze Applicate
PROGRAMMAZIONE INFORMATICA SECONDO BIENNIO Liceo Scientifico opzione Scienze Applicate Anno scolastico 2017-2018 Programmazione di Informatica pag. 2 / 7 INFORMATICA - SECONDO BIENNIO OBIETTIVI SPECIFICI
PIANO DI LAVORO DI MATEMATICA. Docente: MARIATERESA COSENTINO
CLASSE IIC Classico ANNO SCOLASTICO 2012-2013 PIANO DI LAVORO DI MATEMATICA Docente: MARIATERESA COSENTINO Analisi della situazione di partenza La scolaresca si presenta eterogenea sia a livello di abilità
ELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE)
1 LEZIONE 9 ELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE) Laboratorio di Informatica per l Educazione A. A. 2014/2015 IN SINTESI (ELABORAZIONE) Con i COMPUTER, le macchine diventano
Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso
Obiettivi Di seguito vengono riportate una serie di domande che possono essere poste durante la prova formale del corso. Le seguenti domande non sono da ritenersi esaustive ma esemplificative. 1. Architettura
ITI M. FARADAY. Programmazione a. s
ITI M. FARADAY Programmazione a. s. 2018-2019 Disciplina: INFORMATICA Indirizzo: INFORMATICA E TELECOMUNICAZIONI Classi: Terza A Terza B Ore settimanali previste: 6 (3 ora Teoria - 3 ore Laboratorio) Docenti:
Lezione 8. Soluzione di un problema Problema. Soluzione di un problema. Comprensione del Problema. Analisi. Introduzione agli algoritmi
Lezione 8 Introduzione agli algoritmi Lezione tratta dal libro: D. Sciuto, G. Buonanno, W. Fornaciari, L. Mari Introduzione ai sistemi informatici Seconda Edizione, McGraw-Hill Capitolo 2: La formalizzazione
La formalizzazione dell informazione: Dati e Diagrammi di Flusso
La formalizzazione dell informazione: Dati e Diagrammi di Flusso Codifica degli algoritmi Algoritmo formulato per essere comunicato tra esseri umani chiaro, sintetico e intuitivo codificato in linguaggi
Rappresentazione generale del problema e fasi di progettazione
D-003-2015-10-18 MATERIA DATA OGGETTO Informatica 18/10/2015 Progettazione degli algoritmi: strategia top-down Rappresentazione generale del problema e fasi di progettazione In generale, la risoluzione
Elementi di programmazione
Fondamenti di Informatica per la Sicurezza a.a. 2003/04 Elementi di programmazione Stefano Ferrari Università degli Studi di Milano Dipartimento di Tecnologie dell Informazione Stefano Ferrari Università
Informatica 3. LEZIONE 1: Introduzione. Modulo 1: Introduzione al corso Modulo 2: Introduzione ai linguaggi di programmazione
Informatica 3 LEZIONE 1: Introduzione Modulo 1: Introduzione al corso Modulo 2: Introduzione ai linguaggi di Informatica 3 Lezione 1- Modulo 1 Introduzione al corso Introduzione Corso di Informatica 3
RAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO
RAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO Rappresentazione degli algoritmi Problema Algoritmo Algoritmo descritto con una qualche notazione Programma Defne del procedimento
Come scrivere bene codice? (1 di 1)
DIAGRMMI DI FLUSSO Come scrivere bene codice? (1 di 1) Prima di iniziare a scrivere un programma: Acquisire profonda comprensione del problema; Progettare un approccio per la risoluzione del problema.
Linguaggi, Traduttori e le Basi della Programmazione
Corso di Laurea in Ingegneria Civile Politecnico di Bari Sede di Foggia Fondamenti di Informatica Anno Accademico 2011/2012 docente: Prof. Ing. Michele Salvemini Sommario Il Linguaggio I Linguaggi di Linguaggi
Il Concetto Intuitivo di Calcolatore. Esercizio. I Problemi e la loro Soluzione. (esempio)
Il Concetto Intuitivo di Calcolatore Elementi di Informatica e Programmazione Ingegneria Gestionale Università degli Studi di Brescia Docente: Prof. Alfonso Gerevini Variabile di uscita Classe di domande
Corso di Informatica. Problemi ed algoritmi. Ing Pasquale Rota
Corso di Problemi ed algoritmi Ing Pasquale Rota Argomenti Problemi ed algoritmi Proprietà degli algoritmi Pseucodice Diagrammi di flusso Problemi ed algoritmi - Ing. Pasquale Rota 2 Proprietà degli algoritmi
UNIVERSITA DEGLI STUDI DI MILANO-BICOCCA FACOLTA DI SCIENZE MATEMATICHE, FISICHE E NATURALI
UNIVERSITA DEGLI STUDI DI MILANO-BICOCCA FACOLTA DI SCIENZE MATEMATICHE, FISICHE E NATURALI Manifesto degli Studi A.A. 2001-2002 CORSO DI LAUREA IN INFORMATICA DIPLOMA UNIVERSITARIO IN INFORMATICA (Vecchio
Linee di programmazione
Ministero dell Istruzione, dell Università e della Ricerca Ufficio Scolastico regionale per il Lazio Istituto Tecnico Industriale A. Pacinotti ISTITUTO TECNICO TECNOLOGICO - LICEO SCIENTIFICO DELLE SCIENZE
PROGRAMMAZIONE DIDATTICA DI MATEMATICA PER LA CLASSE IV A. a.s Indirizzo odontotecnico
I.P.S.S.S E. DE AMICIS - ROMA PROGRAMMAZIONE DIDATTICA DI MATEMATICA PER LA CLASSE IV A a.s. 2014-2015 Indirizzo odontotecnico Docente : Prof. Paolo Bruschi FINALITA EDUCATIVE Vengono proposte le seguenti
PIANO DI LAVORO. Programmazione Didattica per Competenze. Indirizzo Informatica e Telecomunicazioni. Articolazione Informatica DOCENTE:
PIANO DI LAVORO Programmazione Didattica per Competenze Indirizzo Informatica e Telecomunicazioni Articolazione Informatica DOCENTE: ITP: MATERIA: CLASSE: ORE SETTINALI: CANTARELLA ALFREDO NATALE LUIGI
ALGORITMI: PROPRIETÀ FONDAMENTALI
ALGORITMI: PROPRIETÀ FONDAMENTALI Non si può risolvere un problema senza prima fissare un insieme di azioni, i di mosse elementari possibili per l'esecutore. Bisogna conoscerne le caratteristiche, le mosse
Rappresentazione con i diagrammi di flusso (Flow - chart)
Rappresentazione con i diagrammi di flusso (Flow - chart) Questo tipo di rappresentazione grafica degli algoritmi, sviluppato negli anni 50, utilizza una serie di simboli grafici dal contenuto evocativo
Unità di apprendimento 6. Dal problema al programma
Unità di apprendimento 6 Dal problema al programma Unità di apprendimento 6 Lezione 1 Conosciamo gli algoritmi e i linguaggi In questa lezione impareremo: cos è un problema come affrontarlo come descrivere
FACOLTA DI SCIENZE POLITICHE ANNO ACCADEMICO 2016/2017
FACOLTA DI SCIENZE POLITICHE ANNO ACCADEMICO 2016/2017 Le date d esame confermate sono pubblicate all interno del proprio corso in piattaforma, cliccando sul bottone "Servizi di Segreteria a seguire "Esami
Appunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso
Università Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso Marco Liverani ([email protected])
Corso di Fondamenti di Informatica Linguaggi di Programmazione
Corso di Fondamenti di Informatica Linguaggi di Programmazione Anno Accademico Francesco Tortorella Linguaggi di programmazione Un calcolatore basato sul modello di von Neumann permette l esecuzione di
Programmazione di INFORMATICA e Laboratorio
ISIUO ECNICO SAALE settore ECNOLOGICO ad indirizzo: Elettronica ed Elettrotecnica - Informatica e elecomunicazioni Meccanica, Meccatronica ed Energia "VIORIO EMANUELE III" Via Duca della Verdura, 48-90143
Fasi di creazione di un programma
Fasi di creazione di un programma 1. Studio Preliminare 2. Analisi del Sistema 6. Manutenzione e Test 3. Progettazione 5. Implementazione 4. Sviluppo Sviluppo di programmi Per la costruzione di un programma
Sviluppo di programmi
Sviluppo di programmi Per la costruzione di un programma conviene: 1. condurre un analisi del problema da risolvere 2. elaborare un algoritmo della soluzione rappresentato in un linguaggio adatto alla
Introduzione al Calcolo Scientifico
Introduzione al Calcolo Scientifico Francesca Mazzia Dipartimento di Matematica Università di Bari Francesca Mazzia (Univ. Bari) Introduzione al Calcolo Scientifico 1 / 14 Calcolo Scientifico Insieme degli
PROGRAMMAZIONE di MATEMATICA. classe 4B. Indirizzo Socio Sanitario a.s
I.P.S.I.A E. DE AMICIS - ROMA PROGRAMMAZIONE di MATEMATICA classe 4B Indirizzo Socio Sanitario a.s. 2016-2017 Docente : Prof.ssa Maria Diomedi Camassei FINALITA EDUCATIVE Si perseguono le seguenti finalità
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw -Hill, Progettazione concettuale
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw -Hill, 1996-2002 Capitolo 7: Progettazione concettuale 17/10/2002 Progettazione concettuale Requisiti della base di dati Schema concettuale Progettazione
Linguaggi di programmazione e astrazione
Linguaggi di programmazione e astrazione i linguaggi di programmazione ad alto livello moderni sono il più potente strumento di astrazione messo a disposizione dei programmatori che possono, con un solo
