Astrazione dati e funzionale
L’astrazione dati ricalca ed estende il concetto di astrazione funzionale. Così come l’astrazione funzionale permette di ampliare l’insieme dei modi di operare sui dati, cioè gli operatori sui tipi di dati già disponibili, l’astrazione di dati permette di ampliare i tipi di dati disponibili attraverso l’introduzione sia di nuovi tipi di dati che di nuovi operatori
L’astrazione funzionale stimola gli sforzi per evidenziare operazioni ricorrenti o ben caratterizzate all’interno della soluzione di un problema
L’astrazione di dati sollecita ad individuare le organizzazioni dei dati più adatte alla soluzione del problema
Astrazione dati: specifica e realizzazione
- specifica: descrivere un nuovo tipo di dati e gli operatori applicabili
- realizzazione: come il nuovo dato e i nuovi operatori vengono ricondotti ai dati e agli operatori già disponibili (utilizzo di meccanismi di programmazione modulare offerti dal linguaggio di programmazione utilizzato per mettere a disposizione l’astrazione attraverso un’interfaccia e nascondere i dettagli dell’implementazione)
Specifica sintattica e semantica
- specifica sintattica:
- nomi del tipo di dati di riferimento e degli eventuali tipi di dati usati (già definiti)
- nomi delle operazioni del tipo di dati di riferimento
- tipi di dati di input e di output per ogni operatore
- specifica semantica:
- insieme dei valori associati al tipo di dati di riferimento
- funzione associata ad ogni nome di operatore, specificata da:
- precondizione: definita sui valori dei dati di input
- postcondizione: definita sui valori dei dati di input e di output, stabilisce la relazione tra argomenti e risultato