Struttura del corso
QA/CI
- Cosa è QA?
- Cosa è CI?
- I costi dello sviluppo software, del rifattorizzazione e della correzione degli errori
- L'identificazione e la comprensione del progetto
- Il profitto per l'organizzazione
DDD
- Sviluppo software basato sui requisiti aziendali, assunzioni DDD
- Problemi nella comunicazione IT-Azienda
- Modello di dominio
Migliori Pratiche
- Principio KISS e DRY
- Standard di codifica
- Creazione di codice riutilizzabile attraverso OOP e pattern di design
- Identificazione e riduzione della complessità ciclotomica
Metriche Software
- Peso del metodo per classe
- Risposta di una classe
- Profondità dell'albero di ereditarietà
- Coupling tra oggetti
- Mancanza di coesione dei metodi
- Numero di figli
- Complessità ciclotomica
- Metrica classe
- Metriche del modello
- Metriche per l'uso
Test Software
- Cosa, quando e come testare?
- Il metodo "white-box" e "black box"
- Il ruolo del testing nelle metodologie agili
- TDD e il potenziale aumento dei costi del progetto
- Test unitari con JUnit (Java), PHPUnit (PHP)
- Test comportamentali di JBehave (Java), Behat e Mink (PHP)
- Test funzionali
Rifattorizzazione
- Cosa è la rifattorizzazione?
- Debito tecnico
- Codice puzzolente (code smell)
- Pattern di rifattorizzazione
Documentazione
- Il ruolo della documentazione nelle metodologie agili
- Cosa documentare?
- Tipi di documentazione
- Documentazione e metodologie agili, o si può dire (Software funzionante più che documentazione esaustiva)?
- Standard XMI
- Generazione automatica di documentazione da Javadoc (Java), ApiGen (PHP)
Strumenti e Ambiente CI
- Strumenti e ambiente CI
- PMD (Java), phpmd (PHP)
- CPD (Java), phpcpd (PHP)
- Contatore di righe di codice (Java), phploc (PHP)
- UCDetector (Java), phpdcd (PHP)
- Jdepend (Java), phpdepend (PHP)
- Jenkins Continuous Integration Server
Agile e CI/QA
- Pianificazione e sviluppo incrementale
- Accoglienza del cambiamento
- Fasi brevi
- Squadre interdisciplinari
- Extreme Programming, Code Review
- Individui e interazioni piuttosto che processi e strumenti
Riassunto
- Dibattito
- Domande
- Come iniziare il processo di implementazione?
Requisiti
Conoscenza dei processi di sviluppo software
Recensioni (5)
Coinvolgente e pratica manuale.
Balavignesh Elumalai - Scottish Power
Corso - SonarQube for DevOps
Traduzione automatica
Il formatore ha un'ampia esperienza e sa raccontarla bene. La profondità delle sue conoscenze e la passione per l'insegnamento sono altamente apprezzate.
Anup Kumar - SMR Automotive Mirrors Stuttgart
Corso - Jenkins 2: Building CI/CD Pipelines
Traduzione automatica
Il formatore era molto ben organizzato. Ha spiegato tutti gli strumenti necessari per il corso all'inizio. Il formatore ha chiarito con piacere tutte le dubitazioni e sono state discusse varie situazioni pratiche.
Vivek Verma - Global Knowledge Network Training Ltd
Corso - DevOps Practical Implementation and Tools
Traduzione automatica
Molto dettagliato, l'inistruttore conosce molto bene l'argomento e ha trattato numerosi argomenti
Gabriel Kelly Navarro - Opswerks
Corso - Advanced Spinnaker
Traduzione automatica
All of it. Having had no previous exposure to Jenkins, I was a little concerned about my ability to keep up. IPad provided appropriate coaching/support, when I asked for help, so that I was able to follow the presentation at a level I was happy with.
Graham Congdon
Corso - Jenkins: Continuous integration for Agile development
Traduzione automatica