The course covers the principles, methods and main tools of Software Engineering, a discipline dedicated to the study of methodologies, techniques and tools used in the development of large scale software systems. The learning objectives are as follows:
Knowledge and understanding
Applying knowledge and understanding
Making judgements
Communication skills
Learning skills
The main teaching methods are as follows:
Further, the teacher assigns homeworks to students' groups to be solved independently and to be discussed in the classroom.
Should teaching be carried out in mixed mode or remotely, it may be necessary to introduce changes with respect to previous statements, in line with the programme planned and outlined in the syllabus.
Subjects | Text References | |
---|---|---|
1 | Introduzione all'Ingegneria del Software | [SOM] Cap. 1 |
2 | Overview Analisi e Progettazione orientata agli oggetti | [LAR] Cap. 1 |
3 | Ciclo di vita e Processi di sviluppo del Software | [LAR] Cap. 2 e 3 - [FOW] Cap. 2 |
4 | La modellazione del software. Introduzione a UML | [FOW] Cap. 1 |
5 | Generalità sulla fase di ideazione | [LAR] Cap. 4 e 5 |
6 | Requisiti | [LAR] Cap. 6 - [SOM] Cap. 6 |
7 | Casi d'uso | [LAR] Cap. 7 - [FOW] Cap. 9 |
8 | Ulteriori Elaborati sui requisiti | [LAR] Cap. 8 |
9 | La fase di elaborazione | [LAR] Cap. 10-11 |
10 | Modelli di Dominio | [LAR] Cap. 12 - [FOW] Cap. 3 |
11 | Diagrammi di sequenza di sistema | [LAR] Cap. 13 |
12 | Contratti delle Operazioni | [LAR] Cap. 14 |
13 | Verso la Progettazione. Cenni su Architetture Software | [LAR] Cap. 15-16-17 |
14 | Diagrammi di Interazione in UML | [LAR] Cap. 18 - [FOW] Cap. 4-12 |
15 | Diagrammi delle Classi in UML | [LAR] Cap. 19 - [FOW] Cap. 3-5 |
16 | Pattern GRASP: progettazione di oggetti con responsabilità | [LAR] Cap. 20 |
17 | Esempi di progettazione di oggetti con i pattern GRASP | [LAR] Cap. 21 |
18 | Trasformare i progetti in codice | [LAR] Cap. 22 - 23 |
19 | Dall'iterazione 1 all'iterazione 2 | [LAR] Cap. 26 - 27 |
20 | Ulteriori pattern GRASP | [LAR] Cap. 28 |
21 | Raffinamento Modello di Dominio | [LAR] Cap. 34 - [FOW] Cap. 5 |
22 | Diagrammi di attività in UML | [LAR] Cap. 31 - [FOW] Cap. 11 |
23 | Diagrammi di macchina a stati in UML | [LAR] Cap. 32 - [FOW] Cap. 10 |
24 | Introduzione ai Design Pattern GoF | [GAM] Cap. 1 |
25 | Pattern creazionali | [GAM] Cap. 3 |
26 | Pattern strutturali | [GAM] Cap. 4 |
27 | Pattern comportamentali | [GAM] Cap. 5 |
28 | Esempi sui pattern | [LAR] Cap. 29 |
29 | Correlare i casi d'uso. Use Case Diagram in UML | [LAR] Cap. 33 - [FOW] Cap. 9 |
30 | Diagrammi di deployment e dei componenti in UML | [LAR] Cap. 41 - [FOW] Cap. 8-14 |
31 | Introduzione al testing del Software | Dispense del docente - [SOM] Cap. 22 |
32 | Criteri di testing | Dispense del docente - [SOM] Cap. 23 |
33 | Automazione dei test | Dispense del docente |
34 | JUnit | Dispense del docente |
35 | Gestione della configurazione del software. Sistemi di controllo delle versioni | Dispense del docente |
36 | SVN | Dispense del docente |
37 | Git | Dispense del docente |
38 | Evoluzione dei sistemi distribuiti e tecnologie di middleware | Dispense del docente |