en
Politecnico di Torino
Anno Accademico 2012/13
04GSPOV
Software engineering
Corso di Laurea Magistrale in Ingegneria Informatica (Computer Engineering) - Torino
Docente Qualifica Settore Lez Es Lab Tut Anni incarico
Morisio Maurizio ORARIO RICEVIMENTO PO IINF-05/A 60 20 0 0 21
SSD CFU Attivita' formative Ambiti disciplinari
ING-INF/05 8 B - Caratterizzanti Ingegneria informatica
Esclusioni:
05BID
Presentazione
The course is taught in English.
Insegnamento obbligatorio per la Laurea Magistrale in Computer Engineering. Ha come obbiettivo esporre lo studente alle problematiche di programming in the large (produzione di software di medio grandi dimensioni, con molti programmatori coinvolti) e di illustrare gli strumenti dell’ingegneria del software per affrontarle.
Risultati di apprendimento attesi
Conoscenze: problematiche nello sviluppo di software di grandi dimensioni (comunicazione e coordinazione tra committenti e sviluppatori, evoluzione nel tempo, correttezza, affidabilita’, usabilita’). Cicli di vita del software. Linguaggio UML. Modellazione operazionale e prototipazione. Verifica e validazione. Gestione e organizzazione di progetti software.

Capacita di applicazione: capacita’di formalizzare i requisiti funzionali e non funzionali di un sistema informativo. Capacita di definire un modello operazionale prototipale di un sistema informativo. Capacita’ di validare e verificare (tramite test, inspection, prototipazione) un sistema informativo nella sua interezza e nelle sue parti. Capacita di impostare il supporto organizzativo in un progetto software (gestione progetto, gestione configurazione, ciclo di vita).
Prerequisiti / Conoscenze pregresse
Avere scritto programmi di piccole/medie dimensioni, saper utilizzare i costrutti base dei linguaggi di programmazione (funzioni, classi, package)
Programma
Introduzione (0.5 CFU)
-problemi nello sviluppo e gestione di programmi di grandi dimensioni
-proprieta del software: funzionalita, correttezza, efficenza, usabilita, portabilita, ecc
-valore economico diretto e indiretto dei programmi
-tipi di programmi

Processi software (0.5 CFU)
-waterfall, prototyping, iterative
-metodologie agili

UML (1.5 CFU)
-diagrammi strutturali (class diagram, component diagram)
-diagrammi dinamici (sequence diagram, statecharts)
-diagrammi funzionali (use case diagram)

Analisi e modellazione dei requisiti (1.5 CFU)
- Requisiti funzionali e non funzionali
- Classi di stakeholders
- Struttura di un documento di definizione dei requisiti
- uso di UML per descrizione dei requisiti
- Validazione e verifica dei requisiti: inspection, prototypes, modelli formali

Progettazione del software (1 CFU)
- uso di UML per la progettazione
-pattern di design e di architettura
-validazione e verifica del progetto

Verification and Validation (2 CFU)
- problematiche, correttezza e affidabilita
- test: test white e black box, unitario, di integrazione, di sistema; tecniche e strumenti
- inspections, walkthrough, reviews, reading


Gestione di progetti software (0.5 crediti)
- strumenti: WBS, Gantt, Pert, milestones, deliverables.
- attivita’: stima, pianificazione, controllo, post mortem


Configuration management (0.5 crediti)
- identificazione dei componenti
- version control, change management, configuration control
Organizzazione dell'insegnamento
Le esercitazioni, con la presentazione di casi e la soluzione di esercizi, coprono i temi fondamentali del corso: analisi dei requisiti e progetto, test, ispezioni, gestione configurazione, gestione progetto.
Testi richiesti o raccomandati: letture, dispense, altro materiale didattico
B. Bruegge, A. Dutoit, Object Oriented Software Engineering, Prentice Hall.
Morisio M., Vetro A., Falcarin P., Software Engineering Exercices, CLUT
Criteri, regole e procedure per l'esame
Esame finale scritto.
Orario delle lezioni
Statistiche superamento esami

Programma definitivo per l'A.A.2012/13
Indietro