Questo sito utilizza cookie tecnici e di terze parti. Se vuoi saperne di più o negare il consenso consulta l'informativa sulla privacy. Proseguendo la navigazione o cliccando su "Chiudi" acconsenti all'uso dei cookie. Chiudi
vai al contenuto vai al menu principale vai alla sezione Accessibilità vai alla mappa del sito
Login  Docente | Studente | Personale | Italiano  English
 
Home page

Ingegneria del software

Corso Ingegneria dell'Informazione
Curriculum Curriculum unico
Orientamento Orientamento unico
Anno Accademico 2018/2019
Crediti 6
Settore Scientifico Disciplinare ING-INF/05
Anno Terzo anno
Unità temporale Secondo semestre
Ore aula 48
Attività formativa Attività formative a scelta dello studente (art.10, comma 5, lettera a)

Canale unico

Docente ROBERTO NARDONE
Obiettivi Il corso mira a fornire i principi, le metodologie e le tecniche alla base delle diverse fasi di sviluppo e produzione del codice: pianificazione, progettazione, modellazione e specifica, implementazione, collaudo e verifica, valutazione, manutenzione.
Programma Introduzione all'Ingegneria del software. Processo e prodotto. Fattori di qualità del software. Principi dell’ingegneria del software: formalità, astrazione, separazione degli interessi, modularità, incapsulamento, information hiding, coesione, accoppiamento, anticipazione del cambiamento. Il concetto di modulo software, moduli come astrazione sul controllo e come astrazione sui dati. Relazioni tra moduli.

Il ciclo di vita del software. Principali attività della produzione del software. Modello a cascata; modello con retroazione. Modelli evolutivi. Modello a ‘V’. Metodologie Agili. SCRUM.

Ingegneria dei requisiti. Concetto di prodotto Software. Generalità sulla stima dei costi. Metriche funzionali (Function Points). Analisi dei punti funzione (FPA). Analisi e specifica dei requisiti. Documento dei requisiti (SRS). Requisiti utente e di sistema. Requisiti funzionali e non funzionali. Tassonomia dei requisiti non funzionali. Completezza e consistenza dei requisiti. Standard per la specifica dei requisiti. Elicitazione, analisi dei requisiti e validazione dei requisiti. Tracciabilità dei requisiti. Modellazione dei casi d’uso in UML.

La modellazione a oggetti. Obiettivi della modellazione. La progettazione tradizionale e quella orientata agli oggetti. L’ereditarietà come strumento di progettazione e di riuso. La fase di progettazione. La modellazione a oggetti in linguaggio UML: diagrammi delle classi, di interazione, di stato, di attività, dei componenti, dei package, di deployment. Dalla progettazione a oggetti alla programmazione a oggetti. Realizzazione del contenimento stretto e lasco, delle associazioni e dell’interazione tra gli oggetti. Pattern architetturali e di design. Pattern creazionali, strutturali e comportamentali. I pattern DAO, Observer, Factory, Model-View-Controller, Singleton, Façade, Adapter, Composite. Dal progetto UML alla implementazione in Java.

Verifica e validazione del software (V&V). Analisi statica. Obiettivi e pianificazione del testing. Tecniche di testing black-box e white-box. Test di unità, di integrazione, di sistema, di accettazione, di regressione, -test, -test. Test strutturale, criteri di copertura. Complessità ciclomatica o numero di Mc Cabe. Test combinatoriale. Model-based testing. Test di robustezza. Metodi formali. Concetti di affidabilità del software. Testing di applicazioni Java con Junit.

Modelli e architetture software. Partizioni e Layer. Pattern architetturali. Repository Architecture. Client/Server Architecture. Peer-To-Peer Architecture. Model/View/Controller. Architetture n-tier.
Testi docente I. Sommerville. Software Engineering, X ed., Pearson 2017.
Progettazione a oggetti:
C. Larman, Applicare UML e i Pattern - Analisi e Progettazione orientata agli Oggetti, III ed. Prentice-Hall, 2005.
B. Bruegge, A. Dutoit. Object-Oriented Software Engineering, Pearson, 2008.
UML:
Stevens Rod Pooley, Usare UML, Addison Wesley, 2008.
J. Arlow, Ila Neustadt, UML2 e Unified Process, McGraw-Hill, 2006.
Altri:
P. Amman, J. Offutt. Introduction to software testing, Cambrigde Univerisity Press, 2008.
E. Gamma, R. Helm, R.Johnson, J.Vissides. Design patterns, Addison Wesley
Erogazione tradizionale
Erogazione a distanza No
Frequenza obbligatoria No
Valutazione prova scritta
Valutazione prova orale
Valutazione test attitudinale No
Valutazione progetto
Valutazione tirocinio No
Valutazione in itinere No
Prova pratica No

Ulteriori informazioni

Nessun materiale didattico inserito per questo insegnamento

Elenco dei rievimenti:

Descrizione Avviso
Ricevimenti di: Roberto Nardone
Martedì, 13:00 - 15:00
Studio del docente (3 piano, scala E).

Inviare preventivamente una mail al docente per comunicare la presenza. In caso di necessità, è possibile richiedere un diverso giorno o orario.
Nessun avviso pubblicato
Nessuna lezione pubblicata
Salita Melissari - 89124 Reggio Calabria - CF 80006510806 - Fax 0965 332201 - URP:Indirizzo di posta elettronica dell'ufficio relazioni con il pubblico- PEC:Indirizzo di posta elettronica certificata dell'amministrazione
Feed RSS Facebook Twitter YouTube Instagram

PRIVACY - NOTE LEGALI - ELENCO SITI TEMATICI