Studying at the University of Verona

Here you can find information on the organisational aspects of the Programme, lecture timetables, learning activities and useful contact details for your time at the University, from enrolment to graduation.

This information is intended exclusively for students already enrolled in this course.
If you are a new student interested in enrolling, you can find information about the course of study on the course page:

Laurea magistrale in Ingegneria e scienze informatiche - Enrollment from 2025/2026

The Study Plan includes all modules, teaching and learning activities that each student will need to undertake during their time at the University.
Please select your Study Plan based on your enrollment year.

CURRICULUM TIPO:

2° Year   activated in the A.Y. 2024/2025

ModulesCreditsTAFSSD
Final exam
24
E
-
activated in the A.Y. 2024/2025
ModulesCreditsTAFSSD
Final exam
24
E
-
Modules Credits TAF SSD
Between the years: 1°- 2°
Between the years: 1°- 2°
English B2
3
F
-
Between the years: 1°- 2°
Further activities
3
F
-

Legend | Type of training activity (TTA)

TAF (Type of Educational Activity) All courses and activities are classified into different types of educational activities, indicated by a letter.




S Placements in companies, public or private institutions and professional associations

Teaching code

4S011691

Credits

6

Coordinator

Not yet assigned

Language

Italian

Scientific Disciplinary Sector (SSD)

ING-INF/05 - INFORMATION PROCESSING SYSTEMS

Courses Single

Authorized

The teaching is organized as follows:

Teoria
The activity is given by Foundations of software engineering - Teoria of the course: Master's degree in Computer Science and Engineering

Credits

5

Period

Semester 1

Academic staff

Mariano Ceccato

Laboratorio
The activity is given by Foundations of software engineering - Laboratorio of the course: Master's degree in Computer Science and Engineering

Credits

1

Period

Semester 1

Academic staff

Mariano Ceccato

Learning objectives

The course aims at presenting and practicing the main methodologies and technologies to adopt when designing and implementing software systems. At the end of the course, the student shall know how to define requirements, design, implement and verify software. This knowledge allows the student to take part to software development tasks in a proactive and consciously way, mastering the methodologies and technologies that support every software development phase.

Program

The course program includes the following topics:
- Introduction to software engineering: definitions, ethical considerations, case studies.
- Software development process: waterfall model, spiral model, agile models.
- Requirement engineering: methodologies for collecting and validating requirements, interaction with stakeholders.
- Software design: UML and its adoption to design and document software. Class diagram, sequence diagram, object diagram, package diagram, use case diagram, activity diagram.
- Software development: configuration management, build system, integrated development environment (IDE).
- Software architecture: architectural view and design. Patterns of software architectures: Layers, Pipes and filters, Repository, Client server, MVC.
- Software validation: unit testing, integration testing, system testing. Black-box and white-box testing. Test case coverage and adequacy. Mutation testing.
- Software management: risk management and project management.
- Software evolution: refactoring and bad smells.

Learning assessment procedures

Homework assigned during the course, project at the end of the course and written exam.

Students with disabilities or specific learning disorders (SLD), who intend to request the adaptation of the exam, must follow the instructions given HERE