Curso Agile Engineering Bootcamp
40hVisão Geral
Este curso prático intensivo ensinará como integrar Desenvolvimento Ágil, Desenvolvimento Orientado a Testes (TDD), Princípios e Práticas Orientadas a Objetos, Padrões de Design e UML para aproveitar totalmente o poder das melhores práticas modernas para fornecer o software mais valioso possível.
Se sua organização quer aprender Agile fazendo Agile, este é o curso! Ele pode ser personalizado para qualquer implementação Agile que você escolher (SAFE, SCRUM, XP, Lean, etc.). Como um campo de treinamento, pelo menos 70% do tempo de aula é gasto nas mãos da programação.
Observação: a duração do curso pode ser personalizada de acordo com a disponibilidade de sua equipe.
Objetivo
Após a conclusão deste curso, você será capaz de:
- Ensine sua equipe a dar um maior retorno sobre o investimento (ROI)
- Obtenha prática intensiva e prática usando os princípios OO
- Crie o hábito de fazer desenvolvimento iterativo
- Aprenda a aplicar Design Patterns no mundo real
- Entenda que o melhor Agile é aquele que você personaliza
- Aprenda a integrar UML, Agile, TDD e OOAD
Pre-Requisitos
- Recomendamos 6 meses de experiência em programação com uma linguagem Orientada a Objetos (Java, C#, VB.net, C++).
Informações Gerais
Carga Horária: 40h
- Se noturno este curso é
ministrado de Segunda-feira à sexta-feira, das 19h às 23h
- Se aos sábados este curso é
ministrado das 9h às 18h
- Se in-company por favor
fazer contato para mais detalhes.
Formato de
entrega:
- 100% on-line ao vivo, via
Microsoft Teams na presença de um instrutor/consultor ativo no mercado.
- Nota: não é curso
gravado.
Lab:
- Laboratório + Exercícios
práticos
Materiais
Português | InglêsConteúdo Programatico
Test Driven Development
- Definitions and Uses of Test Driven Development
- Principles and Techniques of Test Driven Development
- Test Driven Development Benefits
- Best Practices in Test Driven Development
- Test Driven Developments Anti-Patterns
Applied OO
- Definition and Motivation for OOP
- Ensure Understanding of OOP Fundamentals
- OOP "First Principles"
UML Essentials
- Use Cases
- Class Diagrams
- Sequence Diagrams
- "Turning Straw Into Gold" - Using UML
Agile Development
- Agile Software Development and What it Means for Information Technology
- Implementing iterative coding into your project
Commonality and Variance
- Techniques for Translating From Requirements and/or Use Cases to a Class Diagram
- Fundamentals of Commonality/Variability Analysis (CVA)
- CRC Cards
- How to Handle Variations as We Get New Requirements
- Understanding and Using Factories
Delegation
- Delegation and Why it is so Powerful
- How Various Design Patterns Leverage Delegation
- Adapter Pattern
- Strategy Pattern
Refactoring
- What is Refactoring
- Why Refactor
- Handling API Changes
- Identifying Code Smells
- Refactoring and Testing
- Using your IDE
Using Abstraction
- Understanding the Template Method Pattern
- Importance of Depending on Abstraction
- Serializing Objects to XML Files
Model-View-Controller
- MCV Principles and the Motivation for Using MVC
- Differentiating between the Model 1 and Model 2 Architectures
- Benefits of the Front Controller Pattern
Managing Access
- The Proxy Pattern and the Motivation for it
- How a Dynamic Proxy Works
- Why the Dynamic Proxy Offers a More Flexible Proxy Solution
Dynamic Responsibilities
- Using the Decorator Pattern to Bring Flexibility to Designs
- Adding Functionality Flexibility
- Decorator Pattern and Illustration
- Decorator Pattern - Class Diagram
- Decorators in the Java/IO Pattern
- Writing a Custom I/O Decorator
Optional Appendixes
- JUNIT
- Javadocs
- Java Server Faces (JSF)
- The Spring Framework
- Struts
- Hibernate
- SCRUM
- SAFe (Scaled Agile Framework)
- Open UP
- The Rational Unified Process
- Extreme Programming (XP)