View syllabus
SOFTWARE ENGINEERING
LAURA SEMINI
Academic year2022/23
CourseCOMPUTER SCIENCE
Code271AA
Credits6
PeriodSemester 1
LanguageItalian

ModulesAreaTypeHoursTeacher(s)
INGEGNERIA DEL SOFTWAREINF/01LEZIONI48
LAURA SEMINI unimap
Obiettivi di apprendimento
Learning outcomes
Conoscenze

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.

Knowledge

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.

Modalità di verifica delle conoscenze

Esame scritto e orale

Assessment criteria of knowledge

Methods:

  • Final written exam
  • Final oral exam
Capacità

Lo studente sarà in grado di progettare e documentare un progetto sw

Modalità di verifica delle capacità

Esame scritto e orale

Comportamenti

Lo studente potrà saper gestire responsabilità di conduzione di un team di progetto.

Modalità di verifica dei comportamenti

Esame orale

Prerequisiti (conoscenze iniziali)

Programmazione OO

Prerequisites

OO programming

Indicazioni metodologiche

Attività didattiche:

     Frequentando lezioni
     Partecipazione alle discussioni
     Studio individuale

Presenza: consigliato

Metodi di insegnamento:

     lezioni

Teaching methods

Delivery: face to face

Learning activities:

  • attending lectures
  • participation in discussions
  • individual study

Attendance: Advised

Teaching methods:

  • Lectures
Programma (contenuti dell'insegnamento)

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.

Syllabus

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.

Bibliografia e materiale didattico

Disponibili in buona parte online alla pagina didawiki del corso

  1. Lucidi delle lezioni
  2. Object Oriented and Classical Software Engineering, Stephen R.Schach, Fifth edition, McGraw Hill, Capitoli: 1-3-10 Oppure capitoli 1,2,11 della 8th edition
  3. Object-Oriented Software Engineering, David C. Kung, Capitolo 2
  4. UML@Classroom, Martina Seidl, Marion Scholz, Christian Huemer, Gerti Kappel, Springer Verlag, 2015. Disponibile per gli studenti di unipi a questa pagina.
  5. Dispensa di architettura e progettazione di dettaglio.
  6. Capitoli: 1-2-9-10-11-12-16-17-18 del libro “Software Testing and Analysis: Process, Principles, and Techniques” di Mauro Pezzè e Michal Young, nella versione free che potete richiedere seguendo le istruzioni su Teams

 

Bibliography

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.

Modalità d'esame
  • L'esame è composto da una prova scritta ed una prova orale.
  • La prova scritta consiste in:
    alcune domande o esercizi da risolvere su un caso di studio, si svolge in un'aula normale, dura 2 ore, rimane valida per la sessione d'appello in corso.
  • La prova scritta è superata superata se:
    la totalità degli esercizi sarà stata svota in modo sufficiente, o comunque se un eventuale esercizio non svolti sarà compensato dagli altri, svolti in modo buono o ottimo
  • La prova orale consiste in:
    un colloquio tra il candidato e il docente.
  • La prova orale è superata se:
    il candidato dimostra una buona comprensione dei temi del corso.

Durante COVID: istruzioni alla pagina didawiki

Updated: 04/09/2022 12:26