Materiale didattico. Sommario

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Materiale didattico. Sommario"

Transcript

1 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 [email protected] tel Presentazione del corso Obiettivi del corso Far conoscere principi, metodi e tecniche dell'ingegneria del software e sviluppare competenze applicabili allo sviluppo ed evoluzione di grandi sistemi software, aventi caratteristiche di qualità ed economicità. Il corso utilizza lo studio di un caso che illustra i problemi e gli esiti delle differenti attivita' su un sistema software realizzato sia in versione C (mediante approccio orientato alle funzioni) che in versione C++ (mediante approccio orientato agli oggetti). Modalità dell esame Discussione di un progetto sviluppato dagli studenti, organizzati in gruppi di tre persone Accertamento della conoscenza dei contenuti trattati nel corso 2 1

2 Materiale didattico Libro di testo: Pankaj Jalote, An Integrated Approach to Software Engineering, 2nd edition, 1997, Springer Altri libri consigliati: Roger S. Pressman, Principi di Ingegneria del Software, seconda edizione, Mc Graw Hill C. Ghezzi, et al. Ingegneria del Software, Mondadori Informatica UML -standard: Copia dei lucidi e materiale integrativo fornito dal docente 3 Sommario Argomenti della lezione: Software: definizione e caratteristiche essenziali; Ingegneria del software: definizione, fattori caratterizzanti, obiettivo e strategia; sviluppo per fasi: caratteristiche e fasi fondamentali. Modelli di processo software: modello a cascata, modello prototipale, modelli evolutivi ed incrementali. 4 2

3 Software Software: non solo programmi, ma l insieme degli artifatti che lo compongono, prodotti durante il suo sviluppo un programma verrà usato dal suo autore, che lo ha sviluppato senza preoccuparsi di altri utenti, di portabilità, affidabilità, un sistema software, essendo rivolto ad altri utenti, dovrà essere usabile, portabile, affidabile, etc... la definizione IEEE (Institute of Electrical and Electronics Engineers) insieme di programmi, procedure, regole, e ogni altra documentazione relativa al funzionamento di un sistema di elaborazione dati 5 I problemi del Software costosità, legata alla bassa produttività inaffidabilità: il software non si comporta come ci si aspetta la necessità di una continua evoluzione: una volta rilasciato, il software entra in fase di manutenzione manutenzione correttiva: per correggere difetti riscontrati durante l utilizzo manutenzione adattativa: per adeguare il software alle modifiche dell ambiente operativo manutenzione perfettiva: per aggiungere nuove funzionalità la realtà del rework (modifiche durante lo sviluppo): conseguenza di requisiti poco chiari e mal compresi conseguenza dei lunghi tempi necessari per il rilascio 6 3

4 Il Problema dell Ingegneria del Software (I.S.) La necessità di approcci sistematici allo sviluppo del software Processi: regole per definire la sequenza delle fasi ed attività per lo sviluppo del sw; i documenti da produrre e rilasciare; i controlli per assicurare la qualità e stimare gli avanzamenti; le risorse da impiegare nello sviluppo Modelli del Processo di Sviluppo del Software Metodi: per definire tecniche da impiegare nello sviluppo del software Metodi per la definizione dei requisiti, per la progettazione, la codifica,. Strumenti: per fornire l adeguato supporto all applicazione di processi e metodi CASE, ambienti di programmazione,. 7 Una definizione di Ingegneria del Software La definizione della IEEE: (1) applicazione di un approccio sistematico, disciplinato, quantificabile allo sviluppo, esercizio e manutenzione del software; cioè, l applicazione dell ingegneria al software. (2) studio degli approcci di cui al punto (1) I fattori che governano l Ingegneria del software: costi delle risorse impiegate per lo sviluppo (umane, hardware, software) tempi di consegna (mercato sempre più esigente) qualità del prodotto finale (svariati aspetti) 8 4

5 Un modello di qualità del software (modello di McCall) Tre dimensioni e relativi fattori: Product Operation Correttezza, Affidabilità, Efficienza, Usabilità,... Product Transition: Portabilità, Riusabilità, Interoperabilità Product Revision: Manutenibilità, Flessibilità, Testabilità Necessità di metriche (misure quantificabili per valutare le varie caratteristiche del software) Revision Transition Operation 9 L approccio dell Ingegneria del Software Obiettivo dell Ingegneria del software: definire metodi e procedure per lo sviluppo del software, utili ad ottenere sistemi di grandi dimensioni, di alta qualità, a basso costo, ed in breve tempo Per conseguire tali obiettivi occorre puntare sulla qualità del processo di sviluppo del software il software come altre industrie manifatturiere Un processo di sviluppo per fasi: ogni fase è responsabile dei suoi output presenza di punti di verifica della qualità alla fine di ogni fase Vari modelli di processo software 10 5

6 Le attività fondamentali di un processo di sviluppo software Analisi dei Requisiti identificare cosa si richiede al sistema, al fine di definirne puntualmente i requisiti in un idoneo documento (Specifica dei Requisiti Software -SRS) include 2 attività: analisi del problema e specifica dei requisiti Progettazione (o Design) individuare una soluzione al problema specificato nell SRS e produzione dei documenti di progetto include due attività: top-level design: definizione dell architettura del sistema low-level design: definizione della logica interna dei componenti 11 Le attività fondamentali di un processo di sviluppo software Codifica implementare il progetto usando un linguaggio di codifica, in maniera semplice e comprensibile uso di programmazione strutturata e stili di codifica Testing verifica della qualità del software, individuando gli errori sfuggiti alle fasi precedenti, basandosi su prove di esecuzione del software (casi di test) vari livelli di testing: testing di unità, di integrazione, di sistema, di accettazione richiede la definizione di un documento di specifica del testing e di un rapporto di test 12 6

7 Il Project Management Un processo di sviluppo a fasi non definisce: Allocazione delle risorse per le varie attività Lo scheduling delle attività ed i tempi da rispettare Come verificare se lo svolgimento delle singole fasi sia corretto... Necessità del project management project planning (def. attività, risorse da allocare, tempi) project monitoring e controllo metriche di prodotto e di processo per misurare e controllare

Ingegneria del Software

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

Dettagli

Ingegneria del Software II

Ingegneria del Software II Ingegneria del Software II Prof. Evelina Lamma Anno accademico 2017-16 Obiettivi del corso l Illustrare modelli, tecniche e strumenti disponibili nelle varie attività/fasi del processo di sviluppo software:

Dettagli

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

Dettagli

INGEGNERIA DEL SOFTWARE

INGEGNERIA DEL SOFTWARE DIPARTIMENTO DI INGEGNERIA ELETTRICA ELETTRONICA E INFORMATICA Corso di laurea magistrale in Ingegneria informatica Anno accademico 2016/2017-1 anno INGEGNERIA DEL SOFTWARE 9 CFU - 1 semestre Docente titolare

Dettagli

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione Elementi di Informatica e Programmazione Introduzione Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Docente: Daniela Fogli Informazioni

Dettagli

Gestione dello sviluppo software Modelli Base

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

Dettagli

INGEGNERIA DEL SOFTWARE. Il Corso. Obiettivi. A.A. 2003-2004 Prof. Giuseppe Visaggio Presentazione

INGEGNERIA DEL SOFTWARE. Il Corso. Obiettivi. A.A. 2003-2004 Prof. Giuseppe Visaggio Presentazione Scenario dello Sviluppo nella I.T. INGEGNERIA DEL SOFTWARE A.A. 2003-2004 Prof. Giuseppe Visaggio DIB 1 DIB 2 Obiettivi Il Corso!Conoscenza di principi, tecniche e metodi per i processi di sviluppo software.

Dettagli

Corso di Laurea Magistrale in Ingegneria Informatica. Ingegneria del Software II (IS2)

Corso di Laurea Magistrale in Ingegneria Informatica. Ingegneria del Software II (IS2) Corso di Laurea Magistrale in Ingegneria Informatica Ingegneria del Software II (IS2) a.a. 2010/12 Ingegneria del Software 2 - Introduzione 1 Docente Prof.ssa Anna Rita Fasolino Dipartimento di Informatica

Dettagli

Corso di Ingegneria del Software. Informazioni sul corso

Corso di Ingegneria del Software. Informazioni sul corso Corso di Ingegneria del Software a.a. 2010/2011 Mario Vacca [email protected] Corso di Ingegneria del Software - a.a. 2010/2011 1. 2. Il programma del corso Sommario Corso di Ingegneria del Software

Dettagli

3. Ciclo di Vita e Processi di Sviluppo

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

Dettagli

Basi di Dati Ingegneria Informatica e delle Telecomunicazioni

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

Dettagli

GESTORE DEL SISTEMA QUALITA AZIENDALE

GESTORE DEL SISTEMA QUALITA AZIENDALE GESTORE DEL SISTEMA QUALITA AZIENDALE DESCRIZIONE SINTETICA GESTORE DEL SISTEMA QUALITA AZIENDALE Il gestore del è in grado di sviluppare ed implementare un funzionale all attuazione degli obiettivi strategici

Dettagli

CORSO DI FONDAMENTI DI INFORMATICA

CORSO DI FONDAMENTI DI INFORMATICA Università degli Studi di Bologna Facoltà di Ingegneria CORSO DI FONDAMENTI DI INFORMATICA Ing. Civile/Edile Anno Accademico 1999/2000 http://www-lia.deis.unibo.it/courses/fondcived Prof. Paola Mello Tel.

Dettagli

Corso di Ingegneria del Software. Esempi di casi d uso

Corso di Ingegneria del Software. Esempi di casi d uso Corso di Ingegneria del Software a.a. 2009/2010 Mario Vacca [email protected] Casi d uso Sommario 1. 2. 3. Casi d uso e specifica dei requisiti 4. Esempio: sistema iscrizione ed esami 5. Bibliografia

Dettagli

Fondamenti di Informatica. Proff. B.Buttarazzi & A.D Ambrogio A.A. 2011/2012

Fondamenti di Informatica. Proff. B.Buttarazzi & A.D Ambrogio A.A. 2011/2012 Fondamenti di Informatica Proff. B.Buttarazzi & A.D Ambrogio A.A. 2011/2012 Sommario Contenuti del Corso Obiettivi Riferimenti Regole del Corso Materiale Didattico Scheduling Esami Introduzione al Corso

Dettagli

Corso di Fondamenti di Informatica e Laboratorio ato o T-AB

Corso di Fondamenti di Informatica e Laboratorio ato o T-AB Università degli Studi di Bologna Facoltà di Ingegneria Corso di Fondamenti di Informatica e Laboratorio ato o T-AB Corso di Laurea in Ingegneria Elettronica e Telecomunicazioni Prof. Michela Milano Prof.

Dettagli

Ingegneria del Software L-A

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

Dettagli

CORSO DI PROGRAMMAZIONE E INFORMATICA GENERALE 1

CORSO DI PROGRAMMAZIONE E INFORMATICA GENERALE 1 CORSO DI PROGRAMMAZIONE E INFORMATICA GENERALE 1 Lezione 1 (Introduzione e Definizioni) Docenti Docente: Prof. Michele Colajanni Lezioni (Aula IV): martedì 10:00-12:45 Esercitazioni (Laboratorio): mercoledì

Dettagli

Corso di Ingegneria del Software. Modelli di produzione del software

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

Dettagli

TECNICO SUPERIORE PER LA GESTIONE DI STRUTTURE DEL BENESSERE

TECNICO SUPERIORE PER LA GESTIONE DI STRUTTURE DEL BENESSERE TECNICO SUPERIORE PER LA GESTIONE DI STRUTTURE DEL BENESSERE ALTA FORMAZIONE PROFESSIONALE DI MANAGEMENT DEL BENESSERE Il percorso di Tecnico Superiore per la gestione di strutture del benessere promuove

Dettagli

Docente: Prof. Marco Patella Tutor: Stefano Pio Zingaro

Docente: Prof. Marco Patella Tutor: Stefano Pio Zingaro Università di Bologna Facoltà di Ingegneria C.d.L. in Ing. Gestionale Fondamenti di Informatica T-1 (A-K) A.A. 2016/17 Docente: Prof. Marco Patella Tutor: Stefano Pio Zingaro 1 Obiettivi del corso Il corso

Dettagli

Docente: Prof. Marco Patella Tutor: Vincenzo Lomonaco

Docente: Prof. Marco Patella Tutor: Vincenzo Lomonaco Università di Bologna Facoltà di Ingegneria C.d.L. in Ing. Gestionale Fondamenti di Informatica T-1 (A-K) A.A. 2015/16 Docente: Prof. Marco Patella Tutor: Vincenzo Lomonaco 1 Obiettivi del corso Il corso

Dettagli

Grafica ed interfacce per la comunicazione. Scienze della Comunicazione A.A.2013/14

Grafica ed interfacce per la comunicazione. Scienze della Comunicazione A.A.2013/14 Grafica ed interfacce per la comunicazione Scienze della Comunicazione A.A.2013/14 Paola Vocca Lezione 0: Presentazione 1 Docente Paola Vocca Orario di ricevimento: o Mercoledì dalle 14:00 alle 15:00 (studio)

Dettagli

Architettura degli elaboratori

Architettura degli elaboratori Architettura degli elaboratori Ottavio D Antona [email protected] Maria Luisa Damiani [email protected] Dipartimento di Informatica Università degli Studi di Milano Architettura degli Elaboratori -

Dettagli

Cosa è un programma. Informatica di Base -- R.Gaeta 18

Cosa è un programma. Informatica di Base -- R.Gaeta 18 Cosa è un programma Il programma è la scatola nera che risolve il problema computazionale; Il programma è una sequenza di istruzioni che devono essere eseguite; Il programma è la traduzione per il computer

Dettagli

Ingegneria del Software 2010

Ingegneria del Software 2010 Ingegneria del Software 2010 Materiale, link utili, avvisi http://www.dmi.unict.it/~tramonta/se Forum su SDAI http://www.sdai.unict.it leggere gli avvisi partecipare alle discussioni fare domande Lezioni

Dettagli

Lo sviluppo del progetto informatico

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

Dettagli

Disciplina: Tecnologie della Comunicazione

Disciplina: Tecnologie della Comunicazione 2 ANNO 1 ANNO Indirizzo Anno scolastico 2017/2018 Classe Docente Relazioni Internazionale per il Marketing 4RA-4RB Maria Corongiu Disciplina: Tecnologie della Comunicazione I risultati di apprendimento

Dettagli

Elementi di Informatica

Elementi di Informatica Corso di Laurea triennale in Ingegneria Chimica in condivisione con Corso di Laurea triennale in Ingegneria Navale e Scienze dei Materiali Elementi di Informatica A.A. 2016/17 prof. Mario Barbareschi Introduzione

Dettagli