Ingegneria del Software
|
|
|
- Tommasa Palmisano
- 9 anni fa
- Visualizzazioni
Transcript
1 Ingegneria del Software Settore dell Informatica che si occupa di sistemi sw - di dimensioni e complessità elevate - realizzati da squadre - disponibili in più versioni - di lunga durata - destinati a sottostare a cambiamenti Implica una programmazione in grande ma ingegneria del sw programmazione Consiste di molte altre attività in aggiunta alla programmazione È una parte dell ingegneria dei sistemi Marina Zanella - Ingegneria del Software Introduzione 1
2 Fase pionieristica (anni 40) Prime applicazioni = automazione di procedimenti di calcolo calcolatore = strumento per l esecuzione di operazioni numeriche che difficilmente potrebbero essere eseguite manualmente con la precisione richiesta Linguaggi / strumenti di basso livello Spesso sviluppatore del sw = utente del sw Applicazioni di vita breve Marina Zanella - Ingegneria del Software Introduzione 2
3 Dal calcolo alla elaborazione dati Avvento di applicazioni di natura gestionale calcolatore = macchina per creare, mantenere, modificare, distribuire informazione Distinzione tra sviluppatori e utenti Esigenza di una professionalità specifica nascono EDP e sw house Dall arte (lavoro individuale creativo) all artigianato (lavoro di piccoli gruppi specializzati) Aumento della criticità e della complessità delle applicazioni Automazione di settori non tradizionali Tardi anni 50: avvento dei linguaggi di alto livello Marina Zanella - Ingegneria del Software Introduzione 3
4 Fase industriale (seconda metà anni 60) L attività di sviluppo e manutenzione del sw coinvolge gruppi di lavoro, anche di grosse dimensioni, il cui lavoro deve essere pianificato e coordinato L attività di progettazione del sw deve essere sempre meno sviluppata manualmente e informalmente e sempre più essere supportata da strumenti automatici Lo sviluppo deve seguire metodologie efficaci e deve aderire a standard di produzione che rendano la stessa insensibile al ricambio di personale Nuove applicazioni devono potere essere ottenute anche assemblando componenti standardizzati già sviluppati Produttività Qualità (deve essere certificata) Marina Zanella - Ingegneria del Software Introduzione 4
5 La crisi del sw I grandi progetti sw sono affetti da una incapacità cronica di rispettare i vincoli relativi a scadenze e budget Domanda di sw largamente insoddisfatta, ritardi fra il momento in cui sorge la richiesta di un applicazione e il momento in cui la richiesta inizia a essere soddisfatta; cause: Immaturità rispetto alle altre discipline ingegneristiche Es. ingegneria civile: metodologie assestate che consentono una descrizione precisa e rigorosa dell artefatto da progettare, modelli a diverso livello di astrazione, produzione di disegni dettagliati in base ai quali il sistema sarà realizzato, collaudo finale allo scopo di fornire una certificazione Carenza numerica di personale specializzato Grande quantità di addetti impiegati nella manutenzione Gorgo del sw: carenza di personale specializzato uso di personale impreparato/inesperto produzione di sw di cattiva qualità grande sforzo di manutenzione richiesto impiego di una grande quantità di personale carenza di personale Marina Zanella - Ingegneria del Software Introduzione 5
6 La crisi del sw (cont.) Rapporto crescente; cause: costo sw costo hw la produzione di sw è scarsamente automatizzabile (attività brain-intensive) complessità delle applicazioni richieste Marina Zanella - Ingegneria del Software Introduzione 6
7 Si parla spesso di quella che viene definita crisi del sw, che però è solo apparentemente una crisi. Si tratta invece del fatto ben noto che numerosi prodotti sw in uso, che non sono stati progettati da ingegneri qualificati, siano di qualità più o meno scadente. Certo, questo sw è difficile da modificare ed è tecnicamente mal documentato. La dipendenza del funzionamento del sw dalla presenza di chi lo ha sviluppato è talmente grande che in molti casi lo si può considerare come il prodotto di un attività amatoriale, certamente non come un lavoro professionale e tanto meno come esempio di tecnica e capacità ingegneristica (W. Zuser, S. Biffl, T. Grechenig, M. Köhle, 2001) Marina Zanella - Ingegneria del Software Introduzione 7
8 Quando un programma sw ha successo, ovvero quando risponde alle esigenze delle persone che lo usano, si comporta senza problemi in un lungo arco di tempo, è facile da modificare e ancora più facile da utilizzare, cambia in meglio la nostra vita. Quando il sw fallisce gli obiettivi, ovvero quando gli utenti sono insoddisfatti, quando il sw è soggetto a errori, quando è difficile da modificare e ancora più difficile da utilizzare, si verificano varie situazioni negative. Tutti noi vogliamo realizzare del sw che cambi in meglio il mondo, evitando tutto ciò che accade quando non si riesce a ottenere un buon risultato. Per ottenere ciò è necessario introdurre disciplina nella progettazione e nella realizzazione del sw. Questo è il motivo per cui è necessario un approccio ingegneristico (Pressman, 2004) Marina Zanella - Ingegneria del Software Introduzione 8
9 Nasce una nuova disciplina In una conferenza NATO tenuta a Garmisch nel 1968 viene coniato il termine Ingegneria del Software a testimoniare l esigenza di una disciplina ingegneristica, basata su solide basi teoriche e metodologiche che permettano la progettazione, produzione e manutenzione di applicazioni che forniscano caratteristiche di qualità prefissate mediante l uso delle risorse previste L oggetto non è la computazione e la teoria sottostante ma piuttosto l uso dell informatica per risolvere dei problemi (chimico vs. ing. chimico) Programmi sw = prodotti industriali di supporto ad altri settori produttivi Marina Zanella - Ingegneria del Software Introduzione 9
10 IEEE Standard Definizione di Ingegneria del Software (1) Applicazione di un approccio sistematico, disciplinato e misurabile allo sviluppo, esercizio e manutenzione del software; cioè applicazione dell ingegneria al sw; (2) Studio di strategie di supporto al punto precedente. Parnas Definizione di Ingegneria del Software Costruzione da parte di più persone di software disponibile in più versioni Marina Zanella - Ingegneria del Software Introduzione 10
11 Relazione tra Software Engineering e Computer Science Computer Science Cliente Computer scientist Teorie Funzioni computabili Problema Ingegneria del Software Ricercatore Strumenti e tecniche per risolvere il problema Ingegnere del software Marina Zanella - Ingegneria del Software Introduzione 11
12 Relazioni tra Software Engineering e Computer Science Linguaggi di programmazione Sistemi operativi Basi di dati Intelligenza artificiale Informatica teorica Software Engineering e altre discipline Ingegneria gestionale Ingegneria dei sistemi Marina Zanella - Ingegneria del Software Introduzione 12
13 Caratteristiche esclusive del sw Malleabilità apparente (sembra facile modificare il sw ma non è facile operare modifiche al fine di ottenere un certo comportamento desiderato) Immaterialità solo progettazione Intangibilità (difficoltà di descrizione e valutazione) Assenza del processo di assemblaggio Evoluzione tecnologica rapidissima Processo produttivo del sw (= ciclo di vita): dove termina lo sviluppo di una applicazione e dove inizia la sua evoluzione? Marina Zanella - Ingegneria del Software Introduzione 13
14 Approccio ingegneristico alla produzione del sw Mira a garantire alti livelli di controllo sulla qualità grazie a un processo formale che descrive le varie fasi che vanno seguite nello sviluppo del sw Molte persone lavorano allo stesso progetto, quindi la documentazione è importante (vedi progetti dell ingegneria civile): disegno di alto livello e di dettaglio La fase iniziale di raccolta dei requisiti del cliente prevede che siano esibiti diagrammi, prototipi e documenti tali da garantire che ciò che si svilupperà è effettivamente ciò che vuole il cliente Centralità della progettazione, fondamentale la componente intellettuale creativa Il testing del prodotto segue un processo ben formalizzato, in cui i requisiti iniziali del cliente sono riesaminati per verificarne la corretta implementazione Marina Zanella - Ingegneria del Software Introduzione 14
15 L ingegnere del sw Alle diverse fasi corrispondono figure professionali diverse (suddivisione di competenze e ruoli); nei piccoli progetti 2 o 3 persone coprono tutti i ruoli: analista progettista programmatore ingegnere del testing istruttore (mostra agli utenti come usare il sistema) gruppo manutenzione (include analisti, progettisti, ) gruppo controllo qualità librarian (redattore di documenti usati durante la vita del sistema, ad es. specifiche dei requisiti, descrizioni di progetto, documentazione di programma, manuali di addestramento, ecc.) squadra di gestione delle configurazioni (documenta le corrispondenze fra requisiti, progetto, implementazione e test, ad es. per poter dire ai manutentori quale funzione modificare se è richiesto un cambiamento nei requisiti, ecc.; inoltre coordina le diverse versioni di un sistema) Marina Zanella - Ingegneria del Software Introduzione 15
Introduzione al Calcolo Scientifico
Introduzione al Calcolo Scientifico Francesca Mazzia Dipartimento di Matematica Università di Bari Francesca Mazzia (Univ. Bari) Introduzione al Calcolo Scientifico 1 / 14 Calcolo Scientifico Insieme degli
32 Laurea magistrale in Informatica Scienze
32 Laurea magistrale in Informatica Scienze Il corso prepara alle professioni di (codifiche ISTAT): Analisti e progettisti di software Analisti di sistema Analisti e progettisti di applicazioni web P I
Progettazione di basi di dati
Progettazione di basi di dati Sistemi Informativi L-B Home Page del corso: http://www-db.deis.unibo.it/courses/sil-b/ Versione elettronica: progettazionedb.pdf Sistemi Informativi L-B Progettazione di
Le aree dell informatica
Fondamenti di Informatica per la Sicurezza a.a. 2006/07 Le aree dell informatica Stefano Ferrari UNIVERSITÀ DEGLI STUDI DI MILANO DIPARTIMENTO DI TECNOLOGIE DELL INFORMAZIONE Stefano Ferrari Università
Ingegneria del Software
Ingegneria del Software Introduzione e Concetti Fondamentali Porfirio Tramontana, 2009 Corso di Ingegneria del Software Slide 1 Riferimenti Ian Sommerville, Ingegneria del Software, Capitolo 1 Porfirio
Analisi e specifica dei requisiti
Analisi e specifica dei requisiti Processo che stabilisce i servizi che il committente richiede al sistema da sviluppare ed i vincoli con cui lo si utilizzera` e sviluppera` Requisiti funzionali o non
Corso di Laurea Ingegneria Informatica
Corso di Laurea Ingegneria Informatica Presentazione del corso di Fondamenti di Informatica 2 C. Limongelli - A. Miola Febbraio 2007 http://www.dia.uniroma3.it/~java/fondinf2/ Presentazione Corso 1 Contenuti
Ingegneria del Software 4. Introduzione a UML. Dipartimento di Informatica Università di Pisa A.A. 2014/15
Ingegneria del Software 4. Introduzione a UML Dipartimento di Informatica Università di Pisa A.A. 2014/15 e per i modelli iterativi analisi peliminare analisi e progettazione realizzazione Necessità di
Basi di Dati. Progettazione di una Base di Dati. Progettazione di una Base di Dati
Basi di Dati Cosa vuol dire progettare una base di dati? Il DBMS non va progettato il DBMS si acquista o esiste già è impossibile pensare di sviluppare un DBMS anni di sviluppo necessità di elevate competenze
Ingegneria Meccatronica. M. Da Lio
Ingegneria Meccatronica M. Da Lio Ingegneria Meccatronica Dall Idea al Prodotto finito (sito web) Innovazione ritmo di rinnovamento dei prodotti industriali sempre più rapido nel triennio 94-96 il 49.7%
Lo sviluppo del progetto informatico
Lo sviluppo del progetto informatico Il progetto Il controllo di qualità Le qualità per i prodotti di software Le figure professionali La metodologia La conoscenza degli obiettivi L analisi La progettazione
Materiale didattico. Sommario
Diploma Universitario in Ingegneria Informatica Corso di Ingegneria del Software Docente: ing. Anna Rita Fasolino Dipartimento di Informatica e Sistemistica Università degli Studi di Napoli Federico II
Modelli di processo. Marina Zanella - Ingegneria del Software Processo 1
Modelli di processo Ciclo di vita di un prodotto sw = tutte le fasi che accompagnano tale prodotto dal concepimento dell idea dello stesso fino al suo ritiro Modello di processo = tentativo di organizzare
CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI
CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI Introduzione alle basi di dati (2) 2 Modelli dei dati, schemi e istanze (1) Nell approccio con basi di dati è fondamentale avere un certo livello di
Introduzione al Calcolo Scientifico
Introduzione al Calcolo Scientifico Corso di Analisi Numerica, a.a. 2006/2007 Francesca Mazzia Dipartimento di Matematica Università di Bari 16 Ottobre 2006 Francesca Mazzia (Univ. Bari) Introduzione al
Programma operativo Regione Lombardia/Ministero del Lavoro/Fondo Sociale Europeo, Obiettivo 3 Misura C3
Programma operativo Regione Lombardia/Ministero del Lavoro/Fondo Sociale Europeo, Obiettivo 3 Misura C3 Progetto ID 24063 Moduli e contenuti professionalizzanti inseriti nei corsi di laurea e diplomi universitari
Anno Accademico UNIVERSITÀ LA SAPIENZA DI ROMA. Facoltà di INGEGNERIA. Regolamento Didattico del Corso di laurea in INGEGNERIA ELETTRONICA
Anno Accademico 2008-09 UNIVERSITÀ LA SAPIENZA DI ROMA Facoltà di INGEGNERIA Regolamento Didattico del Corso di laurea in INGEGNERIA ELETTRONICA Appartenente alla classe n. 9 (Ingegneria dell Informazione)
La famiglia ISO 9000: il gruppo coerente
La famiglia ISO 9000: il gruppo coerente La famiglia ISO9000 nasce per aiutare le organizzazioni ad attuare e applicare Sistemi di Gestione per la Qualità efficaci ISO9000: descrive i fondamenti dei sistemi
Il sistema informativo aziendale
Il sistema informativo aziendale Informatica e azienda L azienda è caratterizzata da: Persone legate tra loro da una struttura gerarchica che definisce le dipendenze Attività produttive necessarie per
Fondamenti di Informatica II Corso (HA-ZZ) Introduzione al corso
Fondamenti di Informatica II Corso (HA-ZZ) 06AZNDI Ing. Logistica e della Produzione 06AZNEG Ing. dell Organizzazione d Impresa Introduzione al corso Fulvio Corno Politecnico di Torino Dipartimento di
Introduzione alla Modellazione Solida
Introduzione alla Modellazione Solida Obiettivi della Modellazione Solida e del CAD CAD e progettazione, CAD e sviluppo prodotto Esempio Evoluzione storica Competenze richieste Significato Con Computer
Università degli studi di MACERATA Facoltà di SCIENZE POLITICHE ECONOMIA POLITICA: MICROECONOMIA A.A. 2010/2011 TECNOLOGIA.
Università degli studi di MACERATA Facoltà di SCIENZE POLITICHE ECONOMIA POLITICA: MICROECONOMIA A.A. 2010/2011 TECNOLOGIA Fabio CLEMENTI E-mail: [email protected] Web: http://docenti.unimc.it/docenti/fabio-clementi
Lezione 1 Ingegneria del Software II- Introduzione e Motivazione. Ingegneria del Software 2 Introduzione e Motivazioni 1
Lezione 1 Ingegneria del Software II- Introduzione e Motivazione Ingegneria del Software 2 Introduzione e Motivazioni 1 Riferimenti bibliografici I. Sommerville Ingegneria del Software 8a edizione Cap.1
Ingegneria del Software L-A
Ingegneria del Software L-A Corso di Laurea Triennale in Ingegneria Informatica III anno A.A. 2009/2010 Docente: Giuseppe Bellavia Collaboratore: Gabriele Zannoni Premessa Una domanda fondamentale Che
Fondamenti (Principi) di Controlli Automatici
Fondamenti (Principi) di Controlli Automatici Docente: Ing. Gianluca Palli DEIS - Dipartimento di Elettronica, Informatica e Sistemistica LAR - Laboratorio di Automazione e Robotica Università di Bologna
IL PROCESSO di PROGETTAZIONE
IL PROCESSO di PROGETTAZIONE In questa lezione vedremo: Ruolo della modellazione nella comunicazione tipi di modello nel progetto I modelli del prodotto Interpretazione delle informazioni del progetto
Introduzione alla programmazione. Walter Didimo
Introduzione alla programmazione Walter Didimo Programmi Un programma è una frase (anche molto lunga) che descrive delle azioni che devono essere svolte da un calcolatore La frase deve essere dettagliata
Basi di Dati Ingegneria Informatica e delle Telecomunicazioni
Basi di Dati Ingegneria Informatica e delle Telecomunicazioni A.A. 2014/2015 Ing. Claudio Marrocco [email protected] Obiettivi del corso Il corso mira ad introdurre agli studenti modelli e metodi per
Il disegno nel ciclo di vita del prodotto
Il disegno nel ciclo di vita del prodotto MERCATO INPUT Bisogni PROCESSO DI DI TRASFORMAZIONE Idea Progetto Produzione MERCATO OUTPUT Clienti Figura 1, pag. 19 Pianificazione Organizzazione CONTROLLO MANAGEMENT
Griglia del Questionario di Valutazione Idee di business - DINTEC -
PUNTEGGIO TOTALE CALCOLATO IN MODO AUTOMATICO SULLA BASE DELLE VALUTAZIONI E PESI (MAX) =, Cap.1 - Analisi tecnica del Prodotto/Servizio e Identificazione della domanda di mercato (Qual è l oggetto della
Il calcolatore. Architettura di un calcolatore (Hardware)
Il calcolatore Prima parlare della programmazione, e' bene fare una brevissima introduzione su come sono strutturati i calcolatori elettronici. I calcolatori elettronici sono stati progettati e costruiti
Gestione dello sviluppo software Modelli Base
Università di Bergamo Dip. di Ingegneria gestionale, dell'informazione e della produzione GESTIONE DEI SISTEMI ICT Paolo Salvaneschi A4_1 V1.0 Gestione dello sviluppo software Modelli Base Il contenuto
Organizzazione aziendale a. a. 2018/2019 1
Organizzazione aziendale a. a. 2018/2019 1 TECNOLOGIA & ORGANIZZAZIONE Taylor (1911) Scientific Management Il processo di st andardizzazione degli strumenti e dei procedimenti è la tecnologia che permette
FORUM DELLE ASSICURAZIONI COME SOSTENERE I COSTI DI UNA SOCIETÀ DI BROKERAGGIO: MODELLI ORGANIZZATIVI E SOLUZIONI GESTIONALI MILANO 1 OTTOBRE 2008
FORUM DELLE ASSICURAZIONI COME SOSTENERE I COSTI DI UNA SOCIETÀ DI BROKERAGGIO: MODELLI ORGANIZZATIVI E SOLUZIONI GESTIONALI MILANO 1 OTTOBRE 2008 IL PERCORSO Premessa; Organizzazione e qualità; Controllo
Corso di Ingegneria del Software. Modelli di produzione del software
Corso di Ingegneria del Software a.a. 2009/2010 Mario Vacca [email protected] 1. Concetti di base Sommario 2. 2.1 Modello a cascata 2.2 Modelli incrementali 2.3 2.4 Comparazione dei modelli 2.5
IL PROCESSO di PROGETTAZIONE
IL PROCESSO di PROGETTAZIONE In questa lezione vedremo: La definizione di progettazione La progettazione in ambito ingegneristico I modelli del processo di progettazione il modello di Pahl Beitz il modello
Prof. Arch. Giuliano Dall O Direttore Generale SACERT Politecnico di Milano - Presidente SC01 del CTI
LA CERTIFICAZIONE ENERGETICA. Esperienze SACERT nell applicazione della norma Prof. Arch. Giuliano Dall O Direttore Generale SACERT Politecnico di Milano - Presidente SC01 del CTI 22 settembre 2010 1/22
PROGETTARE PROGETTARE. Rev. Data Causale Redazione Verifica Approvazione. 00 xx/xx/xxxx Prima emissione
PROGETTARE Rev. Data Causale Redazione Verifica Approvazione 00 xx/xx/xxxx Prima emissione INDICE SCOPO DELLA PROCEDURA RESPONSABILITÀ CAMPO DI APPLICAZIONE MODALITÀ OPERATIVE MONITORAGGIO E MISURAZIONE
REGISTRI D'ESAME CODICE ESAME CORSO DI LAUREA NOME DEL CORSO LAUREA CFU
REGISTRI D'ESAME Con "" si intende la Triennale del Nuovo Ordinamento (Legge 270) Con "" si intende la Specialistica di due anni del Nuovo Ordinamento (Legge 270) CODICE ESAME CORSO DI LAUREA NOME DEL
FEDERAZIONE SAMMARINESE GIUOCO CALCIO SETTORE GIOVANILE DI BASE
FEDERAZIONE SAMMARINESE GIUOCO CALCIO SETTORE GIOVANILE DI BASE PROGRAMMAZIONE, SVOLGIMENTO, ANALISI DI UNA SEDUTA DI ALLENAMENTO San Marino, 4 febbraio 2015 La SEDUTA di allenamento Rappresenta una tappa
3. Ciclo di Vita e Processi di Sviluppo
3. Ciclo di Vita e Processi di Sviluppo come posso procedere nello sviluppo? Andrea Polini Ingegneria del Software Corso di Laurea in Informatica (Ingegneria del Software) 3. Ciclo di Vita e Processi di
Corso di Interazione Uomo-Macchina
Corso di Interazione Uomo-Macchina Paolo Bottoni Lezione 1: L interazione Lucidi tradotti e adattati da materiale presente su http://www.hcibook.com/e3/resources/ e http://www.robertopolillo.it Corso di
