Corso di Ingegneria del Software mod. A
Corso di Laurea Triennale in Informatica, Università  di Padova, a.a. 2006/7
Docenti: Tullio Vardanega , Renato Conte

(Ultimo aggiornamento: 3 dicembre 2006 ore 18:55)
[inserito materiale lezioni 20-21;
aggiunta diapositiva 18 a materiale lezione 18-19]

Presentazione del corso

Obiettivi

Il corso opera in regime di stretta integrazione 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à prevalentemente nel modulo B.

A circa metà  del modulo il docente emetterà alcuni 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 note 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.

Nel corso del modulo A ogni gruppo dovrà  predisporre un'offerta tecnico-economica da presentare al docente-committente in occasione della Revisione dei Requisiti. L'accettazione dell'offerta comporterà  il superamento di tale revisione e l'obbligo da parte del gruppo di fornire il prodotto pattuito nei tempi previsti.

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à  non consentirà l'ammissione alla Revisione dei Requisiti e conseguentemente lo svolgimento del progetto che è parte integrante dell'esame di profitto del corso.

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 febbraio 2005 (Per aggiornamenti si veda al sito SWEBOK. )

Sono altresì indicati alcuni 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

2 ottobre

1

Vardanega

Premesse al corso
Approfondimenti 1: No Silver Bullet. Essence and Accidents of Software Engineering
Approfondimenti 2: ACM/IEEE Code of Ethics

L


3 ottobre

2

Vardanega

Processi software

L

§9

4 ottobre

3

Vardanega

Seminario (in inglese):
Origine e formazione degli standard di processo
Struttura dello standard ISO 12207

L


2

9 ottobre
4
Vardanega

Il ciclo di vita del software
Approfondimenti 3: Il modello a spirale

L

10 ottobre
5
Vardanega

Gestione di progetto
Approfondimenti 4: Rapporto dello Standish Group sul Progetto CHAOS
Approfondimenti 5: Gestione delle persone


§8

11 ottobre

E1

Conte

UML: introduzione
Cenni sul Rational Unified Process

E

 

3

16 ottobre

6

Vardanega

Amministrazione di progetto
Approfondimenti 6: Diagrammi Gantt e PERT
Approfondimenti 7: Modello di descrizione di Work Package

L

 §8

17 ottobre
7
Vardanega L
18 ottobre
E2 Conte UML: i casi d'uso
Per sorridere: cos'è l'ingegneria del software
E

4
23 ottobre
8
Vardanega Relazione cliente - fornitore L

24 ottobre

9
Vardanega

Analisi dei requisiti

L
§2

25 ottobre

E3

Conte

UML: Diagrammi delle classi e diagrammi degli oggetti

E


5

30 ottobre

10
Vardanega

Ancora su analisi dei requisiti (vedi L9)

L

§2

31 ottobre

P1 Vardanega

Regole del progetto didattico
Regolamento del progetto: Organigramma
Regolamento del progetto: Documenti

PD


1 novembre



 



6

6 novembre

11

Vardanega

Qualità  del software

L

§11

7 novembre

12

Vardanega

Qualità  del processo
Approfondimenti 8:
Elementi dello standard ISO 9000

L

8 novembre

P2

Conte
Vardanega

Presentazione dei capitolati d'appalto
Precetto del progetto didattico

PD

 

13 novembre

13
Vardanega

Miglioramenti di processo


§11

14 novembre

14

Vardanega

Progettazione
Approfondimenti 9: Fan-in e fan-out


§3

15 novembre

E4

Conte

Simulazione di studio di fattibilità 

E


8

20 novembre
(11:30 - 13:30)

E5

Conte

Recupero e approfondimenti
Strumenti di supporto allo sviluppo e logo C02

E

 

21 novembre

15

Vardanega

Ancora su progettazione (L14)
Approfondimenti 10: Definizioni di architettura software

L


22 novembre

16

Vardanega

Documentazione

L

 

9

27 novembre

17

Vardanega

Metodiche standard di sviluppo industriale

L

 

28 novembre

18

Vardanega

Produzione di software critico
Approfondimenti 11: Software dependability

L

§4

29 novembre
(valutazione didattica)

19

Vardanega

L





Approfondimenti 12: Stili, scelte e linguaggi di programmazione
Introduzione
Rappresentazione dei numeri e trappole sintattiche
Il sistema dei tipi
Strutture dati e passaggio di parametri



10

4 dicembre

20

Vardanega

Verifica e validazione: introduzione
Approfondimenti 13: Fagan Inspection & Walkthrough

L

§5

5 dicembre

21

Vardanega

Verifica e validazione: analisi statica

L

19 dicembre
(ore 15, aula 2A/45)
10 gennaio
(ore 9:30, aula LuM 250)

P4

Revisione dei Requisiti (RR)
Prerequisito per sostenere la revisione sarà  l'aver costituito i gruppi di progetto, aver distribuito i ruoli al loro interno, e aver presentato tutta la documentazione d'ingresso richiesta entro la scadenza tassativa delle ore 18:00 di lunedì 11 dicembre
Regole di partecipazione alle revisioni

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 per appuntamento in stanza #409 il:

Regole di partecipazione alle revisioni di progetto

Le revisioni di progetto si dividono in:

Tutte le revisioni contribuiscono a determinare il voto d'esame di ciascuno studente, che sarà  basato sulla media pesata della valutazione conseguita dal proprio gruppo di progetto in ciascuna revisione, con una quota di ponderazione legata al rapporto tra l'impegno medio atteso e l'impegno effettivo documentato dallo studente. Il voto d'esame individuale sarà  ulteriormente determinato dalla valutazione di una prova scritta individuale compendiata da un breve colloquio orale.

Le revisioni formali sono bloccanti: la RR regola l'accesso del gruppo al progetto; la RA ne sancisce il completamento.

Le revisioni informali non sono bloccanti, ovvero il gruppo potrà  continuare il proprio lavoro di progetto, ma un eventuale esito negativo comporterà una penalità  di punteggio commisurata alla gravità  dell'insufficienza, da scontare nella valutazione finale.

La partecipazione di un gruppo a una revisione di progetto si svolgerà  come segue:

Calendario degli appelli d'esame (congiunto con mod. B)

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