03-Lezione PON BAITAH Dott. Suma - Software Engineering - cenni
Click here to load reader
-
Upload
marco-suma -
Category
Education
-
view
44 -
download
0
Transcript of 03-Lezione PON BAITAH Dott. Suma - Software Engineering - cenni
Fondamenti alla progettazione di un software
INGEGNERIA DEL
SOFTWARE
Progettare: Soluzioni from-scratch;
Soluzioni Off-The-Shelf.
Modularità;
Coesione ed Accoppiamento: quanto costano queste scelte per la realizzazione di un software e per lo sviluppo futuro?
Ingegneria del software2
Off-The-Shelf (OTS) componente software disponibile sul mercato per l'acquisto da parte di aziende di sviluppo interessate a utilizzarli nei loro progetti
Ingegneria del software3
from-scratch
From the beginning, starting with
no advantage or prior preparation.
Ingegneria del software4
Ciclo di vita di un Software
• Quanto costa realizzare un software?
Ingegneria del software5
Bisogna tenere conto delle stesse
problematiche note in tutti i processi di
sviluppo…
Ingegneria del software6
…. una casa ….
• definizione di requisiti e vincoli del prodotto da realizzare (vorrei un casa su 2 piani, con autorimessa e cantina …) - Requisiti
• definizione di un modello della soluzione (planimetrie, piante assonometrie, ...) - Progetto (architetturale)
• descrizione di dettaglio di come effettuare la costruzione (progetto dell’infrastruttura elettrica, idrica, calcoli statici travi...) - Progetto (di Dettaglio)
• realizzazione fisica del prodotto (pilastri, muri, impianto idrico …) - Costruzione
• verifica che il prodotto rispetti i requisiti definiti, nonché norme e/o standard - Collaudo
• consegna del prodotto al committente (ci vado a vivere) – Rilascio
• operazioni successive al rilascio atte a che il prodotto continui a soddisfare i requisiti (vecchi e nuovi) dell’utente (riverniciatura delle pareti, riparazione del tetto, sopraelevazione, …) -Manutenzione / Evoluzione
Ingegneria del software7
Processo di sviluppo…
Ingegneria del software8
RequisitiSpecifich
e
ProgettoImplemen
tazione
COSA
COME
MONDO
REALEASTRAZIO
NE
Fasi tipiche di un modello di CVS:
Specifica;
Design;
Implementazione;
Validazione;
Evoluzione.
Ingegneria del software9
Software Specification
• Feasibility study;
• Requirements elicitation and analysis;
• Requirements specification;
• Requirements validation.
Ingegneria del software10
Software Specification
Quanto è importante capire i requisiti
funzionali e i requisiti non funzionali?
E quanto contano nelle scelte finali di
realizzazione del software?
Ingegneria del software11
12
Ingegneria del software13
Software design and implementation
• Convertire le specifiche del sistema in un sistema eseguibile;
• Software design:• Progettare una struttura software che descriva come implementare le
specifiche;
• Implementation:• Tradurre quella struttura in un sistema di programmi eseguibili;
Ci può essere un interlacciamento tra le due attività.
Ingegneria del software14
Ingegneria del software15
Software validation
Mostrare che un sistema è conforme alle
specifiche e ai requisiti richiesti dall’end-user.
• Validation;
• Verification;• Si utilizzano test case, model checking
Ingegneria del software16
Software evolution
Un software necessita sempre di evoluzioni…
Ingegneria del software17
A seconda di quanto sono esperto,
sceglierò…
• Modello a cascata;
• Modello evolutivo;
• Component Based Software Engineering
(CASE).
Modelli di processi software18
Diagrammi di
Ganttè uno strumento di
supporto alla gestione
dei progetti
Ingegneria del software19