90106 - Software Engineering (9 ECTS)

Course Unit Page

  • Teacher Paolo Ciancarini

  • Credits 9

  • SSD INF/01

  • Teaching Mode Traditional lectures

  • Language Italian

  • Campus of Bologna

  • Degree Programme First cycle degree programme (L) in Computer Science (cod. 8009)

  • Course Timetable from Sep 20, 2021 to Dec 16, 2021


This teaching activity contributes to the achievement of the Sustainable Development Goals of the UN 2030 Agenda.

Quality education Decent work and economic growth Industry, innovation and infrastructure

Academic Year 2021/2022

Learning outcomes

The course has the goal to teach the basics of software systems construction: methods and tools for analyzing, designing and measuring the qualities of software products. The student will be able to develop a specification starting from some requirements written in natural language. The student will be able to describing a software system using UML and to develop the code using an object oriented language like Java, C++ or C#

Course contents

The course in Italian. •Software products and their development •Software lifecycle •Agile software development methods •Agile Scrum •Requirement engineering •Design patterns •Modeling software with UML •Software development tools •Project Management for software systems • Controlling and measuring software quality • Software maintenance •Configuration management


Sommerville, Introduzione all'Ingegneria del Software moderna, Pearson 2021

Jacobson, The essentials of modern software engineering, ACM Books 2019

Teaching methods

Lectures, exercises, readings, quizzes with Kahoot, team project

Assessment methods

1) Software development project (in team) with a final report of all activities, 2) written presentation of a scientific paper chosen by the student 3) oral discussion of the project and the presentation. The project is evaluated for teamwork quality and usage of best practices of agile software engineering, that will be presented during the lectures.

Teaching tools

Slides (in italian). Exercises; online tests (Kahoot). Software tools for project developments. Telegram channel

Links to further information


Office hours

See the website of Paolo Ciancarini