Sei sulla pagina 1di 3

Ingegneria del Software

 Software engineering: Disciplina tecnologica e manageriale che riguarda la produzione


sistematica e la manutenzione dei prodotti software che vengono sviluppati e modificati entro
tempi e costi preventivati
 Approccio sistematico allo sviluppo, all’operatività, alla manutenzione ed al ritiro del software
attraverso: teorie, metodi e strumenti, sia di tipo tecnologico che organizzativo, che consentono
di produrre applicazioni con le desiderate caratteristiche di qualità

Ciclo di vita del software


 Analisi (A)
o Modello, requisiti, fattibilità
 Progetto e implementazione (PI)
o Componenti architetturali... dettaglio classi
 Collaudo (C)
o Rispetto requisiti, qualità sw
 Rilascio e manutenzione (RM)
o 40%-80% del costo totale
o Non noti o non colti correttamente i requisiti
o Cambiano le condizioni operative …

Ciclo di vita del Software


 Il ciclo di vita del software è l'insieme della attività e delle azioni da intraprendere per
realizzare un progetto software
 Ciascuna fase del modello a cascata (software waterfall life-cycle) produce uno specifico output
che rappresenta l'input della fase successiva
Modello a cascata
 Analisi -> Requisiti
o Ha lo scopo di identificare i requisiti dell'applicazione da realizzare
 Progettazione (design) -> Architettura
o Si definisce l'architettura del software suddividendolo in componenti
 Implementazione (development) -> Codice sorgente
o Viene sviluppato e testato il codice dei singoli componenti
 Verifica (testing) -> Codice testato
o Integrazione dei componenti e controllo sui requisiti
 Manutenzione -> Versioni aggiornate del codice
o Correzione di bug dopo il rilascio dell’applicazione o integrazione di nuove funzionalità

Metodologie agili e modello a spirale

 Il modello a cascata in cui ogni fase viene eseguita al termine della precedente risulta rigido
 Le metodologie agili prevedono uno sviluppo incrementale in cui il software viene realizzato in
versioni successive

Qualità del software


 Le qualità su cui si basa la valutazione di un sistema software possono essere:
o Interne, riguardano le caratteristiche legate al processo di sviluppo e non sono direttamente
visibili agli utenti
o Esterne, riguardano le funzionalità fornite dal prodotto sw e sono direttamente visibili agli
utenti
o Le categorie sono legate: Product quality is process quality

Qualità del software


 Standard internazionali (ISO/IEC 9126-1:2001 - ISO/IEC 25010:2011) definiscono la qualità del
software in termini di:
o Funzionalità: Presenza delle funzionalità che soddisfano i requisiti stabiliti
o Affidabilità: Mantenimento delle prestazioni in condizioni definite e/o per un periodo di
tempo stabilito
o Usabilità: Livello di impegno richiesto per l’impiego da parte di varie tipologie di utenti

o Efficienza: Relazione tra il livello di prestazione e le risorse hardware/software utilizzate in


condizioni definite
o Manutenibilità: Livello di impegno richiesto per la modifica del codice
o Portabilità: Facilità di esecuzione su piattaforme diverse

Potrebbero piacerti anche