Skip to main content
If you continue browsing this website, you agree to our policies:
  • Condizioni di utilizzo e trattamento dei dati
Continue
x
e-Learning - UNIMIB
  • Home
  • My Media
  • More
Listen to this page using ReadSpeaker
English ‎(en)‎
English ‎(en)‎ Italiano ‎(it)‎
 Log in
e-Learning - UNIMIB
Home My Media
Percorso della pagina
  1. Science
  2. Master Degree
  3. Informatica [F1802Q - F1801Q]
  4. Courses
  5. A.A. 2026-2027
  6. 1st year
  1. Software Development Process
  2. Summary
Insegnamento Course full name
Software Development Process
Course ID number
2627-1-F1802Q104
Course summary SYLLABUS

Course Syllabus

  • Italiano ‎(it)‎
  • English ‎(en)‎
Export

Obiettivi

Conoscenza e capacità di comprensione (DdD 1): gestire processi con DevOps, gestire i rischi di un progetto software, conoscere techniche informali, semi-formali e formali di analisi e specifica dei requisiti, sviluppare software agile.

Conoscenza e capacità di comprensione applicate (DdD 2): Realizzare pipeline di automazione, elicitare i requisiti di un progetto software, scrivere codice Clean, analizzare i rischi di un progetto.

Contenuti sintetici

L'insegnamento presenta metodi, tecniche e tecnologie per la gestione di progetti complessi. In particolare, l'insegnamento prevede lo studio dei processi di sviluppo agili e DevOps, la realizzazione di pipeline di CI/CD, e l’analisi dei rischi. Il corso prevede inoltro lo studio di tecniche di analisi e specifica dei requisiti.

Programma esteso

Processi di sviluppo agili (principi generali, Extreme Programming, Scrum) e DevOps. Costruzione di pipeline ci CI/CD.

Gestione di Progetto: analisi dei rischi, maturità dei modelli (CMMI)

Ingegnerizzazione dei Requisiti: introduzione, comprensione ed elicitazione dei requisiti, valutazione dei requisiti, specifica e documentazione dei requisiti (linguaggio naturale, diagrammi, metodi formali), controllo qualità dei requisiti, evoluzione dei requisiti.

Sviluppo Clean Code e automazione.

Prerequisiti

Conoscenza elementare dei processi di sviluppo software. Conoscenza di un linguaggio di programmazione.

Modalità didattica

Lezione, esercitazione, test autovalutazione e materiale e-Learning. La lingua di erogazione del corso è l'Italiano.

Le lezioni in classe prevedono una modalità erogative e interattiva. Le attività di studio in piattaforma prevedono anche essere la modalità erogative e interattiva.

Materiale didattico

Libri di testo (selezione di capitoli)

Requirements Engineering, Axel van Lamsweerde, Wiley, 2009.

Clean Code: A Handbook of Agile Software Craftsmanship, Robert C. Martin, 2025.

Risorse online e articoli caricati in piattaforma.

Esercizi di autovalutazione.

Periodo di erogazione dell'insegnamento

1° semestre

Modalità di verifica del profitto e valutazione

Due opzioni disponibili:

- esercizi + colloquio: gli studenti che lavorano durante l'erogazione del corso possono superare l’esame facendo delle consegne in itinere che sono poi discusse individualmente.

- esame scritto + orale: altrimenti gli studenti possono superare l’esame svolgendo una prova scritta e una prova orale.

Orario di ricevimento

Su appuntamento.

Export

Aims

Knowledge and understanding (DdD 1): manage DevOps processes; handle the risks of a software project; understand informal, semi‑formal, and formal techniques for requirements analysis and specification; develop software following agile principles.

Applied knowledge and understanding (DdD 2): build automation pipelines; elicit the requirements of a software project; write Clean Code; analyze the risks associated with a project.

Contents

The course describes methods, techniques and technologies for managing complex software projects. In particular, the course covers the topic of agile software processes, DevOps, pipeline development, and risk analysis. Moreover, the course covers the analysis and specification of software requirements.

Detailed program

Agile software processes (basic principles, Extreme Programming, Scrum) and DevOps. CI/CD pipelines.

Process management: project cost estimation, risk analysis, capability maturity model (CMMI)

Requirements engineering: introduction, domain understanding and requirements elicitation, requirements evaluation, requirements specification and documentation (natural language, diagrammatic notations, formal specifications), requirements quality assurance, requirements evolution.

Software development according with Clean Code and software automation.

Prerequisites

Basic knowledge of software development processes. Knowledge of a programming language.

Teaching form

Lectures, exercises, self-assessment tests and e-learning material. The course is taught in Italian.

The in-class lectures follow the "modalità erogativa" and "modalità interattiva" modes. The activities performed on the elearning platform also follow both modes.

Textbook and teaching resource

Textboooks (selected chapters)

Requirements Engineering, Axel van Lamsweerde, Wiley, 2009.

Clean Code: A Handbook of Agile Software Craftsmanship, Robert C. Martin, 2025.

Online resources and articles available in the platform.

Self-assessment tests.

Semester

First semester

Assessment method

Two options available:

- assignments + oral discussion: the students who are active during the course can pass the exam by producing assignments that are discussed individually

- written exam + oral assessment: otherwise, the students can pass the course by taking a written exam followed by an oral assessment.

Office hours

On appointment.

Enter

Key information

Field of research
IINF-05/A
ECTS
6
Term
First semester
Activity type
Mandatory
Course Length (Hours)
56
Degree Course Type
2-year Master Degree
Language
Italian

Staff

    Teacher

  • LM
    Leonardo Mariani

Students' opinion

View previous A.Y. opinion

Bibliography

Find the books for this course in the Library

Enrolment methods

Manual enrolments

You are not logged in. (Log in)
Policies
Get the mobile app
Powered by Moodle
© 2026 Università degli Studi di Milano-Bicocca
  • Privacy policy
  • Accessibility
  • Statistics