Modules | Area | Type | Hours | Teacher(s) | |
INGEGNERIA DEL SOFTWARE | INF/01 | LEZIONI | 48 |
|
Lo studente che completerà con successo il corso:
- avrà la possibilità di utilizzare moderni strumenti e ambienti per l'analisi,
la progettazione e la verifica dei sistemi software;
- sarà in grado di dimostrare una solida conoscenza di molte tecniche di
modellazione ampiamente utilizzate nello sviluppo del software;
- avrà le competenze per iniziare a lavorare in un ambiente cooperativo.
The student who succesfully complete the course: -- will have the ability to use modern popular tools and environments for the analysus, design and verification of software systems; -- wil be able to demonstrate a solid knowledge of many modelling techniques that are widely used in software development; -- will have the skills to start working in a cooperative environment.
Esame scritto e orale
Methods:
Lo studente sarà in grado di progettare e documentare un progetto sw
Esame scritto e orale
Lo studente potrà saper gestire responsabilità di conduzione di un team di progetto.
Esame orale
Programmazione OO
OO programming
Attività didattiche:
Frequentando lezioni
Partecipazione alle discussioni
Studio individuale
Presenza: consigliato
Metodi di insegnamento:
lezioni
Delivery: face to face
Learning activities:
Attendance: Advised
Teaching methods:
La parte iniziale fornisce motivazioni per il resto: discutiamo i problemi che si verificano nella produzione del software e nei modelli di ciclo di vita. La maggior parte è dedicata alla modellazione del prodotto software in UML, presentando i principali tipi di modelli per ciascuna attività: domini e requisiti, analisi architettoniche e dettagliate, sia dal punto di vista statico (strutturale) sia dal punto di vista dinamico (comportamentale). Infine, presentiamo le tecniche di progettazione per la verifica del software.
The initial part provides motivations for the rest: we discuss the problems occuring in software production and the life-cycle models. The largest part is devoted to modelling the software product in UML, presenting the most important model kinds per each activity: domain and requirements analyis, architectural and detailed design, both from the static (structural) and the dynamic (behavioural) viewpoint. Finally, we present the design techniques for software verification.
Disponibili in buona parte online alla pagina didawiki del corso
J. Arlow, I. Neustadt, UML 2 e Unified Process, (seconda edizione italiana), McGraw-Hill, 2006. A. Binato, A. Fuggetta, L. Sfardini, Ingegneria del Software - Creatività e metodo, Addison Wesley, 2006. L. Semini, Architetture software (quarta edizione). Nota didattica, 2009. V. Ambriola, C. Montangero, L. Semini. Esercizi di Ingegneria del Software (quarta edizione). Nota didattica: 2009. C. Montangero, L. Semini (a cura di). Il controllo del Software - verifica e validazione, Nota didattica, 2008.
Durante COVID: istruzioni alla pagina didawiki
http://didawiki.cli.di.unipi.it/doku.php/informatica/is-a/start#ingegneria_del_software_aa_20222023
http://didawiki.cli.di.unipi.it/doku.php/informatica/is-a/start#ingegneria_del_software_aa_20222023