SOMMARIO  Basi teoriche per la progettazione di un sistema informativo  Struttura ed organizzazione della progettazione  Ciclo di vita di un sistema informativo CATEGORIE LOGICHE UNIVERSALI Individuano i meccanismi mentali in base ai quali sono definiti e rappresentati i singoli elementi del sistema (processi, dati) e le loro interazioni 1 ASTRAZIONE Operazione mentale in base alla quale si trascurano caratteristiche irrilevanti per la progettazione, utilizzando i meccanismi di:  classificazione  aggregazione (scomposizione)  generalizzazione (specializzazione) CLASSIFICAZIONE Meccanismo di astrazione che consiste nel definire classi di oggetti, ossia insiemi di oggetti caratterizzati da una proprietà comune La relazione di appartenenza degli oggetti alla classe è esprimibile come IS-MEMBER-OF 2 ESEMPI DI CLASSIFICAZIONE Arrigo Frisiani Angelo Raffaele Meo CORRENTISTA CORRENTISTA Marco Mezzalama versamento di contanti versamento di assegno prelievo OPERAZIONI OPERAZIONI DI DI SPORTELLO SPORTELLO richiesta saldo AGGREGAZIONE Meccanismo di astrazione in base al quale delle classi di oggetti sono incluse in un’altra classe La relazione di appartenenza che ne deriva è esprimibile come IS-PART-OF 3 ESEMPI DI AGGREGAZIONE Cognome Nome Identificazione Operazioni di sportello Operazioni non di sportello Processi Segnalazioni periodiche Gestione conto corrente GENERALIZZAZIONE Meccanismo di astrazione attraverso il quale si costruiscono gerarchie di caratteristiche tra gli oggetti di due o più classi La relazione di appartenenza che ne deriva è esprimibile come IS-A 4 ESEMPI DI GENERALIZZAZIONE Persona fisica Clienti Persona giuridica Consultazione Operazioni su c/c Movimentazione MODELLAZIONE Operazione mentale mediante la quale si producono, con opportuni linguaggi, degli schemi del sistema che descrivono gli oggetti, individuati con l’astrazione, che devono essere realizzati Questi schemi sono detti “modelli” 5 ESEMPI DI MODELLI  Schema elettrico  modello che descrive un circuito elettrico  piuttosto lontano dall’aspetto fisico dell’oggetto rappresentato  Plastico di un edificio  modello che ne descrive l’aspetto esteriore e la sua collocazione  piuttosto vicino all’aspetto fisico dell’oggetto rappresentato PROGETTAZIONE DI UN SISTEMA INFORMATIVO (I) È articolata e complessa in quanto:  usa molteplici modelli, ciascuno legato ad una specifica prospettiva  le prospettive sono diversificate a seconda dell’argomento del modello (base di dati, processi) 6 PROGETTAZIONE DI UN SISTEMA INFORMATIVO (II) È articolata e complessa in quanto:  le prospettive sono diversificate a seconda del livello di modellazione (requisiti utente, progetto concettuale, implementazione)  richiede di collegare e integrare i diversi modelli LIVELLO DEI REQUISITI UTENTE Descrive il contenuto del S.I. dal punto di vista dell’utente per mezzo di:  schemi informativi, che descrivono struttura e contenuto dei dati che il sistema deve elaborare  schemi procedurali, che descrivono le sequenze di attività che compongono le elaborazioni ed i dati coinvolti 7 LIVELLO DEL PROGETTO CONCETTUALE Descrive processi e base di dati del S.I. prescindendo dai vincoli implementativi, evidenziando i rapporti logico-concettuali tra di essi, in modo da fornire una rappresentazione ricca da un punto di vista semantico e sintetica al tempo stesso LIVELLO DELL ’IMPLEMENTAZIONE (I) DELL’IMPLEMENTAZIONE È il livello del software eseguibile e pertanto:  la base di dati è specificata per mezzo del DDL di un opportuno DBMS  i processi sono specificati da programmi di elaborazione scritti in un opportuno linguaggio (per es. COBOL, C++) 8 LIVELLO DELL ’IMPLEMENTAZIONE (II) DELL’IMPLEMENTAZIONE È il livello del software eseguibile e pertanto:  riflette lo specifico ambiente in cui il S.I. è realizzato (in particolare dal punto di vista del sistema operativo) SEGMENTI DI PROGETTAZIONE ARGOMENTI LIVELLI DI MODELMODELLAZIONE Base di dati Processi Requisiti utente A B Progetto concettuale C D Implementazione E F 9 CONTENUTO DEI SEGMENTI DI PROGETTAZIONE Argomento: base di dati  Segmento A Requisiti utente: viste di utente (classi di dati)  Segmento C Progetto concettuale: entità, attributi, relazioni (schema concettuale)  Segmento E Implementazione: DBMS, schema logico-fisico CONTENUTO DEI SEGMENTI DI PROGETTAZIONE Argomento: processi  Segmento B Requisiti utente: procedure aziendali  Segmento D Progetto concettuale: struttura dettagliata dei processi  Segmento F Implementazione: linguaggio, programmi 10 APPROCCIO PILOTATO DAI DATI A Viste utente C D Schema concettuale Struttura dei processi E F Schema logicologico-fisico Programmi APPROCCIO PILOTATO DAI PROCESSI A B Viste utente Procedure aziendali C D Schema concettuale Struttura dei processi E F Schema logicologico-fisico Programmi 11 APPROCCI TIPICI ALLA PROGETTAZIONE DI S.I. TIPOLOGIA DI S.I. Schedario elettronico Elaborazione di transazioni APPROCCIO TIPICO • Pilotato dai dati • Pilotato dai processi (procedure complesse) • Pilotato dai dati (procedure semplici) Reporting • Pilotato dai dati Supporto operativo • Pilotato dai processi o misto ITER PROGETTUALI Modalità di realizzazione di un sistema informativo:  realizzazione ex novo  realizzazione prototipale  reingegnerizzazione dell’esistente  personalizzazione di un pacchetto dotato di modello concettuale 12 REALIZZAZIONE EX NOVO Modellazione requisiti Modellazione concettuale Implementazione NOTE:  garantisce aderenza totale alle esigenze dell’organizzazione  costosa (persone, tempo) e quindi poco frequente REALIZZAZIONE PROTOTIPALE Modellazione requisiti NOTE: Modellazione concettuale Implementazione prototipale Implementazione definitiva  procede per edizioni (versioni) successive  si realizzano via via i diversi sottosistemi 13 REINGEGNERIZZAZIONE Sistema implementato Modellazione concettuale Modellazione requisiti NOTE:  Si usa se non si hanno descrizioni precise di quanto esiste  Ricorre a programmi di “reverse engineering” che estraggono gli schemi dei dati e dei processi dal sistema implementato PERSONALIZZAZIONE DI PACCHETTO Requisiti utente Modellazione concettuale Implementazione NOTA:  I pacchetti possono consentire operazioni di:  parametrizzazione: base di dati e processi sono adattati alle caratteristiche dell’utente  personalizzazione: l’utente modifica il modello concettuale 14 DERIVAZIONE È il procedimento attraverso il quale lo schema di un modello è ricavato dallo schema di un altro modello POSSIBILI DERIVAZIONI PER UN S.I. Se si associa un modello diverso ad ogni segmento, le possibili derivazioni sono:  Orizzontali dati → processi; processi → dati  Verticali requisiti utente → progetto concettuale progetto concettuale → implementazione 15 PROBLEMI NELLA DERIVAZIONE (I) Le derivazioni sono trasformazioni parziali dei modelli nel senso che la validità del modello di partenza non garantisce quella del modello di arrivo PROBLEMI NELLA DERIVAZIONE (II) I procedimenti di derivazione vanno scelti in modo da massimizzare l’input informativo fornito dal modello di partenza al modello derivato 16 INTEGRAZIONE Coesione orizzontale del progetto Richiede la coerenza tra gli elementi ad un dato livello di modellazione Esempi:  un processo può prevedere l’elaborazione di un dato non presente nella base di dati  la base di dati può contenere un dato che non è elaborato da alcun processo INTEGRAZIONE Coesione verticale del progetto Richiede la coerenza tra requisiti utente e progetto concettuale e tra progetto concettuale e implementazione Esempio:  il progetto concettuale può essere stato sviluppato in modo più o meno indipendente dai requisiti utente, per difetto o incompletezza di definizione di questi ultimi 17 METODOLOGIA DI PROGETTO (I) Deve precisare: 1. la sequenza secondo la quale vanno percorsi i segmenti di progettazione 2. i modelli da usare per rappresentare dati e processi ai vari livelli METODOLOGIA DI PROGETTO (II) Deve precisare: 3. i procedimenti di derivazione e di integrazione da applicare 4. gli strumenti software da utilizzare per le attività dei punti 2 e 3 18 LINEE DI TENDENZA NELLO SVILUPPO DEI S.I.  Preferire l’integrazione e il riuso di componenti alla realizzazione ex novo  Realizzare sistemi aperti e adatti ad evoluzioni graduali (globalizzazione dell’informazione)  Prevedere la possibilità di cooperazione tra S.I. diversi (complessità delle organizzazioni) CICLO DI VITA NELLO SVILUPPO DI UN S.I. Studio di fattibilità fattibilità Indagini di approfondimento Analisi di sistema Progetto di sistema Implementazione Gestione e revisione 19 STUDIO DI FATTIBILITÀ FATTIBILITÀ Costi opportunità à Nuove opportunit Vincoli Confini Responsabilità à Responsabilit DIREZIONE Obiettivi Nuove esigenze Problemi Procedure esistenti UTENTI Rapporto sullo studio fattibilità à di fattibilit STUDIO DI FATTIBILIT À FATTIBILITÀ FORNITORI CONTENUTO DEL RAPPORTO SULLO STUDIO DI FATTIBILIT À (I) FATTIBILITÀ  Premesse: motivazioni del progetto, collegamento con gli obiettivi dell’organizzazione  Descrizione della situazione esistente ed identificazione di eventuali problemi 20 CONTENUTO DEL RAPPORTO SULLO STUDIO DI FATTIBILIT À (II) FATTIBILITÀ  Requisiti del nuovo sistema e dettagli sulle possibili opzioni dal punto di vista tecnico, organizzativo, economico  Raccomandazioni finali REQUISITI PER IL SUCCESSO DI UN PROGETTO  Affidabilità tecnologica  Ragionevolezza nella programmazione  Validità economica  Accettabilità per l’organizzazione 21 AFFIDABILIT À TECNOLOGICA AFFIDABILITÀ Le soluzioni proposte vanno esaminate dal punto di vista dei problemi tecnologici che possono presentare Esempi:  uso di tecnologie avanzate tipo riconoscimento della voce  desiderio di fornire supporto a decisioni strategiche RAGIONEVOLEZZA NELLA PROGRAMMAZIONE Comporta la verifica:  della disponibilità od ottenibilità delle competenze previste  della plausibilità delle scadenze obbligatorie o desiderabili 22 VALIDIT À ECONOMICA VALIDITÀ Deve essere valutata in base all’analisi di costi e benefici  Costi:  una tantum (per esempio staff, calcolatori, addestramento)  di funzionamento (fissi, variabili)  Benefici:  tangibili (per es. riduzione errori, diminuzione dei tempi di risposta, riduzione delle spese)  intangibili (per es. migliore immagine, migliori decisioni, migliore spirito del personale) ACCETTABILIT À PER ACCETTABILITÀ L ’ORGANIZZAZIONE (I) L’ORGANIZZAZIONE Verifica della ragionevolezza dell’impatto sull’organizzazione in termini di:  impatto sulle strutture aziendali (reparti, divisioni, responsabili)  capacità degli utenti di utilizzare e trarre beneficio dal sistema  impatto sull’ambiente esterno (clienti) 23 ACCETTABILIT À PER ACCETTABILITÀ L ’ORGANIZZAZIONE (II) L’ORGANIZZAZIONE Verifica della ragionevolezza dell’impatto sull’organizzazione in termini di:  impatto sui dipendenti (diverse condizioni di lavoro, timori di licenziamento)  compatibilità con eventuali sistemi esistenti CICLO DI VITA NELLO SVILUPPO DI UN S.I. Studio di fattibilità fattibilità Indagini di approfondimento Analisi di sistema Progetto di sistema Implementazione Gestione e revisione 24 GESTIONE E REVISIONE Richiede:  valutazione del sistema realizzato  fa quello che doveva fare in termini di obiettivi di direzione ed utenti  realizza tali obiettivi in modo soddisfacente  individuazione di eventuali problemi  definizione di eventuali modifiche da apportare al sistema STRUMENTI PER LA PROGETTAZIONE (I)  Data Flow Diagram (DFD) usato per i processi  Entità – Relazione (E-R) usato per i dati  Structured Analysis and Design Technique (SADT) usato per i processi 25 STRUMENTI PER LA PROGETTAZIONE (II)  Information Systems Analysis of Changes (ISAC) usato per processi e dati  Hierarchical Input Process Output (HIPO) usato per i processi UML Unified Modelling Language (I) Si tratta di un linguaggio di modellazione che:  è indipendente dal processo  può essere usato a diversi livelli del progetto 26 UML Unified Modelling Language (II) Si tratta di un linguaggio di modellazione che:  modella il S.I. da una prospettiva object-oriented (consente cioè di rappresentare classi, oggetti che le compongono, stato e comportamento di tali oggetti)  è stato standardizzato a livello internazionale 27