Corso di Ingegneria del Software mod. A
Corso di Laurea Triennale in Informatica, Università di Padova, a.a. 2004/05
Docenti: Tullio Vardanega , Renato Conte
(Ultimo aggiornamento: 6 luglio 2005 ore 11:10
[date recuperi])

Presentazione del corso

Obiettivi

Il corso opera in regime di stretta integrazione e di propedeuticità stretta con il corso Ingegneria del Software mod. B, che ha luogo nel trimestre successivo. Congiuntamente, i due corsi forniscono allo studente gli strumenti metodologici per e l'opportunità di condurre un impegnativo progetto software didattico da svolgersi in gruppo e secondo canoni rigorosi di conduzione e di relazione cliente-fornitore.

Il modulo A del corso si propone di fornire allo studente gli strumenti per comprendere e sistematizzare l'insieme di conoscenze comprese nella disciplina dell'Ingegneria del Software. A tal fine, il corso illustra ciascuna delle aree di conoscenza categorizzate nel testo di riferimento, ad esso correlando le regole metologiche che gli studenti dovranno seguire nello svolgimento del progetto didattico, la cui realizzazione effettiva avverrà nel modulo B.

A circa metà del modulo il docente emetterà uno o più capitolati d'appalto per la realizzazione di specifici prodotti informatici. A seguito di ciò, gli studenti saranno chiamati a costituire gruppi di progetto, secondo regole fissate dal docente e rese noto con congruo anticipo, per partecipare alla gara d'appalto relativa ad uno specifico capitolato, che il gruppo avrà scelto in base a criteri di fattibilità ed interesse strategico, Ciascun gruppo sarà abilitato a participare alla rispettiva gara d'appalto solo sostenendol'esame associato al modulo A del corso, il cui superamento risulterà nell'attribuzione di un contratto formale per la realizzazione del prodotto proposto, da svolgersi nell'ambito del modulo B del corso.

La conduzione del progetto didattico verrà accompagnata da specifiche revisioni formali che seguono la logica prevista dallo standard ECSS-E-40 (http://www.ecss.nl , adottato dall'industria spaziale europea), come descritta nel documento ECSS-E-40A e sinteticamente raffigurata da figura 3 a pagina 18 dello stesso.

Propedeuticità obbligatorie strette

Programmazione 2, Basi di Dati 2.

Il mancato soddisfacimento di tali propedeuticità impedirà l'ammissione all'esame.

Materiale didattico

Il materiale didattico presentato durante le lezioni sarà progressivamente pubblicato, in formato elettronico, tramite collegamento alla lezione corrispondente.

Il principale testo di riferimento bibliografico di supporto al corso è il seguente:

  1. Guide to the Software Engineering Body of Knowledge
    IEEE Computer Society. Software Engineering Coordinating Committee.
    A. Abran & J.W. Moore (responsabili del progetto editoriale).
    Versione maggio 2004 (Disponibile in formato elettronico al sito qui collegato. )
Sono altresì indicati due testi di consultazione, i quali verranno poi esplicitamente ripresi nell'ambito del modulo B del corso.:
A supporto delle attività realizzative nell'ambito del progetto didattico, si forniscono inoltre:

Calendario delle lezioni

Settimana
Data
Lezione
Docente
Contenuto
Tipo
SWEBOK
1
11 ottobre
1
Vardanega
Parte 1: Premesse al corso
Parte 2: L'ingegneria del software
Approfondimenti: No Silver Bullet. Essence and Accidents of Software Engineering
L


12 ottobre
2
Vardanega
Parte 1: Processi software: introduzione
Parte 2: Cicli di vita del software: modelli e relazione con i processi
Approfondimenti: Il modello a spirale
L
§9

13 ottobre
3
Vardanega
Seminario (in inglese):
Parte 1: Origine e formazione degli standard di processo
Parte 2: Struttura dello standard ISO 12207
L

2
18 ottobre
4
Vardanega
Il ciclo di vita del software
L


19 ottobre
PD-1

Vardanega

Regole del progetto didattico
Regolamento 1: Organigramma
Regolamento 2: Documenti
PD


20 ottobre
5
Vardanega
Gestione di progetto
Approfondimenti: Rapporto dello Standish Group sul Progetto CHAOS
L

§8
3
25 ottobre
6
Vardanega
Amministrazione di progetto
Approfondimenti: Diagrammi Gantt e PERT
Approfondimenti: Modello di descrizione di Work Package
L

26 ottobre
7
Vardanega
Relazione cliente - fornitore L


27 ottobre
E-1
Conte
Esercitazione
Parte 1: Introduzione ad UML
Parte 2: I casi d'uso
E

4
1 novembre






2 novembre
8
Vardanega
Parte 1: Cattura, specifica ed analisi dei requisiti
Parte 2: Dall'analisi dei requisiti al progetto architetturale
L
§2

3 novembre
9
Vardanega
Parte 1: Qualità del prodotto software
Parte 2: Qualità del processo
L
§11
5
8 novembre
10
Vardanega
Versionamento e configurazione
L
§7

9 novembre
E-2 Conte
Esercitazione: Diagrammi delle classi e diagrammi degli oggetti
E


10 novembre
PD-2
Vardanega
Presentazione dei capitolati d'appalto
Precetto del progetto didattico
PD

6
15 novembre
11
Vardanega
Progettazione software
Approfondimenti: Fan-in e fan-out
L
§3

16 novembre
12
Vardanega
Metodiche standard di sviluppo industriale
L


17 novembre
13
Vardanega
Documentazione
L

7
22 novembre
14
Vardanega
Parte 1: Produzione di software critico
Parte 2: Software dependability
L
§4

23 novembre
E-3
Conte
Esercitazione: simulazione di studio di fattibilità
E


24 novembre
15
Vardanega
Progettazione di software reattivo L
§3-4




Approfondimenti:Stili, scelte e linguaggi di programmazione
Parte 1: Introduzione
Parte 2: Rappresentazione dei numeri e trappole sintattiche
Parte 3: Il sistema dei tipi
Parte 4: Strutture dati e passaggio di parametri


8
29 novembre
16
Vardanega
Verifica e validazione: introduzione
Approfondimenti: Fagan Inspections & Walkthroughs
L
§5

30 novembre
17
Vardanega
Verifica e validazione: analisi statiche
L

1 dicembre
18
Vardanega
Parte 1: Verifica e validazione: prove
Parte 2: Progettazione delle prove
Approfondimenti: Metriche di copertura strutturale
L

3 dicembre
(14:00 - 15:40,
aula LUF2)
19
Vardanega
Parte 1: Misurazione del software
Parte 2: Accertamento di qualità
Approfondimenti 1: Complessità ciclomatica
Approfondimenti 2: Function Point Analysis
L
§11

15-16 dicembre
13 gennaio
PD-3


Revisione dei Requisiti (RR)
Prerequisito per sostenere la revisione sarà l'aver costituito i gruppi di progetto, aver distribuito i ruoli al loro interno, ed aver presentato tutta la documentazione d'ingresso richiesta entro i tempi previsti.




Note pratiche

Come indicato in calendario, il modulo consterà di lezioni di tre tipi:

Le lezioni indicate in calendario si terranno con l'orario e la collocazione seguenti:

Ricevimento studenti

Il ricevimento studenti si tiene (salvo diverso avviso) in stanza 121 il:

Modalità di esame

La verifica di profitto è individuale ed è preceduta da una presentazione dell'offerta  avanzata dal gruppo di apparentenza, che dovrà essere effettuata in modo coordinato da tutti membri del gruppo. Saranno ammessi all'esame solo i gruppi di progetto che avranno provveduto all'emissione della documentazione richiesta in ingresso alla Revisione dei Requisiti entro i tempi previsti. Tale revisione coincide temporalmente e materialmente con l'esame.

Ciascun candidato all'esame dovrà pertanto appartenere ad un gruppo di progetto ed in esso dovrà essersi impegnato ad assumere specifici ruoli secondo le regole fissate dal docente.

L'esame consterà pertanto di 3 parti:

Calendario degli appelli d'esame

Liste di iscrizione all'esame verranno pubblicate sul sistema SIS nelle due settimane precedenti l'appello corrispondente.

I sessione (orale)

II sessione (orale)

III sessione (orale)

t-weight: bold; color: rgb(153, 0, 0);">modulo B