Software Engineering

A.Y. 2024/2025
12
Max ECTS
120
Overall hours
SSD
INF/01
Language
Italian
Learning objectives
The aim is to provide knowledge of models and tools for the analysis, design, development, and testing of software systems, in order to develop the abilities needed to design, develop, and test software systems
Expected learning outcomes
Students will be able to plan the development of medium size software projects. They will have skills on modeling software requirements, developing code from models and performing code testing. They have also skills on design and architectural patterns
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

Single session

Lesson period
First semester
Course syllabus
1. PRODUCT AND PROCESS. Software properties. Software life cycle: software development steps, life cycle models. Agile development methods.
2. REQUIREMENTS AND SPECIFCATIONS. Problem and solution domains. Operational and declarative specification languages.
3. DESIGN AND IMPLEMENTATION. Design patterns. Object Oreinted design principles. Design by Contract.
4. VERIFICATION AND VALIDATION. Analysis and (unit, integration and system) testing.
Prerequisites for admission
Skills acquired in the courses of Computer Programming 2 is fundamental for this course. Passing this exam is strongly recommended.
Teaching methods
Lessons and lab activities. Attending the teaching activities is strongly recommended.
Teaching Resources
· Ghezzi Carlo, Jazayeri Mehdi, Mandrioli Dino. Fundamentals of Software Engineering. Pearson Education Italia, 2002, 2nd ed.
Assessment methods and Criteria
The examination is divided in two parts: a laboratory project and an oral discussion. The laboratory lasts 4 hours and consists in the development of a software project in Java starting from the requirements provided by the instructors.
The oral discussion focuses on the all the topics of the course and it aims at assessing critical thinking on the subject.

At the end of the oral discussion a final mark (on a 30 point scale) is given, by taking into account: quality of the project developed during the lab part, knowledge of the subject and tools, critical thinking attitude, clarity of exposition and precision of language.
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