Software Engineering

A.Y. 2018/2019
12
Max ECTS
120
Overall hours
SSD
INF/01
Language
Italian
Learning objectives
Knowledge of models and tools for the analysis, design, development, and testing of software systems. Ability to design, develop, and test software systems
Expected learning outcomes
Undefined
Single course

This course cannot be attended as a single course. Please check our list of single courses to find the ones available for enrolment.

Course syllabus and organization

Milan

Lesson period
Second semester
Course syllabus
It is composed of four parts:

Software development processes:
- Qualities of software
- Activities characterizing the life cycle of software development
- Models of life cycle of software development
- Unified Process
- CMMI
- Agile Methodologies
- eXtreme Programming
- open source software process peculiarities

Design:
- object oriented design model
- Polimorfism and Dinamic Binding
- Objects' relations
- Identificatino of classes
- UML diagrams: Class, Sequence, State, Object, UseCase, Activity, Component, Deployment
- Patterns: Observer, Decorator, Strategy, Singleton, Factory, Adapter, Composite, Facade, State, Command, Model-View-Controller

Verification and Validation:
- Introduction to Verification and Validation
- Static vs Dynamic Analysis
- testing Coverage criteria: command, decision, condition, path, modified conditions, cycles' k-coverage
- structural testing
- test doubles: stub, mock, spy, e fake objects
- functional Testing
- Data-Flow Analysis
- Mutation Analysis
- Debugging
- Fagan Code Inspection

Formal Specification:
- Petri nets
- Formal definition
- Transitions' relation: Sequence, Conflict, Concurrency
- Net properties: Boundedness, Conservativeness
- Petri Nets' Dynamic analysis: reachability set, reachability Tree, Coverability Tree
- Petri Nets' Static Analysis: P and T invariants
- Timed Petri Nets: TB nets and possible time semantics
- Timed Petri Nets' Analysis: Symbolic reachability Tree
INF/01 - INFORMATICS - University credits: 12
Laboratories: 48 hours
Lessons: 72 hours
Shifts:
Turno A
Professor: Bellettini Carlo Nicola Maria
Turno B
Professor: Monga Mattia
Professor(s)
Reception:
By appointment only
Office 5004, Via Celoria 18, Milan