La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

IndietroAvanti Inizio 07/04/2014 Ingegneria del SW Nathalie Morey .

Presentazioni simili


Presentazione sul tema: "IndietroAvanti Inizio 07/04/2014 Ingegneria del SW Nathalie Morey ."— Transcript della presentazione:

1 IndietroAvanti Inizio 07/04/2014 Ingegneria del SW Nathalie Morey

2 IndietroAvantiInizio Presentazione corso Programma Principi di ingegneria del software Definizione del problema Analisi dei requisiti e specifiche: modelli semantici, data-flow, viewpoint, metodi formali, concezione object, reti di Petri Progettazione Collaudo Mantenimento, re-engineering UML Processo software Ciclo di vita Riuso Design Pattern Gestione della configurazione Qualità: garanzia, norme, metriche Gestione manageriale: personale, costo, pianifica

3 IndietroAvantiInizio Presentazione 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

4 IndietroAvantiInizio Presentazione corso Cosè Cliente Scienze del computer Teorie Funzioni del computer Problema Ingegneria del Software Strumenti e Tecniche per Risolvere il problema Lingegneria 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.

5 IndietroAvantiInizio Presentazione corso Cosè Metodi procedure formali Strumenti Paradigma style Procedura combinazione di strumenti e tecniche

6 IndietroAvantiInizio Presentazione corso I primi passi nell ingegneria del software Costo SW vs HW Crisi 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).

7 IndietroAvantiInizio Presentazione corso I primi passi del sviluppo software (programmer) Elaborazione batch Distribuzione limitata Software personalizzato, scritto da una sola persona, motivata, esperta (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 Sistemi distribuiti Hardware a basso costo Crescita del mercato Ricerca gestione strumenti metodi tecniche

8 IndietroAvantiInizio Presentazione 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

9 IndietroAvantiInizio Presentazione corso Crisi del SW: una sfida permanente Matenimento e evoluzione dei SW specifici. adattamento ai nuovi bisogni dei clienti e dellimpresa. gestione dellorganizzazione 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.

10 IndietroAvantiInizio Presentazione corso Definizioni Definizione 1 Disciplina di scienze del computer che offre i metodi e le tecniche per 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 mantenere i sistemi software

11 IndietroAvantiInizio Presentazione corso Definizione IEEE Applicazione di un approccio sistematico, disciplinato e quantificabile per lo sviluppo, loperatività e la manutenzione del software IEEE std s Standard Glossary of Software Engineering Terminology

12 IndietroAvantiInizio Presentazione corso Cambiamenti in ING. SW Cambiamenti in Ingegneria del Software Tecno. Oggetto Reuso Pb Waterfall Tempo mercato Rete Interfaccia utente Economia Desktop Computing

13 IndietroAvantiInizio Presentazione corso Esempi fallimenti Servizio ambulanze per London Unificazione di 3 servizi, ottimizzazione di percorsi Guida vocale degli autisti Pb 3 versioni, costo totale Euro Lultima versione abbandonata dopo soli 3 giorni duso Risultati Analisi errata del problema. Memoria non liberata. 500 pazienti al giorno per 750 veicoli

14 IndietroAvantiInizio Presentazione corso Esempi fallimenti Oslo (93) Errore sistema di conto dei voti Nuove elezioni Aeroporto Denver (94) Sistema di smistamento dei bagagli Inaugurazione dellaeroporto ritardata di 18 mesi $ al giorno di perdita (costi + mancati guadagni) Realizzazione difettosa

15 IndietroAvantiInizio Presentazione 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 delorbito: misure di unità anglosassoni piuttosto che metriche. Therac-25 Macchinario per la radioterapia. Trattamento con 16,000–25,000 rad al posto di morti Errori di programmazione nel controllo della tastiera. Costo di 120 M$

16 IndietroAvantiInizio Presentazione corso Esempi fallimenti Y2K Bug 2000 Anno codificato su 2 caratteri Costo 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

17 IndietroAvantiInizio Presentazione corso Statistica progetti Standish Group CHAOS report

18 IndietroAvantiInizio Presentazione corso Statistica progetti Standish Group International, Inc

19 IndietroAvantiInizio Presentazione corso Fallimento Progetti iniziati abbandonati: Non conformità (non rispetto capitolato doneri) Non adeguazione della realizzazione rispetto al bisogno finale Ritardo troppo importante 90% superanno il budget (50% hanno costato di più)

20 IndietroAvantiInizio Presentazione 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.

21 IndietroAvantiInizio Presentazione corso Apporto dellingegneria del software 31 % progetti falliti in % progetti falliti in 2004 Sistema di prenotazione Riuscita grazia coinvolgimento utenti, sostegno dirigenti Specifiche chiare e definizione modulare del progetto Risultati Hotel Hyatt

22 IndietroAvantiInizio Presentazione corso Obiettivi dellingegneria del software Lingegneria 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 allorigine I tempi rimangono nei limiti previsti allorigine

23 IndietroAvantiInizio Presentazione corso Tipi di sistemi a produrre Importanti sistemi di gestione (sistemi dinformazione); 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,…).

24 IndietroAvantiInizio Presentazione corso Chi è coinvolto ?


Scaricare ppt "IndietroAvanti Inizio 07/04/2014 Ingegneria del SW Nathalie Morey ."

Presentazioni simili


Annunci Google