Politecnico di Torino
Politecnico di Torino
Politecnico di Torino
Anno Accademico 2017/18
Software engineering
Corso di Laurea Magistrale in Ingegneria Informatica (Computer Engineering) - Torino
Docente Qualifica Settore Lez Es Lab Tut Anni incarico
Morisio Maurizio ORARIO RICEVIMENTO PO ING-INF/05 70 0 10 0 19
SSD CFU Attivita' formative Ambiti disciplinari
ING-INF/05 8 B - Caratterizzanti Ingegneria informatica
Goal of the course is to expose the students to the problems involved in programming in the large (programs of medium large size, involving teams of programmers) and to the tools offered by the software engineering discipline to tackle these problems.
Risultati di apprendimento attesi
Knowledge acquired: issues in the development of large software systems (communication and coordination between contractors and developers, evolution, correctness, reliability, usability). Software life cycles. The UML language. Operational modeling and prototyping. Verification and validation. Management and support of software projects.

Skills acquired: ability to analyze and formalize functional and non functional requirements of a software system. Ability to define an operational model of a software system. Ability to validate and verify a software system (through test, prototyping and inspection). Ability to define the organizational support of a software project (project management, configuration management, lifecycle).
Prerequisiti / Conoscenze pregresse
Capability of developing small programs, knowledge of structural elements of programming languages (functions, classes, packages)
Introduction (0.5 CFU)
-issues in the development and maintenance of large programs
-software qualities: functionality, correctness, efficiency, usability, portability etc
-economica value, direct and indirect, of programs
-program types

Software processes (0.5 CFU)
-waterfall, prototyping, iterative
- agile methodologies

UML (1.5 CFU)
-structural diagrams (class diagram, component diagram)
-dynamic diagrams (sequence diagram, statecharts)
-functional diagrams (use case diagram)

Requirements Analysis and modelling (1.5 CFU)
- Functional and non functional requirements
- Stakeholders
- Outline of a requirement specification document
- use of UML to formalize requirements
- Validation and verification of requirements: inspections, prototypes, formal models

Software design(1 CFU)
- use of UML for design
-design and architectural diagrams
-Validation and verification of designs

Verification and Validation (2 CFU)
- testability, correctness, reliability a
- test: test white and black box, unit, integration, system; techniques and tools
- inspections, walkthrough, reviews, reading

Software project management(0.5 crediti)
- tools:WBS, Gantt, Pert, milestones, deliverables.
- activities: estimation, planning, tracking, post mortem

Configuration management (0.5 crediti)
- identification of configuration items
- version control, change management, configuration control
Organizzazione dell'insegnamento
Exercices and cases studies: inspection of a requirement document, inspection of a design document, definition of test cases, planning of a software project.
Testi richiesti o raccomandati: letture, dispense, altro materiale didattico
B. Bruegge, A. Dutoit, Object Oriented Software Engineering, Prentice Hall.
Morisio M., Vetro A., Falcarin P., Software Engineering Exercices, CLUT

Slides, exercices and case studies on the course web site.
Criteri, regole e procedure per l'esame
Written exam, 2 hours duration, no access to books or notes.
The exam is made of a few exercices (accounting for 80% of the evaluation) and a few open questions.
Past exams with solutions are available on the course web site.
Orario delle lezioni
Statistiche superamento esami

Programma definitivo per l'A.A.2017/18

© Politecnico di Torino
Corso Duca degli Abruzzi, 24 - 10129 Torino, ITALY
WCAG 2.0 (Level AA)