Corso di Ingegneria del Software 1
Corso di Laurea Triennale in Informatica, Università di Padova, a.a. 2003/04
Docenti: Tullio Vardanega , Renato Conte
(Ultimo aggiornamento: 28 aprile 2004 ore 14:50)

Presentazione del corso

Obiettivi

Il corso opera in stretta correlazione con il corso Ingegneria del Software 2, 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 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. Il modulo si conclude con l'emissione di una gara d'appalto che impegnerà gli studenti a formare gruppi di progetto ed a formulare una bozza di offerta per la realizzazione del prodotto richiesto dalla gara. L'effettiva realizzazione del progetto e la valutazione dello stesso da parte del docente che impersonerà anche il committente, avranno poi luogo nel successivo modulo del corso.

La conduzione del progetto didattico e le sue revisioni seguiranno 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

Programmazione 2, Algoritmi e Strutture Dati 2, Basi di Dati e Sistemi Informativi 2.

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).
    Trial version (version 1.00). Maggio 2001, in inglese.
    (Disponibile in formato elettronico al sito qui collegato. )
Sono altresì indicati due testi di consultazione, il primo dei quali verrà anche esplicitamente ripreso nell'ambito del successivo modulo di Ingegneria del Software:
Per entrambi si veda al catalogo http://hpe.pearsoned.it.

A supporto delle attività realizzative nell'ambito del progetto didattico, si forniscono inoltre:

Calendario delle lezioni

Settimana
Data
Lezione
Docente
Contenuto
Tipo
SWEBOK
1
01 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

2
06 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


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


08 ottobre
4
Vardanega
Il ciclo di vita del software
L

3
13 ottobre
PD-1
Vardanega
Lezione: Regole del progetto didattico
Regolamento 1: Organigramma (agg: 3 novembre 2003, ore 18:00)
Regolamento 2: Documenti
PD


14 ottobre
5
Vardanega
Parte 1: Qualità del prodotto software
Parte 2: Qualità del processo
L
11, 9

15 ottobre
6
Vardanega
Gestione di progetto
Approfondimenti: Rapporto dello Standish Group sul Progetto CHAOS
L
8
4
20 ottobre
7
Vardanega
Amministrazione di progetto
Approfondimenti: Diagrammi Gantt e PERT
Approfondimenti: Modello di descrizione di Work Package
L


21 ottobre
8
Vardanega
Versionamento e configurazione L
7, 6

22 ottobre
9
Vardanega
Relazione cliente - fornitore L

5
27 ottobre
10
Vardanega
Parte 1: Cattura, specifica ed analisi dei requisiti
Parte 2: Dall'analisi dei requisiti al disegno architetturale
L
2

28 ottobre
11
Vardanega
Progettazione software
Approfondimenti: Fan-in e fan-out
L
3

29 ottobre
12
Vardanega
Metodiche standard di sviluppo industriale
L
6
3 novembre
13
Vardanega
Documentazione
L


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

5 novembre
15
Vardanega
Progettazione di software reattivo
L
7
10 novembre

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



11 novembre
E-1
Conte
Esercitazione: nozioni di UML (introduzione generale e casi d'uso)
E


12 novembre
E-2 Conte
Esercitazione: nozioni di UML (diagrammi delle classi)
E

13 novembre
E-3
Conte
Esercitazione: simulazione di studio di fattibilità
E
8
17 novembre
16
Vardanega
Verifica e validazione: introduzione
Approfondimenti: Fagan Inspections & Walkthroughs
L
5

18 novembre
17
Vardanega
Verifica e validazione: prove statiche
L

19 novembre
18
Vardanega
Parte 1: Verifica e validazione: prove dinamiche
Parte 2: Progettazione delle prove
Approfondimenti: Metriche di copertura strutturale
L
9
24 novembre
19
Vardanega
Misurazione del software
Approfondimenti: Complessità ciclomatica
L
11

25 novembre
PD-2
Vardanega/Conte
Presentazione del capitolato d'appalto
PD


26 novembre
20
Vardanega
Accertamento di qualità
L
11

18 dicembre
9 gennaio
Esami

Prerequisito per sostenere l'esame orale inviduale sarà l'aver costituito i gruppi di progetto ed aver distribuito i ruoli al loro interno. L'esame comprenderà una discussione di aspetti specifici della versione preliminare dell'offerta. Questa verrà presentata nella forma
di Studio di Fattibilità, documento predecessore dell'Analisi dei Requisiti, il quale invece dovrà essere emesso in ingresso alla Revisione dei Requisiti posta all'inizio del modulo 2 del corso.


Valutazione didattica

L'Ateneno ha avviato in via sperimentale un servizio Internet per la rilevazione della valutazione della didattica da parte degli studenti. Il servizio resterà attivo fino al 15 novembre 2003. Gli studenti sono invitati a farne uso.

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.

Prerequisito per la partecipazione all'esame di ciascun candidato è l'appartenenza ad un gruppo di progetto formato per l'esecuzione delle attività previste dal capitolato d'appalto emesso dal docente-committente e l'assunzione di specifici ruoli entro tale gruppo.

L'esame consta di 3 parti:

Trattamento delle propeuticità

Una delibera del Consiglio di Corso di Studi in Informatica di questo Dipartimento istituisce, dal prossimo anno accademico 2004/5, un nuovo regime di propedeuticità. L'impatto della modifica per il corso di Ingegneria del Software 1 è determinato come segue:
Il nuovo sistema comporterà la registrazione immediata del voto di IS-1 e -2 eventualmente conseguito dagli studenti che non abbiano ancora superato il solo esame di Algoritmi 2, e la perdita ugualmente istantanea di esso per gli studenti che non abbiano a quell'istante soddisfatto le propedeuticà forti.

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)