Tools

Recent site activity

Home‎ > ‎

Course Information

Obiettivi formativi specifici

Questo e' un corso molto "pratico" che riguardera' lo sviluppo di un proegtto software complesso, in tutte le sue fasi. Durante e dopo la parte pratica, vedremo anche elementi di teoria sullo sviluppo di progetti software. E' previsto l'uso di tools industriali di supporto al processo di sviluppo del software.


Content

Il corso si propone di fornire competenze che possono essere utilizzate nel processo di sviluppo di software per progetti medio/piccoli. Saranno analizzati come casi di studio alcuni processi di sviluppo software reali e verranno impiegati alcuni tools usati nel processo di sviluppo del software a livello industriale. Programma Dettagliato: 1. fondamenti di Ingegneria del Software: sviluppo del software dall'artigianato ai processi industriali. Attività principali nello sviluppo di un prodotto software 2. gestione di un progetto: wbs, gantt, critical paths (utilizzo del tool MS Project o di programmi equivalenti) 3. fondamenti sul processo di sviluppo del Software: introduzione al Ciclo di Vita del Software ed alle tipologie di processi di sviluppo (Code and Fix, Cascata, Spirale) 4. processi di sviluppo del software avanzati: RAD, Metodi Formali, Riuso del Software 5. fondamenti di UML usando il tool Rational Rose: introduzione a UML, Diagrammi dei Casi d'Uso, delle Classi, delle Attività, degli Stati e delle Sequenze 6. business modeling, analisi dei requisiti e loro gestione usando il linguaggio di modellazione UML ed il tool Rational Requisite Pro 7. analisi e design del Software: Design Patterns, UML per linguaggi orientati agli oggetti usando il tool Rational Rose 8. sviluppo e controllo del codice: generazione automatica del codice partendo da diagrammi UML utilizzando il tool Rational Rose, controllo del codice manuale ed automatizzato utilizzando il tool Rational Pure Coverage 9. reverse engineering e manutenzione del codice


Prerequisiti

E' utile la conoscenza della lingua inglese, delle tecniche di programmazione di base e dell'ambiente Windows.


Metodi didattici

Sono previste lezioni teoriche ed esercitazioni pratiche in laboratorio. Verranno utilizzati i case tools della Rational Suite (Requisite Pro, Rose e Pure Coverage). Il  linguaggio di programmazione usato è Java. L'attività' di laboratorio puo' essere svolta in gruppo. E' richiesto del lavoro individuale dello studente al di fuori delle lezioni in laboratorio per completare gli esercizi pratici.


Modalità di verifica dell'apprendimento

L'esame si svolgerà in forma orale e pratica su tutti gli argomenti di teoria ed esercitazioni visti a lezione.


Testi di riferimento

UML Distilled: A Brief Guide to the Standard Object Modeling Language (3rd Edition) (The Addison-Wesley Object Technology Series) (Paperback) Software Engineering: (Update) (8th Edition) (International Computer Science Series) (Hardcover) by Ian Sommerville "Effective Java (2nd Edition) (The Java Series)" Joshua Bloch; Paperback; "Clean Code: A Handbook of Agile Software Craftsmanship (Robert C. Martin Series)" Robert C. Martin; Paperback;


Ulteriori informazioni

Il materiale didattico del corso è disponibile su Didattica On Line (http://www.didatticaonline.unitn.it). Parte delle lezioni sono state videoregistrate e sono anche disponibili sul sito. È vivamente consigliata la frequenza.