IL PATRIMONIO DI DATI E LE BASI DI DATI
Dopo aver chiarito quali tipi o classi di informazione sono trattati dal S.I.: quali tipi di dati per rappresentare tali informazioni? dove li memorizziamo? in quali database e con quali strutture? PIANIFICARE IL PATRIMONIO DI DATI E LE BASI DI DATI
Il patrimonio dei dati L insieme dei dati memorizzati e gestiti nel S.I. Il valore del patrimonio di dati: è determinato dalla capacità di rispondere alle esigenze informative di chi vi fa ricorso Dipende da: Completezza dei dati rispetto ai problemi/obiettivi Tempistica adeguata Fruibilità/accessibilità Omogeneità di rappresentazione Gli strumenti e le modalità di archiviazione elettronica del patrimonio dei dati dovrebbero essere scelti e progettati in modo da garantire gli aspetti prima indicati
PROGETTAZIONE DELLE BASI DI DATI Progettazione concettuale rappresentazione dei dati secondo schemi di interesse per l utente (quali dati, che relazione, come organizzarli) progettazione logica rappresentazione nel database informatico (quali strutture di dati, formati, ecc.) progettazione fisica rappresentazione nei termini delle unità fisiche di elaborazione (quali unità, come sono scritti e letti i dati, ecc.)
dato significato origine processo di elaboraz. Unità di misura e/o codifica Il catalogo dei dati
Esempio: codice prodotto (catena di supermercati) SIGNIFICATO: identifica un tipo di articolo o una sua confezione particolare ORIGINE: lettura codice a barre o immissione a mano PROCESSO DI ELABORAZ: memorizzazione diretta dopo validazione UNITA DI MISURA/CODIFICA: codice EAN
Esempio: costo del prodotto (catena di supermercati) SIGNIFICATO: costo medio per unità di articolo ORIGINE: costi dei lotti di prodotto acquistati PROCESSO DI ELABORAZIONE: media del costo unitario rispetto ai lotti acquistati in un periodo prefissato UNITA DI MISURA/CODIFICA: euro per unità
Catalogo dei dati e data dictionary Catalogo dei dati dal punto di vista degli utenti inventario dei dati presenti nel patrimonio aziendale, significato di ciascun dato, modalità con cui può essere reperito, ecc. data dictionary per i programmatori e gestori del sistema: definisce come i dati sono classificati nel o nei vari database, con quali attributi, quali sono specificatamente le procedure che li elaborano, da quali altri dati, ecc.
DOVE MEMORIZZARE I DATI? Possibili approcci alla memorizzazione e relative architetture
ESEMPIO il sistema di casse automatiche in un punto vendita Ogni cassa deve accedere a un database contenente il listino prezzi dei prodotti (L) Ogni cassa deve memorizzare gli scontrini in un apposito database (S) I database degli scontrini (S) devono poi essere raccolti insieme Nel caso di aggiornamenti dei prezzi, i database dei listini (L) devono essere aggiornati
Alternativa 1 cassa1 cassa2 cassa3 cassa4 L S1 L S2 L S3 L S4 = connessione occasionale o a cadenza stabilita L S1 SISTEMA CENTRALE (?)
Alternativa 2 cassa1 cassa2 cassa3 cassa4 S1 S2 S3 S4 = connessione occasionale o a cadenza stabilita = connessione in tempo reale L S1 SISTEMA CENTRALE
Alternativa 3 cassa1 cassa2 cassa3 cassa4 L S = connessione in tempo reale SISTEMA CENTRALE
Alternativa 4
Quale alternativa scegliere? Con che criteri? Tecnici Vincoli dei sistemi esistenti (compatibilità) Coerenza con le altre funzionalità/sistemi implementati o che si intente realizzare Fattibilità tecnica della soluzione Economici (costi) Costi delle attrezzature Costi di gestione Organizzativi coerenza con le procedure / processi Competenze e mansioni degli operatori In relazione agli obiettivi specifici Ad es.: maggiore efficienza? Minori costi? Rapidità di risposta/servizio al cliente?
Dal punto di vista tecnico: due approcci opposti alla memorizzazione dei dati
Database distinti Ogni applicazione (programma/software) lavora sui propri archivi di dati a) Sia nel caso di sistemi distinti e scollegati tra loro b) Sia nel caso di unico sistema centrale I singoli archivi sono organizzati in modo specifico PRO: Facilità di progettazione e efficacia con riferimento al singolo programma CONTRO: Frammentazione dei dati, ridondanze, incoerenze
Caso A Sistema operativo Programma A Sistema operativo Programma B Sistema operativo Programma C Caso B
Unico database centralizzato Archivio unico (database centralizzato) Tutte le applicazioni (programmi/software) attingono dallo stesso database centrale Un software di gestione del database (DBMS: DataBase Management System) gestisce struttura e accessi del database PRO: Patrimonio dei dati unitario e non frammentato PRO: Limitate ridondanze; coerenza dei dati archiviati CONTRO: Necessaria attenzione nello stabilire i diritti di accesso al database CONTRO: Elevata complessità progettuale e di gestione
DBMS Può essere usato da più applicazioni contemporaneamente Organizza e gestisce i dati secondo un modello unitario e coerente Risolve i problemi di Integrità Ridondanza Sicurezza di accesso Indipendenza dei dati dalle applicazioni
DBMS Data manipulation Language (DML) Data description Language (DDL) Software di manutezione del database
Architetture, piattaforme, tecnologie: scelta e dimensionamento
ELEMENTI CHE ANALIZZIAMO L ambiente hardware e software componenti, tipologie e categorie di appartenenza, ecc. L architettura come combinare insieme parti e moduli (ad es. architettura di una rete Il dimensionamento del sistema quanta capacità, quanta potenza di calcolo, quanti terminali, ecc.
AMBIENTE HW E SW le grandi opzioni sistemi standard (es. Windows) elevata compatibilità tra sw e hw di fornitori diversi facile interconnessione tra sistemi e applicazioni generalità d uso. o sistemi non standard? elevata specificità difficile intercambiabilità generalità d uso interoperabilità specificità non interoperabilità Sistemi standard Sistemi non standard
AMBIENTE HW E SW le grandi opzioni sistemi proprietari.. (es. Windows) proprietà e controllo (tecnico ed economico) del codice interamente nelle mani del fornitore ( copyright ) o sistemi open source?. (es. Linux) diritto dell utente a disporre dei codici sorgente, a modificare e adattare il software, a utilizzarlo commercialmente senza vincoli economici ( copyleft ) non disponibilità del codice adattamenti solo richiedendoli al fornitore Sistemi proprietari disponibilità del codice Possibilità di personalizzazioni Sistemi Open source
Best of Breed assemblaggio di componenti (sw, hw) di fornitori diversi scelti per ottenere il meglio di ogni funzione specifica necessaria la piena compatibilità complessità di configurazione Suite complete sistemi realizzati da un unico fornitore elevata compatibilità, ma non necessariamente prestazioni sempre ottimali per tutte le funzioni Sistemi ad hoc AMBIENTE HW E SW: opzioni e combinazioni sistemi progettati per il caso specifico
L ARCHITETTURA Architetture centralizzate un sistema centrale (dove risiedono i dati) cui sono connesse unità passive (terminali) Architetture distribuite varie unità autonome di elaborazione (collegate o meno)
Dimensionamento del sistema: capacity planning Scegliere la dimensione (in termini fisici o prestazionali) che il sistema deve garantire per svolgere le funzioni per cui è progettato
Un tipico modo di procedere: volumi delle attività (ad es.: numero di ordini settimanali ricevuti) volumi delle applicazioni informatiche (ad es.: numero di operazioni di elaborazione per ciascun ordine, dimensione dei dati da memorizzare per ciascun ordine, ecc.) Dimensioni del sistema (ad es.: capacità/velocità di elaborazione, capacità di memoria, ecc.)