26
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

Il ciclo di vita del SW e la Funzione Sistemi Informativi Modello a cascata Il processo di sviluppo di un sistema informativo o di un suo sottosistema (procedura o classi di procedure)

Embed Size (px)

Citation preview

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