7_ProgConcettuale - Dipartimento di Ingegneria dell

Download Report

Transcript 7_ProgConcettuale - Dipartimento di Ingegneria dell

Progettazione concettuale

persona impiegato lavora in datore

Progettazione concettuale

Ente

1

requisiti del Sistema informativo progettazione concettuale SCHEMA CONCETTUALE progettazione logica SCHEMA LOGICO progettazione fisica

Analisi dei requisiti e progettazione concettuale ("Analisi dei dati")

 Comprende attività (interconnesse) di  acquisizione dei requisiti  analisi dei requisiti   costruzione dello schema concettuale costruzione del glossario dei termini

Impiego corrente Datore Impiego passato Partecipante Dipendente Professionista

Progettazione concettuale 3

Raccolta dei requisiti

 E’ la fase in cui si individuano   i problemi che l’applicazione da realizzare deve risolvere le caratteristiche che tale applicazione dovrà avere:  aspetti statici (dati)  aspetti dinamici (operazioni sui dati) Progettazione concettuale 4

Analisi dei requisiti

 Inizialmente i requisiti sono raccolti in linguaggio naturale e sono spesso ambigue e disorganizzate  L’analisi dei requisiti consiste nel chiarimento e nell’organizzazione delle specifiche dei requisiti Progettazione concettuale 5

Requisiti

 Possibili fonti diversificate tra loro, per l’acquisizione dei requisiti:  utenti , attraverso:  interviste  documentazione scritta apposita  documentazione esistente:  normative (leggi, regolamenti di settore)  regolamenti interni, procedure aziendali  modulistica  realizzazioni preesistenti: applicazioni da rimpiazzare o che devono interagire con il software da realizzare Progettazione concettuale 6

Acquisizione e analisi dei requisiti

 Il reperimento dei requisiti è un'attività difficile e non standardizzabile  l'attività di analisi inizia con i primi requisiti raccolti e spesso indirizza verso altre acquisizioni; spesso procede parallelamente alla realizzazione dello schema E-R Progettazione concettuale 7

Acquisizione per interviste con gli utenti

  utenti diversi possono fornire informazioni diverse utenti a livello più alto hanno spesso una visione

più ampia ma meno dettagliata

 le interviste portano spesso ad una acquisizione dei requisiti “per raffinamenti successivi” Progettazione concettuale 8

Interazione con gli utenti

 Spunti:  effettuare spesso verifiche di comprensione e coerenza sulle informazioni raccolte  verificare anche per mezzo di esempi (generali e relativi a casi limite)  richiedere definizioni e classificazioni  far evidenziare gli aspetti essenziali rispetto a quelli marginali Progettazione concettuale 9

Un esempio

Società di formazione (1) 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.

Società di formazione (2) 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.

Società di formazione (3) 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. I docenti possono essere dipendenti interni della società o collaboratori esterni.

Requisiti: documentazione descrittiva

 Regole generali:  scegliere il corretto livello di astrazione  standardizzare la struttura delle frasi  suddividere le frasi articolate  separare le frasi sui

dati

da quelle sulle

funzioni

Progettazione concettuale 13

Glossario dei termini, omonimi e sinonimi

  Raramente i requisisti espressi in linguaggio naturale sono privi di ambiguità. È infatti frequente il caso di Omonimi : lo stesso termine viene usato per descrivere concetti differenti (es: libro e copia di libro, posto di lavoro e geografico) Sinonimi: termini diversi vengono usati per descrivere lo stesso concetto (es: studente e partecipante) Un modo conveniente per rappresentare i concetti più rilevanti emersi dall’analisi è il glossario dei termini, il cui scopo è fornire per ogni concetto rilevante:    Una breve descrizione del concetto Eventuali sinonimi Relazioni con altri concetti del glossario stesso Progettazione concettuale 14

Requisiti: organizzazione di termini e concetti

 Regole generali  costruire un glossario dei termini  individuare omonimi e sinonimi e unificare i termini  rendere esplicito il riferimento fra termini  riorganizzare le frasi per concetti Progettazione concettuale 15

Glossario dei termini

Termine

Partecipante Persona che Docente Corso Società

Descrizione

partecipa ai corsi

Sinonimi

Studente

Collegamenti

Corso, Società Insegnante Corso Docente dei corsi.

Può essere esterno Corso organizzato dalla società. Può avere più edizioni.

Seminario Ente presso cui i partecipanti lavorano Posti o hanno lavorato Progettazione concettuale Docente Partecipante 16

Ristrutturazione dei requisiti

 Oltre a costruire il glossario, per semplificare le analisi successive, è utile riformulare i requisiti:    Eliminare le omonimie Usare un termine univoco per ogni concetto

Riorganizzare le frasi raggruppandole in base al concetto cui si riferiscono

Nell’esempio:  Frasi di carattere generale  Frasi riferite ai partecipanti  Frasi riferite ai docenti   Frasi riferite ai corsi Frasi riferite alle società Progettazione concettuale 17

Strutturazione dei requisiti in gruppi di frasi omogenee

Frasi di carattere generale 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.

Progettazione concettuale 18

Frasi relative ai partecipanti Per i partecipanti (circa 5000), identificati da un codice, rappresentiamo il codice fiscale, il cognome, l'età, il sesso, la città di nascita, i nomi dei loro attuali datori di lavoro e di quelli precedenti (insieme alle date di inizio e fine rapporto), le edizioni dei corsi che stanno attualmente frequentando e quelli che hanno frequentato nel passato, con la relativa votazione finale in decimi.

Progettazione concettuale 19

Frasi relative ai datori di lavoro Relativamente ai datori di lavoro presenti e passati dei partecipanti, rappresentiamo il nome, l'indirizzo e il numero di telefono. Frasi relative ai corsi Per i corsi (circa 200), rappresentiamo il titolo e il codice, le varie edizioni con date di inizio e fine e, per ogni edizione, rappresentiamo il numero di partecipanti e il giorno della settimana, le aule e le ore dove sono tenute le lezioni.

Frasi relative a tipi specifici di partecipanti Per i partecipanti che sono liberi professionisti, rappresentiamo l'area di interesse e, se lo possiedono, il titolo professionale. Per i partecipanti che sono dipendenti, rappresentiamo invece il loro livello e la posizione ricoperta.

Progettazione concettuale 21

Frasi relative ai docenti Per i docenti (circa 300), rappresentiamo il cognome, l'età, la città di nascita, tutti i numeri di telefono, il titolo del corso che insegnano, di quelli che hanno insegnato nel passato e di quelli che possono insegnare. I docenti possono essere dipendenti interni della società di formazione o collaboratori esterni.

Progettazione concettuale 22

Operazioni sui dati

 E' importante raccogliere specifiche sulle operazioni da effettuare sui dati  Utilizzando le stessa terminologia usata per i dati  Descrivendo la frequenza con la quale le varie operazioni sono eseguite Progettazione concettuale 23

Operazioni sulla società di formazione

1.

2.

3.

4.

5.

6.

7.

8.

Inserisci un nuovo partecipante indicando tutti i suoi dati

(40/giorno)

Assegna un partecipante a una edizione di corso

(50/giorno)

Inserisci un nuovo docente indicando dati e corsi che può insegnare

(2/giorno)

Assegna un docente abilitato a una edizione di corso

(15/giorno)

Stampa tutte le informazioni sulle edizioni passate di un corso, con titolo, orari, lezioni e numero partecipanti

(10/giorno)

Stampa tutti i corsi offerti, con informazioni sui docenti che possono insegnarli

(20/giorno)

Per ogni docente, trova i partecipanti a tutti i corsi da lui insegnati

(5/settimana)

Effettua una statistica su tutti i partecipanti a un corso, con tutte le informazioni su di essi, sulla edizione a cui hanno partecipato, e la rispettiva votazione

(10/mese)

24

Criteri di rappresentazione

 Quale costrutto E-R va utilizzato per rappresentare un concetto presente nelle specifiche informali?

 Bisogna basarsi sulle definizioni dei costrutti del modello E-R Progettazione concettuale 25

Trasformazione in schema E-R

Progettazione concettuale 26

Strategie di progetto

 top-down : si parte da uno schema iniziale molto

astratto ma completo, che viene successivamente raffinato fino ad arrivare allo schema finale

bottom-up

: si suddividono le specifiche in modo da sviluppare semplici schemi parziali ma dettagliati, che poi vengono integrati tra loro

inside-out:

lo schema si sviluppa “a macchia d’olio”, partendo dai concetti più importanti, aggiungendo quelli a essi correlati, e così via Progettazione concettuale 27

Strategia top-down

Schema finale

Progettazione concettuale 28

Primitive di raffinamento top-down

 Entità  entità Gerarchia di

Persona Uomo Persona Donna

Progettazione concettuale 29

 Entità  Entità e associazioni

Esame

 Entità  Entità e attributi

Impiegato Studente Esame Corso Cognome Età Impiegato Stipendio

 Associazioni  Più associazioni

Persona Di Città

 Associazioni  Entità e associazioni

Persona nata vive Città Dipendente in Dipartimento Dipendente lavora con Dirigente dirige Dipartimento

Realizzazione di uno schema concettuale con applicazione delle primitive di raffinamento top-down

Cognome Persona Età Studente Corso Uomo Stipendio Donna

Strategia bottom-up

Progettazione concettuale 33

Primitive di raffinamento bottom-up

 Specifiche su concetto  Nuova entità

specifica su studente

.. per gli 5000), identificati da un codice, nascita studenti (circa si vuole memorizzare il codice fiscale, il cognome, l'età, il sesso, il luogo di Progettazione concettuale

Studente

34

 Entità isolate  Associazioni tra le entità

Studente Studente Esame Corso Corso

 Entità isolate  Gerarchia di generalizzazione

Persona Dipendente Dirigente Dipendente Dirigente

Realizzazione dello schema con l’applicazione delle primitive di raffinamento Bottom-up

Specifica su impiegato

Un esempio già visto…

Si vuole modellare il sistema informativo di un’azienda con sedi dislocate in diverse città. Gli impiegati dell’azienda sono identificati da un codice e afferiscono a un dipartimento (a partire da una certa data). Ogni dipartimento ha un nome, un direttore e un numero di telefono ed è dislocato su una sola sede, di cui è noto l’indirizzo. Gli impiegati partecipano a diversi progetti, che sono caratterizzati da un nome, un budget e una data di consegna. Progettazione concettuale 37

…modellato con strategia inside-out

Cognome Codice Impiegato (0,N) Partecipazione (1,N) (0,1) Direzione (1,1) Telefono (1,N) Dipartimento (0,1) Afferenza (1,N) (0,1) Data (1,1) Composizione (1,N) Nome Sede Progetto Via Indirizzo Budget Nome Città CAP

Strategia mista

a) si individuano i concetti principali e si realizza uno schema scheletro Si organizzano i concetti più importanti in un semplice schema concettuale

b) Sulla base dello schema scheletro si può decomporre, raffinare, espandere, integrare

c) Analisi di qualità dello schema ed eventuale ristrutturazione

Vantaggi della strategia mista

 E' la più flessibile tra le strategie, si adatta a esigenze contrapposte:  Suddividere un problema complesso in sottoproblemi  Procedere per raffinamenti successivi  In tutti i casi pratici di una certa complessità, la strategia mista è l'unica che si può effettivamente adottare Progettazione concettuale 42

Qualità di uno schema concettuale

 correttezza : uno schema E-R è

corretto

quando utilizza propriamente i costrutti messi a disposizione dal modello E-R. Possono esserci: errori sintattici (uso non ammesso di costrutti) errori semantici (uso di costrutti che non rispetta la definizione)  completezza : uno schema E-R è

completo

quando rappresenta tutti i dati di interesse e tutte le operazioni possono essere eseguite a partire dai concetti descritti dallo schema Progettazione concettuale 43

  leggibilità : uno schema E-R è leggibile quando rappresenta tutti i dati in maniera naturale e comprensibile minimalità : uno schema E-R è minimale quando tutte le specifiche sui dati sono rappresentate una sola volta nello schema  uno schema non è minimale quando esistono delle ridondanze , cioè concetti che possono essere derivati da altri.  Non sempre una ridondanza è indesiderata, ma può nascere da precise scelte progettuali Progettazione concettuale 44

Un esempio di progettazione concettuale Società di formazione

Frasi di carattere generale 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.

Progettazione concettuale 45

Schema scheletro

Corso Partecipazione Docenza Partecipante

Progettazione concettuale

Docente

46

Frasi relative ai partecipanti Per i partecipanti (circa 5000), identificati da un codice, rappresentiamo il codice fiscale, il cognome, l'età, il sesso, la città di nascita, i nomi dei loro attuali datori di lavoro e di quelli precedenti (insieme alle date di inizio e fine rapporto), le edizioni dei corsi che stanno attualmente frequentando e quelli che hanno frequentato nel passato, con la relativa votazione finale in decimi.

Progettazione concettuale 47

Raffinamento di partecipante

Partecipante CF Codice …..

Progettazione concettuale 48

Frasi relative ai datori di lavoro Relativamente ai datori di lavoro presenti e passati dei partecipanti, rappresentiamo il nome, l'indirizzo e il numero di telefono. Frasi relative a tipi specifici di partecipanti Per i partecipanti che sono liberi professionisti, rappresentiamo l'area di interesse e, se lo possiedono, il titolo professionale. Per i partecipanti che sono dipendenti, rappresentiamo invece il loro livello e la posizione ricoperta.

(0,N) (1,1) Impiego corrente Livello Datore (0,N) Impiego passato (0,N) Partecipante Dipendente Posizione Nome …..

CF Codice …..

Professionista Titolo prof.

Area

Frasi relative ai corsi Per i corsi (circa 200), rappresentiamo il titolo e il codice, le varie edizioni con date di inizio e fine e, per ogni edizione, rappresentiamo il numero di partecipanti e il giorno della settimana, le aule e le ore dove sono tenute le lezioni.

Progettazione concettuale 51

Data inizio (1,1) Tipologia (0,N) Corso Data fine N.Part.

Edizione corso (1,N) Composizione (1,1) Lezione Titolo Codice Orario Aula Giorno

Frasi relative ai docenti Per i docenti (circa 300), rappresentiamo il cognome, l'età, la città di nascita, tutti i numeri di telefono, il titolo del corso che insegnano, di quelli che hanno insegnato nel passato e di quelli che possono insegnare. I docenti possono essere dipendenti interni della società di formazione o collaboratori esterni.

Progettazione concettuale 53

Raffinamento di docente

Telefono (1,N) Docente Città nascita CF Cognome Età Collaboratore

Progettazione concettuale

Interno

54

Partecipazione

Integrazione

Corso Docenza Partecipante

Progettazione concettuale

Docente

55

Integrazione: partecipante e corso

(0,N) partecipazione passata (0,N) (0,1) (0,N) partecipazione Partecipazione corrente Edizione Corso corso

Progettazione concettuale 56

Data inizio

Integrazione: docente e corso

(0,1) Docenza passata (0,N) Edizione Corso corso (1,1) (0,1) Docenza corrente (0,1) Tipologia (0,N) Corso (1,N) Abilitazione (1,N) Titolo Codice

Esercizio

Si vuole rappresentare la base di dati di un archivio fotografico distribuito in varie sedi.

 Le foto hanno un titolo, una descrizione, una dimensione, uno stato di conservazione, una data e, quando noto, un autore; per le foto a colori, è indicato il tipo di stampa (chiaro o opaco). Le foto sono reperibili in archivi, di cui è registrato il responsabile (dati anagrafici, recapito, e-mail) e l’indirizzo web.  Le fotografie appartengono a una categoria e possono riprendere uno o più soggetti (personaggi, luoghi, oggetti, opere d’arte...). Ciascun soggetto ha una propria chiave. I personaggi rappresentati hanno un nome e un sesso, data e luogo di nascita ed (eventualmente) morte. Per i personaggi politici, si indica il partito di appartenenza e l’eventuale carica governativa ricoperta. Per gli artisti, si indica la loro attività prevalente (pittura, scultura, musica, ...).  Quando le foto descrivono opere artistiche, è noto il nome dell’opera d’arte, l’artista che l’ha realizzata, il luogo dove l’opera risiede e l’anno di realizzazione. Quando le foto descrivono luoghi sono indicate le coordinate geografiche (nazione, città, via...) e una descrizione.

Esercizio

Una società multinazionale che produce abbigliamento sportivo ha sedi in diversi paesi.

 Le sedi della società sono identificate in modo univoco da un codice identificativo e sono caratterizzate da un indirizzo, da un numero di telefono e dal nominativo del responsabile. Le sedi sono suddivise in magazzini, centri di produzione e sedi di vendita al minuto.  I magazzini, caratterizzati da un loro ulteriore codice e dal numero di addetti, riforniscono i negozi in franchising (dunque non di proprietà della società). I negozi in franchising si riforniscono unicamente dal magazzino più vicino.  I centri di produzione sono caratterizzati dal numero di addetti e dalla capacità produttiva (in unità al giorno) relativa ai singoli prodotti.  Le sedi di vendita al minuto sono caratterizzate da un fatturato medio e da un elenco dei prodotti disponibili a magazzino, con relative giacenze. I negozi e le sedi di vendita al minuto vendono i loro prodotti ai clienti (che sono identificati da un codice) senza alcun rapporto esclusivo.  Per ogni transazione di vendita (sia al minuto che tra magazzini e negozi in franchising) devono essere registrate i prodotti venduti (e relative quantità), la data di vendita e il totale della transazione.