Corsi di laurea triennale in Ingegneria Informatica Corso di Ingegneria del software Il PROCESSO UNIFICATO Modellazione ed Implementazione di un Sistema Software per la gestione informatizzata di un ristorante PARTE II
Traccia del tema d anno Si vuole sviluppare un sistema software per la gestione informatizzata di un ristorante. Tra le funzionalità che il software deve fornire, ad esempio, si dovrà considerare la gestione di un numero illimitato di tavoli, la visualizzazione di tavoli sulla piantina del ristorante, la visualizzazione grafica dello stato di ciascun tavolo, la prenotazione dei tavoli, la gestione delle ordinazioni mediante palmare, la stampa delle comande nei diversi reparti interessati, la stampa di fattura o scontrino fiscale. Selezionato un opportuno modello di processo si produca il piano dettagliato del progetto motivando la scelta effettuata e documentando le considerazioni che hanno condotto alla scelta del modello. Produrre la documentazione del software comprendente: documento dei requisiti, test plan, documentazione di progetto. Implementare il software modellato.
II FASE U.P.: ELABORAZIONE L elaborazione è la serie iniziale di iterazioni durante le quali in un progetto: Viene preparata e verificata l architettura software principale e rischiosa Viene stabilizzata la maggior parte dei requisiti I rischi maggiori sono attenuati o rientrano Questa fase è spesso costituita da due o più iterazioni. In tabella sono elencati alcuni elaborati che possono essere iniziati durante l elaborazione, sono esclusi gli elaborati per i quali, nella fase di ideazione, è stata già elaborata una prima bozza, quali: Visione, specifiche supplementari e modello dei casi d uso. Disciplina Elaborato Ideazione Elaborazione Costruzione Transizione Modellazione Modello di dominio I del business Progettazione Modello I R di progetto Progettazione Documento I dell architettura software Progettazione Modello dei dati I R Tabella - Esempio di tempificazione degli elaborati principali di UP ( I= inizio; R= raffinamento)
Raffinamento elaborato «SPECIFICHE SUPPLEMENTARI» Inserimento dei vincoli di implementazione...
Elaborato ELABORAZIONE: «Modello di dominio» Il termine Modello di Dominio indica una rappresentazione delle classi concettuali del mondo reale, non di oggetti software. Applicando la notazione UML, un modello di Dominio è illustrato con un insieme di diagrammi delle classi in cui non sono definite operazioni ma fornisce un punto di vista concettuale e può mostrare: Oggetti di dominio o classi concettuali Associazioni tra classi concettuali Attributi di classi concettuali I passi da seguire, nell elaborazione del Modello, essendo vincolati ai requisiti scelti per la progettazione, sono: Individuazione delle classi concettuali Disegnarle come classi in un diagramma delle classi UML Aggiunta di associazioni e attributi.
Figura - Diagramma UML delle classi concettuali
Elaborato ELABORAZIONE: «Modello di progetto» Risultato della progettazione logica è il Modello di Progetto, elaborato che descrive attraverso i diagrammi UML la progettazione logica al fine di rendere più semplice la fase implementativa Il modello di Progetto viene elaborato in fase di Elaborazione e raffinato in fase di COSTRUZIONE L elaborato realizzato in questa prima versione comprende: diagrammi UML dei package diagrammi UML di sequenza
Elaborato ELABORAZIONE: «Modello di progetto»
Elaborato ELABORAZIONE: «Modello di progetto» Figura - Diagramma UML dei package
Elaborato ELABORAZIONE: «Documento dell Architettura Software» Questo elaborato previsto da UP, seppur opzionale come gli altri elaborati, è molto importante in quanto costituisce un aiuto per l apprendimento del sistema che si sta realizzando; riassume gli aspetti principali dell architettura e la loro risoluzione nel progetto. Rappresenta una sorta di riepilogo delle idee di progettazione più significative all interno del Sistema e delle loro motivazioni.
Elaborato ELABORAZIONE: «Documento dell Architettura Software»
Elaborato ELABORAZIONE: «Documento dell Architettura Software» Database SQLite Client << driver jdbc>> Server Responsabile di cassa Server Camerieri Stampante Bar Stampante Cucina Stampanti wireless reparti Figura - Schema dei componenti del Sistema
Elaborato ELABORAZIONE: «Modello dei Dati: Schema E-R della base di dati» Il modello dei dati è l elaborato prodotto in fase di progettazione concettuale e logica della base di dati. Nella prima fase viene studiato l insieme dei dati del sistema informativo; per formalizzare tale insieme vengono identificate e definite le entità e le relazioni coinvolte. Per scegliere i dati da rappresentare si adotta il seguente metodo: - si prendono in considerazione solo i dati realmente necessari alla sperimentazione, escludendo alcuni dati specifici, che comunque potrebbero essere aggiunti facilmente in future espansioni del sistema.
Elaborato ELABORAZIONE: «Modello dei Dati: Schema E-R della base di dati»
III FASE U.P.: COSTRUZIONE In questa terza fase gli elaborati creati durante il lavoro di progettazione, sono utilizzati come input per il processo di generazione del codice. In termini di UP, esiste un MODELLO DI IMPLEMENTAZIONE, modello che è costituito da tutti gli elaborati dell implementazione, come il codice sorgente, la definizione delle basi di dati, le pagine JSP/XML/HTML e così via. Prima di realizzare il Modello di Implementazione risultante, introdurre l ambiente di sviluppo adoperato e raffinare i seguenti elaborati della Fase di Elaborazione: Modello dei Dati Realizzare lo schema logico ottenuto mediante una traduzione verso il modello relazionale Modello di progetto - Realizzare in aggiunta all elaborato pre-esistente i seguenti diagrammi: o diagrammi UML con annidamento dei package o diagrammi UML delle classi software per ogni package o diagramma UML di stato
Raffinamento elaborato «MODELLO DEI DATI» Inserimento del Modello relazionale...
Raffinamento elaborato «MODELLO DI PROGETTO» Inserimento dei diagrammi UML con annidamento dei package, delle classi software per ogni package e diagramma UML di stato del tavolo...
Diagrammi UML con annidamento dei package (Componente Cameriere)
Diagrammi UML con annidamento dei package (Componente Cassiere)
E cosi via anche per i package com.ui.cameriere e com.ui.cameriere
Diagramma UML di Stato Il diagramma UML di Stato riportato in figura mostra le azioni di transizione che determinano la modifica dello stato del Tavolo da Libero ad Occupato e viceversa. Si definisce stato la condizione di un oggetto in un certo intervallo di tempo, il tempo tra due eventi. All avvio del Sistema, lo Stato iniziale del Tavolo è posto a Libero e ne determina il passaggio in Occupato solo l avvio dell azione OccupaTavolo da parte del Cameriere. Il passaggio dello stato a Libero da Occupato è vincolato dall azione di transizione RilasciaTavolo da parte del Cassiere. Si osserva come lo stato finale che precede la chiusura del Sistema sia solo lo stato Libero, in quanto non avrebbe senso chiudere il Sistema avendo ancora tavoli occupati, per i quali non è stato ancora emesso lo scontrino o fattura con successivo rilascio del Tavolo.
Elaborato COSTRUZIONE: «Modello di Implementazione» A differenza degli altri modelli UP realizzati durante il processo di sviluppo del software, costituiti da testo e diagrammi, il modello di implementazione è l effettivo codice sorgente, che comprende gli script SQL per la creazione del database, la definizione delle classi di tutti i package ed infine i file XML che definiscono le interfacce utenti.
Stralcio del «Modello di Implementazione»...
Beta test Rilascio agli utenti IV FASE U.P.: TRANSIZIONE
Riferimenti bibliografici - Craig Larman, Applicare UML e i pattern. Analisi e progettazione orientata agli oggetti, Pearson, 2005 - Damiani Ernesto; Madravio Mauro; Böhm Andrea, UML pratico con elementi di ingegneria del software, Pearson, 2007 - W. Zuser; S. Biffl; T. Grechenig; M. Köhle, Ingegneria del software con UML e Unified Process, McGraw-Hill, 2004 - I. Sommerville, Ingegneria del software (8a edizione), Addison Wesley, 2008 - R. S. Pressman, Principi di Ingegneria del Software (quinta edizione), McGraw-Hill, 2008 - Gamma, Helm, Johnson,Vlissides, Design pattern, Pearson, 2002