90106 - Software Engineering (9 ECTS)

Academic Year 2026/2027

  • Docente: Davide Rossi
  • Credits: 9
  • SSD: INFO-01/A
  • Language: Italian
  • Teaching Mode: In-person learning (entirely or partially)
  • Campus: Bologna
  • Corso: First cycle degree programme (L) in Information Science for Management (cod. 6641)

Learning outcomes

This is a software engineering course concerning software development processes and practices, with specific focus on those useful for the requirement and the design of software systems. Specifically, the students will learn how to apply principles, practices and patterns to the analysis, design and construction of software systems. They will learn how to address the issues related to the internal quality of software systems. They also will learn the main agile and plan-based methods and how to work in a development team.

Course contents

Introduction to Software Engineering
The software process model
The analisys model
Introduction to UML
UML: Use case
UML: Classes
Analisys model – domain model
UML: Activities
UML: Interactions
OO principles
GRASP
Design Patterns
Agile software development
Modern patterns and frameworks
Testing: unit, integration and acceptance tests
Build automation tools
Continuous Integration: practices and tools

Readings/Bibliography

Craig Larman, Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition), Prentice Hall

Other textbooks and resources will be suggested during the lectures

Teaching methods

Lectures and interactive modeling exercises.

Interactive homework presentation.

Assessment methods

Skills are assessed through a written test and a project. An additional oral exam is optional.

The written exam, lasting two hours, includes modeling and specification exercises and open-ended questions.

The modeling exercises are evaluated for completeness and accuracy; the open-ended questions are evaluated for completeness, accuracy, appropriate use of technical vocabulary, the ability to make connections with other course topics, and the use of critical thinking.

A minimum score of 16 points is required for the modeling section to be considered sufficient.

The project is evaluated based on the submitted material and a discussion, assessing its accuracy and adherence to recommended practices.

The oral exam may be requested at the discretion of the instructor or by the student if they wish to improve their final grade (it must be requested after taking the other exams) and can cover all topics covered in class.

The final grade is calculated by averaging the written exam and the project evaluation. The oral exam grade contributes to this value. A positive evaluation of the student's presentation of an ongoing exercise proposed by the instructor may also contribute to the final grade, up to a maximum of one additional point for the written exam.

Grading is not automatic: students must contact the instructor once they have received their written and project grades.


Students with learning disabilities (LD) or temporary or permanent disabilities: please contact the responsible University office in advance (https://site.unibo.it/studenti-con-disabilita-e-dsa/it). The office will advise the students concerned of any adjustments, which must be submitted to the instructor for approval 15 days in advance, who will evaluate their suitability, also taking into account the learning objectives of the course.

How to use Generative Artificial Intelligence tools in your course exams: for the written exam, the use of AI is prohibited; any use constitutes a violation of academic integrity. For the project, limited, declared, and non-substantial use of AI is permitted for support activities (summary, reformulations). Substantial use for parts of the exam is not permitted.

Office hours

See the website of Davide Rossi