TPSIT – Ingegneria del software 1

Ingegneria del software
●
●
●
●
Per ingegneria del software (software engineering)
si intende quella disciplina che si occupa della
progettazione, produzione, riutilizzabilità e
manutenzione dei sistemi software.
Nasce intorno alla metà degli anni '60.
Obiettivo principale: creare sistemi sofware di
qualità abbassando il rapporto costo/qualità.
Persone coinvolte nel processo:
(1) Clienti (richiedono e utilizzano il software);
(2) Fornitori (sviluppano e vendono il software).
Processo di sviluppo
●
●
Per processo di sviluppo si intende l'insieme delle
attività e procedure che vengono messe in atto per
sviluppare un prodotto di qualità.
Affinché un processo di sviluppo sia efficace occorre:
(a) stabilire la successione ottimale delle attività;
(b) fornire la necessaria documentazione;
(c) assegnare i vari compiti agli sviluppatori;
(d) monitorare l'andamento del progetto.
●
Nella fase di progettazione è opportuno utilizzare
linguaggi e strumenti per modellare, comunicare e
documentare gli elementi del progetto.
Ciclo di vita del software
Analisi
Progettazione
Fase di produzione del software
(dalla richiesta da parte del cliente
al rilascio del prodotto)
Realizzazione
Manutenzione
Fase di gestione del software
(dal rilascio del prodotto fino al
suo abbandono)
Analisi, progettazione e realizzazione
Fase
Sottofasi
Documentazione
Analisi
Definizione dei requisiti
Specifica dei requisiti
Studio di fattibilità
Progettazione
Programmazione (codifica)
Test
Integrazione e test
Realizzazione
Rilascio del prodotto e
collaudo
Avviamento
Architettura di
progetto
Disegno di dettaglio
Manuale d'uso
Manutenzione
●
Manutenzione correttiva
➔
●
Manutenzione adattiva
➔
●
Correzione di eventuali errori dovuti a dettagli non ben
testati o a aspetti non considerati (es: millenium bug)
Adeguamento delle funzionalità in seguito a mutate
condizioni sociali e/o legislative
Manutenzione evolutiva
➔
Miglioramenti apportati per soddisfare nuove esigenze
dell'utenza