alma mater studiorum università di bologna facoltà di economia – bologna corsi di laurea clea,...
TRANSCRIPT
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
• 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