03-Lezione PON BAITAH Dott. Suma - Software Engineering - cenni

19

Click here to load reader

Transcript of 03-Lezione PON BAITAH Dott. Suma - Software Engineering - cenni

Page 1: 03-Lezione PON BAITAH Dott. Suma - Software Engineering - cenni

Fondamenti alla progettazione di un software

INGEGNERIA DEL

SOFTWARE

Page 2: 03-Lezione PON BAITAH Dott. Suma - Software Engineering - cenni

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

Page 3: 03-Lezione PON BAITAH Dott. Suma - Software Engineering - cenni

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

Page 4: 03-Lezione PON BAITAH Dott. Suma - Software Engineering - cenni

from-scratch

From the beginning, starting with

no advantage or prior preparation.

Ingegneria del software4

Page 5: 03-Lezione PON BAITAH Dott. Suma - Software Engineering - cenni

Ciclo di vita di un Software

• Quanto costa realizzare un software?

Ingegneria del software5

Page 6: 03-Lezione PON BAITAH Dott. Suma - Software Engineering - cenni

Bisogna tenere conto delle stesse

problematiche note in tutti i processi di

sviluppo…

Ingegneria del software6

Page 7: 03-Lezione PON BAITAH Dott. Suma - Software Engineering - cenni

…. 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

Page 8: 03-Lezione PON BAITAH Dott. Suma - Software Engineering - cenni

Processo di sviluppo…

Ingegneria del software8

RequisitiSpecifich

e

ProgettoImplemen

tazione

COSA

COME

MONDO

REALEASTRAZIO

NE

Page 9: 03-Lezione PON BAITAH Dott. Suma - Software Engineering - cenni

Fasi tipiche di un modello di CVS:

Specifica;

Design;

Implementazione;

Validazione;

Evoluzione.

Ingegneria del software9

Page 10: 03-Lezione PON BAITAH Dott. Suma - Software Engineering - cenni

Software Specification

• Feasibility study;

• Requirements elicitation and analysis;

• Requirements specification;

• Requirements validation.

Ingegneria del software10

Page 11: 03-Lezione PON BAITAH Dott. Suma - Software Engineering - cenni

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

Page 12: 03-Lezione PON BAITAH Dott. Suma - Software Engineering - cenni

12

Page 13: 03-Lezione PON BAITAH Dott. Suma - Software Engineering - cenni

Ingegneria del software13

Page 14: 03-Lezione PON BAITAH Dott. Suma - Software Engineering - cenni

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

Page 15: 03-Lezione PON BAITAH Dott. Suma - Software Engineering - cenni

Ingegneria del software15

Page 16: 03-Lezione PON BAITAH Dott. Suma - Software Engineering - cenni

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

Page 17: 03-Lezione PON BAITAH Dott. Suma - Software Engineering - cenni

Software evolution

Un software necessita sempre di evoluzioni…

Ingegneria del software17

Page 18: 03-Lezione PON BAITAH Dott. Suma - Software Engineering - cenni

A seconda di quanto sono esperto,

sceglierò…

• Modello a cascata;

• Modello evolutivo;

• Component Based Software Engineering

(CASE).

Modelli di processi software18

Page 19: 03-Lezione PON BAITAH Dott. Suma - Software Engineering - cenni

Diagrammi di

Ganttè uno strumento di

supporto alla gestione

dei progetti

Ingegneria del software19