1 / 69

Video rental management system

Video rental management system. Ingegneria del Software, A.A. 2010 – 2011 Università degli Studi dell’Aquila – D.I.S.I.M. Docente : Serafino Cicerone. Alessio D’Alessio, Filippo Mortari , Davide Russo. Indice:. FastVid Rentals : Panoramica Sviluppo Software Unified process :

Download Presentation

Video rental management system

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Video rental management system Ingegneria del Software, A.A. 2010 – 2011 Università degli Studi dell’Aquila – D.I.S.I.M. Docente : Serafino Cicerone Alessio D’Alessio, Filippo Mortari, Davide Russo

  2. Indice: FastVidRentals: Panoramica Sviluppo Software Unifiedprocess: Ideazione Elaborazione – 1a iterazione Elaborazione – 2a iterazione Problematiche di Design, come è evoluto il software I Design Patterns Tecnologie usate: Hibernate & JavaRMI Conclusioni

  3. Fastvidrentals - panoramica Richiesta del committente Sviluppo di un sistema software di gestione di una azienda di video-noleggi: Video Rental Management System

  4. Fastvidrentals - panoramica Funzionalità: Gestire il catalogo dei film; gestire clienti e tessere servizi; gestire il noleggio ed il reso di film; gestire la prenotazione di film in maniera flessibile; gestire politiche di sconto e promozione in maniera flessibile; gestire il magazzino della filiale; gestire la comunicazione con i clienti mediante sms flessibilità ad eventuali nuovi canali di comunicazione; flessibilità in ottica di una fruizione futura di servizi su piattaforma web e Video-On-Demand gestire il reporting dell’attività della filiale.

  5. Strumenti per lo sviluppo sw IDE: EclipseJuno Service Release 1 RMI Plug-in for Eclipse version 2.0 (applicazione distribuita) WindowBuilder Editor (per la gestione grafica delle Swing) SubversiveSVN Team Provider (versionamento) Case: Visual Paradigm UML EE 8.0 Librerie: Java JRE 1.7, Hibernate ORM Libraries, Server di versionamento: XP-Dev con supporto a SVN (per il progetto .vpp) Google Code (per il codice Java) DBMS: MySQL tramite XAMPP

  6. Il versionamento: Xp-Dev e GoogleCode

  7. Sviluppo software Il processo di riferimento: UP

  8. Sviluppo software Il processo di riferimento: UP Ogni iterazione produce un’executable release

  9. L’iterazione time-boxed Abbiamo cercato di rispettare le scadenze e assegnare le responsabilità con una sorta di diagramma di Gantt

  10. TITOLO SEZIONE Legenda Disciplina di UP, contenuto in esame nella slide corrente, sezione relativa a un particolare concetto.. Iterazione cui si riferisce il contenuto analizzato nella slide Inception Elaborazione – Iterazione 1 Elaborazione – Iterazione 2 Elaborazione – Iterazione 3

  11. FastVIDRentals: business modeling

  12. Business Modeling “One of the major problems with most business engineering efforts, is that the software engineering and the business engineering community do not communicate properly with each other. This leads to the output from business engineering is not being used properly as input to the software development effort, and vice-versa. The Unified Process addresses this by providing a common language and process for both communities, as well as showing how to create and maintain direct traceability between business and software models.”

  13. Fastvidrentals - panoramica La struttura aziendale La macrostruttura:

  14. Fastvidrentals - panoramica La struttura aziendale L’organigramma aziendale della singola divisione:

  15. Fastvidrentals - panoramica Prospettiva dell’utente Si mostrano i possibili punti di accesso fisici all’applicativo

  16. Fastvidrentals - panoramica Business rules salienti Il costo dei noleggi dipende da: il tipo di supporto desiderato VHS: 0.5€ al giorno CD / DVD : 1€ al giorno BlueRay: 1.5€ al giorno la durata del noleggio film novità: +10% sul prezzo originale

  17. Fastvidrentals - panoramica Business rules salienti Le politiche di sconto: 10% ai clienti che hanno già noleggiato almeno un film entro le 24h precedenti; ogni 20 noleggi effettuati si ha diritto a 1 noleggio gratuito; 5% di sconto per noleggi Lun-Ven dalle h20.00 alle h8.00 del giorno successivo; 5% di sconto per clienti con età < 21 anni;

  18. Unifiedprocess – elaborazione 1 Il modello di dominio (Business Object Model)

  19. Unifiedprocess – elaborazione 1 Il modello di dominio (Business Object Model)

  20. Requirements – i casi d’uso

  21. Requirements “The goal of the Requirements workflow is to describe what the system should do and allows the developers and the customer to agree on that description. Actorsare identified, representing the users, and any other system that may interact with the system being developed. Use cases are identified, representing the behavior of the system.”

  22. Unifiedprocess - ideazione Use Case Diagram Casi d’uso analizzati: Tutti Casi d’uso dettagliati: UCRicercaFilm UCNoleggia UCPrenota UCRestituisci

  23. Use Case Diagram Casi d’uso analizzati: Tutti Casi d’uso dettagliati: UCRicercaFilm UCNoleggia UCPrenota UCRestituisci

  24. Unifiedprocess - ideazione UCRicercaFilm – Dettagli Il Cliente, una volta recatosi presso una delle filiali FastVidRentals può cercare un film di suo interesse. La ricerca può essere effettuata sia presso lo sportello esterno, sia presso lo sportello interno. Per effettuare una ricerca non è necessario utilizzare la tessera servizi. Il Cliente può inserire o il nome preciso di un film o cercare tramite tag come il genere, l'anno di produzione etc.. Se la ricerca viene effettuata presso lo sportello interno il sistema permette di stampare uno scontrino promemoria da poter presentare all'operatore di cassa per procedere con un noleggio.

  25. Unifiedprocess - ideazione UCRicercaFilm - Flow of events 1. Il Cliente arriva al terminale FastVid 2. Il Cliente seleziona la ricerca film 3. Il Sistema mostra l'interfaccia di ricerca 4. Il Cliente inserisce delle parole chiave per il film da ricercare 5. Il Cliente avvia la ricerca 6. Il Sistema presenta un elenco di film 7. if Il Cliente è soddisfatto della ricerca 7.1. Il Cliente sceglie un film dalla lista 7.2. Il Sistema mostra i dettagli del film 7.3. if Il Cliente è soddisfatto del film selezionato 7.3.1. Il Cliente seleziona il supporto desiderato 7.3.2. Il sistema visualizza la disponibilità del supporto selezionato 7.3.3. if Il Cliente è soddisfatto 7.3.3.1. Il sistema mostra le azioni disponibili 7.3.3.2. Il Cliente sceglie l'opzione desiderata

  26. Unifiedprocess - ideazione UCNoleggiaFilm– Dettagli Il Cliente, una volta recatosi presso una delle filiali FastVidRentals, può effettuare un noleggio. La prima operazione che deve fare per poter noleggiare un film è la ricerca. Una volta trovato il film, il Cliente deve scegliere le opzioni di noleggio, il tipo di supporto/formato desiderati, e, se il supporto è disponibile, il sistema propone un quadro riassuntivo del noleggio. Se il cliente vuole procedere, deve scorrere la propria tessera servizi dalla quale verrà scalato l'importo pari al prezzo di noleggio. Il cliente può ritirare il prodotto.

  27. Unifiedprocess - ideazione UCNoleggiaFilm - Flow of events 1. Il Cliente effettua una Ricerca film 2. Il Sistema richiede al Cliente l'autenticazione tramite lettura della tessera servizi 3. Il Cliente legge la sua tessera servizi presso il lettore 4. Il Sistema autentica il Cliente attraverso la tessera servizi e applica le politiche di prezzo 5. Il Sistema mostra al Cliente la relativa politica di prezzo 6. Il Cliente imposta la durata desiderata per il noleggio 7. Il Sistema mostra il riepilogo di prezzo e le condizioni di noleggio, richiedendo conferma 8. Il Cliente conferma la sua scelta 9. Il Sistema addebita l'importo del noleggio, registra il noleggio per il prodotto selezionato al Cliente corrente e aggiorna la disponibilità del prodotto 10. Il Sistema notifica la transazione al Sistema contabilità 11. Il Sistema stampa la ricevuta e la consegna al Cliente unitamente al supporto noleggiato 12. Il Cliente ritira ricevuta e prodotto

  28. Unifiedprocess– elaborazione 1 Il riscontro del committente L’incontro con il committente a valle dell’ideazione ha confermato il corretto rilevamento dei casi d’uso, nonché della realtà aziendale cui si fa riferimento (documento di visione e regole di business) Il committente ha tuttavia preferito che l’autenticazione del cliente fosse la prima operazione necessaria ad avviare il caso d’uso di Noleggio.

  29. UCPrenota - Dettagli Il Cliente può effettuare una prenotazione. Quest'ultima può essere dovuta sia al fatto che non è disponibile al momento nessuna copia fisica del supporto/formato richiesto per il film di interesse, sia al fatto che il cliente vuole bloccare un film per una determinata data. L'SMS service è un servizio esterno che permette di avvisare al Cliente la disponibilità di un supporto/formato e consente al cliente di poter avviare una pratica di prenotazione anche mediante SMS. Allo stato attuale le politiche di prenotazione non sono completamente definite: diverse filiali potrebbero adottare politiche locali guidate dall'andamento del mercato locale. Le politiche di prenotazione possono cambiare arbitrariamente secondo scelte avanzate dalla Sede centrale. La gestione delle politiche di prenotazione pertanto deve essere molto flessibile.

  30. Unifiedprocess – elaborazione 2 UCPrenota– Flow of Events 1. Il Cliente effettua una Ricerca film 2. Il sistema richiede al Cliente l'autenticazione tramite lettura della tessera servizi 3. Il Cliente legge la sua tessera servizi presso il lettore 4. Il Sistema autentica il Cliente attraverso la tessera servizi 5. Il Sistema aggiorna il prezzo relativamente alle politiche sulla tessera servizi corrente 6. Il Cliente indica la data di prenotazione voluta 7. Il sistema notifica la avvenuta disponibilità per tale giorno 8. Il Cliente indica la durata del noleggio prenotato 9. Il sistema mostra il riepilogo e le condizioni di prenotazione, richiedendo conferma 10. Il Cliente conferma la sua scelta 11. Il Sistema addebita l'importo della prenotazione, registra la prenotazione per il prodotto selezionato e aggiorna la disponibilità del prodotto 12. Il Sistema notifica la transazione al Sistema contabilità 13. Il Sistema stampa la ricevuta e la consegna al Cliente 14. Il Clienteritiraricevuta

  31. Unifiedprocess – elaborazione 2 UCRestituisci- Dettagli Il Cliente può recarsi presso una filiale di FastVidRentals e restituire un prodotto sia allo sportello esterno, sia all'interno del punto vendita. All'interno del punto vendita può decidere se restituire il prodotto tramite sportello o fisicamente all'operatore di cassa.

  32. Unifiedprocess – elaborazione 2 UCRestituisci – Flow of events 1. Il Cliente si reca presso una filiale con un prodotto da restituire 2. Il Cliente informa il Sistema di voler restituire un prodotto precedentemente noleggiato 3. Il Sistema richiede al Cliente di depositare il prodotto nell'apposita feritoia 4. Il Cliente deposita il prodotto secondo le indicazioni ricevute 5. Il Sistema legge l'ID del prodotto depositato 6. Il Sistema recupera le informazioni sul Cliente tramite l'assocazione dello stesso ad un noleggio e quindi all'ID del supporto noleggiato e appena restituito 7. Il Sistema mostra al Cliente la conferma con riserva di controllo supporto per l'avvenuta restituzione 8. Il Sistema stampa la ricevuta cartacea attestante la restituzione 9. Il Sistema propone al Cliente di effettuare una nuova Ricerca film 10. Il Cliente rifiuta la proposta di cercare un nuovo film 11. Il Cliente si allontana con la ricevuta

  33. ANALYsis & DEsign

  34. Unifiedprocess – elaborazione 1 Il diagramma ER

  35. Unifiedprocess – elaborazione 1 Il diagramma ER

  36. Unifiedprocess – elaborazione 1 Il diagramma ER

  37. Unifiedprocess – elaborazione 1 Interfaccia grafica – Papersketches

  38. Unifiedprocess – elaborazione 1 Interfaccia grafica – MockUp

  39. Unifiedprocess – elaborazione 1 Interfaccia grafica – Swing

  40. Unifiedprocess – elaborazione 1 Interfaccia grafica – scelte su Swing

  41. Unifiedprocess – elaborazione 2 Il riscontro del committente L’incontro con il committente a valle della prima Iterazione della fase di Elaborazione ha sostanzialmente confermato il corretto avanzamento del lavoro. Il committente ha tuttavia segnalato: la poca intuitività dell’interfaccia relativa alla ricerca di un film (o meglio, si aspettava che l’interfaccia fosse corredata di parametri per la ricerca avanzata). sempre per quanto riguarda l’interfaccia, ha suggerito di migliorare la schermata di risultati della ricerca, in parte povera di contenuti (oltre al titolo film, dettagli come genere, regia, etc..)

  42. Unifiedprocess – elaborazione 2 La ristrutturazione di UCRicerca

  43. La ristrutturazione di UCRicerca

  44. Unifiedprocess – elaborazione 2 La ristrutturazione di UCRicerca

  45. Unifiedprocess – elaborazione 2 La ristrutturazione di UCRicerca Paginazione gestita sul client, con limitazioni lato server sul numero max di risultati

  46. Unifiedprocess – elaborazione 2 Il diagramma di deployment DA aggiungere.

  47. Unifiedprocess – elaborazione 2 Diagramma degli stati: Noleggio

  48. Unifiedprocess – elaborazione 2 Diagramma degli stati: Prodotto

  49. IMPLEMENTAZIONE TECNOLOGIE:HIBERNATE & JAVA RMI

  50. Tecnologie – hibernate & java rmi Hibernate: Object-RelationalMapping piattaforma middleware open source per lo sviluppo di applicazioni Java che fornisce un servizio di Object-relationalmapping (ORM) Come si intuisce dal nome consiste nella tecnica di mappare gli oggetti Java su di un database relazionale In questo modo è possibile, tramite dei semplici metodi invocabili dai nostri oggetti, eseguire le querypiù diffuse

More Related