Politecnico di Bari Corso di Laurea Specialistica in Ingegneria Informatica A.A. 2008-09 Casi di Studio Traccia n° 1 Si vuole realizzare un portale web per la gestione della rete di vendita di un'azienda distributrice nell’ambito della grande distribuzione organizzata (GDO). Il portale deve assicurare la fruizione dei seguenti servizi: 1. gestione dell’anagrafica dei punti vendita (pdv) operanti in Puglia, Campania, Calabria e Molise e gestione dell’anagrafica dei prodotti con i relativi fornitori; 2. raccolta ordini dai pdv mediante la visualizzazione del listino dei prodotti (che può essere diverso per ogni pdv) e l’aggiunta al “carrello” dei prodotti; 3. divulgazione dei listini dei prodotti e delle promozioni con possibilità di visualizzare il volantino pubblicitario; 4. tracking degli ordini: possibilità di vedere lo stato dell’ordine (pervenuto – in preparazione – fatturato etc); 5. accesso dei pdv ad una sezione dedicata per esprimere il grado di soddisfazione/insoddisfazione per il servizio dell’azienda distributrice e per segnalare eventuali anomalie riscontrate alla consegna; 6. gestione delle prenotazioni per le offerte speciali. Inoltre, il sistema software deve rispettare le seguenti specifiche: • il sistema deve mantenere e far visualizzare lo storico degli ordini e delle promozioni • tutti i pdv saranno dotati di username e password forniti dall’amministratore di sistema • un pdv dovrà essere caratterizzato dall’insegna di appartenenza, mentre un prodotto ha sia informazioni relativi al prezzo normale e in promozione che dati “logistici” (pezzi per collo – disponibilità – dimensioni/volumetria etc) • ogni pdv può visualizzare il proprio listino prodotti e con chiavi di ricerca quali nome prodotto, reparto, fornitore, etc. scegliere il prodotto, fornire la quantità e portarlo nel carrello. • un’offerta speciale è declinata in un periodo di tempo al pdv (sell in) per una insegna (tutti i pdv aderenti) e per un insieme di prodotti/prezzo. In questo caso, il pdv ha la possibilità di “prenotare” dei prodotti e definire i dettagli sulla base del calendario delle consegne. La progettazione del sistema deve essere articolata in una fase di analisi ed una fase di progettazione descritte secondo lo standard UML a cui seguirà la fase di implementazione: Fase di analisi: consiste nella realizzazione del documento di analisi, che descrive: 1. la raccolta e l’analisi dei requisiti 2. l’analisi di dominio e la definizione del vocabolario di riferimento 3. la descrizione delle funzionalità del sistema software, formalizzati mediante il diagramma dei casi d’uso e gli scenari di base e alternativi 4. aggiunta dei diagrammi che si ritengono opportuni. Fase di progetto: consiste nella realizzazione del documento di progetto, che descrive: 1. le scelte architetturali più opportune per il sistema software e il diagramma delle componenti 2. definizione dell’ambiente in cui il software dovrà funzionare 3. il progetto dei dati, contenente la modellazione concettuale e logica del database 4. individuazione di pattern (anche architetturali) che possano al meglio caratterizzare il progetto dell’applicazione 5. il progetto di dettaglio, corredato del diagramma delle classi e dei diagrammi di sequenza Fase di implementazione: realizzazione del sistema software in un linguaggio di programmazione secondo le specifiche del documento di progetto: • individuare un opportuno linguaggio di programmazione e le tecnologie necessarie per la realizzazione del sistema suddetto • applicare il concetto del riuso (mediante strumenti quali framework, librerie, package) valutandone la qualità e l’applicabilità al progetto in esame • realizzazione e installazione del sistema con relative istruzioni di installazione Strumenti Consigliati: - un tool di modellazione UML - Eclipse o NetBeans per l'implementazione Traccia n° 2 Si vuole realizzare un portale web per la garantire la tracciabilità e la rintracciabilità dei prodotti caseari dell’Associazione Regionale degli Allevatori Pugliesi. Il portale deve assicurare la fruizione dei seguenti servizi: 1. gestione dell’anagrafica degli allevatori, dei caseifici e di tutte le strutture che appartengono alla filiera di produzione di interesse; 2. registrazione dei caseifici/aziende che vogliono vendere i loro prodotti on-line; 3. gestione della tracciabilità dei prodotti; 4. visualizzazione dell’etichetta di ogni prodotto con le informazioni relative alla sua “storia” oltre ad un’immagine e al prezzo; 5. possibilità per un generico utente di acquistare i prodotti specificando il tipo di pagamento (on-line o alla consegna); 6. gestione delle consegne con la definizione dell’organizzazione delle consegne e l’evasione degli ordini relativi. Inoltre, il sistema software deve rispettare le seguenti specifiche: • il sistema deve mantenere e far visualizzare lo storico degli ordini e delle consegne • la gestione degli ordini va fatta considerando la disponibilità del magazzino • l’etichettatura dei prodotti deve seguire la normativa vigente È necessario definire le categorie degli utenti del sistema sulla base dell’analisi della filiera di produzione in oggetto. La progettazione del sistema deve essere articolata in una fase di analisi ed una fase di progettazione descritte secondo lo standard UML a cui seguirà la fase di implementazione: Fase di analisi: consiste nella realizzazione del documento di analisi, che descrive: 1. la raccolta e l’analisi dei requisiti 2. l’analisi di dominio e la definizione del vocabolario di riferimento 3. la descrizione delle funzionalità del sistema software, formalizzati mediante il diagramma dei casi d’uso e gli scenari di base e alternativi 4. aggiunta dei diagrammi che si ritengono opportuni. Fase di progetto: consiste nella realizzazione del documento di progetto, che descrive: 1. le scelte architetturali più opportune per il sistema software e il diagramma delle componenti 2. definizione dell’ambiente in cui il software dovrà funzionare 3. il progetto dei dati, contenente la modellazione concettuale e logica del database 4. individuazione di pattern (anche architetturali) che possano al meglio caratterizzare il progetto dell’applicazione 5. il progetto di dettaglio, corredato del diagramma delle classi e dei diagrammi di sequenza Fase di implementazione: realizzazione del sistema software in un linguaggio di programmazione secondo le specifiche del documento di progetto: • individuare un opportuno linguaggio di programmazione e le tecnologie necessarie per la realizzazione del sistema suddetto • applicare il concetto del riuso (mediante strumenti quali framework, librerie, package) valutandone la qualità e l’applicabilità al progetto in esame • realizzazione e installazione del sistema con relative istruzioni di installazione Strumenti Consigliati: - un tool di modellazione UML - Eclipse o NetBeans per l'implementazione Traccia n° 3 Si vuole realizzare un portale web per favorire la comunicazione tra aziende e candidati che presenta due diverse interfacce: una dedicata alle aziende che ricercano personale da assumere e l’altra dedicata ai candidati in cerca di lavoro. Il portale deve assicurare la fruizione dei seguenti servizi: 1. registrazione delle aziende e dei candidati; 2. gestione degli annunci delle aziende; 3. gestione del curriculum vitae del candidato; 4. ricerca degli annunci delle aziende (richiesta lato candidato); 5. ricerca sulla base dei curricula dei candidati (richiesta lato azienda); 6. possibilità di contattare per mail un’azienda o un candidato a seguito di una ricerca mediante selezione dei risultati ‘positivi’. Inoltre, il sistema software deve rispettare le seguenti specifiche: • sia le aziende che i candidati devono essere registrati e disporre di username e password • tutti i risultati devono essere ordinati secondo il numero di caratteristiche soddisfatte dal più rilevante al meno rilevante • l’inserimento del curriculum vitae (CV) richiede la compilazione di appositi campi ed aree di testo che permettono al sistema di creare automaticamente il CV in formato europeo del candidato • interfaccia grafica user-friendly È necessario definire una macro-classificazione delle competenze, dei settori di lavoro, ecc. per favorire l’inserimento ed il recupero delle informazioni richieste. La progettazione del sistema deve essere articolata in una fase di analisi ed una fase di progettazione descritte secondo lo standard UML a cui seguirà la fase di implementazione: Fase di analisi: consiste nella realizzazione del documento di analisi, che descrive: 1. la raccolta e l’analisi dei requisiti 2. l’analisi di dominio e la definizione del vocabolario di riferimento 3. la descrizione delle funzionalità del sistema software, formalizzati mediante il diagramma dei casi d’uso e gli scenari di base e alternativi 4. aggiunta dei diagrammi che si ritengono opportuni. Fase di progetto: consiste nella realizzazione del documento di progetto, che descrive: 1. le scelte architetturali più opportune per il sistema software e il diagramma delle componenti 2. definizione dell’ambiente in cui il software dovrà funzionare 3. il progetto dei dati, contenente la modellazione concettuale e logica del database 4. individuazione di pattern (anche architetturali) che possano al meglio caratterizzare il progetto dell’applicazione 5. il progetto di dettaglio, corredato del diagramma delle classi e dei diagrammi di sequenza Fase di implementazione: realizzazione del sistema software in un linguaggio di programmazione secondo le specifiche del documento di progetto: • individuare un opportuno linguaggio di programmazione e le tecnologie necessarie per la realizzazione del sistema suddetto • applicare il concetto del riuso (mediante strumenti quali framework, librerie, package) valutandone la qualità e l’applicabilità al progetto in esame • realizzazione e installazione del sistema con relative istruzioni di installazione Strumenti Consigliati: - un tool di modellazione UML - Eclipse o NetBeans per l'implementazione Traccia n° 4 Si vuole realizzare un portale web per la gestione dell'archivio delle cartelle cliniche dei pazienti seguiti dai dipendenti del sistema sanitario regionale (SSR). Il portale deve assicurare la fruizione dei seguenti servizi: 1. gestione dei dati anagrafici dei dipendenti delle ASL con indicazione del profilo professionale e delle unità operative in cui prestano servizio; 2. registrazione dei pazienti con relativa anamnesi; 3. gestione delle cartelle cliniche dei pazienti. Ciascun paziente potrebbe avere più cartelle ognuna seguita da un medico diverso; 4. visualizzazione dei pazienti associati ad ogni dipendente 5. visualizzazione dei dati delle cartelle cliniche sulla base di chiavi di ricerca (malattie, interventi, farmaci, ecc.) 6. gestione delle statistiche accessibile ai soli responsabili del SSR Inoltre, il sistema software deve rispettare le seguenti specifiche: • il sistema deve permettere ad un medico l’accesso alle sole cartelle cliniche dei propri pazienti (salvo diversa autorizzazione da parte dell’amministratore di sistema) • il sistema deve permettere ad un paziente l’accesso alle proprie cartelle cliniche (salvo diversa autorizzazione da parte dell’amministratore di sistema) • la gestione di una cartella prevede la gestione di una serie di dati relativi a malattie, cure, operazioni, esami, periodi di ricovero, ecc. • la gestione delle statistiche produce report (tabelle e/o grafici) che elaborano i dati “storici” delle cartelle cliniche (es. incidenza delle patologie in funzione della provincia, della fascia di età dei pazienti, ecc) La progettazione del sistema deve essere articolata in una fase di analisi ed una fase di progettazione descritte secondo lo standard UML a cui seguirà la fase di implementazione: Fase di analisi: consiste nella realizzazione del documento di analisi, che descrive: 1. la raccolta e l’analisi dei requisiti 2. l’analisi di dominio e la definizione del vocabolario di riferimento 3. la descrizione delle funzionalità del sistema software, formalizzati mediante il diagramma dei casi d’uso e gli scenari di base e alternativi 4. aggiunta dei diagrammi che si ritengono opportuni. Fase di progetto: consiste nella realizzazione del documento di progetto, che descrive: 1. le scelte architetturali più opportune per il sistema software e il diagramma delle componenti 2. definizione dell’ambiente in cui il software dovrà funzionare 3. il progetto dei dati, contenente la modellazione concettuale e logica del database 4. individuazione di pattern (anche architetturali) che possano al meglio caratterizzare il progetto dell’applicazione 5. il progetto di dettaglio, corredato del diagramma delle classi e dei diagrammi di sequenza Fase di implementazione: realizzazione del sistema software in un linguaggio di programmazione secondo le specifiche del documento di progetto: • individuare un opportuno linguaggio di programmazione e le tecnologie necessarie per la realizzazione del sistema suddetto • applicare il concetto del riuso (mediante strumenti quali framework, librerie, package) valutandone la qualità e l’applicabilità al progetto in esame • realizzazione e installazione del sistema con relative istruzioni di installazione Strumenti Consigliati: - un tool di modellazione UML - Eclipse o NetBeans per l'implementazione