410 likes | 722 Views
Alma Mater Studiorum Università di Bologna Facoltà di Economia – Bologna Corsi di Laurea CLEA, CLED, CLEF, CLEM Prof. Jacopo Di Cocco. Idoneità in informatica Sistemi informatici Produrre, raccogliere e fornire le informazioni della propria sede di lavoro
E N D
Alma Mater Studiorum Università di BolognaFacoltà di Economia – BolognaCorsi di Laurea CLEA, CLED, CLEF, CLEM Prof. Jacopo Di Cocco Idoneità in informatica Sistemi informatici Produrre, raccogliere e fornire le informazioni della propria sede di lavoro (I sistemi informativi e le basi dei dati)
Generare, trovare e conservare i dati I DBMSsono strumenti essenziali per: • La definizione e gestione degli archivi informativi automatizzati e formalizzati (data base) • la raccolta controllata dei dati (data entry) • La reperibilità delle informazioni (query) • La generazione di informazioni derivate (elaborazioni) • 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 Data base
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 Data base
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 Data base
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 generale Lo schema oggi più utilizzato, integrabile con i successivi • Ad oggetti: informazioni + regole di comportamento Uno schema che ha richiesto l’integrazione con il relazionale • Informationretrieval: per le ricerche nei testi Prima separati ora sempre più integrati con i relazionali Data base
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 Data base
Schema di tabella (glossario) Data base
Esempio di tabella(Studenti) Data base
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 Data base
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 Data base
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.) Data base
Strumenti: interfaccia utente, linguaggi, import-export dati • Le maschere d’immissione dati (form) • Le maschere di ricerca ed elaborazione (query) • Irendiconti periodici o a richiesta (report) • Macro e linguaggi di programmazione • Interfacce web (per operare da siti web) • Gli scambi di dati con altri applicativi Data base
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 Data base
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 Data base
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 Data base
Fasi del ciclo di vita del SIA Data base
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 Data base
Rappresentazione schematica delle fasi di pianificazione Data base
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 Data base
Livelli dell’organizzazione, attività e bisogni informativi Data base
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 Data base
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 Data base
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 Data base
Sviluppo: scrivere e controllare il programma del prototipo • Gruppo di sviluppo • Quantità di codice da scrivere • Strumenti di sviluppo • Vincoli temporali • Programmazione • a test: la prova tecnica di funzionalità • Installazione del prototipo dai clienti Data base
Prove, malfunzionamenti, correzioni • b 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 Data base
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 Data base
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 condizioni • Sono della Facoltà di economia, sede di Rimini • Sono di più corsi di laurea triennali • Frequentano i tre anni di corso o fuori corso (4, 5, …) • I fuori corso non hanno nuove materie obbligatorie • Suo compito segnalare le difficoltà nel regolare superamento delle discipline obbligatorie Data base
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 Data base
Esempio: le entità • Facoltà • Corsi di laurea triennali • Materie attivate • Docenti delle singole discipline • Studenti seguiti • Esami sostenuti nelle materie obbligatorie Data base
Gli attributi dell’entità: Facoltà • Codice identificativo (chiave principale) • Logo • Denominazione • Preside (codice docente) • Telefono presidenza • E-mail presidenza • Data aggiornamento Data base
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 Data base
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 Data base
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 Data base
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 Data base
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) Data base
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 -< Materia (1 a molti) • Studente -< Esami (1 a molti) Data base
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 Data base
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 Data base
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 Data base
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) Data base
Esempio: i rapporti testuali • Piano di studi di uno studente • Certificato degli esami sostenuti Data base