90106 - Software Engineering (9 ECTS)

Academic Year 2021/2022

  • Teaching Mode: Traditional lectures
  • Campus: Bologna
  • Corso: First cycle degree programme (L) in Computer Science (cod. 8009)

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

Readings/Bibliography

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

http://www.cs.unibo.it/~cianca/wwwpages/labisw

Office hours

See the website of Paolo Ciancarini

SDGs

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

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