Docenti
– introdurre ai concetti di base dell’Ingegneria del Software (IS), ossia il settore ingegneristico dell’informatica dedicato allo studio delle metodologie, delle tecniche e degli strumenti utilizzati in tutti gli aspetti della produzione industriale del software;
– capire quali sono i principali problemi che si incontrano nello sviluppo del software a livello professionale ed industriale;
– conoscere come è organizzato il processo di produzione e di sviluppo del software;
– sapere come organizzare un modello del software e come produrre una specifica software
– sapere come organizzare e svolgere test automatizzati.
CAPACITA’ RELATIVE ALLE DISCIPLINE
Lo studente dovrà:
1. Conoscenza e capacità di comprensione:
Acquisire specifiche conoscenze dei principali concetti e principi dell’IS. Conoscere molteplici modelli del processo di sviluppo del software e le varie fasi del ciclo di vita, con riferimento sia al software tradizionale, che al software avanzato. Conoscere diverse tecniche di analisi e di progettazione del software, ivi comprese le tecniche strutturate e quelle object-oriented e i Principi Solidi di Design OO. Conoscere le notazioni per la modellazione del software inclusi i linguaggi: UML, Data Flow Diagram. Conoscere i maggiori fattori di criticità nello sviluppo del software. Conoscere le principali tecniche di verifica e validazione del software, ivi incluse le tecniche di testing e di software inspection e le relative metriche di qualità. Conoscere le nuove tecniche agili di sviluppo del software.
2. Capacità di applicare conoscenza e comprensione:
Sapere come analizzare e rappresentare i risultati dell’analisi e della progettazione in uno specifico dominio applicativo.
CAPACITA’ TRASVERSALI / SOFT SKILLS
Lo studente dovrà:
1. Autonomia di giudizio:
Saper valutare indipendentemente le caratteristiche ed i requisiti di un’applicazione informatica ed essere in grado di rappresentarne l’analisi e la progettazione.
2. Abilità comunicative:
Saper illustrare con rigore logico e terminologico, a voce e per iscritto mediante varie tecniche di rappresentazione, gli elementi tecnici rilevanti di un progetto software.
3. Capacità di apprendimento:
Essere in grado di apprendere le nozioni base dell’IS, al fine poi all’occorrenza di raffinare e di approfondire specifici settori della disciplina.
In particolare tratta i seguenti contenuti: definizioni di base, modelli dei processi sw; metodologie di analisi dei requisiti e definizione delle specifiche sw; modellizzazione dei sistemi; prototipizzazione; progettazione del sw e Principi Solidi di design OO; testing del software; metriche di qualità, metodi agili.
A. Baruzzo, Analisi e Progettazione di Sistemi Software Industriali 2/E– Vol. 1, Create Space, 2022. (disponibile online presso i cataloghi Amazon).
Altri testi per la consultazione:
S.L. Pfleeger, J.M. Atlee, Software Engineering – Theory and Practice. Third Edition, Pearson/Prentice Hall, Upper Saddle River, NJ, USA, 2006. ISBN 0-13-146913-4 (4th Edition – 2010)
R. Pressmann, SOFTWARE ENGINEERING: A PRACTITIONER’S APPROACH, 7th EDITION, McGrawHill, 2010 (8th Edition – 2015)
M. Fowler, Uml Distilled: A Brief Guide To The Standard Object Modeling Language, Pearson, 3rd Ed – 2015.
Università degli Studi di Udine
Dipartimento di Scienze Matematiche, Informatiche e Fisiche (DMIF)
via delle Scienze 206, 33100 Udine, Italy
Tel: +39 0432 558400
Fax: +39 0432 558499
PEC: dmif@postacert.uniud.it
p.iva 01071600306 | c.f. 80014550307
30 km from Slovenia border
80 km from Austria border
120 km from Croatia border
160 km South West of Klagenfurt (Austria)
160 km West of Lubiana (Slovenia)
120 km North East of Venezia (Italy)