FASTVID RENTALS: CONCLUSIONI I PUNTI DI FORZA DEL PROGETTO, GLI SVILUPPI FUTURI 1
I punti di forza Flessibilità software: Gerarchia Terminali Ogni Terminale specializza alcune particolari funzionalità Il Client conosce il tipo di Terminale che gli serve e al run-time lo richiede al server Client Multi-Piattaforma Il Client è di tipo thin, tutta la computazione e la logica applicativa si trovano lato Server Con costi di progettazione e sviluppo sw bassi (sufficiente affiancare un server Java e tecnologie Servlet) si può pensare di coprire anche il mercato del web CONCLUSIONI 2
I punti di forza Sessione Fondamentale: classe altamente coesa che tiene traccia di tutte le operazioni compiute dallutente sul Client Si trova sul server per cui garantisce allutente di potersi muovere tra più macchine client mediante la propria tessera Politiche prezzo e sconti Orientate al cambiamento Componibili al run-time Parametri modificabili al run-time Politiche prenotazioni Orientate al cambiamento CONCLUSIONI 3
I punti di forza Tipologia ricerca Semplice o avanzata; anche in questo caso è facile aggiungere nuove tipologie ricerca senza troppa difficoltà Transizioni di stato sul client Il terminale è il punto di accesso al server, gli stati sul client proteggono il sistema da chiamate inappropriate sul server Gestione complessa stati di un prodotto sul server Si è fatta unanalisi attenta di tutto il ciclo di vita del prodotto, dal magazzino fino ad eventuali guasti per cogliere tutte le criticità nei processi di: acquisizione in magazzino / prenotazione / noleggio / restituzione, evitando così la generazione di inconsistenze CONCLUSIONI 4
I punti ancora da migliorare Multi-threading Ottimizzare gestione temporale dei prodotto e noleggi Manca una vision sulla gestione delle prenotazioni: per adesso si recupera il primo prodotto disponibile ad essere prenotato / noleggiato. Se fosse gestito un Calendario vero e proprio sui prodotti, si potrebbe pensare a curare lallocazione ottima di risorse ProxyImages sul client Caricamento delle immagini sul client mediante pattern Proxy 5
I punti ancora da migliorare Gestione del ripristino dello stato delle View La sessione sul server si occupa di tenere traccia delle azioni compiute dallutente sul client (il film selezionato, il risultato di una ricerca), tuttavia non si cura di memorizzare lo stato della View A costi bassi (è sufficiente memorizzare quale è il caso duso attivo e quale view corrente gestita da quel caso duso) è possibile ripristinare completamente lo stato dellapplicazione, così da permettere ad un utente di muoversi da un Client ad un altro 6
I punti ancora da migliorare Permettere alladmin di creare strategie sconti al runtime tramite pannello amministrazione del back-end Le strategie per ora sono selezionabili e componibili al run-time, non creabili tuttavia Abbiamo notato che la strategia è costituita da alcuni macroblocchi: condizione: dallAND o lOR di un insieme di proposizioni del tipo: Object.property Operation Condition (ad esempio: cliente.età < 25) Percentuale sconto Periodo di applicabilità 7
I punti ancora da migliorare Si potrebbe pensare di implementare un motore di interpretazione di proposizioni tale da consentire allutente la definizione di proposizioni (si pensa anche al pattern Interpreter) lassegnazione della percentuale, come il periodo di applicabilità sono banali Segue che lutente può costruire strategie al run-time senza ricompilazione! 8
Statistiche sul codice del progetto: CONCLUSIONI 9 ProgettoN° ClassiLinee di codice Linee di codice (eseguibile) Peso file (KByte) Client Common ,5 Server TOTALE: Report software:
Altri dati rilevanti sul progetto: Risorse umane impiegate: 3 Iterazioni completate: 3 Giorni utili di lavoro: 60 Ore lavoro: 480h / pp = 1440h complessive Commit SVN effettuate: 500 CONCLUSIONI 10
Alessio DAlessio, Filippo Mortari, Davide Russo VI RINGRAZIAMO PER LATTENZIONE