Traccia di Programmazione - SisInf Lab

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