Ingegneria del SW.

Slides:



Advertisements
Presentazioni simili
Ingegneria del SW.
Advertisements

Modulo 1 - Hardware u.d. 3 (syllabus – 1.3.5)
Ingegneria del SW Nathalie Morey 29/03/2017.
Implementazione di TRIP ai LNF Commissione Calcolo e Reti 31 maggio 2007 Massimo Pistoni.
IL blueprint e le esigenze per il progetti internazionali (EMI e EGI- InSPIRE) L. Gaido, INFN Torino Riunione del Comitato di Coordinamento IGI Roma, 12.
Giuseppe Andronico CCR-WS10 Santa Tecla, 18 Maggio 2010 Introduzione MPI & GPU.
D. Talia - UNICAL 1. 1 Sistemi Operativi Domenico Talia Facoltà di Ingegneria Università della Calabria.
Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica FONDAMENTI DI INFORMATICA Domenico Talia
1 14 marzo 2006 sommaruga andrea Fondazione Ordine Ingegneri di Milano VPN: Reti Private Virtuali VPN: RETI PRIVATE VIRTUALI LE POSSIBILITA' DI ACCESSO.
POLITECNICO DI MILANO FACOLTA’ DI INGEGNERIA SEDE DI CREMONA TESI DI DIPLOMA IN INGEGNERIA INFORMATICA RELATOREAUTORI Prof. Vittorio TrecordiDemicheli.
The Document Foundation Italo Vignoli. PRO vs CONTRO The Document Foundation e' nata PRO PRO il software libero PRO la liberta' degli utenti PRO la.
1 Unità didattica 1 – Concetti di base del personal computer Premessa: «L’unità didattica programmata destinata ad una allieva con obiettivi minimi della.
E’ costituita da due blocchi:  Interfaccia di rete  Blocco di simulazione L’ interfaccia di rete fornisce il collegamento elettrico con la rete sotto.
Gestione delle configurazioni Configuration management (CM) E` un processo che controlla le modifiche fatte a un sistema e gestisce le diverse versioni.
Umane RISORSE PROCEDURE DATI INFORMAZIONI RACCOLTA SELEZIONE ELABORAZIONE COMUNICAZIONE DISTRIBUZIONE ARCHIVIAZIONE Materiali.
PGDay 2009 FSGateway Ing. Torello Querci Resp. Architetture SW - Negens S.r.l. 4 Dicembre 2009, Pisa.
PLANNING (STRATEGIC, SWOT, RISK MANAGEMENT)
Piattaforma per la gestione di forniture basata su servizi web
Smart HMS: Smart Health Management System
Business Planning Dall’idea al progetto imprenditoriale
Corso di Elementi di Informatica
ISTITUTO DI ISTRUZIONE SUPERIORE “GUGLIELMO MARCONI” NOCERA INFERIORE
La Spending Review nella PA: Vertica e Pentaho per il controllo della spesa farmaceutica convenzionata Fabio Raimondi Project Manager Tecnologie Digitali.
Infrastruttura cloud servizi realizzata nella Sezione di Napoli
Ing. Christian Barberio
Chi siamo Dei Partners efficienti, con un servizio innovativo per recuperare crediti, tempo, serenità, senza più preoccuparsi di nulla. Una squadra di.
TABLET RASPBERRY PI Tesina di maturità Scagnetti Alessandro – Francalancia Simone Anno scolastico 2015/2016 ITT ‘‘E. Divini’’ San Severino Marche.
Presentazione del sistema Data Warehouse Giustizia Civile (DWGC)
CRISI ECONOMICHE E REDDITI DEGLI ITALIANI
Evolvo S.r.l..
Le imprese non si ereditano, si rifondano
GPOI - L’organizzazione aziendale -
INTRODUZIONE AL PROJECT MANAGEMENT
Reggio Calabria, 29 settembre 2006
Il marketing DEFINIZIONE E CONCETTI BASE L’ALBERGO E IL MARKETING
Presentazione Moduli Idysnet
PRESENTAZIONE DEL PROGETTO DIDATTICO
Dal problema al processo risolutivo
Sistema di Analisi e di Acquisizione
Apple Computer Inc. Il caso
Microcontrollori e microprocessori
IL PROCESSO DI MARKETING Capitolo 3
Metodi della progettazione industriale
JAPS: una soluzione “Agile”
Il Metodo Mobile
Web Marketing Il web marketing applica al web le tradizionali strategie di Marketing reinterpretandole, adattandole al contesto e ai differenti canali.
Modulo N.2: Business plan, Budget e Competenze Manageriali
analizzatore di protocollo
IL PROCESSO DI MARKETING: come iniziare
Industria alimentare 800xA per un cibo “sicuro”
Sistemi ERP (Enterprise Resource Planning)
Tecniche di Gestione della Qualità
Che cos’e’ l’Informatica
Corso di Ingegneria del Web A A Domenico Rosaci 1
Corso propedeutico base di informatica
MODULO 1 – Computer essentials
Organizzazione di una rete Windows 2000
Introduzione alle basi di dati
Classe III A A.s – 2012 Programma di Informatica
Progetto di Tecnologie Web 2014/2015 THERMOWEB
Programmare.
© 2007 SEI-Società Editrice Internazionale, Apogeo
INCONTRI DI ORIENTAMENTO SCUOLA APERTA Settore Tecnologico
Definizione di linguaggio di programmazione
Conservation Digital preservation 04/04/2019 Digital preservation.
Business Planning Dall’idea al progetto imprenditoriale
Progetto di Start up Ingegneria Informatica e dell’ Automazione
Il questionario: progettazione e redazione II Modulo
Modellizzazione dei flussi nelle intersezioni stradali:
LA CONFIGUARAZIONE DEL PROGETTO
Transcript della presentazione:

Ingegneria del SW

Cos’è L’ingegneria del SW è un campo della scienze del computer che si occupa della costruzione di sistemi software complessi che vengono sviluppati da equipe di ingegneri. Sistemi che devono essere in servizio per più anni. Scienze del computer Cliente Funzioni del computer Problema Teorie 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

I primi passi nell’ ingegneria del software Apparse negli anni 70 per rispondere alla “crisi del software” quando ci si è resi conto che il SW superava il costo materiale HW. Crisi del SW Costi SW HW tempo

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) Passaggio 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 ’87- … Sistemi da scrivania sempre più potenti Sistemi esperti / Reti neurali Elaborazione parallela Rete web Open-source ecc.

Crisi del SW: una sfida permanente Mantenimento 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 (milioni di linee di codice, migliaia di tabelle nelle basi di dati, 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 Disciplina di scienze del computer che offre i metodi e le tecniche per sviluppare e mantenere la qualità di un software,

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

Esempi di 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) 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 volontario ma non convincente per gli utenti come Per i dirigenti Specifiche anche confuse

Statistica progetti Standish Group CHAOS report. - 2009

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 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: es. sistemi transazionali costruiti su db centrale Sistemi in tempi reali che devono rispondere a degli eventi nei limiti di tempo stretti e predefiniti. Sistemi distribuiti su reti di macchine (distribuzione dei dati e/o servizi), “nuove architetture” legate ad internet es. Web Service Embedded system e sistemi critici interfacciati con un sistema da controllare (es: aeronautica, centrali nucleari,…).

Fine