1
Sistemi e Tecnologie Informatiche
Il ciclo di vita del SW e
la Funzione Sistemi
Informativi
Sommario
� Ciclo di vita del software� Le fasi del modello a cascata� Prototyping� Software standard
Sistemi e Tecnologie Informatiche
2
Ingegneria del software
� Settore della disciplina dei sistemi informativi, per lo studio di metodologie, tecniche e strumenti utilizzati nella produzione industriale del software, visto come processo di collaborazione tra analisti, programmatori e utenti finali
� Affronta anche problematiche di tipo manageriale, organizzativo e metodologico per permettere che il lavoro di analisti e progettisti possa essere condotto con la maggiore efficacia, avvalendosi di tecniche e modi di procedere già sperimentati con successo in contesti eterogenei
Sistemi e Tecnologie Informatiche
Software life cycle
� Insieme delle fasi da quando il software viene concepito, progettato, realizzato, alla sua messa in opera e manutenzione, sino alla eventuale dismissione
� Un progetto di sviluppo software segue sempre un modello di ciclo di vita
� Fra i vari procedimenti, ve n’è uno che prevede la creazione dei veri e propri programmi software solo in una fase conclusiva (sviluppo in fasi), al quale si contrappone una soluzione più rapida che prevede la realizzazione di un primo semplice prototipo per il quale non è fondamentale un’analisi precisa dei requisiti
Sistemi e Tecnologie Informatiche
3
Modello a cascata
� Il processo di sviluppo di un sistema informativo o di un suo sottosistema (procedura o classi di procedure) è suddiviso in una sequenza di fasi
� Ogni fase deve essere terminata prima di passare a quella successiva (non si ritorna indietro) e l’output da essa generato andrà a costituire l’input della fase seguente
� È possibile effettuare controlli di qualità sui singoli risultati parziali
Sistemi e Tecnologie Informatiche
Studio di fattibilità
Raccolta e analisi
dei requisiti
Progettazione
Realizzazione
Validazione e
collaudo
Funzionamento
modello a cascata
Sistemi e Tecnologie Informatiche
4
• Studio fattibilità: pianificazione con definizione di costi e priorità
• Raccolta e analisi requisiti: studio delle proprietà del sistema
• Progettazione: di dati e funzioni (applicazioni)
• Realizzazione: implementazione (programmazione)
• Validazione e collaudo: sperimentazione
• Funzionamento e manutenzione: sistema operativo
Modello a cascata
Sistemi e Tecnologie Informatiche
Fase di pianificazione
(o studio di fattibilità)
� Si stabiliscono i principali obiettivi del sistema informativo da sviluppare
� In un primo studio preliminare si analizza la fattibilità del progetto sia sotto il profilo tecnico(possibilità di utilizzo delle risorse esistenti) sia quello economico (stima costi / benefici)
� sono destinate risorse limitate (max 5-10% del costo prevedibile per l’intero progetto) per ridurre i rischi, stimare gli investimenti necessari ed delineare (le eventuali) fasi successive
� a volte preceduta da una “prefattibilità”
Sistemi e Tecnologie Informatiche
5
Fase di analisi (o definizione)
� Forte coinvolgimento dell’utenza (interviste, questionari,...)
� Serve a individuare le aspettative dell’utente finale in relazione al prodotto da realizzare attraverso la cosiddetta analisi dei requisiti
� Spesso è utile eseguire a priori un’analisi dei processi aziendali
� Sulla scorta di tali ricerche e di un’eventuale analisi delle aree di criticità si elabora un progetto di massima dello sviluppo del software
Sistemi e Tecnologie Informatiche
Analisi: gli aspetti funzionali
Sono orientati a determinare:� l’area funzionale nell’ambito aziendale che il
nuovo software/sistema deve supportare� le modalità con cui il sistema informativo
dovrà eseguire le funzionalità per cui è predisposto
� gli input e output del sistema� prima analisi dei modelli di organizzazione
dei dati cui le diverse procedure dovranno avere accesso
Sistemi e Tecnologie Informatiche
6
Analisi: aspetti non funzionali
(qualitativi ed economici)
Sono orientati prevalentemente a determinare:� la configurazione dell’interfaccia utente
� le aspettative relative ai tempi di risposta
� le esigenze di affidabilità del sistemaEd a stimare i futuri:� costi di esercizio� costi di manutenzione� benefici (risparmi) che si potranno
ottenere a regime
Sistemi e Tecnologie Informatiche
Analisi: specifiche funzionali
� Si sviluppa un documento (cartaceo) che sintetizza i problemi e le esigenze degli utenti in modo chiaro e univoco (base per un capitolato)
� Contiene le funzionalità che il sistema dovrà avere, le prestazioni, l’ambiente di utilizzo, le interfacce esterne (con utenti, altro software, hardware), gli eventuali vincoli di progetto (tempi, risorse ecc.), i requisiti di qualità
Sistemi e Tecnologie Informatiche
7
Analisi: specifiche del progetto
(di sviluppo)
Inoltre si indicano (per l’intera progettazione):� aspetti organizzativi (necessità di collaborazione tra
le singole aree operative o studio dei possibili impatti organizzativi derivanti prima dal progetto e poi dall’introduzione del nuovo sistema)
� aspetti economici (N.B. i costi anche di sviluppo, durata di quest’ultimo, risorse necessarie, risorse disponibili, stima dei possibili benefici)
� aspetti qualitativi (documentazione del programma, test da realizzare sul software)
Sistemi e Tecnologie Informatiche
Studio di fattibilità
Raccolta e analisi
dei requisiti
Progettazione
Realizzazione
Validazione e
collaudo
Funzionamento
modello a cascata
Sistemi e Tecnologie Informatiche
8
Fase di progettazione� Obiettivo primario: individuare nel dettaglio le attività che costituiscono i processi aziendali e le risorse necessarie alla loro esecuzione
� In particolare, si studiano le modalità di produzione, utilizzazione, aggiornamento, cancellazione e scambio dei dati rilevantinell’ambito delle singole unità aziendali
� Due possibili approcci: progettazione tradizionale (strutturata) e progettazione object oriented
Sistemi e Tecnologie Informatiche
Approcci alla progettazione
� Progettazione tradizionale (strutturata): la realtà aziendale o il singolo processo vengono analizzati top-down attraverso il modello dei dati spesso seguito da quello delle funzioni
� Progettazione object oriented: dati e funzioni aziendali vengono riuniti in un unico modello “oggetto” (anche bottom-up)
� Entrambi gli approcci partono dalle specifiche per realizzare il progetto logico e il progetto fisico
Sistemi e Tecnologie Informatiche
9
Progetto concettuale
� Del tutto indipendente dalle possibili scelte implementative (da cosa automatizzare, dalla piattaforma tecnologica, da costi e prestazioni)
� Vengono identificate le componenti (moduli) del sistema e le connessioni fra esse
� Il prodotto del progetto logico è una descrizione dettagliata dei compiti che ogni modulo deve svolgere (cosa) e del modo in cui i vari moduli comunicano fra di loro
� Nulla viene detto sul come i vari moduli svolgano i loro compiti
Sistemi e Tecnologie Informatiche
Progetto (logico) e fisico
È orientato a definire� L’ambiente hardware/software del nuovo sistema� La struttura generale (componenti) del sistema
informativo� I moduli di programma con cui eseguire le varie
procedure aziendali � La sequenza con cui i singoli moduli di programma
dovranno essere elaborati� La struttura logica dei dati dell’applicazione� La struttura fisica dei dati e dei file di dati� I primi test di prova sui sistemi da realizzare
Sistemi e Tecnologie Informatiche
10
Studio di fattibilità
Raccolta e analisi
dei requisiti
Progettazione
Realizzazione
Validazione e
collaudo
Funzionamento
modello a cascata
Sistemi e Tecnologie Informatiche
Fase di implementazione
(programmazione)
� Sviluppo nei minimi dettagli del progetto del sistema fino ai singoli comandi codificati nel linguaggio di programmazione prescelto e in particolare:
• schemi di dati (descrizione della struttura dei dati, dei file o dei database)
• cicli di programma o funzioni rappresentati da elementi strutturali del programma sotto forma di un diagramma strutturale
• interfacce utente
Sistemi e Tecnologie Informatiche
11
Usabilità e test
� Normativa (ISO 9241) del 1993 che, con riferimento ai prodotti informatici in genere, definisce i parametri di usabilità e suggerisce come misurazioni del livello di soddisfazione dell’utente, possano essere utilizzate per valutare come ogni componente del sistema influenza la qualità dell’intero progetto
� System Test: Passo d’implementazione per verificare l’intera applicazione e i singoli sottosistemi che la compongono.
Sistemi e Tecnologie Informatiche
Fase di collaudo e installazione
� Dopo aver verificato se il programma soddisfa tutti i requisiti tecnico/funzionali specificati all’inizio del progetto, prima della messa in esercizio su larga scala, si passa ad una validazione pilota degli stessi requisiti
� Anche questo collaudo rileva la presenza di errori, non la totale assenza (fare tutte le prove possibili è un approccio economicamente e computazionalmenteinsostenibile)
� Viene, inoltre, intensificato in parallelo l’addestramento degli utenti finali
Sistemi e Tecnologie Informatiche
12
Fase di manutenzione
� Normalmente si estende a tutta la vita del sistema
� Vengono apportate modifiche e adattamenti e si provvede a eliminare errori non rilevati nel test o nel collaudo di sistema
� Spesso le modifiche sono dettate da cambiamenti nell’esigenze dell’utente, da aggiornamenti legislativi o da variazioni nell’architettura del sistema
Sistemi e Tecnologie Informatiche
Critiche al modello a cascata
� È rigido che si fonda su due assunti discutibili
1. Gli utenti sono in grado di esprimere esattamente le loro esigenze e, di conseguenza, è possibile definire in fase di analisi iniziale tutte le funzionalità che il software deve realizzare (immutabilità dell’analisi)
2. È possibile progettare l’intero sistema prima di aver scritto una sola riga di codice (immutabilità del progetto)
Sistemi e Tecnologie Informatiche
13
Prototyping
� Si propone di sviluppare un progetto informatico creando, il più rapidamente possibile, una versione eseguibile del sistema informativo
� Non si effettua un’analisi dettagliata
� Nello sviluppo viene coinvolto il più possibile l’utentefinale
� Mira a eliminare le difficoltà di comunicazione tra specialisti informatici e utenti aziendali
Sistemi e Tecnologie Informatiche
Critiche al prototyping
� Vengono spesso trascurate le esigenze di strutturazione sotto il profilo ingegneristico
� Poiché alla prototipizzazione segue la “industrializzazione”, effettuata con uno sviluppo a cascata, i costicomplessivi possono risultare elevati
Sistemi e Tecnologie Informatiche
14
Package applicativo
� Consiste in una procedura che è già stata analizzata, progettata e documentata e che viene offerta “chiavi in mano” ad un’azienda che evita di doverla sviluppare ex novo
� Un presupposto per l’impiego di software standard è che le esigenze dell’azienda coincidano ampiamente con funzionalità offerte dal software standard che è disponibile sul mercato
Sistemi e Tecnologie Informatiche
Vantaggi del software standard
� Costi di acquisto e personalizzazione inferiori rispetto alla realizzazione di software dedicato
� Tempi di implementazione relativamente brevi� Contiene meno errori rispetto al software dedicato� Consente di acquisire know-how gestionale e organizzativo
non disponibile all’interno dell’azienda� I package applicativi più diffusi facilitano l’integrazione
interaziendale� Le risorse EDP interne possono essere riallocate su
compiti di particolare rilevanza strategica
Sistemi e Tecnologie Informatiche
15
Svantaggi del software standard
� Spesso sussistono discrepanze tra i requisiti aziendali di tipo funzionale e organizzativo e la configurazione degli specifici programmi
� La piattaforma hardware aziendale può risultare incompatibile con lo specifico prodotto software
� All’interno dell’impresa viene sviluppato soltanto un limitato know-how EDP
� L’impresa può trovarsi involontariamente a dipendere dal fornitore di software
Sistemi e Tecnologie Informatiche
approcci al ciclo di vita
approccio aspetto
coinvoltosintesi del metodo
tradizionale controllo ex-novo, passi fissi, rilasci e
documentazione dettagliata
Prototipale
(verso la XP)
conoscenza sviluppo rapido funzionante, modello per
test, formazione e finalizzazione prodotto
preconfezionato risorse e
tempi
acquisto SI (o nucleo) esistente, eventuale
personalizzazione
sviluppo utente rispondenza eseguito con strumenti usabili direttamente
dall’utente finale
Sistemi e Tecnologie
16
certificazione della qualità
� L’assicurazione della qualità nello sviluppo del software deve far sì che tanto il processo di sviluppo quanto il prodotto software soddisfino determinati requisiti (es. tempi di risposta)
� La normativa ISO 9000 presenta alcune linee guida speciali per lo sviluppo del software
Sistemi e Tecnologie Informatiche
La Funzione Sistemi Informativi
Sistemi e Tecnologie Informatiche
17
Sommario
• Definizione e compiti• Outsourcing • Principali attività:
• di pianificazione SI• analisi fattibilità economica• di sistema• di esercizio• di staff
Sistemi e Tecnologie Informatiche
L’ORGANIZZAZIONEL’ORGANIZZAZIONEL’ORGANIZZAZIONEL’ORGANIZZAZIONESENIOR MANAGEMENT
MAJOR END-USERS (DIVISIONS)
INFORMATION SYSTEMS DEPARTMENT
infrastruttura IT :HardwareSoftwareData Networks
Information System Specialists:
CIO (Chief Information Officier)
ManagersSystem AnalystsSystem DevelopersProgrammersNetwork SpecialistsDatabase AdministratorClerical
Sistemi e Tecnologie Informatiche
18
La Funzione Sistemi Informativi
� Unità organizzativa delegata a gestire l’infrastruttura informativa ed a fornire i servizi informatici
� COMPITI: Pianificazione, studio, concezione, progettazione, realizzazione, esercizio, manutenzione, valutazione delle prestazioni, attività di supporto agli utenti, relazioni con i fornitori esterni, valutazione del fornitore e del sistema, acquisizione installazione delle procedure automatizzate
Sistemi e Tecnologie Informatiche
Ruolo della FSI� Il ruolo giocato della FSI è
strettamente correlato alla specifica macrostruttura organizzativa presente all’interno dell’azienda, ed in particolare:• al suo posizionamento nella
macrostruttura organizzativa• all’organizzazione interna della
FSISistemi e Tecnologie Informatiche
19
Collocazione della FSI
� La FSI può essere collocata nella macrostruttura organizzativa secondo diversi possibili approcci:• come centro di consulenza alla direzione
(funzione di staff)• come area funzionale
• come sotto area (spesso di un’area amministrativa)
Sistemi e Tecnologie Informatiche
FSI e macrostruttura organizzativa
Sistemi e Tecnologie Informatiche
20
Outsourcing della FSI
� Talvolta la gestione e/o la realizzazione dei sistemi informatici viene delegata (in tutto od in parte) a soggetti esterni all’azienda
� In tal caso si può avere un’esternalizzazione che tende a eliminare del tutto la Funzione Sistemi Informativi dalla macro struttura aziendale, delegando ad altre funzioni (tipicamente quella di “Organizzazione”) od alla Direzione Generale, il presidio interno a controllo delle attività svolte dall’outsourcer
Sistemi e Tecnologie Informatiche
Unità organizzative della FSI
Sistemi e Tecnologie Informatiche
21
partecipazione FSI ai progetti
Sistemi e Tecnologie Informatiche
Principali attività della FSI
1. Valutazione tecnico economica, studio, sperimentazione, dimensionamento, installazione e collaudo:• dell’hardware: centrale, periferico e rete di telecomunicazioni;• dei sistemi SW: sistema operativo; DBMS; sistemi data
communication e per la sicurezza logica e fisica;...• degli ambienti di programmazione e dei prodotti programma
sviluppati;2. Analisi dell’efficienza tecnica dei sistemi informatici3. Scelta degli standard di natura tecnica4. Addestramento e assistenza utenti finali sul funzionamento dei
sistemi e delle applicazioni sviluppate internamente
Sistemi e Tecnologie Informatiche
22
Pianificazione del SI
1. Definire i traguardi specifici per la FSI2. Favorire e incentivare lo sfruttamento delle tecnologie3. Valutare se le prestazioni del SI soddisfano le esigenze
informative dell’azienda 4. Determinare le linee guida per lo sviluppo di nuove
applicazione5. Pianificare l’introduzione di infrastrutture tecnologiche6. Valutare nuovi progetti di automazione 7. Verificare l’efficacia e l’efficienza tecnico-economica
dell’infrastruttura tecnologica 8. Garantire un adeguato livello di sicurezza logica e fisica
Sistemi e Tecnologie Informatiche
Piani generali di sviluppo
� Oltre all’hardware, al sistema operativo, al software di sistema e alla configurazione della complessa architettura di interconnessione globale dell’azienda, devono essere determinate, per esempio, la strategia per la centralizzazione/decentralizzazione dell’EDP nell’ambito di ogni singola area funzionale
Sistemi e Tecnologie Informatiche
23
Analisi del fabbisogno informativo
� I progetti di sviluppo di nuovi sistemi devono essere valutati per verificare:• l’impatto del progetto sul raggiungimento
degli obiettivi aziendali• gli effetti del progetto sui processi esistenti• la fattibilità tecnica e la compatibilità con
l’architettura tecnologica esistente• la fattibilità economica del progetto
informatico
Sistemi e Tecnologie Informatiche
Analisi portafoglio
per valutare progetti ICT
Sistemi e Tecnologie Informatiche
24
Analisi portafoglio
per valutare progetti ICT
Sistemi e Tecnologie Informatiche
Analisi di fattibilità economica
� Normalmente assegnata all’area controlling della FSI� Devono essere considerati: gli effetti valutabili direttamente a
livello monetario, gli aspetti qualitativi di un progetto, quali, per esempio, i benefici correlati al carattere strategico di una procedura automatizzata
� Calcoli dinamici di investimento, basati su un’analisi di costi e benefici e valutati nei singoli periodi di pianificazione, permettono di definire una valutazione economica del progetto già nello studio di fattibilità
� Elementi quantitativi possono essere valutati anche in base a rapporti di causa ed effetto
Sistemi e Tecnologie Informatiche
25
Pro e contro dell’outsourcing
Sistemi e Tecnologie Informatiche
Attività di sistema della FSI
1. Sviluppo applicazioni in termini di:• analisi requisiti amministrativi (o funzionali)• analisi tecnica e disegno dei processi• programmazione• produzione della documentazione• messa a punto, collaudo e consegna all’esercizio
2. Studio, valutazione e acquisizione di software applicativo prodotto all’esterno
3. Manutenzione delle applicazioni
Sistemi e Tecnologie Informatiche
26
Attività di esercizio della FSI
1. Presa in carico di HW, SW e procedure applicative2. Gestione elaboratori e relative unità di input/output3. Gestione sistemi periferici e reti trasmissione dati4. Individuazione malfunzionamenti HW, SW e applicativi5. Schedulazione dei lavori sui sistemi informatici6. Produzione di informazioni tramite l’esecuzione dei
programmi applicativi7. Controllo di buon fine e completezza tecnica delle
elaborazioni
Sistemi e Tecnologie Informatiche
Attività di staff della FSI
1. pianificazione, programmazione e controllo dei progetti informatici
2. supporto metodologico e definizione degli standard aziendali
3. auditing: rilevazione e controllo dell’osservanza degli standard e della normativa tecnica
4. controllo della sicurezza logica e fisica del sistema informatico
5. amministrazione dei dati6. controllo della qualità dei progetti applicativi e del
servizio fornito7. gestione dell’addestramento e della formazione
relativa ai prodotti informatici in uso
Sistemi e Tecnologie Informatiche