La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Sapienza Università di Roma Facoltà di Ingegneria Corso di Laurea in Ingegneria dellInformazione Anno accademico 2007/2008 Latina 15 Ottobre 2008 Laureando:

Presentazioni simili


Presentazione sul tema: "Sapienza Università di Roma Facoltà di Ingegneria Corso di Laurea in Ingegneria dellInformazione Anno accademico 2007/2008 Latina 15 Ottobre 2008 Laureando:"— Transcript della presentazione:

1 Sapienza Università di Roma Facoltà di Ingegneria Corso di Laurea in Ingegneria dellInformazione Anno accademico 2007/2008 Latina 15 Ottobre 2008 Laureando: Diego ColarulloRelatore: Prof. Vincenzo Curci

2 Struttura del Progetto Introduzione Applicazione Jmatter Analisi framework Conclusioni Software Utilizzati Valutazione e uso del tool open source Jmatter per lo sviluppo rapido di applicazioni Java – Diego Colarullo

3

4 Il lavoro svolto si articola nel seguente modo: SECONDA PARTE Studio dei concetti architetturali, librerie utilizzate, gestione della persistenza, i criteri di sviluppo Jmatter, le modalità di analisi e valutazione del framework. Funzionamento dellapplicazione Jmatter, criteri di progettazione dellapplicazione web, confronto sui tempi di elaborazione, difficoltà riscontrate durante lanalisi del framework. PRIMA PARTE Valutazione e uso del tool open source Jmatter per lo sviluppo rapido di applicazioni Java – Diego Colarullo

5 Entrambi i progetti prevedono lo sviluppo di unapplicazione per la gestione delle attività interne di una Piscina. Per lapplicazione web sono state realizzate tre aree di utilizzo differenti a seconda dellusername utilizzato nel log in: Cliente, Istruttore e Amministratore. Ogni interfaccia di benvenuto sarà distinta dalle altre mostrando le azioni che lutente può compiere. Lapplicazione Jmatter prevede una sola interfaccia di benvenuto pur mantenendo la distinzione tra Cliente, Istruttore e Amministratore, mediante lutilizzo dei ruoli con le appropriate restrizioni. In base alle restrizioni assegnate ad un ruolo, si stabiliscono le operazioni che un utente può compiere su ogni tipo di oggetto. I ruoli sono cosi definiti: Amministratore: gestisce la parte pratica dellapplicazione come linterazione con la base dati Istruttore: gestisce tutto ciò che è inerente ai corsi svolti nella Piscina Cliente: gestisce la sua partecipazione allinterno dellapplicazione Valutazione e uso del tool open source Jmatter per lo sviluppo rapido di applicazioni Java – Diego Colarullo

6

7 Jmatter è un software open source per la costruzione di applicazioni workgroup. Il vantaggio principale di sviluppare applicazioni con Jmatter è una rilevante riduzione dei tempi di sviluppo, di circa un fattore 10. Jmatter presenta due livelli di applicazione: Swing, ovvero front-end, che comunica con lRDBMS, il back-end. Jmatter si interfaccia con lRDBMS mediante la piattaforma middleware Hibernate. Esso è sviluppato per essere usato in ambienti LAN o VPN. Lessenza di Jmatter è la generica implementazione di aspetti di business software applications. Jmatter fornisce aspetti comuni in modo che gli sviluppatori non siano costretti ad iniziare da zero. Jmatter fornisce aspetti comuni in modo che gli sviluppatori non siano costretti ad iniziare da zero. Alcuni di essi sono: Valutazione e uso del tool open source Jmatter per lo sviluppo rapido di applicazioni Java – Diego Colarullo

8 Interfaccia Utente Finestra con labilità di creare nuovi utenti, cambiare le loro password, creare nuovi contatti, modificare lindirizzo per un contatto esistente, cancellare un vecchio contatto. Per ogni tipo di oggetto che si crea, la GUI sarà diversa poiché ogni tipo ha un differente numero di campi, ma il meccanismo di gestione è lo stesso. Servizio di Query Il framework offre la possibilità di filtrare le informazioni. Per esempio, la capacità di conoscere tutte le persone che vivono in una data città. Validazione Capacità di specificare quali campi sono obbligatori, quali sono opzionali, quali costituiscono un valido numero di telefono, data, etc. Persistenza Abilità di salvare informazioni, associazioni tra oggetti, etc. Valutazione e uso del tool open source Jmatter per lo sviluppo rapido di applicazioni Java – Diego Colarullo

9 Molti di questi aspetti non hanno nulla a che fare con specifici problemi di dominio: essi rappresentano servizi generici che tutte le applicazioni dovrebbero avere, ma che, sfortunatamente, devono essere costruiti da zero. Autorizzazioni Specificano a chi è permesso eseguire determinate azioni nel sistema. Reporting Il framework offre la possibilità di produrre report stampabili (pdf) con le informazioni desiderate dallutente. Valutazione e uso del tool open source Jmatter per lo sviluppo rapido di applicazioni Java – Diego Colarullo

10 La classbar presenta quattro sezioni tra cui : Cliente (visibile allapertura dellapplicazione), Istruttore, Amministratore e Gestione. Le sezioni sono visibili a tutti gli utenti dellapplicazione fermo restando i ruoli e le restrizioni associate che consentono quali azioni un utente può eseguire su un determinato tipo. Limmagine mostra come i comandi differiscono da utente ad utente su un dato oggetto. Valutazione e uso del tool open source Jmatter per lo sviluppo rapido di applicazioni Java – Diego Colarullo

11 Diagramma entità relazione dellapplicazione da me realizzata. Ricordo che unapplicazione Jmatter standard ha un diagramma contenente 29 entità. Valutazione e uso del tool open source Jmatter per lo sviluppo rapido di applicazioni Java – Diego Colarullo

12

13 Lalbero delle chiamate del metodo run ha evidenziato i thread coinvolti, le varie code, la modalità di creazione dellinterfaccia, le risorse coinvolte nellesecuzione e i metodi chiamati e chiamanti. È stato realizzato, inizialmente, in formato cartaceo ma essendo notevolmente ampio è stato necessario trasferire il lavoro svolto, in formato elettronico, utilizzando fogli di calcolo Excel. La stesura dellalbero non ha avuto da subito un idea ben precisa ma si è concretizzata durante tutto il lavoro. Per facilitare la navigazione, allinterno del foglio elettronico, sono stati utilizzati diversi colori. Tutto lalbero è navigabile in entrambe le direzioni; ciò è stato possibile utilizzando i collegamenti ipertestuali allinterno e tra più fogli Excel. Cliccando sulle funzioni di un metodo (A) il collegamento ipertestuale ci porterà al metodo chiamato (B). Per tornare ad A basta cliccare sulla segnatura del metodo B ed il collegamento ipertestuale si riporterà su A. È stato necessario realizzare ciò poiché nel migliore dei casi B si trova ad una breve distanza da A e quindi ben visibile (anche senza collegamento) ma nel peggiore delle ipotesi ci si sposta dalla colonna A1 alla colonna M10 oppure ad un foglio distinto. Valutazione e uso del tool open source Jmatter per lo sviluppo rapido di applicazioni Java – Diego Colarullo

14 Il metodo main, denominato EntryPoint, si trova nella posizione A3 del ThreadPrincipale. Nella colonna A troveremo tutti i metodi chiamati dal metodo EntryPoint ognuno con un colore diverso In questo caso abbiamo un solo metodo (Launch). Se Entry Point avesse chiamato ulteriori metodi sarebbero stati inseriti a partire dalla posizione A29. Si noti, in A23, una freccia che sta ad indicare il metodo chiamato. Valutazione e uso del tool open source Jmatter per lo sviluppo rapido di applicazioni Java – Diego Colarullo

15 Tutti i metodi chiamati da Launch si troveranno nella colonna C, in corrispondenza, ove possibile, del chiamante. Il collegamento ipertestuale è reso evidente dal colore rosso. Valutazione e uso del tool open source Jmatter per lo sviluppo rapido di applicazioni Java – Diego Colarullo

16 Nella colonna C troviamo il metodo AppFrame e invokeSwingAction chiamati da Launch, che hanno lo stesso colore. Troviamo, inoltre, i metodi chiamati da AppFrame e invokeSwingAction. Il metodo SetupUI, chiamato da AppFrame, ha un colore diverso dal suo chiamante. I metodi chiamati da SetupUI, a loro volta, saranno collocati nella colonna E con stesso colore. Valutazione e uso del tool open source Jmatter per lo sviluppo rapido di applicazioni Java – Diego Colarullo

17

18 Mettiamo a confronto i relativi step da seguire per la creazione dei progetti: Applicazione web Diagramma ER e script sql per la creazione delle tabelle nel db. Implementazione classi Java, corrispondenti alle tabelle, e conseguente configurazione dei file di mapping di Hibernate. Realizzazione web: implementazione sia delle pagine Jsp, quindi linterfaccia utente, che delle relative interazioni dinamiche tra le pagine e verso il DB. Applicazione Jmatter Implementazione delle classi Java corrispondenti ai tipi utilizzati nellapplicazione. I tempi di sviluppo, nel primo caso, sono quantificabili in 30/35 giorni, considerando lutilizzo di un ambiente quale il RAD che facilita notevolmente il lavoro dello sviluppatore. Nel secondo caso, invece, si ha una notevole riduzione del tempo lavorativo quantificabile in circa 10 giorni. Alcuni processi sono automatizzati da Jmatter, quale lo script sql, la configurazione di Hibernate e limplementazione dellinterfaccia grafica. Lo sviluppatore, per usufruire di tali vantaggi, non deve far altro che implementare le classi Java rispettando le convenzioni definite dal framework. Valutazione e uso del tool open source Jmatter per lo sviluppo rapido di applicazioni Java – Diego Colarullo

19

20 Per la realizzazione del Progetto si è fatto uso delle seguenti applicazioni: Professore Vincenzo Curci Valutazione e uso del tool open source Jmatter per lo sviluppo rapido di applicazioni Java – Diego Colarullo

21 …fine presentazione… Relatore: Prof. Vincenzo Curci Laureando: Diego Colarullo Valutazione e uso del tool open Source Jmatter per lo sviluppo rapido di applicazioni Java...Grazie per lattenzione...


Scaricare ppt "Sapienza Università di Roma Facoltà di Ingegneria Corso di Laurea in Ingegneria dellInformazione Anno accademico 2007/2008 Latina 15 Ottobre 2008 Laureando:"

Presentazioni simili


Annunci Google