Federico Vigna - 22/09/04 Framework didattico per lo sviluppo di applicazioni per basi di dati...

11
Federico Vigna - 22/09/04 Framework didattico per lo sviluppo di applicazioni per basi di dati Università degli studi “Roma Tre” Dipartimento di informatica ed automazione Tesi di laurea Candidato Federico Vigna Relatore Paolo Atzeni Università di “Roma Tre”

Transcript of Federico Vigna - 22/09/04 Framework didattico per lo sviluppo di applicazioni per basi di dati...

Page 1: Federico Vigna - 22/09/04 Framework didattico per lo sviluppo di applicazioni per basi di dati Università degli studi “Roma Tre” Dipartimento di informatica.

Federico Vigna - 22/09/04

Framework didattico per lo sviluppo di applicazioni per basi

di dati

Università degli studi “Roma Tre”Dipartimento di informatica ed automazione

Tesi di laurea

Candidato Federico Vigna

RelatorePaolo Atzeni

Università di “Roma Tre”

Page 2: Federico Vigna - 22/09/04 Framework didattico per lo sviluppo di applicazioni per basi di dati Università degli studi “Roma Tre” Dipartimento di informatica.

Federico Vigna - 22/09/04

Contesto

• Analisi delle problematiche di uno studente del corso di basi di dati

• Fornire uno strumento che consenta di realizzare facilmente applicazioni grafiche in Java che colloquiano con basi di dati

Studente

G U IG U I

Base di dat i

Applicaz ione de llo studente

Page 3: Federico Vigna - 22/09/04 Framework didattico per lo sviluppo di applicazioni per basi di dati Università degli studi “Roma Tre” Dipartimento di informatica.

Federico Vigna - 22/09/04

Analisi

• Lo studente si presenta con conoscenze di Java buone ma poco profonde– Scarsa dimestichezza con i package relativi alla grafica (javax.swing)

e degli eventi (java.awt.event)

• Il docente del corso vuole che lo studente si concentri sull’utilizzo di Jdbc trascurando certi dettagli implementativi.

• Crea piccole classi di test per provare Jdbc – argomento del corso – stampando normalmente i risultati in Console– Minima gratificazione dello studente che

investe tempo e ottiene risultati spartani– Scrive codice altamente accoppiato con

l’applicazione stessa quindi poco riusabile

Page 4: Federico Vigna - 22/09/04 Framework didattico per lo sviluppo di applicazioni per basi di dati Università degli studi “Roma Tre” Dipartimento di informatica.

Federico Vigna - 22/09/04

• BDFrame offre servizi per costruire facilmente applicazioni grafiche che colloquiano con basi di dati– costringendo lo studente ad utilizzare Jdbc per le esigenze

didattiche del corso di basi di dati

Il framework “BDFrame”

• lo studente può astrarre da molti dettagli implementativi e si concentra su Jdbc

• crea rapidamente applicazioni

Page 5: Federico Vigna - 22/09/04 Framework didattico per lo sviluppo di applicazioni per basi di dati Università degli studi “Roma Tre” Dipartimento di informatica.

Federico Vigna - 22/09/04

I servizi del framework

Tabelle grafiche

Maschere di inserimento dati

Maschere di aggiornamento

Menu

Page 6: Federico Vigna - 22/09/04 Framework didattico per lo sviluppo di applicazioni per basi di dati Università degli studi “Roma Tre” Dipartimento di informatica.

Federico Vigna - 22/09/04

Tabelle grafiche

• Lo studente visualizza il risultato di una propria interrogazione SQL – rappresentata da un oggetto java.sql.ResultSet - in una tabella grafica

Page 7: Federico Vigna - 22/09/04 Framework didattico per lo sviluppo di applicazioni per basi di dati Università degli studi “Roma Tre” Dipartimento di informatica.

Federico Vigna - 22/09/04

Maschere di inserimento• Lo studente genera una maschera grafica per l’inserimento dati fornendo la

connessione alla base di dati ed un comando SQL di inserimento in formato “PreparedStatement”

Page 8: Federico Vigna - 22/09/04 Framework didattico per lo sviluppo di applicazioni per basi di dati Università degli studi “Roma Tre” Dipartimento di informatica.

Federico Vigna - 22/09/04

Maschere di aggiornamento

• Analogamente, fornendo comandi SQL di aggiornamento, lo studente ottiene maschere grafiche di aggiornamento per la tupla interessata

• Se il comando SQL interessa più tuple, viene proposto un aggiornamento di tutte le tuple interessate

Page 9: Federico Vigna - 22/09/04 Framework didattico per lo sviluppo di applicazioni per basi di dati Università degli studi “Roma Tre” Dipartimento di informatica.

Federico Vigna - 22/09/04

Menu personalizzati• Per articolare facilmente le applicazioni, lo studente può generare dei menu

grafici ai quali associa l’esecuzione di metodi delle sue classi

Page 10: Federico Vigna - 22/09/04 Framework didattico per lo sviluppo di applicazioni per basi di dati Università degli studi “Roma Tre” Dipartimento di informatica.

Federico Vigna - 22/09/04

Menu personalizzati - dettagli

• La struttura dei menu è ad albero n-ario, questo permette di articolare menu e sotto-menu ad un qualsiasi livello di nidificazione

• Utilizzo della riflessione per consentire allo studente di poter eseguire un metodo (anche statico) di un qualsiasi oggetto, semplicemente fornendo il nome del metodo come stringa

• Le scelte vengono associate ad oggetti che implementano l’interfaccia IAzione

– Lo studente fa implementare alle proprie classi questa interfaccia

– Vengono fornite delle azioni predefinite

Page 11: Federico Vigna - 22/09/04 Framework didattico per lo sviluppo di applicazioni per basi di dati Università degli studi “Roma Tre” Dipartimento di informatica.

Federico Vigna - 22/09/04

Sviluppi futuri

• Disaccoppiare il framework dalle esigenze dello studente per renderlo fruibile ad un qualunque programmatore java– Inglobando direttamente strumenti per raggiungere le

basi di dati (eliminando, in generale, i limiti imposti dalla didattica)

– Aggiungendo funzionalità di interesse generale• Creare maschere grafiche anche per oggetti

JavaBean– Facendo uso della riflessione per “interrogare” le

proprietà dell’oggetto anziché recuperare dati da un ResultSet