Specifiche per la produzione dei progetti per il modulo
Anno Accademico 1998/1999
I progetti hanno l'obiettivo di realizzare un (piccolo) sistema
informativo. I progetti debbono essere svolti in gruppi, preferibilmente
di tre persone. L'argomento del progetto deve essere proposto dal gruppo
e approvato dal docente,
che può essere contattato nell'orario di ricevimento. E' disponibile
in visione presso il docente documentazione di progetti svolti negli anni
scorsi. Il sistema informativo deve far uso di un DBMS relazionale. E'
a disposizione degli studenti, presso i laboratori
del Dipartimento
di Informatica e Automazione, il DBMS Access. Studenti che
dispongano di altri sistemi possono utilizzarli, previa autorizzazione
del docente.
Lo svolgimento dei progetti deve essere articolato in fasi, ognuna delle
quali deve portare alla produzione di un documento; l'insieme dei documenti
porta al fascicolo da consegnare. Esistono varie decomposizioni in fasi
del processo di sviluppo di un sistema informativo. Per omogeneità,
si propone una decomposizione unificata per tutti progetti, articolata
in sei fasi come appresso illustrato. Gli studenti che intendono sostenere
la prova parziale prevista per il 29 (o il 30) aprile, debbono consegnare
una prima parte del progetto (fasi 1-3) entro il
23 aprile e il
progetto completo entro il 10 maggio. Gli altri studenti debbono
consegnarlo prima (anche il giorno stesso) dello svolgimento della prova
scritta.
Fasi del progetto
-
Raccolta delle specifiche della realtà di interesse espresse in
linguaggio naturale, documentata con:
-
una descrizione sintetica (massimo mezza pagina) della realtà di
interesse;
-
le specifiche complete che descrivano in modo compiuto la realtà
di interesse (di solito alcune pagine).
-
Progettazione concettuale della base di dati con la produzione di uno schema
Entity-Relationship (ER), che modelli la realtà di interesse. È
necessario documentare:
-
Vari livelli di astrazione dello schema concettuale (per esempio quelli
utilizzati o utilizzabili seguendo una strategia top-down o mista).
-
Lo schema ER finale in forma completa, cioè indicando: gli attributi
di ogni entità e di ogni relationship; gli identificatori di ogni
entità; le cardinalità di ogni relationship; i ruoli per
le relationship (se necessari).
-
Un glossario dei concetti espressi nello schema concettuale, che contenga:
-
per ogni entità: descrizione del suo significato; descrizione e
dominio di ogni attributo (quando necessario); se l'attributo è
derivato, la relativa regola di computazione; identificatori dell'entità
(con specifico riferimento alle relationship e alle entità coinvolte
in eventuali identificazioni esterne);
-
per ogni relationship: descrizione del suo significato; descrizione e dominio
di ogni attributo; ruolo della partecipazione di ogni entità coinvolta
nelle relationship mettendo in evidenza il significato del ruolo (motivando,
se necessario, la scelta delle cardinalità).
-
I vincoli dello schema non esprimibili dal modello ER.
-
Produzione di un elenco delle procedure per la gestione dei dati memorizzati
nella base di dati, ciascuna con una breve descrizione in linguaggio naturale.
E' buona norma far sì che l'insieme di operazioni copra tutto lo
schema concettuale. Vanno inoltre fatte previsioni sul carico applicativo
della base di dati.
-
Progettazione logica, articolata secondo le due attivita':
-
ristrutturazione dello schema concettuale (analisi delle ridondanze, eliminazione
delle gerarchie, accorpamenti e partizionamenti, scelta degli identificatori
primari), con opportuna documentazione delle scelte fatte;
-
traduzione dello schema concettuale ristrutturato in uno schema relazionale
(completo di vincoli di chiave e di riferimento).
-
Realizzazione dell'applicazione formata dall'implementazione delle operazioni
descritte durante la terza fase, in un DBMS relazionale. La documentazione
di questa parte consiste nella specifica delle maschere, delle interrogazioni,
e nel listato delle operazioni in SQL.
-
Test dell'applicazione. La documentazione di questa parte consiste nella
definizione del contenuto di test della base di dati e nella stampa dei
risultati delle interrogazioni su tali dati.
Ultimo aggiornamento: 12 aprile 1998, Paolo
Atzeni