• Non ci sono risultati.

Corso di Basi di Dati

N/A
N/A
Protected

Academic year: 2021

Condividi "Corso di Basi di Dati"

Copied!
21
0
0

Testo completo

(1)

Corso di Basi di Dati

Raccolta ed Analisi dei

Requisiti nella Progettazione

Home page del corso:

http://www.cs.unibo.it/~difelice/dbsi/

(2)

Studio di fattibilità Raccolta/analisi

requisiti

Progettazione Implementazione

Validazione Funzionamento

Ciclo di vita di un sistema Informativo

Oggetto {

di studio del modulo corrent

e

Modulo precedent

e

Raccolta dei Requisiti

(3)

Studio/analisi dei requisiti

Progettazione concettuale

Progettazione logica Progettazione fisica

SCHEMA CONCETTUALE

SCHEMA LOGICO

SCHEMA FISICO

Fasi della progettazione

Risultati

Analisi dei requisiti e progettazione in dettaglio …

Raccolta dei Requisiti

(4)

La raccolta/analisi dei requisiti consiste nella completa individuazione dei problemi che il sistema informativo da realizzare deve risolvere e le caratteristiche che il sistema deve avere.

 Caratteristiche dei dati (informazioni + vincoli)

 Caratteristiche delle applicazioni

Q. Come e dove raccogliere informazioni sui requisiti dei dati/applicazioni?

Raccolta dei Requisiti

(5)

Fonti dell’analisi dei requisiti:

 Utenti dell’applicazione

 Interviste con i committenti

 Documentazione scritta (vedi dopo)

 Documentazione esistente

 Normative esistenti

 Procedure aziendali

 Regolamenti interni

 Realizzazioni/applicazioni preesistenti

Raccolta dei Requisiti

(6)

Raccolta dei Requisiti

http://spectrum.ieee.org/computing/software/why-software-fails

(7)

Es. Si vuole realizzare un sistema informativo per una società che eroga corsi di formazione.

Da dove partire?

 Raccolta/analisi dei requisiti per capire quali dati devono essere gestiti (studenti? corsi? etc).

 Raccolta/analisi dei requisiti per capire quali operazioni sui dati devono essere consentite.

STEP1. Produrre un documento di specifica …

Raccolta dei Requisiti

(8)

Si vuole realizzare una base di dati per una società che eroga corsi, di cui vogliamo rappresentare i dati dei partecipanti ai corsi e dei docenti. Per gli studenti (circa 5000), identificati da un codice, si vuole memorizzare il codice fiscale, il cognome, l'età, il sesso, il luogo di nascita, il nome dei loro attuali datori di lavoro, i posti dove hanno lavorato in precedenza insieme al periodo, l'indirizzo e il numero di telefono, i corsi che hanno frequentato (i corsi sono in tutto circa 200) e il giudizio finale. Rappresentiamo anche i seminari che stanno attualmente frequentando e, per ogni giorno, i luoghi e le ore dove sono tenute le lezioni. I corsi hanno un codice, un titolo e possono avere varie edizioni con date di inizio e fine e numero di partecipanti. Se gli studenti sono liberi professionisti, vogliamo conoscere l'area di interesse e, se lo possiedono, il titolo. Per quelli che lavorano alle dipendenze di altri,vogliamo conoscere invece il loro livello e la posizione ricoperta. Per gli insegnanti (circa 300), rappresentiamo il cognome, l'età, il posto dove sono nati, il nome del corso che insegnano, quelli che hanno insegnato nel passato e quelli che possono insegnare. Rappresentiamo anche tutti i loro recapiti telefonici.

Raccolta dei Requisiti

(9)

PROBLEMA: Il linguaggio naturale è spesso fonte di ambiguità e fraintendimenti …

Regole generali per il documento di specifica:

 Scegliere il corretto livello di astrazione

 Standardizzare la struttura delle frasi

 Evitare frasi contorte

 Individuare omonimi/sinonimi

 Esplicitare il riferimento tra i termini

Raccolta dei Requisiti

(10)

Si vuole realizzare una base di dati per una società che eroga corsi, di cui vogliamo rappresentare i dati dei partecipanti ai corsi e dei docenti. Per gli studenti (circa 5000), identificati da un codice, si vuole memorizzare il codice fiscale, il cognome, l'età, il sesso, il luogo di nascita, il nome dei loro attuali datori di lavoro, i posti dove hanno lavorato in precedenza insieme al periodo, l'indirizzo e il numero di telefono, i corsi che hanno frequentato (i corsi sono in tutto circa 200) e il giudizio finale (?). Rappresentiamo anche i seminari che stanno attualmente frequentando e, per ogni giorno, i luoghi e le ore dove sono tenute le lezioni. I corsi hanno un codice, un titolo e possono avere varie edizioni con date di inizio e fine e numero di partecipanti. Se gli studenti sono liberi professionisti, vogliamo conoscere l'area di interesse e, se lo possiedono, il titolo (?). Per quelli che lavorano alle dipendenze di altri,vogliamo conoscere invece il loro livello e la posizione ricoperta. Per gli insegnanti (circa 300), rappresentiamo il cognome, l'età, il posto dove sono nati, il nome del corso che insegnano, quelli che hanno insegnato nel passato e quelli che possono insegnare.

Rappresentiamo anche tutti i loro recapiti telefonici.

Raccolta dei Requisiti

(11)

PROBLEMA: Il linguaggio naturale e’ spesso fonte di ambiguita’ e fraintendimenti …

Regole generali per il documento di specifica:

 Scegliere il corretto livello di astrazione

 Standardizzare la struttura delle frasi

 Evitare frasi contorte

 Individuare omonimi/sinonimi

 Esplicitare il riferimento tra i termini

Raccolta dei Requisiti

(12)

Si vuole realizzare una base di dati per una società che eroga corsi, di cui vogliamo rappresentare i dati dei partecipanti ai corsi e dei docenti. Per gli studenti (circa 5000), identificati da un codice, si vuole memorizzare il codice fiscale, il cognome, l'età, il sesso, il luogo di nascita, il nome dei loro attuali datori di lavoro, i posti dove hanno lavorato in precedenza insieme al periodo, l'indirizzo e il numero di telefono, i corsi che hanno frequentato (i corsi sono in tutto circa 200) e il giudizio finale (?). Rappresentiamo anche i seminari che stanno attualmente frequentando e, per ogni giorno, i luoghi e le ore dove sono tenute le lezioni. I corsi hanno un codice, un titolo e possono avere varie edizioni con date di inizio e fine e numero di partecipanti. Se gli studenti sono liberi professionisti, vogliamo conoscere l'area di interesse e, se lo possiedono, il titolo (?). Per quelli che lavorano alle dipendenze di altri (= lavoratori dipendenti) ,vogliamo conoscere invece il loro livello e la posizione ricoperta. Per gli insegnanti (circa 300), rappresentiamo il cognome, l'età, il posto dove sono nati, il nome del corso che insegnano, quelli che hanno insegnato nel passato e quelli che possono insegnare. Rappresentiamo anche tutti i loro recapiti telefonici.

Raccolta dei Requisiti

(13)

PROBLEMA: Il linguaggio naturale e’ spesso fonte di ambiguita’ e fraintendimenti …

Regole generali per il documento di specifica:

 Scegliere il corretto livello di astrazione

 Standardizzare la struttura delle frasi

 Evitare frasi contorte

 Individuare omonimi/sinonimi

 Esplicitare il riferimento tra i termini

Raccolta dei Requisiti

(14)

Si vuole realizzare una base di dati per una società che eroga corsi, di cui vogliamo rappresentare i dati dei partecipanti ai corsi e dei docenti. Per gli studenti (circa 5000), identificati da un codice, si vuole memorizzare il codice fiscale, il cognome, l'età, il sesso, il luogo di nascita, il nome dei loro attuali datori di lavoro, i posti dove hanno lavorato in precedenza insieme al periodo, l'indirizzo e il numero di telefono, i corsi che hanno frequentato (i corsi sono in tutto circa 200) e il giudizio finale (?). Rappresentiamo anche i seminari che stanno attualmente frequentando e, per ogni giorno, i luoghi e le ore dove sono tenute le lezioni. I corsi hanno un codice, un titolo e possono avere varie edizioni con date di inizio e fine e numero di partecipanti. Se gli studenti sono liberi professionisti, vogliamo conoscere l'area di interesse e, se lo possiedono, il titolo (?). Per quelli che lavorano alle dipendenze di altri,vogliamo conoscere invece il loro livello e la posizione ricoperta. Per gli insegnanti (circa 300), rappresentiamo il cognome, l'età, il posto dove sono nati, il nome del corso che insegnano, quelli che hanno insegnato nel passato e quelli che possono insegnare.

Rappresentiamo anche tutti i loro recapiti telefonici.

Raccolta dei Requisiti

(15)

PROBLEMA: Il linguaggio naturale e’ spesso fonte di ambiguita’ e fraintendimenti …

Regole generali per il documento di specifica:

 Scegliere il corretto livello di astrazione

 Standardizzare la struttura delle frasi

 Evitare frasi contorte

 Individuare omonimi/sinonimi

 Esplicitare il riferimento tra i termini

Raccolta dei Requisiti

(16)

Si vuole realizzare una base di dati per una società che eroga corsi, di cui vogliamo rappresentare i dati dei partecipanti ai corsi e dei docenti. Per gli studenti (circa 5000), identificati da un codice, si vuole memorizzare il codice fiscale, il cognome, l'età, il sesso, il luogo di nascita, il nome dei loro attuali datori di lavoro, i posti dove hanno lavorato in precedenza insieme al periodo, l'indirizzo e il numero di telefono, i corsi che hanno frequentato (i corsi sono in tutto circa 200) e il giudizio finale (?). Rappresentiamo anche i seminari che stanno attualmente frequentando e, per ogni giorno, i luoghi e le ore dove sono tenute le lezioni. I corsi hanno un codice, un titolo e possono avere varie edizioni con date di inizio e fine e numero di partecipanti. Se gli studenti sono liberi professionisti, vogliamo conoscere l'area di interesse e, se lo possiedono, il titolo (?). Per quelli che lavorano alle dipendenze di altri,vogliamo conoscere invece il loro livello e la posizione ricoperta. Per gli insegnanti (circa 300), rappresentiamo il cognome, l'età, il posto dove sono nati, il nome del corso che insegnano, quelli che hanno insegnato nel passato e quelli che possono insegnare.

Rappresentiamo anche tutti i loro recapiti telefonici.

Raccolta dei Requisiti

(17)

FRASI RELATIVE AI PARTECIPANTI

Per gli studenti (circa 5000), identificati da un codice, si vuole memorizzare il codice fiscale, il cognome, l'età, il sesso, il luogo di nascita, il nome dei loro attuali datori di lavoro, i corsi che hanno frequentato (i corsi sono in tutto circa 200) e il giudizio finale. Rappresentiamo anche i seminari che stanno attualmente frequentando e, per ogni giorno, i luoghi e le ore dove sono tenute le lezioni.

FRASI RELATIVE AI DATORI DI LAVORO

Per i datori di lavoro presenti e passati, si vuole memorizzare il nome, l’indirizzo ed il numero di telefono.

FRASI RELATIVE AI CORSI

I corsi hanno un codice, un titolo e possono avere varie edizioni con date di inizio e fine e numero di partecipanti … … etc etc

Raccolta dei Requisiti

Può essere utile decomporre il testo di specifica in frasi omogenee, relative agli stessi concetti …

(18)

STEP2. Costruire un glossario dei termini, contenente: descrizione, sinonimi, collegamenti.

Raccolta dei Requisiti

Termine Descrizione Sinonimi Collegamenti Partecipante Persona che

partecipa ai corsi

Studente Corso, Società Docente Docente dei corsi.

Può essere esterno

Insegnante Corso Corso Corso organizzato

dalla società. Può avere più edizioni.

Seminario Docente

Società Ente presso cui i partecipanti lavorano o hanno lavorato

Posti Partecipante

(19)

STEP3. Definire le operazioni sui dati …

OPERAZIONE1. Inserire un nuovo partecipante.

OPERAZIONE2. Assegnare un partecipante ad un’edizione del corso.

OPERAZIONE3. Inserire un nuovo corso.

OPERAZIONE4. Visualizzare le informazioni dei corsi.

OPERAZIONE5. Per ogni docente, visualizzare le informazioni sui partecipanti dei suoi corsi.

OPERAZIONE6. Calcolare la media dei partecipanti

… … …

Raccolta dei Requisiti

(20)

Definire le operazioni sui dati è utile per:

 Verificare la completezza dei modelli sviluppati nella fase di progettazione

(logica/concettuale).

 Valutare le prestazioni dei modelli sviluppati nella fase di progettazione

(logica/concettuale).

 Fornire linee guida per l’implementazione dei dati (es. usare stored procedures per le operazioni).

Raccolta dei Requisiti

(21)

Ricapitolando:

 La raccolta/analisi dei requisiti è una fase molto complessa e non standardizzabile.

 Un possibile approccio da seguire:

1. Definizione di un documento di specifica.

2. Decomposizione del testo in gruppi di frasi.

3. Costruzione di un glossario.

4. Definizione delle operazioni sui dati.

Raccolta dei Requisiti

Riferimenti

Documenti correlati

123 Marco Marchi Associato Chimica 20000 124 Michele Micheli Associato Fisica 20000 125 Lucia Di Lucia Ordinario Fisica 30000 126 Dario Rossi Ordinario Informatica 35000 127 Mario

Oltre ad i costrutti base di SQL2 visti fin qui, esistono molti costrutti avanzati (i) definiti in SQL3 e/o (ii) dipendenti dallo specifico DBMS.. Ø  Procedure

Record di transizione  tengono traccia delle operazioni svolte da ciascuna transizione sul DBMS. Record di sistema  tengono traccia delle operazioni di

Quali tipi di dato e’ possibile memorizzare in un DB MySQL?..  Tipi di dato numerici supportati da

Il termine NoSQL identifica una moltitudine di DBMS, basati su modelli logici differenti:. 

Il termine NoSQL identifica una moltitudine di DBMS, basati su modelli logici differenti:. ² 

L’obiettivo della progettazione logica è la realizzazione del modello logico (es. relazionale) a partire dalle informazioni del modello E-R?.

Di ogni cliente si vuole memorizzare nome, cognome, data di nascita, indirizzo di residenza (strada, via, CAP).. ➢ Di ogni immobile si vogliono memorizzare le proposte