Skip to main content
If you continue browsing this website, you agree to our policies:
  • Condizioni di utilizzo e trattamento dei dati
Continue
x
If you continue browsing this website, you agree to our policies:
  • Condizioni di utilizzo e trattamento dei dati
Continue
x
e-Learning - UNIMIB
  • Home
  • More
Listen to this page using ReadSpeaker
English ‎(en)‎
English ‎(en)‎ Italiano ‎(it)‎
 Log in
e-Learning - UNIMIB
Home
Percorso della pagina
  1. Science
  2. Bachelor Degree
  3. Informatica [E3102Q - E3101Q]
  4. Courses
  5. A.A. 2020-2021
  6. 2nd year
  1. Software Specification and Design
  2. Summary
Insegnamento Course full name
Software Specification and Design
Course ID number
2021-2-E3101Q109
Course summary SYLLABUS

Course Syllabus

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

Obiettivi

Lo studente acquisirà le competenze necessarie a sviluppare progetti software in gruppi di piccole/medie dimensioni. In particolare, lo studente sarà in grado di analizzare un problema, produrre una specifica dei requisiti, svolgere le attività di analisi e progettazione della soluzione, produrre una implementazione di un sistema che sia consistente con un progetto, utilizzare ambienti di sviluppo e controllo versione avanzati.


Contenuti sintetici

Introdurre il processo di sviluppo del software, concentrandosi in particolare sulle fasi di analisi e di progettazione. Introduzione ai Design Pattern.


Programma esteso

1 Introduzione all’Ingegneria del Software e al Processo di sviluppo del Software. Processi di sviluppo agili

2 Analisi dei requisti e specifica dei casi d’uso

3 Analisi e Progettazione. Introduzione  ed utilizzo dei pattern GRASP:

4 Introduzione a UML 

5  Design Patterns.

6 Attività di laboratorio sull’utilizzo di ambienti per lo sviluppo ed il controllo delle versioni

7 Introduzione all'attività di test.

8 Intrduzione al Refactoring del Codice e ai Code Smell nel codice.


Prerequisiti

Conoscenza di un linguaggio di programmazione orientato agli oggetti come Java.

Modalità didattica

Il corso è tenuto in lingua italiana con alcune slide ed articoli di approfondimento  in inglese.

Lezioni, sessioni di laboratorio, esercitazioni in aula, esercitazioni in laboratorio ed esercitazioni  assegnate in laboratorio o in aula da terminare a casa.

In relazione al COVID il corso potrà essere erogato per via telematica ( e-learing)  o mista (blended learning).


Materiale didattico

I. Sommerville, Ingegneria del Software, Pearson, 10° ed, 2017.

C. Larman, Applicare UML e i pattern – analisi e progettazione orientata agli oggetti, Pearson, 4° ed, 2016.

M. Fowler, UML Distilled, Peason, 4° ed, 2018. M. Fowler, Patterns of Enterprise Application Architecture, Addison-Wesley


Slide, articoli e tutorial di approfondimento su alcuni argomenti del corso.




Periodo di erogazione dell'insegnamento

II semestre

Modalità di verifica del profitto e valutazione

1) Modalità 1 in pre-appello per chi segue il corso (compresi gli  studenti lavoratori):

La valutazione per chi segue le lezioni consiste  nell'estensione di un progetto che viene assegnato durante il laboratorio ed orale obbligatorio dopo almeno 8 giorni dallo scritto.

L'estensione del progetto dovrà essere svolta in massimo due giorni, in gruppo o a livello individuale.

Il voto finale comprende anche la valutazione dell'attività di laboratorio con punti da 0-8.


2) Modalità 2 -per gli altri appelli esame

La valutazione dell'apprendimento include un esame scritto online con domande aperte o chiuse  ed esercizi su tutto il programma del corso.

Inoltre l'esame prevede  un orale obbligatorio dopo almeno 8 giorni dalla consegna dell'estensione del progetto.

Il voto finale comprende anche la valutazione dell'attività di laboratorio con punti da 0-8.


 





Orario di ricevimento

Francesca Arcelli Fontana:  per appuntamento

Oliviero Riganelli: per appuntamento

Export

Aims

The student will achieve the skills necessary to develop software projects of medium/large dimensions. In particular the student will be able to analyze a problem, write a requirement specification, analyze and design a solution, implement a component of the analyzed system exploiting the development environment and versioning system introduced in the course.

Contents

The main aim of this course is to introduce the software development process, concentrating in particular on the object-oriented analysis and design phases. Another aim is to introduce Design Patterns

Detailed program

  1. Introduction to Software Engineering and the Software Development Process. Agile development processes
  2. Analysis of requirements and specification of use cases
  3. Analysis and Design. Introduction and use of GRASP patterns
  4. Introduction to UML
  5.  Design Patterns
  6. Laboratory activities on the use of environments for the development and control of versions
  7. Introduction to the testing activity.
  8. Intruction to Code Refactoring and Smell Queues in the Code.

Prerequisites

Knowledge on an object-oriented language like Java.

Teaching form

The lessons of the course are in italian, with some slides and papers to study  in English.

Lessons, laboratory sessions, classroom exercises, laboratory exercises and homework

According to COVID the course will be taken by  e-learing)  or blended learning.

Textbook and teaching resource

I. Sommerville, Software Engineering, Pearson, 10° ed, 2017. 

C. Larman, Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design,  Pearson, 4° ed, 2016. 

M. Fowler, UML Distilled, Peason, 4° ed, 2018. M. Fowler, Patterns of Enterprise Application Architecture, Addison-Wesley


Slide, articles and tutorials on some topics of the course.


Semester

Second semester


Assessment method


Learning assessment consists  of a written online exam with  exercises, questions on all the program of the course and then an oral examms after at least 8 days.

The assessment for the students following the course consists in an extension of a project assigned during the Laboratory activity and an oral exam after at least 8 days.




Office hours

Francesca Arcelli Fontana:  by fix an appointment.

Oliviero Riganelli by fix an appointment.


Enter

Key information

Field of research
ING-INF/05
ECTS
8
Term
Second semester
Activity type
Mandatory
Course Length (Hours)
76
Degree Course Type
Degree Course

Staff

    Teacher

  • FA
    Francesca Arcelli Fontana
  • Oliviero Riganelli
    Oliviero Riganelli
  • Assistant

  • DC
    Diego Clerissi
  • GN
    Gabriella Nifosì
  • CR
    Claudia Raibulet
  • AR
    Alessandra Rota

Students' opinion

View previous A.Y. opinion

Bibliography

Find the books for this course in the Library

Enrolment methods

Manual enrolments
Self enrolment (Student)

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