Struttura del corso
Ingegneria del Software 5 giorni
Giorno 1: Project Management
- Gestione del progetto e della linea, manutenzione e supporto
- Definizione del progetto e moduli di progetto
- Management – regole generali e gestione del progetto
- Stili di gestione
- Cosa c'è di speciale per i progetti IT?
- Processo di base del progetto
- Processo di progetto iterativo, incrementale, a cascata, agile e snello
- Fasi del progetto
- Ruoli del progetto
- Documentazione di progetto e altri artefatti
- Fattori soft e peopleware
- PRINCE 2, PMBOK, PMI, IPMA e altri standard di progetto
Giorno 2: Analisi aziendale e Requirements Engineering Fondamenti
- Definizione degli obiettivi aziendali
- Business analisi, gestione dei processi aziendali, miglioramento dei processi aziendali
- Il confine tra business e analisi di sistema
- Stakeholder del sistema, utenti del sistema, contesto del sistema e boudary del sistema
- Perché sono necessari i requisiti?
- Che cosa ci richiede l'ingegneria
- Il confine tra ingegneria dei requisiti e progettazione architettonica
- Dove si nasconde spesso l'ingegneria dei requisiti?
- Ingegneria dei requisiti nello sviluppo iterativo, snello e agile e nell'integrazione continua – FDD, DDD, BDD, TDD
- Processo di progettazione dei requisiti di base, ruoli e artefatti
- Standard e certificazioni: BABOK, ISO/IEEE 29148, IREB, BCS, IIBA
Giorno 3: Fondamenti di architettura e sviluppo
- Linguaggi di programmazione: paradigmi strutturali e orientati agli oggetti
- Sviluppo orientato agli oggetti: quanto è storia, quanto è futuro
- Modularità, portabilità, manutenibilità e scalabilità delle architetture
- Definizione e tipologia di architetture software
- Architettura aziendale e architettura di sistema
- Stili di programmazione
- Ambienti di programmazione
- Errori di programmazione e come evitarli e prevenirli
- Modellazione dell'architettura e dei componenti
- SOA, Web Services e microservizi
- Compilazione automatica e integrazione continua
- Quanto design architettonico c'è in un progetto?
- Programmazione estrema, TDD e refactoring
Giorno 4: Fondamenti di Garanzia di Qualità e Test
- Qualità del prodotto: che cos'è? ISO 25010, FURPS ecc.
- Qualità del prodotto, esperienza utente, modello Kano, gestione dell'esperienza del cliente e qualità integrale
- Design incentrato sull'utente, personas e altri modi per rendere individuale la qualità
- Qualità appena sufficiente
- Garanzia di qualità e controllo di qualità
- Strategie di rischio nel controllo di qualità
- Le componenti dell'assicurazione della qualità: requisiti, controllo di processo, gestione della configurazione e delle modifiche, verifica, validazione, collaudo, collaudo statico e analisi statica
- Garanzia di qualità basata sul rischio
- Test basati sul rischio
- Sviluppo orientato al rischio
- La curva di Boehm nell'assicurazione della qualità e nel collaudo
- Le quattro scuole d'esame: quale si adatta alle tue esigenze?
Giorno 5: Tipi di processo, maturità e miglioramento dei processi
- L'evoluzione del processo IT: da Alan Turing a Big Blue fino alla lean startup
- Processo e organizzazione orientata ai processi
- La storia dei processi nell'artigianato e nell'industria
- Modellazione dei processi: UML, BPMN e altro
- Gestione dei processi, ottimizzazione dei processi, reingegnerizzazione dei processi e sistemi di gestione dei processi
- Approcci innovativi per processi: Deming, Juran, TPS, Kaizen
- La qualità (di processo) è gratuita? (Filippo Crosby)
- La necessità e la storia del miglioramento della maturità: CMMI, SPICE e altre scale di maturità
- Tipi speciali di maturità: TMM, TPI (per test), Requirements Engineering Maturity (Gorschek)
- Maturità del processo e maturità del prodotto: c'è una correlazione? C'è una relazione causale?
- Maturità dei processi e successo aziendale: c'è una correlazione? Qualche relazione causale?
- Una lezione dimenticata: la prevenzione automatizzata dei difetti e il prossimo balzo in avanti nella produttività
- Tentativi: TQM, SixSigma, retrospettive agili, framework di processo
Requirements Engineering - 2 giorni
Giorno 1: Raccolta dei requisiti, negoziazione, consolidamento e Management
- Trovare i requisiti: cosa, quando e da chi
- Classificazione degli stakeholder
- Stakeholder dimenticati
- Definizione del contesto di sistema: definizione delle origini dei requisiti
- Metodi e tecniche di elicitazione
- Prototipazione, personas ed elicitazione dei requisiti attraverso i test (esplorativi e non)
- Marketing ed elicitazione dei requisiti – MDRA ("Market-Driven Requirements Engineering")
- Definizione delle priorità dei requisiti: MoSCoW, Karl Wiegers e altre tecniche (compresa la FCM agile)
- Affinamento dei requisiti – agile "specificazione per esempio"
- Negoziazione dei requisiti: tipi di conflitti, metodi di risoluzione dei conflitti
- Risolvere l'incongruenza interna tra alcuni tipi di requisiti (ad es. sicurezza rispetto alla facilità d'uso)
- Tracciabilità dei requisiti: perché e come
- Modifiche allo stato dei requisiti
- Requisiti CCM, controllo delle versioni e baseline
- Visualizzazione del prodotto e del progetto sui requisiti
- Gestione dei prodotti e dei requisiti nei progetti
Giorno 2: Analisi dei requisiti, modellazione, specifica, verifica e convalida
- L'analisi è il pensare e ripensare che si fa tra l'elicitazione e la specificazione
- Il processo dei requisiti è sempre iterativo, anche nei progetti sequenziali
- Descrivere i requisiti in linguaggio naturale: rischi e benefici
- Modellazione dei requisiti: benefici e costi
- Le regole per l'utilizzo del linguaggio naturale per la specifica dei requisiti
- Glossario della definizione e della gestione dei requisiti
- UML, BPMN e altre notazioni di modellizzazione formali e semi-formali per i requisiti
- Utilizzo di modelli di documenti e frasi per la descrizione dei requisiti
- Verifica dei requisiti – obiettivi, livelli e metodi
- Convalida – con prototipazione, revisioni, ispezioni e test
- Validazione dei requisiti e validazione del sistema
Test - 2 giorni
Giorno 1: Progettazione del test, esecuzione del test e test esplorativi
- Progettazione del test: dopo un test basato sul rischio, scegliendo il modo ottimale per utilizzare il tempo e le risorse disponibili
- Progettazione del test "dall'infinito a qui" – non è possibile eseguire test esaustivi
- Casi di test e scenari di test
- Progettazione di test su vari livelli di test (dal livello di test dell'unità a quello del sistema)
- Progettazione di prove statiche e dinamiche
- Business Progettazione di test orientata alla tecnica e alla tecnica ("black-box" e "white-box")
- Tentativo di violare il sistema ("test negativo") e supporto agli sviluppatori (test di accettazione)
- Progettazione dei test per ottenere la copertura dei test: varie misure di copertura dei test
- Progettazione dei test basata sull'esperienza
- Progettazione di casi di test a partire da requisiti e modelli di sistema
- Euristica del progetto di test e test esplorativi
- Quando progettare i casi di test? – approccio tradizionale ed esplorativo
- Descrivere i casi di test: quanti dettagli?
- Esecuzione del test – aspetti psicologici
- Esecuzione dei test: registrazione e creazione di report
- Progettazione di test per test "non funzionali"
- Progettazione automatica dei test e MBT (Model-Based Testing)
Giorno 2: Organizzazione dei test, Management e automazione
- Livelli (o fasi) di prova
- Chi esegue i test e quando? – varie soluzioni
- Ambienti di test: costi, amministrazione, accesso, responsabilità
- Simulatori, emulatori e ambiente di test virtuale
- Test in Agile Scrum
- Organizzazione e ruolo del team di test
- Processo di prova
- Automazione dei test: cosa si può automatizzare?
- Automazione dell'esecuzione dei test: approcci e strumenti
Recensioni (6)
Acquisizione di nuove informazioni.
Nada - Tamkeen Technologies
Corso - API Testing with Postman
Traduzione automatica
Metodo di insegnamento
Negritu - OMNIASIG VIENNA INSURANCE GROUP S.A.
Corso - SoapUI for API Testing
Traduzione automatica
Mi è piaciuto tutto perché è tutto nuovo per me e posso vedere il valore aggiunto che può suonare al mio lavoro.
Zareef - BMW South Africa
Corso - Tosca: Model-Based Testing for Complex Systems
Traduzione automatica
Approccio molto bello all'argomento e basato su esempi pratici
Tomasz - Biuro Rachunkowe Magda Sp. z o.o.
Corso - Automate Windows Desktop Applications with AutoIt
Traduzione automatica
To get acquainted with the screenplay pattern and learn why this is better dan the old pattern.
Peter Moors
Corso - Serenity BDD for Automated Acceptance Tests
L'allenatore era cordiale e ben parlato. Si vedeva che sapeva di cosa stava parlando.
Tom - Leeds Building Society
Corso - SpecFlow: Implementing BDD for .NET
Traduzione automatica