Ingegneria del SW.

Slides:



Advertisements
Presentazioni simili
Gestione dei laboratori
Advertisements

Qual è per una piccola/media impresa emiliano/romagnola il costo complessivo REALE del sistema informatico nel caso in cui si sia scelto di basarsi su.
EUCIP IT Administrator Modulo 4 - Uso Esperto della Rete Reti informatiche: Introduzione AICA © 2005.
Dr.ssa Paola Minasi CNIPA Roma, 5 dicembre 2005
La progettazione secondo la norma internazionale ISO 9001
SISTEMA INFORMATIVO AZIENDALE
La rete di monitoraggio dei campi elettromagnetici in Piemonte
Sviluppo del Software in Regime di Qualita Una Introduzione Mario Capurso
Corso di Laurea in Ingegneria Informatica e dellAutomazione Corso di Ingegneria del software I A. A M. MongielloIntroduzione al corso1 1.Introduzione.
Dr. Francesco Fabozzi Corso di Informatica
Corso di Laurea in Informatica
SERVIZIO DI INGEGNERIA CLINICA
Sw Engineering Lo sviluppo di software tra arte e scienza.
Cluster openMosix Linux Day ’04 Caserta Ing. Diego Bovenzi.
1. 2 Elaborazione Centro Studi Unioncamere al società dipendenti mil fatturato dove sono.
Francesca Martini Dipartimento di Diritto Pubblico Università degli Studi di Pisa Sviluppo, acquisizione e riuso dei sistemi informatici.
Enrico Dellarciprete, PMP - Framework PMBOK – Linee guida CNIPA sulla qualità delle forniture ICT Linee guida CNIPA sulla qualità delle forniture ICT.
Informatica Web – design
Introduzione al calcolo parallelo SISTEMI INFORMATIVI AZIENDALI Pierpaolo Guerra Anno accademico 2009/2010.
1 14. Verifica e Validazione Come assicurarsi che il software corrisponda alle necessità dellutente? Introdurremo i concetti di verifica e validazione.
Gestione della Qualità
Studiare INFORMATICA all’Università Ca’ Foscari
Anno Accademico Corso di Informatica Informatica per Scienze Biologiche e Biotecnologie Anno Accademico
Il Software: Obiettivi Programmare direttamente la macchina hardware è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica del computer.
TECNOCONFERENCE – TC GROUP PRESENTA : Dal Congresso alla Formazione: lunga vita allevento con la tecnologia innovativa 18 OTTOBRE, SALA VISCONTI: STRUMENTI.
IL PATRIMONIO DI DATI - LE BASI DI DATI. Il patrimonio dei dati Il valore del patrimonio di dati: –Capacità di rispondere alle esigenze informative di.
Global Business Services © 2007 IBM Corporation System i Promuovere linnovazione, semplificare lIT Audrey Hampshire, System i Product Manager Italia.
Informatica a Verona Dipartimento di Informatica Facoltà di Scienze MM. FF. NN. Università degli Studi di Verona
MODALITÀ DI ACQUISIZIONE DEL SOFTWARE APPLICATIVO Paolo Atzeni Dipartimento di Informatica e Automazione Università Roma Tre 03/12/2008 (materiale da:
Seminario di presentazione di Seminario di presentazione di
CAPITOLO 2 INTRODUZIONE AL LINGUAGGIO JAVA E ALL'AMBIENTE HOTJAVA.
2) Sistemi operativi Lab. Calc. AA2004/05 - cap.2.
Il modello delle ISO 9000 per il miglioramento dei servizi Il caso Comune di Ravenna : Lapplicazione del modello delle ISO 9000 ai Lavori Pubblici Ravenna,
Il progetto La Y2K Compliance La definizione di conformità allAnno 2000 adottata è quella basata sulla raccomandazione British Standard Institute.
DELLA PRESIDENZA DEL CONSIGLIO DEI MINISTRI
Il Problema della Compatibilità Anno 2000 Ministero del Tesoro del Bilancio e della Programmazione Economica CONSIP S.p.A.
KAEDRA S.r.l. 1 M A R K E T I N G I N T E R N A Z I O N A L E Strategie operative nellesperienza delle aziende vicentine Vicenza, 15 aprile 2008 I D E.
Gaetano Santucci Centro Nazionale per l’Informatica
Corso di Fondamenti di Informatica A Andrea Omicini Anno accademico 1999/2000 Università degli Studi di Bologna Facoltà di Ingegneria Corsi di Laurea in.
Unità operativa: Università della CALABRIA
Elementi di Informatica Simone Scalabrin a.a. 2008/2009.
Primo Rapporto annuale sui siti istituzionali delle Regioni Lanalisi dellaccessibilità dei siti con Kendo Paolo Subioli.
Università Politecnica delle Marche
Modulo 1 - Hardware u.d. 3 (syllabus – 1.3.5)
Cosa sono i sistemi distribuiti Prof. Andrea Omicini Corso di Sistemi Distribuiti A.A. 2001/2002 Parte I.
L’ingegneria del software
Ingegneria del SW Nathalie Morey 29/03/2017.
LA QUALITA’ NELLA PROGRAMMAZIONE DELL’ESERCIZIO
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 2 - Gestione requisiti Ernesto Damiani Università degli Studi di Milano.
Firenze – Festival della Creatività 2009 Comm.it s.r.l. – Ing. Davide Rogai, Ph.D. – Software >> fast on demand software.
1.
Ingegneria del software Modulo 2 -Il software come prodotto Unità didattica 2 -I costi del software Ernesto Damiani Università degli Studi di Milano Lezione.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 1 - Cicli di vita Ernesto Damiani Università degli Studi di Milano.
Scelta di un modello di processo: esempio
Ingegneria del Software Giuseppe Berio DI-Unito 2006.
Cenabimus apud Romanos
OpenProj: una valida alternativa a MS Project
Modulo n – U.D. n – Lez. n Nome Cognome – titolo corso.
Sistemi operativi di rete Ing. A. Stile – Ing. L. Marchesano – 1/18.
L’Open Source per i flussi documentali Roma - Piazza Cardelli, 3 giugno 2004 Provincia di Prato 1.
SnippetSearch Database di snippet bilanciato e replicato di Gianluigi Salvi Reti di calcolatori LS – Prof. A.Corradi.
Ingegneria del software Modulo 2 -Il software come prodotto Unità didattica 2 - I costi del software Ernesto Damiani Università degli Studi di Milano Lezione.
1 FORUM P.A. L’Open Source nella PA Roma - maggio 2004M. Martini L’open source nella PA ing. Marco Martini Componente CNIPA.
ISIA Duca degli Abruzzi a.s. 2010/2011 prof. Antonella Schiavon
I Sistemi Operativi. Definizione Per Sistemi Operativi (di seguito SO) si intendono quei pacchetti software, a loro volta costituiti da più sottoprogrammi.
Pag. 1 Soluzioni per l’ottimizzazione. UN PO’ DI STORIA…  EasyStaff nasce nel gennaio  Dal 2007 al 2013 è stata insediata all’interno del Parco.
Gruppo ITAS Servizio Elaborazione Dati IAM. Gruppo ITAS Servizio Elaborazione Dati IAM ITAS e IAM Obiettivi  identity management (primario)  access.
Implementazioni di un analizzatore di protocollo Esistono quattro fondamentali tradeoff per la realizzazione di un analizzatore di protocollo:  Analisi.
Dal problema al programma – ciclo di sviluppo del software La scrittura del programma è solo una delle fasi del processo di sviluppo di un'applicazione.
Ingegneria del SW.
Transcript della presentazione:

Ingegneria del SW

Programma Principi di ingegneria del software Processo software Ciclo di vita 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 Gestione della configurazione Qualità: garanzia, norme, metriche Gestione manageriale: personale, costo, pianifica Riuso Design Pattern UML

Cos’è L’ingegneria del SW è un campo della scienze del computer che si occupa della costruzione di sistemi software importanti e complessi che vengono sviluppati da equipe di ingegneri. Questi sistemi esistono spesso in più versioni e sono in servizio per più anni. Scienze del computer Cliente Problema Teorie Funzioni del computer Computer = tool per risolvere un problema. Il SW subisce delle variazioni (modifiche, adattamenti, vari ambienti…). Mentre si impara a programmare bene non si insegna a come costruire migliori sistemi software. La maggiore parte dei problemi sono ampi e non sono mai stati risolti. Dunque si deve procedere ad un analisi. Ingegneria del Software Strumenti e Tecniche per Risolvere il problema

Cos’è Metodi  procedure formali Strumenti Procedura  combinazione di strumenti e tecniche Metodo = procedure formale x produrre un risultato Paradigma  style

I primi passi nell’ ingegneria del software Apparse negli anni 70 per rispondere alla “crisi del software” quando si è Reso conto che il SW superava il costo materiale HW (oggi lo supera ampiamente). Crisi del SW Costo SW vs HW

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 gestione strumenti metodi tecniche ‘73-’88 Sistemi distribuiti Hardware a basso costo Crescita del mercato Ricerca

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

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.

Definizioni di Ing SW Definizione 1 Definizione 2 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

Definizione IEEE IEEE std 610.12-1990’s Standard Glossary of Software Engineering Terminology Applicazione di un approccio sistematico, disciplinato e quantificabile per lo sviluppo, l’operatività e la manutenzione del software

Ciclo di vita del software Cambiamenti in ING. SW Tecno. Oggetto Reuso Ciclo di vita del software Modello a cascata Desktop Computing Tempo mercato Cambiamenti in Ingegneria del Software Economia Interfaccia utente Rete

Esempi fallimenti Servizio ambulanze per London 500 pazienti al giorno per 750 veicoli Unificazione di 3 servizi, ottimizzazione di percorsi Guida vocale degli autisti Risultati 3 versioni, costo totale 11.000.000 Euro L’ultima versione abbandonata dopo soli 3 giorni d’uso Analisi errata del problema. Memoria non liberata.

Esempi fallimenti Oslo (’93) Aeroporto Denver (’94) Errore sistema di conto dei voti Nuove 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

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. Costo di 120 M$ 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.

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

Statistica progetti Standish Group CHAOS report. - 2009

Statistica progetti Standish Group International, Inc. - 2008

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ù)

Principali cause di fallimenti Complessità 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. Importanza del mantenimento del sistema sotto-stimato Debolezza dei tests effettuati

Apporto dell’ingegneria del software Hotel Hyatt Sistema di prenotazione Risultati Riuscita grazie al coinvolgimento utenti, sostegno dirigenti Specifiche chiare e definizione modulare del progetto 31 % progetti falliti in 1995 18 % progetti falliti in 2004

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

Tipi di sistemi da produrre Importanti sistemi di gestione (sistemi d’informazione); spesso sistemi transazionale costruiti su db centrale Sistemi in 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,…).

Chi è coinvolto ?

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