Programa do Curso
QA/CI
- O que é QA?
- O que é CI?
- Os custos do desenvolvimento de software, refatoração e correção de erros
- Identificação e compreensão do projeto
- Lucro para a organização
DDD
- Desenvolvimento de software baseado em requisitos de negócios, pressupostos DDD
- Problemas na comunicação entre TI e Negócios
- Modelo de Domínio
Melhores Práticas
- Princípio KISS e DRY
- Padrões de codificação
- Criação de código reutilizável através da OOP e padrões de design
- Identificação e redução da complexidade ciclomática
Métricas de Software
- Peso do Método por Classe
- Resposta para uma Classe
- Profundidade da Árvore de Herança
- Coplamento entre Objetos
- Falta de Coesão dos Métodos
- Número de Filhos
- Complexidade ciclomática
- Métrica de classe
- Métricas do modelo
- Métricas para uso
Testes de Software
- O que, quando e como testar?
- O método "caixa branca" e "caixa preta"
- O papel dos testes nas metodologias ágeis
- TDD: um aumento potencial no custo do projeto
- Testes unitários com JUnit (Java), PHPUnit (PHP)
- Testes comportamentais com JBehave (Java), Behat e Mink (PHP)
- Testes funcionais
Refatoração
- O que é refatoração?
- Dívida técnica
- Código cheiroso (code smell)
- Padrões de refatoração
Documentação
- O papel da documentação nas metodologias ágeis
- O que documentar?
- Tipos de documentação
- Documentação e metodologias ágeis, ou você pode chamar (Software funcional sobre documentação abrangente)?
- Padrão XMI
- Geração automática de documentação a partir do Javadoc (Java), ApiGen (PHP)
Ferramentas e Ambiente CI
- Ferramentas e Ambiente CI
- PMD (Java), phpmd (PHP)
- CPD (Java), phpcpd (PHP)
- Contador de Linhas de Código (Java), phploc (PHP)
- UCDetector (Java), phpdcd (PHP)
- Jdepend (Java), phpdepend (PHP)
- Servidor de Integração Contínua Jenkins
Ágil e CI/QA
- Planejamento e desenvolvimento incremental
- Aceitação das mudanças
- Etapas curtas
- Equipe interdisciplinar
- Programação Extrema, Revisão de Código
- Indivíduos e interações sobre processos e ferramentas
Somatório
- Discussão
- Perguntas
- Como começar o processo de implementação?
Requisitos
Conhecimento dos processos de desenvolvimento de software
Testemunhos de Clientes (5)
Envolvente e com prática hands-on.
Balavignesh Elumalai - Scottish Power
Curso - SonarQube for DevOps
Máquina Traduzida
O instrutor tem uma experiência profunda e é bem articulado. A profundidade do conhecimento e a paixão pelo ensino são altamente apreciadas.
Anup Kumar - SMR Automotive Mirrors Stuttgart
Curso - Jenkins 2: Building CI/CD Pipelines
Máquina Traduzida
O instrutor estava muito bem organizado. Ele explicou sobre todas as ferramentas necessárias para o treinamento no início. O instrutor esclareceu todas as dúvidas de forma feliz e discutiu casos práticos.
Vivek Verma - Global Knowledge Network Training Ltd
Curso - DevOps Practical Implementation and Tools
Máquina Traduzida
Muito detalhado, o instrutor conhece muito bem o assunto e abordou diversos tópicos
Gabriel Kelly Navarro - Opswerks
Curso - Advanced Spinnaker
Máquina Traduzida
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
Curso - Jenkins: Continuous integration for Agile development
Máquina Traduzida