66858 - Software Engineering

Course Unit Page

  • Teacher Paolo Ciancarini

  • Credits 6

  • SSD INF/01

  • Teaching Mode Traditional lectures

  • Language Italian


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

Quality education Industry, innovation and infrastructure

Academic Year 2018/2019

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 business of software. Standard for software engineering. Software life cycles. Requirements specifications. Design patterns. Software modeling with UML. Software development tools. Project management of software projects. Measuring the quality of software. Software maintenance.


Bruegge e Dutoit, OO Software Engineering Using UML, Patterns and Java, Pearson, 3° ed, 2010  

Teaching methods

Lectures, exercises, scientific paper reading and reporting.

Assessment methods

Written exam, oral exam on a scientific paper chosen by the student.

Teaching tools

Slides (in italian). Exercises texts.

Links to further information


Office hours

See the website of Paolo Ciancarini