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.
Study Plan
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.
1° Year
| Modules | Credits | TAF | SSD |
|---|
Four modules among the following2° Year It will be activated in the A.Y. 2027/2028
| Modules | Credits | TAF | SSD |
|---|
| Modules | Credits | TAF | SSD |
|---|
Four modules among the following| Modules | Credits | TAF | SSD |
|---|
| Modules | Credits | TAF | SSD |
|---|
Two modules among the followingThree modules among the following
- A.A. 2026/2027 Automated software verification not deliveredLegend | 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.
Design and validation of software systems (2026/2027)
Teaching code
4S011691
Teacher
Coordinator
Credits
6
Language
Italian
Scientific Disciplinary Sector (SSD)
IINF-05/A - Information Processing Systems
Period
I semestre dal Oct 1, 2026 al Jan 29, 2027.
Courses Single
Authorized
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.
Prerequisites and basic notions
Knowledge of programming fundamentals, in particular in Java
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 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.
Didactic methods
Frontal lectures, practical laboratory and discussions.
Learning assessment procedures
Homework assigned during the course, project at the end of the course and written exam.
Evaluation criteria
Clarity and completeness of the answers to the written questions. Quality and completeness of the project.
Criteria for the composition of the final grade
Homework evaluation, written exam evaluation and project evaluation.
Exam language
Italiano or English