IndietroAvanti Inizio 07/04/2014 Ingegneria del SW Nathalie Morey [email protected] E-mail.

24
Indietro Avanti Inizio 16/06/22 Ingegneria del SW Nathalie Morey [email protected] E-mail

Transcript of IndietroAvanti Inizio 07/04/2014 Ingegneria del SW Nathalie Morey [email protected] E-mail.

Page 1: IndietroAvanti Inizio 07/04/2014 Ingegneria del SW Nathalie Morey nmorey@unime.it E-mail.

Indietro AvantiInizio11/04/23

Ingegneria del SWNathalie Morey

[email protected]

Page 2: IndietroAvanti Inizio 07/04/2014 Ingegneria del SW Nathalie Morey nmorey@unime.it E-mail.

Indietro AvantiInizioPresentazione corso

Programma

Principi di ingegneria del software

Definizione del problemaAnalisi dei requisiti e specifiche: modelli semantici, data-flow, viewpoint,

metodi formali, concezione object, reti di PetriProgettazioneCollaudoMantenimento, re-engineering

UML

Processo software

Ciclo di vita

Riuso

Design Pattern

Gestione della configurazione

Qualità: garanzia, norme, metriche

Gestione manageriale: personale, costo, pianifica

Page 3: IndietroAvanti Inizio 07/04/2014 Ingegneria del SW Nathalie Morey nmorey@unime.it E-mail.

Indietro AvantiInizioPresentazione corso

Riferimenti

C.Ghezzi, M.Jazayeri, D.Mandrioli, "Fundamentals of Software Engineering" Prentice -Hall, 1991

I.Sommerville, "Software Engineering", 5th ed. Addison Wesley, 1995

G.Kotonya, I.Sommerville, "Requirements Engineering" Wiley, 1997

Roger S.Pressman, "Principi di Ingegneria del Software", 3rd Ed. Academic Press, 2002

Shari Lawrence Pfleeger “Software Engineering theory and practice” International Edition, 1998

Luigi Buglione “Misurare il Solftware” FrancoAngeli, 1999

Martin Fowler “UML Distilled” Addison-Wesley, 2000

Leszek A.Maciaszek “Sviluppo di sistemi informativi con UML” Addison-Wesley, 2002 A.Binato, A.Fuggetta, L.Sfardini “Ingegneria del software – Creatività e metodo” Addison-Wesley, 2006

Page 4: IndietroAvanti Inizio 07/04/2014 Ingegneria del SW Nathalie Morey nmorey@unime.it E-mail.

Indietro AvantiInizioPresentazione corso

Cos’è

ClienteScienze delcomputer

TeorieFunzioni

del computer

Problema

Ingegneria delSoftware

Strumenti eTecniche perRisolvere il problema

L’ingegneria del SW è un campo della scienze del computer che si occupa della costruzione di sistemi software quanto importanti e complessi ad essere sviluppati da equipe di ingegneri. Questi sistemi esistono spesso in più versioni e sono in servizio per più anni.

Page 5: IndietroAvanti Inizio 07/04/2014 Ingegneria del SW Nathalie Morey nmorey@unime.it E-mail.

Indietro AvantiInizioPresentazione corso

Cos’è

• Metodi procedure formali

• Strumenti

• Paradigma style

• Procedura combinazione di strumenti e tecniche

Page 6: IndietroAvanti Inizio 07/04/2014 Ingegneria del SW Nathalie Morey nmorey@unime.it E-mail.

Indietro AvantiInizioPresentazione corso

I primi passi nell’ ingegneria del software

Costo SW vs HWCrisi del SW

Apparse negli anni 70 per rispondere alla “crisi del software” quando si èReso conto che il SW superava il costo materiale (oggi lo supera ampiamente).

Page 7: IndietroAvanti Inizio 07/04/2014 Ingegneria del SW Nathalie Morey nmorey@unime.it E-mail.

Indietro AvantiInizioPresentazione corso

I primi passi del sviluppo software

‘50-’65 (programmer)• Elaborazione batch• Distribuzione limitata• Software personalizzato, scritto da una sola persona, motivata, esperta

‘65-’73 (software engineering / software crisis)• Scalare da sistemi SW piccoli a grandi• Tempo reale, multiutenza• Basi dati• Pacchetti software commerciali• Turn-over del programmatore• Cambiamenti nel SW difficili da gestire

‘73-’88• Sistemi distribuiti• Hardware a basso costo• Crescita del mercato• Ricerca

gestionestrumenti

metoditecniche

Page 8: IndietroAvanti Inizio 07/04/2014 Ingegneria del SW Nathalie Morey nmorey@unime.it E-mail.

Indietro AvantiInizioPresentazione corso

I primi passi del sviluppo software (2)

’87- …• Sistemi da scrivania potenti• Tecnologia oggetto• Strumenti di 4 generazione• Sistemi esperti / Reti neurali• Elaborazione parallela• Rete web• Open-source

Page 9: IndietroAvanti Inizio 07/04/2014 Ingegneria del SW Nathalie Morey nmorey@unime.it E-mail.

Indietro AvantiInizioPresentazione corso

Crisi del SW: una sfida permanente

Matenimento e evoluzione dei SW specifici. adattamento ai nuovi bisogni dei clienti e dell’impresa. gestione dell’organizzazione del sw

Eterogeneità dei sistemi . messa in rete di sistemi ibridi. portabilità SW su varie piattaforme (windows, linux, ...)

Sistemi più complessi (millioni di linee di codice, migliaiai di tabelle nelle basi di dati, e sono eseguiti da numerosi calcolatori)

Se queste sfide non vengono affrontate presto, i sistemi sono consegnati in ritardo, costano più del previsto, e con un livello di qualità inaccettabilmente povero.

Page 10: IndietroAvanti Inizio 07/04/2014 Ingegneria del SW Nathalie Morey nmorey@unime.it E-mail.

Indietro AvantiInizioPresentazione corso

Definizioni

Definizione 1

Disciplina di scienze del computer che offre i metodi e le tecnicheper sviluppare e mantenere la qualità di un software,In sintesi una disciplina che consente di risolvere un problema

Definizione 2

E’ lo studio dei principi, metodi e strumenti per sviluppare e mantenerei sistemi software

Page 11: IndietroAvanti Inizio 07/04/2014 Ingegneria del SW Nathalie Morey nmorey@unime.it E-mail.

Indietro AvantiInizioPresentazione corso

Definizione IEEE

Applicazione di un approccio sistematico, disciplinato e quantificabile per lo sviluppo, l’operatività e la manutenzione del software

IEEE std 610.12-1990’s Standard Glossary of Software Engineering Terminology

Page 12: IndietroAvanti Inizio 07/04/2014 Ingegneria del SW Nathalie Morey nmorey@unime.it E-mail.

Indietro AvantiInizioPresentazione corso

Cambiamenti in ING. SW

Cambiamenti in Ingegneria

del Software

Tecno. OggettoReuso

Pb Waterfall

Tempo mercato

Rete

Interfaccia utente

Economia

Desktop Computing

Page 13: IndietroAvanti Inizio 07/04/2014 Ingegneria del SW Nathalie Morey nmorey@unime.it E-mail.

Indietro AvantiInizioPresentazione corso

Esempi fallimenti

Servizio ambulanze per London

Unificazione di 3 servizi, ottimizzazione di percorsiGuida vocale degli autisti

Pb

3 versioni, costo totale 11 000 000 EuroL’ultima versione abbandonata dopo soli 3 giorni d’uso

Risultati

Analisi errata del problema. Memoria non liberata.

500 pazienti al giorno per 750 veicoli

Page 14: IndietroAvanti Inizio 07/04/2014 Ingegneria del SW Nathalie Morey nmorey@unime.it E-mail.

Indietro AvantiInizioPresentazione corso

Esempi fallimenti

Oslo (’93)

Errore sistema di conto dei votiNuove elezioni

Aeroporto Denver (’94)

Sistema di smistamento dei bagagli

Inaugurazione dell’aeroporto ritardata di 18 mesi

$ 1 000 000 al giorno di perdita (costi + mancati guadagni)

Realizzazione difettosa

Page 15: IndietroAvanti Inizio 07/04/2014 Ingegneria del SW Nathalie Morey nmorey@unime.it E-mail.

Indietro AvantiInizioPresentazione corso

Esempi fallimenti

Ariane V (’95)

Esplosione in volo – costo di 5,8 Miliardi di Euro

Conversione da un numero floating point di 64-bit a signed integer di 16-bit .Alcuni moduli ripresi da Ariane IV senza nuova validazione.

Mars Climate Orbiter & Mars Polar Lander (’99)

Difetti nel software hanno causato il fallimento delle missioni. Errore nel calcolo del’orbito: misure di unità anglosassoni piuttosto che metriche.

Therac-25

Macchinario per la radioterapia. Trattamento con 16,000–25,000 rad al posto di 180. 5 morti Errori di programmazione nel controllo della tastiera.

Costo di 120 M$

Page 16: IndietroAvanti Inizio 07/04/2014 Ingegneria del SW Nathalie Morey nmorey@unime.it E-mail.

Indietro AvantiInizioPresentazione corso

Esempi fallimenti

Y2K Bug 2000

Anno codificato su 2 caratteriCosto sarebbe di 300 Miliardi $

California Department of Motor Vehicles (DMV)Introduzione nuove tecnologie nella gestione delle patente

Progetto interrotto in 93 dopo un costo di 45 Milioni $

Progetto volontarie ma non convincente per gli utenti come i dirigente

Specifiche anche confuse

Page 17: IndietroAvanti Inizio 07/04/2014 Ingegneria del SW Nathalie Morey nmorey@unime.it E-mail.

Indietro AvantiInizioPresentazione corso

Statistica progetti

Standish Group CHAOS report. - 2009

Page 18: IndietroAvanti Inizio 07/04/2014 Ingegneria del SW Nathalie Morey nmorey@unime.it E-mail.

Indietro AvantiInizioPresentazione corso

Statistica progetti

Standish Group International, Inc. - 2008

Page 19: IndietroAvanti Inizio 07/04/2014 Ingegneria del SW Nathalie Morey nmorey@unime.it E-mail.

Indietro AvantiInizioPresentazione corso

Fallimento

Progetti iniziati abbandonati:

• Non conformità (non rispetto capitolato d’oneri)

• Non adeguazione della realizzazione rispetto al bisogno finale

• Ritardo troppo importante

• 90% superanno il budget (50% hanno costato di più)

Page 20: IndietroAvanti Inizio 07/04/2014 Ingegneria del SW Nathalie Morey nmorey@unime.it E-mail.

Indietro AvantiInizioPresentazione corso

Principali cause di fallimenti

➟Complessità

➟Importanza mantenimento sotto stimato

➟Debolezza dei tests

➟Cambiamenti (costo 10 volte più elevato se in fase di sviluppo piuttosto che in partenza, 100 se in fase di produzione). Il SW non si consuma ma diventa obsoleto.

Page 21: IndietroAvanti Inizio 07/04/2014 Ingegneria del SW Nathalie Morey nmorey@unime.it E-mail.

Indietro AvantiInizioPresentazione corso

Apporto dell’ingegneria del software

31 % progetti falliti in 1995

18 % progetti falliti in 2004

Sistema di prenotazione

Riuscita grazia coinvolgimento utenti, sostegno dirigenti

Specifiche chiare e definizione modulare del progetto

Risultati

Hotel Hyatt

Page 22: IndietroAvanti Inizio 07/04/2014 Ingegneria del SW Nathalie Morey nmorey@unime.it E-mail.

Indietro AvantiInizioPresentazione corso

Obiettivi dell’ingegneria del software

L’ingegneria del SW si preoccupa dei processi di fabbricazione del SW,In modo che i criteri seguenti siano soddisfatti:

➟Sistema fabbricato corrisponde ai bisogni degli utenti

➟Qualità corrisponde al contratto iniziale (validità, affidabilità, robustezza, riusabilità, tracciabilità,…).

➟I costi rimangono nei limiti previsti all’origine

➟I tempi rimangono nei limiti previsti all’origine

Page 23: IndietroAvanti Inizio 07/04/2014 Ingegneria del SW Nathalie Morey nmorey@unime.it E-mail.

Indietro AvantiInizioPresentazione corso

Tipi di sistemi a produrre

•Importanti sistemi di gestione (sistemi d’informazione); spesso sistemi transazionale costruiti su db centrale

• Sistemi tempi reali che devono rispondere a degli eventi nei limiti di tempo predefiniti e stretti.

• Sistemi distribuiti su rete di macchine (distribuzione dei dati e/o trattamenti), “nuove architetture” legate ad internet.

• Embedded system e sistemi critici interfacciati con un sistema da controllare (es: aeronautica, centrali nucleari,…).

Page 24: IndietroAvanti Inizio 07/04/2014 Ingegneria del SW Nathalie Morey nmorey@unime.it E-mail.

Indietro AvantiInizioPresentazione corso

Chi è coinvolto ?