IBM Rational Competence Center
University of Trento - DIT
ITC-IRST
IBM Italia University

Home
IBM Italia
DIT trento
ITC - IRST
Contacts
* IBM SEMINAR SERIES
* CORSI DI FORMAZIONE
If you want to receive our news by email, please contact us:

Corsi di Formazione IBM-Rational
Introduzione:
Nel panorama dei progetti di formazione permanente che l'Università degli Studi di Trento, ITC-Irst ed IBM offrono, nell'ambito del Centro di Competenza IBM-Rational, è stata attivata l'opportunità di frequentare corsi nel campo dell'Ingegneria del Software con riferimento ai prodotti IBM-Rational. Si tratta di un'opportunità espressamente studiata nell'ambito delle collaborazioni tra Università ed Impresa al fine di offrire competenze scientifiche di alto livello a coloro che intendano approfondire quei campi di applicazioni oggi fortemente richiesti dal mercato.
Le iscrizioni sono aperte a studenti italiani e stranieri. Relatori d'eccellenza affronteranno con gli studenti una pluralità di applicazioni trasversali nell'ambito della Computer Science per la preparazione di ingegneri del software e di software project manager.

Organizzazione Corsi:
I Corsi di Formazione in ambiente IBM-Rational sono organizzati in moduli. Ogni modulo analizza un particolare aspetto dell'Ingegneria del Software e, di norma, fa riferimento ad uno o più prodotti software della suite IBM-Rational. I moduli attualmente previsti sono:
1. Principi di Ingegneria del Software
2. Ciclo di Vita del Software
3. Gestione dei Requisiti
4. Modellazione del Software
5. Testing del Software

Tempistiche:
I moduli elencati possono avere durata variabile in base alle conoscenze già in possesso dei partecipanti ed al livello di dettaglio che si vuole raggiungere. Al numero di ore di teoria può essere inoltre associato un certo numero di ore di lezioni di laboratorio in cui i partecipanti potranno sperimentare in prima persona l'utilizzo dei prodotti software presi in esame. Tali lezioni potranno essere svolte usando apposite licenze e metodologie "Educational" messe a disposizione da IBM per il Centro di Competenza IBM-Rational. A titolo di esempio, ecco alcune tempistiche per ogni modulo proposto.

Modulo Ore di Teoria Ore di Laboratorio Prerequisiti Consigliati
Principi di Ingegneria del Software 16 ore --- Nessuno
Ciclo di Vita del Software 8 ore 8 ore Principi di Ingegneria del Software
Gestione dei Requisiti 8 ore 8 ore Principi di Ingegneria del Software
Modellazione del Software 16 ore 16 ore Principi di Ingegneria del Software
Testing del Software 8 ore 8 ore Principi di Ingegneria del Software

Programma Corsi:
I Corsi di Formazione, organizzati nell'ambito del Centro di Competenza IBM-Rational, possono comprendere uno o più moduli tra quelli elencati in precedenza. In particolare è possibile seguirne solo uno, ad esempio Principi di Ingegneria del Software, o tutti. Qualora si scegliesse quest'ultima opzione si consiglia di seguire i moduli proposti secondo la RoadMap presentata nella figura sottostante. Così tutti i concetti propri dell'Ingegneria del Software saranno presentati al meglio, nella corretta successione e con il giusto grado di dettaglio. Inoltre, in questo modalità, nell'ambito del Corso di Formazione, si potrà anche sviluppare un piccolo progetto software affrontando sul campo tutte le fasi proprie del Processo di Sviluppo del Software ed utilizzando i prodotti IBM-Rational pensati a questo scopo.


Partecipando a tutti i moduli previsti, la materia in esame sarà analizzata in due fasi. Ci sarà una prima presentazione di tutti i concetti ad alto livello (Modulo denominato "Principi di Ingegneria del Software") seguita da una seconda analisi più dettagliata (tutti gli altri moduli). Nel primo modulo vengono affrontati i principi generali dell'Ingegneria del Software:
* Qualità del Software,
* Ciclo di Vita del Software,
* Tipologie di Processi di Sviluppo del Software,
* Gestione dei Requisiti,
* Modellazione del Software,
* Testing del Software.
Gli altri moduli spiegano nel dettaglio questi concetti, sia dal punto di vista teorico che da quello pratico.

I corsi prevedono di norma un numero di ore di attività pratica in laboratorio pari a quelle di lezione teorica. L'attività pratica si concentrerà su casi di studio presi da piccole e medie imprese e da scenari di e-government. Nel corso di queste lezioni in laboratorio sarà descritto il funzionamento di uno o più tool IBM-Rational ideati per la gestione della problematica affrontata. Nella seguente tabella vengono riportati, per ogni modulo, i prodotti software IBM-Rational introdotti.

Nome Modulo Prodotto Software IBM-Rational
Ciclo di Vita del Software IBM-Rational ClearQuest
Gestione dei Requisiti IBM-Rational RequisitePro e IBM-Rational Soda for Word
Modellazione del Software IBM-Rational Software Architect
Testing del Software IBM-Rational PurifyPlus e IBM-Rational Functional Tester

Programma dei Moduli
Di seguito viene riportato il programma previsto per ciascuno dei moduli sopra elencati. Come accennato in precedenza, i moduli elencati possono avere durata variabile in base alle conoscenze già in possesso dei partecipanti ed al livello di dettaglio che si vuole raggiungere.

Principi di Ingegneria del Software
Questo modulo è in assoluto quello più teorico e non prevede aspetti pratici, quindi lezioni di laboratorio. Sono previste almeno 16 ore di lezione frontale da suddividere in almeno 2 giornate. Supponendo di fare per ogni giornata 2 sessioni di 4 ore ciascuna, riportiamo di seguito gli argomenti trattati in ciascuna delle 4 sessioni previste.

PRIMO GIORNO - Prima Sessione - DOCENZA UNITN
* Storia dell'Ingegneria del Software: dal software come arte al software come prodotto industriale
* Definizione di Ingegneria del Software
* Ruolo dell'Ingegnere del Software
* Aspetti Tecnologici
* Aspetti Economici
* Aspetti Sociali
PRIMO GIORNO - Seconda Sessione - DOCENZA UNITN
* Concetto di Prodotto e Processo (confronto con le "altre" Ingegnerie: Civile, Meccanica, …)
* Qualità del Software (affidabilità, correttezza, usabilità, …)
SECONDO GIORNO - Terza Sessione - DOCENZA UNITN
* Descrizione attività del Processo di Sviluppo del Software
* Focus su RUP ed elementi di cascata, spirale, exrteme programming, e scrum
SECONDO GIORNO - Quarta Sessione - DOCENZA UNITN e IBM
* Cenni sui modelli di Processo di Sviluppo del Software
* Caso di Studio: descrizione di un reale Processo di Sviluppo del Software

Ciclo di Vita del Software
Tale modulo si concentra sul concetto di Processo di Sviluppo del Software presentato ad alto livello nella terza sessione del modulo riguardante i principi dell'Ingegneria del Software. In questo caso il concetto viene dettagliato fornendo esempi pratici ed introducendo l'utilizzo di alcuni tool IBM-Rational nati per la gestione di queste problematiche. Prevedendo una giornata per la teoria ed una per il laboratorio, e supponendo di fare per ogni giornata 2 sessioni di 4 ore ciascuna, riportiamo di seguito gli argomenti trattati in ciascuna delle 4 sessioni previste.

GIORNATA DI TEORIA - Prima Sessione - DOCENZA UNITN
* Descrizione fasi del Processo di Sviluppo del Software
* Concetto di Deliverable e Milestone
* Attività del Processo di Sviluppo del Software
* Ruoli all'interno di un Processo di Sviluppo Software
* Pianificazione Processo di Sviluppo Software e Gantt Diagram
GIORNATA DI TEORIA - Seconda Sessione - DOCENZA UNITN
* Modelli di Processo di Sviluppo del Software ed esempi pratici
o Cascata
o RAD
o Spirale
o Extreme Programming e Scrum
o The Rational Unified Process
o Open source software development
GIORNATA DI LABORATORIO - Terza Sessione - DOCENZA IBM
* Introduzione alla Rational Suite
* Presentazione di ClearQuest
* Panoramica su come ClearQuest gestisce i dati nei database
* Introduzione a ClearQuest Maintenance Tool
* Esercitazione con ClearQuest Maintenance Tool
GIORNATA DI LABORATORIO - Quarta Sessione - DOCENZA IBM
* Introduzione a ClearQuest Designer
* Esercitazione con ClearQuest Designer
* Introduzione a ClearQuest Client
* Esercitazione con ClearQuest Client
* Caso di Studio: descrizione di un esempio di reale utilizzo di ClearQuest

Gestione dei Requisiti
Qui il protagonista è il requisito sia dal punto di vista teorico che pratico. Prevedendo una giornata per la teoria ed una per il laboratorio, e supponendo di fare per ogni giornata 2 sessioni di 4 ore ciascuna, riportiamo di seguito gli argomenti trattati in ciascuna delle 4 sessioni previste.

GIORNATA DI TEORIA - Prima Sessione - DOCENZA UNITN
* Definizione di Requisito
* Requisiti Funzionali e Non Funzionali
* Requisiti utente e di sistema
* Classificazione tipologie di Requisito (FURPS Model)
* Ciclo di vita del Requisito e sua gestione
GIORNATA DI TEORIA - Seconda Sessione - DOCENZA UNITN
* pecifica di un Requisito
* Ruolo dei Requisiti all'interno di un Processo di Sviluppo Software
* Requirements engineering
* Relazione tra Requisiti e Use Case Diagram
GIORNATA DI LABORATORIO - Terza Sessione - DOCENZA IBM
* resentazione di RequisitePro
* Creazione di un progetto in RequisitePro
* Creazione di requisiti partendo da un documento Word
* Gestione requisiti e loro visualizzazione con RequisitePro
GIORNATA DI LABORATORIO - Quarta Sessione - DOCENZA IBM
* reazione di report con Soda Report
* Personalizzazione di RequisitePro
* Link tra RequisitePro e Rose
* Caso di Studio: esempio di un progetto in RequsitePro per un sistema complesso

Modellazione del Software
Questo modulo risulta essere in assoluto il più complesso tra quelli previsti e fa riferimento ad una delle fasi chiave di ogni progetto software: il design. Prevedendo almeno 2 giornate di teoria ed almeno 2 giornate di laboratorio si può comunque avere una buona visione dei suoi tratti fondamentali. In questo modulo la divisione tra sessioni di teoria e laboratorio non sarà netta ma tutte le lezioni saranno caratterizzate da un'alternanza di concetti teorici ed aspetti pratici da sperimentare direttamente al computer. In particolare sarà preso in esame un problema pratico e, su questo, verrà sviluppata tutta la fase di design. Supponendo quindi di fare per ogni giornata 2 sessioni di 4 ore ciascuna, riportiamo di seguito gli argomenti trattati in ciascuna delle 8 sessioni previste senza la suddivisione in giornate di laboratorio e di laboratorio.

PRIMA GIORNATA - Prima Sessione - DOCENZA UNITN
* Introduzione allo UML
* Storia dello UML
* Panoramica sulle tipologie di Diagrammi UML (statici e dinamici)
* Presentazione di Rational Software Architect (RSA)
* Definizione di Use Case e Attori
* Dai Requisiti agli Use Case
* Esempio di realizzazione con RSA di uno Use Case Diagram partendo dal testo di un problema
* Esercizio sulla realizzazione di uno Use Case Diagram
PRIMA GIORNATA - Seconda Sessione - DOCENZA UNITN
* uolo degli attori e degli Use Case per definire il confine del sistema da realizzare
* Descrizione degli Use Case
* Possibili relazioni all'interno di uno Use Case Diagram
* Esempio di realizzazione di uno Use Case Diagram "complesso" partendo dal testo di un problema
* Esercizio sulla realizzazione di uno Use Case Diagram "complesso"
SECONDA GIORNATA - Terza Sessione - DOCENZA UNITN
* attorizzazione di Use Case Diagram Complessi
* Package Diagram
* "Strategic" and "System" Use Cases
* Esempio di realizzazione con RSA di uno Use Case Diagram suddiviso in moduli
* Esercizio sulla realizzazione di uno Use Case Diagram in moduli
SECONDA GIORNATA - Quarta Sessione - DOCENZA UNITN
* ntroduzione teorica agli StateChart
* Definizione di StateChart
* Esempio di realizzazione con RSA di uno State Chart
* Definizione di un Actvity Diagram
* Esempio di realizzazione con RSA di un Activity Diagram
* Confronto tra StateChart e Activity Diagram
* Ruolo degli StateChart e Activity Diagram
* Esercizio sulla realizzazione di un StateChart e/o Activity Diagram
TERZA GIORNATA - Quinta Sessione - DOCENZA UNITN
* ntroduzione teorica al Class Diagram
* Ruolo del Class Diagram in un Processo di Sviluppo del Software
* Definizione di Class Diagram
* Elementi di un Class Diagram (attributi, metodi e relazioni)
* Esempio di realizzazione con RSA di un Class Diagram
* Esercizio sulla realizzazione di un Class Diagram
TERZA GIORNATA - Sesta Sessione - DOCENZA UNITN
* Definizione di altri tipi di relazioni (aggregazione, composizione, association class, …)
* Organizzazione di Class Diagram a livelli (Concettuale, Specifica ed Implementazione)
* Esempio di realizzazione con RSA di un Class Diagram a livelli
* Esercizio sulla realizzazione di un Class Diagram a livelli
QUARTA GIORNATA - Settima Sessione - DOCENZA IBM
* Dal Class Diagram al codice con RSA
* Suggerimenti per ottenere automaticamente un codice ottimale
* Reverse Engineering con RSA
* Esempi Pratici
* Casi di Studio
QUARTA GIORNATA - Ottava Sessione - DOCENZA UNITN
* Definizione di Sequence Diagram
* Elementi di un Sequence Diagram
* Ruolo di un Sequence Diagram
* Rapporto Sequence Diagram e Use Case Diagram
* Rapporto Sequence Diagram e Class Diagram
* Esempio di realizzazione con RSA di un Sequence Diagram
* Esercizio sulla realizzazione di un Sequence Diagram

Testing del Software
Anche questo modulo prevede una forte componente pratica relativamente a due famiglie di prodotti software IBM dedicati al testing: Rational PurifyPlus e Rational Test Manager. Prevedendo una giornata per la teoria ed una per il laboratorio, e supponendo di fare per ogni giornata 2 sessioni di 4 ore ciascuna, riportiamo di seguito gli argomenti trattati in ciascuna delle 4 sessioni previste.

GIORNATA DI TEORIA - Prima Sessione - DOCENZA UNITN
* Introduzione al Testing
* Analisi Statica
* Analisi Statica automatica e metodi formali
* Analisi Dinamica
* Test del Sistema
* Test dei Componenti
GIORNATA DI TEORIA - Seconda Sessione - DOCENZA UNITN
* oncetto di Test Case
* Progettazione dei Test Case
* Identificazione dei casi di test funzionali direttamente dagli scenari degli Use Case
* Analisi Funzionale (Black Box)
* Analisi Strutturale (White Box)
* Derivable del testing
GIORNATA DI LABORATORIO - Terza Sessione - DOCENZA IBM
* Tracciabilità dei requisiti verso gli oggetti di design espressi in UML con RSA
* Introduzione a Rational PurifyPlus
* Scrittura di codice in modo più affidabile e veloce
* Analisi di runtime automatizzate per migliorare l'affidabilità e le prestazioni delle applicazioni
* Analisi delle applicazioni per verificarne la copertura del codice eseguito
GIORNATA DI LABORATORIO - Quarta Sessione - DOCENZA IBM
* Introduzione a Rational Functional Tester
* Test automatizzato per la fase di Analisi Funzionale
* Funzioni automatizzate per attività come la creazione di test e la fase di verifica dei dati
* Controllo versioni: sviluppo parallelo di script di test e utilizzo simultaneo di team distribuiti
Dipartimento di Ingegneria e Scienza dell'Informazione
Via Sommarive, 14 I-38050 POVO (TN) Italy tel. (+39) 0461 882092 fax: (+39) 0461 882093