L’ingegneria del software, disciplina nata ufficialmente nel 1968, contiene le buone pratiche da seguire per ridurre i rischi ed ottenere un prodotto di qualità.
PREMESSA
L’IT è ormai il sistema nervoso digitale di qualsiasi azienda. Lo sviluppo di un servizio IT o di un software è un’attività importante che deve applicare i migliori principi industriali per ridurre i rischi ed ottenere un prodotto di qualità. L’ingegneria del software, disciplina nata ufficialmente nel 1968, contiene le buone pratiche da seguire per ottenere questo risultato.
OBIETTIVI DEL CORSO
Dare agli allievi le metodologie di analisi e progettazione di software e di gestione del progetto di realizzazione, con riferimenti agli standard internazionali di IT Governance (COBIT), IT Service Management (ITIL) e alle migliori pratiche di Architettura del software.
DESTINATARI: il corso è destinato a IT Project Manager, Consulenti del settore IT, Software Architect, System Architect, Sviluppatori
NATURA DEL CORSO
Il corso prevede esercizi e role game con simulazioni di situazioni lavorative.
PROGRAMMA DEL CORSO
1. Introduzione
– Caratteristiche tipiche del progetto informatico
– Definizione di ingegneria del software, di ingegneria dei sistemi informativi e di ingegneria dei requisiti
– Tipologie di progetti informatici
– Necessità di gestione
– Modelli di sviluppo formalizzato
2. Le fasi del progetto di sviluppo e le loro caratteristiche tipiche
– Valutazione, classificazione e stima
– Studio di fattibilità
– Raccolta dei requisiti
– Analisi
– Design
– Implementazione
– Test
– Installazione
– Operazione e manutenzione
– Evoluzioni e change management
– I prodotti delle fasi ed il loro riutilizzo
3. Strumenti di ausilio: Linguaggi di Modellazione del Software
– Modellazione del software: modelli e linguaggi di specifica
– Il linguaggio UML ed il suo uso
– Uso di UML entro i progetti informatici
– Cenni agli strumenti CASE
– Esercizi: uso operativo di alcuni diagrammi UML
4. Analisi e gestione dei Requisiti
– Analisi e specifica dei requisiti
– L’interazione con il cliente e la formalizzazione dei requisiti
– Il metodo dei casi d’uso e le sue applicazioni
– Risultati del processo di analisi
– Analisi solo iniziale vs. adattamento continuo agile: pro e contro
– Esercizi di analisi
5. Architetture software e progettazione del software
– Le architetture software: architetture software per piccoli sistemi
– L’importanza del disaccoppiamento
– Analisi dei flussi di dati
– Architetture client-server, multi-tier e Web
– Il pattern MVC e le sue applicazioni
– Riuso delle componenti server
– Approccio multicanale
– Progettazione dei sistemi software: principi e metodi di progettazione
– Modularità ed incapsulamento
– La progettazione orientata agli oggetti
– I “Design patterns” ed il loro uso
– Regole di scrittura del codice
– Esercizi di design architetturale
6. Gestire la sequenza delle fasi
– Cenni ai cicli teorici sequenziali ed iterativi
– Le necessità reali
– I rischi del progetto informatico
– Metriche per dimensionamenti
– Il ciclo di vita del prodotto / servizio IT
– Esercizi (Applicazioni delle matrici di classificazione di un progetto, Applicazioni del calcolo di rischio di un progetto, Role game: l’intervista per la raccolta dei requisiti, Role game: la modellazione dei domini di business, Role game: la trattativa per il servizio)
Il corso ha una durata di 3 giorni.
Questo corso viene erogato solo in modalità dedicata: per questa tipologia, la quotazione è a giornata (su richiesta) e gli argomenti possono essere personalizzati in base alle proprie necessità formative.