nTier's intensive hands-on course will teach you how to integrate Agile Development, Test Driven Development (TDD), Object Oriented Principles and Practices, Design Patterns and UML to fully harness the power of modern best practices to provide the most valuable software possible. The course length can be customized, typical delivery is two weeks.
This course is an intensive bootcamp with at least 70% of the time spent in hands on programming.
Learn to integrate UML, Agile, TDD and OOAD
Get hands-on, intensive practice using OO principles
Build the habit of doing iterative development
Learn to apply Design Patterns in the real world
Understand that the best Agile is the one you customize
Equip your project team to give the best ROI possible
Software Development Training Prerequisites
We recommend 6 months of programming experience with an Object Oriented language (Java, C#, VB.net, C++).
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 Responsiblities
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
Open UP
The Rational Unified Process
Extreme Programming (XP)