Ingegneria del Software Giuseppe Berio DI-Unito 2006
Competenze Richieste Programmazione Basi di Dati, Sistemi Operativi, etc. Matematica (comprendente Logica)
Il corso e l’Ingegneria del Software Il corso non copre l’intera Ingegneria del Software ma intende essere un corso d’introduzione con particolare enfasi su alcuni aspetti Il corso enfatizza i seguenti aspetti: –Modelli del processo –Ingegneria dei sistemi e dei requisiti con particolare attenzione alla specifica dei requisiti –Transizione alla progettazione, architetture del software –Pianificazione e stime di progetto –Test – Collaudo - (verifica e validazione (o convalida)) Il corso è seguito dal corso di “sperimentazioni di ingegneria del software” che ne è naturale complemento: –Una metodologia basata su UP Specifica dei requisiti con UML Progettazione con UML e design pattern –Laboratorio con l’utilizzo di uno strumento CASE
Competenze in Uscita Riconoscere un modello di processo, con vantaggi e svantaggi Avere un’idea dei problemi, attività e prodotti della ingegneria dei sistemi Conoscere problemi, attività e prodotti della ingegneria dei requisiti Avere acquisito le nozioni di base della specifica dei requisiti del software e saper specificare semplici requisiti Aver acquisito le nozioni di base della specifica del software Conoscere le principali attività e metodi di verifica e validazione Conoscere le principali attività e metodi di gestione dei progetti di sviluppo Conoscere le principali attività e metodi di stima della qualità del software, del processo e della gestione del progetto.
Testo di riferimento Principi di Ingegneria del Software, R.S. Pressman, 4a edizione in Italiano, McGraw-Hill Costituisce un manuale di ingegneria del software con un ricco insieme di riferimenti facilmente accessibili anche via web Il testo italiano contiene qualche errore! Il testo italiano contiene termini non usati comunemente! Il testo è molto ampio ma talvolta difficile da seguire nella sua logica: appare più come una collezione utile per chi già conosce l’argomento!
Testi integrativi Sulle metodologie object-oriented in generale: –L. Maciaszek, Sviluppo di Sistemi Informativi con UML, Addison Wesley. Sulla ingegneria dei requisiti: –Wieringa, Design Methods for Reactive Systems, Elsevier. Sulla verifica e la validazione e stima dei costi: –Ghezzi, Jazayeri, Mandrioli, Ingegneria del Sofware, 2a Edizione, Pearson; –Pfleeger, Atlee, Software Engineering: International Edition:3/e Prentice Hall, Sulla notazione UML: Fowler, UML Distilled, Pearson, 2004 Esempi commentati su UML: –Binato, Fuggetta, Sfardini, Ingegneria del Software: Creatività e metodo, Pearson, 2006; –Baresi, Lavazza, Pianciamore, Dall'idea al codice con UML 2 Pearson, 2006; L. Maciaszek, Sviluppo di Sistemi Informativi con UML, Addison Wesley; –Collana SHAUM - UML.
Esame e Trasparenze ed Annunci Trasparenze: –Di supporto al libro (non distribuibili e in Inglese) –Elaborate dal docente (saranno disponibili alla pagina del corso accessibile da Annunci: –Indicati alla sezione annunci della pagina del corso accessibile da Esame: prova scritta comprendente due stili di domande –Nozionistiche (seguire, studiare, chiedere) –“Intelligenti” (svolgere gli esercizi proposti, chiedere)
Uso delle trasparenze Le trasparenze sono solo un utile modo di illustrare il contenuto dei testi (non solo il Pressman) a lezione Possono essere usate come INDICE per conoscere quali argomenti sono stati trattati e, a volte, quali esempi sono stati presentati NON COSTITUISCONO l’UNICO MATERIALE PER LO STUDIO
Ulteriori richieste Ufficio 17 (nuova area) Ricevimento su appuntamento: (preferito) –