Alma Mater Studiorum Università di Bologna Facoltà di Economia – Bologna Corsi di Laurea CLEA,...

Post on 01-May-2015

215 views 2 download

Transcript of Alma Mater Studiorum Università di Bologna Facoltà di Economia – Bologna Corsi di Laurea CLEA,...

Alma Mater Studiorum Università di BolognaFacoltà di Economia – Bologna

Corsi di Laurea CLEA, CLED, CLEF, CLEM

Prof. Jacopo Di Cocco

Idoneità in informatica

Sistemi informaticiProdurre, raccogliere e fornire le informazioni

della propria sede di lavoro

(I sistemi informativi e le basi dei dati)

Jacopo Di Cocco Data base 2

Generare, trovare e conservare i dati

I DBMS sono strumenti essenziali per:1. La definizione e gestione degli archivi informativi automatizzati

e formalizzati (data base)2. la raccolta controllata dei dati (data entry)3. La reperibilità delle informazioni (query)4. La generazione di informazioni derivate (elaborazioni)5. La tutela dei dati (regole d’accesso, modifica ed archiviazione

• I data base sono al centro dei sistemi di automazione delle aziende e degli enti anche quando il committente vede solo applicativi specifici e personalizzati, acquistati pronti o commissionati ad hoc a software-house

Jacopo Di Cocco Data base 3

Gli argomenti che saranno trattati

• L’evoluzione dei DB: gerarchici, reticolari, relazionali, ad oggetti, information retrieval

• Lo schema teorico dei DB relazionali

• Il modello entità – relazioni

• Disegno concettuale e lo sviluppo del DB

• Realizzazione di un DB con MS-Access

Jacopo Di Cocco Data base 4

Funzioni dei Data Base Management System (DBMS)

• Condivisione: rendere utilizzabili i dati da più applicazioni ed utenti

• Assicurare, con un sistema ad hoc affidabile, la migliore gestione e salvaguardia dei dati

• Rendere più agevole la programmazione del DB• Permettere lo scambio delle informazioni

strutturate con altri archivi

Jacopo Di Cocco Data base 5

L’evoluzione dei Data Base• Gerarchici o ad albero: stile directory

concettualmente semplici, veloci, ma rigidi

• Reticolari (con percorsi trasversali)più adatti a organizzazioni complesse, ma di disegno difficile, non generalizzabile (reti predefinite)

• Relazionali: un modello concettuale generaleLo schema oggi più utilizzato, integrabile con i successivi

• Ad oggetti: informazioni + regole di comportamentoUno schema che ha richiesto l’integrazione con il relazionale

• Information retrieval: per le ricerche nei testiPrima separati ora sempre più integrati con i relazionali

Jacopo Di Cocco Data base 6

Alcune caratteristiche teoriche dei DB relazionali

• Tutte le informazioni sono registrati in tabelle bidimensionali trattate come insiemi non ordinati (né per riga né per colonna)

• Definizioni ed elaborazioni derivanti dalla matematica (in particolare l’insiemistica)

• Chiari vincoli d’integrità e non duplicazione• Un linguaggio specifico standard di

programmazione (SQL) integrabile negli altri linguaggi

Jacopo Di Cocco Data base 7

Schema di tabella (glossario)

Attributo 1 Chiave p.

Attributo 2

Chiave s1

Attributo 3 Chiave s2

Attributo 4 Carattere I

Attributo 5 Carattere II

Attributo 6 Validità

Riga = tupla = occorrenza = record = = (entità)= (relazione)

Campo a Campo b Campo c Campo d Campo e Campo f

Chiave

Primaria

Identificat1

(Chiave

Identificat2

Secondaria)

Variabile

Chiave esterna

Dato MetadatoData, periodo,

condizione, …

Codice Unità statistica Modalità Modalità Tempo, logico, ecc.

Identificatore (Nomi/loghi dell’entità) valore valore valore

Jacopo Di Cocco Data base 8

Esempio di tabella(Studenti)

Matricola Nome Cognome Corso-laurea

Anno-corso

Anno-Iscrizione

102305 Giorgio Rossi CLED 1 2003

101709 Nicola Bianchi CLEA 2 2002

102518 Maria Rossi CLEF 1 2002

100923 Sara Verdi CLEM 3 2001

Jacopo Di Cocco Data base 9

Gli attributi o colonne o campi (segue in altri lucidi)

• Attributi: identificatori e caratteri da rilevare o calcolare• Ruolo, natura o tipo degli attributi:

– Nature: chiavi o identificatori, dati, metadati (dati sui dati)– Tipi: contatori, numeri, valute, testi, date, logici, note, password, ….

• Domini o modalità ammesse nei campi– Teorici o potenziali (valori possibili= valido se)– Effettivi od osservati (valori assunti nel DB)

• Testata: riga con gli attributi o colonne d’una tabella• Dizionario dei dati: schede degli attributi nel DB:

– Codici, etichette, tipi e specifiche degli attributi– Vincoli di integrità e coerenza tra attributi

• Campi: contengono in ogni riga i valori dei singoli attributi

Jacopo Di Cocco Data base 10

Le relazioni

• 1 a 1, 1 a molti, molti a molti• All’interno della stessa tabella per elaborare le

informazioni in essa contenute– 1 a 1 nella stessa riga, record, occorrenza o entità

– 1 a 1 tra due entità (es. moglie <> marito)

– 1 a molti (es. madre <> figli)

– Molti a molti (fratelli<>sorelle, professori<>studenti)

• Tra tabelle per creare nuove informazioni• Mostrate con le viste relazionali o tabelle virtuali

Jacopo Di Cocco Data base 11

Le operazioni relazionali

• Il linguaggio SQL• Select: sceglie le righe coi valori dei campi • Project sceglie le colonne per attributo

(effetti sulle righe residue) • Join crea nuove tabelle virtuali incrociando

le tabelle esistenti• Le elaborazioni sui campi (contare,

sommare, fare statistiche, ecc.)

Jacopo Di Cocco Data base 12

Strumenti: interfaccia utente, linguaggi, import-export dati

• Le maschere d’immissione dati (form)

• Le maschere di ricerca ed elaborazione (query)

• I rendiconti periodici o a richiesta (report)

• Macro e linguaggi di programmazione

• Interfacce web (per operare da siti web)

• Gli scambi di dati con altri applicativi

Jacopo Di Cocco Data base 13

Il modello entità – relazioni

• Le entità: soggetti e oggetti descritti e trattati in tramite le relazioni 1 a 1 tra i caratteri d’una riga

• Le relazioni descrivono i legami tra entità tramite campi correlati

• Entrambe sono rappresentabili da tabelle• Le entità sono descritte dalle righe di tabelle reali

(registrate nel DB) o virtuali (create da query grazie alle relazioni)

• Le tabelle implicite delle relazioni generate dai legami definiti, contengono due o più chiavi

Jacopo Di Cocco Data base 14

La normalizzazione del DB

• Decidere le informazioni da ottenere• Definire delle entità elementari in modo da:

– Evitare la duplicazione di dati se non chiavi

– Consentire una sola immissione degli stessi dati

– Realizzare tabelle elenco dei valori ammissibili da modificarsi dinamicamente (domini non predefiniti)

• Ricavare le entità complesse con relazioni e query• Normalizzare ragionevolmente ed operativamente

Jacopo Di Cocco Data base 15

Progettazione e sviluppo del sistema informativo aziendale

• Ciclo di vita del SIA: fasi, durata prevista, versioni• Le fasi della progettazione e dell’uso

– Pianificazione– Analisi– Disegno logico– Disegno “fisico”– Sviluppo o programmazione del prototipo– Prove ed identificazione dei malfunzionamenti– Realizzazione della versione di produzione– Uso in produzione manutenzione ordinaria ed evolutiva

Jacopo Di Cocco Data base 16

Fasi del ciclo di vita del SIAU n m o de llo g e ne ra le

D ise g noIn te rfa cc ia

U ten te

D a tiE n tità e

R e la z io n i

D ise gn o d e iP ro ce ssia z ie nd a li

S v ilu p po eT e s ts

U so eM a nu ten zio ne

A n a lis id e i req u is iti

S tud iod i fa tt ib ilità

Jacopo Di Cocco Data base 17

La pianificazione del SIA

Lo studio di fattibilità individuerà

• Obiettivi e prodotti dell’azienda (business plan)

• Il modello organizzativo e gestionale

• Le esigenze informative (risultati attesi)

• I diagrammi entità-relazioni

• Le risorse disponibili

Jacopo Di Cocco Data base 18

Rappresentazione schematica delle fasi di pianificazione

I p a ssi d e lla p ian if icaz io ne

P a sso 1D e fin ire

g li o b ie tt ivia z ie nd a li

P a sso 2D e fin ire

i p ro ce ssia z ie nd a li

P a sso 3D e fin ire

i d a tia z ie nd a li

P a sso 4D e fin ire

l'a rch ite ttu rain fo rm a tiva

Jacopo Di Cocco Data base 19

I requisiti e la macro-analisi

• Il SIA di partenza e quello desiderato– Interviste per conoscere e formalizzare i processi attuali– Rilevare e formalizzare i bisogni degli utenti:

• Operativi (transazionali)• Di supervisione e controllo• Analitici e decisionali

• Conoscere e formalizzare in diagrammi: organizzazione e processi aziendali

• Individuare i vincoli e i punti di “rischio”• Disegnare i diagrammi di flusso dei dati

Jacopo Di Cocco Data base 20

Livelli dell’organizzazione, attività e bisogni informativi

R e spo n sa b ilità , s tru ttu re e co m p it i ne lla fu n zio n e d ida tt ica

L ive llo op e ra tivoD o cen ti e tu to rs

S tu de n tiS e g re te rie

O rg an izzaz io nee co n tro llo

C o m m iss io n i

P ia n if ica z io neO p era tiva

C o rso d i la u rea

P ia n if ica z io neS tra te g ica

F a co ltà

S is te m aS e na to

A cca de m ico

A ttiv ità co rre n tiL e z io n i-e serc ita z.

S tud ioIsc riz io n i, re g is tr.

F o rm az io neP ro g ra m m i

E sa m i

C o n te n u ti d e l C D LD isc ip lin e e c re d iti

P ia n i d i stu d io

O ffe rta d id a tt icaL a uree a tt iva tep e r og n i live llo

F u n zio neD id a tt ica :

L ive lli d i la u rea

U n ive rs itàD id a tt icaR ice rca

E s ig e nze in fo rm a tive d e i d ive rsi live lli

Is c riz io n iR e g is tra z io n i

C a le nd a ri e o ra riE sa m i

C u rricu la d id a tt ici

M a terie p re v is teN o m in a d oce n ti

F a co ltà a ttiva te

C a rrie reC e rtif ica ti

R e g o la rità d ida tt icaM e d ie vo ti

S tu de n ti in co rso

S tud e n ti/do cen tiIs c rit t i-co rs ./T o t. is c rit ti

Is c rit t i a te n /Isc r.It.

< e s . a tt iv itàe s .in fo rm a z io n i>

Jacopo Di Cocco Data base 21

Il disegno logico

• Le interfacce utente:– Input utenti, dai documenti ai “valori” del SIA: le maschere– Le query, schermate di risultati, tabulati, stampe (rapporti)

• I dati (entità, relazioni e dizionario dei dati):– Modello formale entità-relazione– Specifiche dei singoli dati– Vincoli di coerenza e d’integrità

• Disegno dettagliato dei processi interessati– Attività che comportano l’immissione dei dati– Attività gestionali correnti che richiedono l’estrazione di dati– Attività di supervisione e controllo che richiedono aggregazione, ri-

classificazione ed elaborazione dei dati – Attività direttive che richiedono il calcolo d’indicatori e simulazioni

Jacopo Di Cocco Data base 22

Il progetto dettagliato(redatto dalla software-house che sviluppa il prodotto SIA)

– Prerequisiti necessari e opzionali accettabili dal cliente– Moduli del programma da realizzare: loro ruolo ed

interconnessioni (flussi e vincoli tra i moduli)– Controlli e dispositivi di sicurezza da inserire– Produttività da ottenere (performance)– Tempi del progetto (diagramma di Gantt)– Installazione e collaudo– Costi di sviluppo, installazione, manutenzione (offerta

base), eventuali offerte di un servizio di assistenza, dell’HW e SW inclusi nei prerequisiti

– Approvazione da parte del cliente

Jacopo Di Cocco Data base 23

Il disegno fisico(attività tecniche della software-house)

• Specifiche dell’ambiente operativo e di rete• Specifiche del SW di base e di sviluppo• Scelta dei linguaggi di programmazione• Definizione e gestione dei livelli d’autorità• Strutture dei programmi ed attività dei moduli• Flussi nei e tra i moduli e messaggi d’errore• Specifiche delle interfacce tra i moduli e con i

programmi esterni (API)• Elenco della documentazione e manuali utente

Jacopo Di Cocco Data base 24

Sviluppo: scrivere e controllare il programma del prototipo

• Gruppo di sviluppo

• Quantità di codice da scrivere

• Strumenti di sviluppo

• Vincoli temporali

• Programmazione

• test: la prova tecnica di funzionalità

• Installazione del prototipo dai clienti

Jacopo Di Cocco Data base 25

Prove, malfunzionamenti, correzioni

• test: la prova in produzione da parte di un gruppo selezionato d’utenti esperti

• Segnalazione, descrizione e classificazione dei malfunzionamenti:– Bloccanti– Non bloccanti

• Di facile o difficile correzione– Da correggersi prima del collaudo– Da correggersi durante le manutenzioni e versioni successive

• Predisposizione della versione 1.0 ingegnerizzata

Jacopo Di Cocco Data base 26

Uso, manutenzioni, nuove versioni

• Installazione della versione 1.0 nell’ambiente di produzione

• Collaudo• Uso generalizzato• Salvataggio regolare dei dati (back up) • Manutenzioni HW e SW• Progettazione e realizzazione delle nuove

versioni

Jacopo Di Cocco Data base 27

Un esempio: i bisogni degli utenti

• Un tutor vuole un semplice strumento per seguire le carriere degli studenti delle lauree triennali, affidatigli dal Polo di Rimini

• Queste le condizioni1. Sono della Facoltà di economia, sede di Rimini2. Sono di più corsi di laurea triennali3. Frequentano i tre anni di corso o fuori corso (4, 5, …)4. I fuori corso non hanno nuove materie obbligatorie

• Suo compito segnalare le difficoltà nel regolare superamento delle discipline obbligatorie

Jacopo Di Cocco Data base 28

Esempio: le attività del processo

• Registrazione degli studenti affidatigli dalla facoltà

• Registrazioni dei corsi di laurea seguiti dagli studenti

• Registrazioni dei curricula base (discipline obbligatorie)

• Registrazione degli esami sostenuti

• Interrogazioni di una tabella per singolo attributo

• Interrogazione di più tabelle sulla base di più attributi

• Statistica delle discipline con debito di prova

• Tempestività e medie negli esami

• Rapporto sulla carriera di uno specifico studente

Jacopo Di Cocco Data base 29

Esempio: le entità

1. Facoltà

2. Corsi di laurea triennali

3. Materie attivate

4. Docenti delle singole discipline

5. Studenti seguiti

6. Esami sostenuti nelle materie obbligatorie

Jacopo Di Cocco Data base 30

Gli attributi dell’entità: Facoltà

• Codice identificativo (chiave principale)

• Logo

• Denominazione

• Preside (codice docente)

• Telefono presidenza

• E-mail presidenza

• Data aggiornamento

Jacopo Di Cocco Data base 31

Gli attributi dell’entità: Corso di laurea

• Codice identificativo (chiave principale)• Logo• Denominazione• Presidente (codice)• Telefono presidenza• E-mail presidenza• Facoltà di appartenenza (codice)• Data di aggiornamento

Jacopo Di Cocco Data base 32

Gli attributi dell’entità: Materie

• Codice identificativo (chiave principale)

• Denominazione

• Corso di laurea (codice)

• Anno di corso di frequenza (1- 3)

• Obbligatoria o facoltativa (si/no)

• Attivata (si/no)

• Data di aggiornamento

Jacopo Di Cocco Data base 33

Gli attributi dell’entità: Docenti

• Codice identificativo (chiave principale)• Nome• Cognome• Materia impartita 1 (codice)• Materia impartita 2 (codice)• Materia impartita 2 (codice)• Telefono • E-mail • Facoltà di incardinamento (codice)• Data di aggiornamento

Jacopo Di Cocco Data base 34

Gli attributi dell’entità: Studenti

• Matricola (chiave principale)

• Nome

• Cognome

• Sesso (M,F)

• Corso di laurea (Codice)

• Telefono

• E-mail

• Anno di corso (1-5)

• Data di aggiornamento

Jacopo Di Cocco Data base 35

Gli attributi dell’entità: Esami

• Identificativo esame (contatore)• Materia (codice)• Matricola studente (codice)• Data• Voto (18-30)• Lode (si/no)• Giudizio (ID, NID, Ritirato, Respinto)• PIN docente (password)

Jacopo Di Cocco Data base 36

Esempio: le relazioni base

• Facoltà Corsi di laurea (1 a molti)• Facoltà - Docente preside (1 a 1)• Corso di laurea – Docente presidente (1 a 1)• Corso di laurea Materia (1 a molti)• Corso di laurea Studenti (1 a molti)• Materie Docente (molti a molti + 1 a molti)• Docente Esami (1 a molti)• Esame ateria (1 a molti)• Studente Esami (1 a molti)

Jacopo Di Cocco Data base 37

Esempio: le maschere d’immissione

• Registrazione dell’Ateneo: – Facoltà

• Registrazioni delle presidenze: – Corsi di laurea– Materie– Docenti

• Registrazione delle segreterie e dei docenti– Studenti– Esami

Jacopo Di Cocco Data base 38

Esempio: le maschere di ricerca

• Su una tabella: – un docente– uno studente

• Su più tabelle – nome del preside o del presidente del CDL– docente di una materia

Jacopo Di Cocco Data base 39

Esempio: le viste relazionali

• Carriera di uno studente

• Esami sostenuti da uno studente

• Carico didattico di un docente

• Medie per disciplina e per docente

• Esami in ritardo per disciplina e per docente

Jacopo Di Cocco Data base 40

Esempio: l’elaborazione dei dati

• N° iscritti ad un corso di laurea per anno

• Media dei voti di uno studente

• N°esami in ritardo / N°esami previsti

• N° previsto di frequentanti per materia

• Peso relativo dei diversi corsi di laurea (iscritti al CDL/totale iscritti lauree triennali)

Jacopo Di Cocco Data base 41

Esempio: i rapporti testuali

• Piano di studi di uno studente

• Certificato degli esami sostenuti