Scheda programma d'esame
SOFTWARE ENGINEERING
ANDREA DOMENICI
Academic year2017/18
CourseCOMPUTER ENGINEERING
Code374II
Credits6
PeriodSemester 1
LanguageItalian

ModulesAreaTypeHoursTeacher(s)
INGEGNERIA DEL SOFTWAREING-INF/05LEZIONI60
ANDREA DOMENICI unimap
Obiettivi di apprendimento
Learning outcomes
Conoscenze

L'insegnamento ha l'obiettivo di fornire le conoscenze di base dell'ingegneria del software.

Knowledge

The student who successfully completes the course will have the ability to (1) understand the basic concepts of Software Engineering; (2) design simple software systems; (3) take part in software development projects.

Modalità di verifica delle conoscenze

Esame orale basato sulla discussione di un questionario.

Assessment criteria of knowledge

During the oral exam the student must be able to demonstrate his/her knowledge of the course material.

Methods:

  • Final oral exam
Capacità

 L'insegnamento ha l'obiettivo di sviluppare le capacità di analisi e progetto del software.

Modalità di verifica delle capacità

Esame orale basato sulla discussione di un questionario.

Comportamenti

L'insegnamento ha l'obiettivo di sensibilizzare gli studenti sulla necessità di un approccio rigoroso all'ingegneria del software.

Modalità di verifica dei comportamenti

Esame orale basato sulla discussione di un questionario.

Prerequisiti (conoscenze iniziali)

Basic computer science notions, object-oriented programming.

Prerequisites

Basic computer science notions, object-oriented programming.

Teaching methods

Delivery: face to face

Learning activities:

  • attending lectures
  • individual study
  • Laboratory work

Attendance: Not mandatory

Teaching methods:

  • Lectures
  • laboratory
Programma (contenuti dell'insegnamento)

La produzione di software come attività industriale. Ciclo di vita, modello a cascata, modelli evolutivi. Analisi e specifica dei requisiti: concetti generali; linguaggi per la specifica dei dati; logica; automi a stati finiti; reti di Petri; analisi orientata agli oggetti con notazione UML. Progettazione: concetti generali; moduli; progetto orientato agli oggetti con notazione UML, elementi e tecniche di organizzazione del software, progetto di sistema, progetto in dettaglio. Uso di uno strumento CASE per il progetto. Convalida e verifica: concetti generali; criteri di copertura; framework per il testing.

Syllabus

Software development process models: waterfall, iterative, Unified Process. Specification methods and formalisms: Finite State Automata, Logic, UML. Concepts of software design: modularity, polymorphism, components, concurrency. Elements of testing: structural and functional testing, unit, integration, and system testing.

Bibliografia e materiale didattico

Ghezzi, Jazayeri, Mandrioli, "Ingegneria del software".
Dispense fornite dal docente.
Sono inoltre consigliati:
E. Gamma, R. Helm, R. Johnson, J. Vlissides, "Design Patterns", Addison-Wesley.
Un testo a scelta sul linguaggio UML

Bibliography

C. Ghezzi, M. Jazayeri, D. Mandrioli "Ingegneria del software -- Fondamenti e principi" Pearson - Prentice Hall

Indicazioni per non frequentanti

Vedi bibliografia. Rivolgersi al docente per il ricevimento studenti.

Modalità d'esame

a) risoluzione scritta di un questionario, comprendente domande e semplici esercizi.
b) correzione individuale e discussione della prova a).
La risoluzione del questionario e la sua correzione e discussione costituiscono una prova unica

Assessment methods

Written questionnaire with multiple-choice questions and exercises involving coding and/or diagramming.  The questionnaire and its individual discussion constitute the exam and they are not separate parts.

Updated: 01/03/2018 12:13