Ajax Training: Ajax for Java Developers
EJB Training: Introduction to Enterprise Java Beans
Groovy for Java Developers
Hibernate Training
Intermediate Java Training
Introduction to Java Programming Training
Introduction to XML Training
Jakarta Struts Training
Java Development for Secure Systems
Java EE 5 (JEE - including EJB3)
Java Programming with Eclipse
JavaServer Faces (JSF) : Using JSF to Build J2EE Web Apps on the JBoss Application Server
JavaServer Faces Training: Introduction to JSF Training
JavaServer Pages Training: Introduction to JSP and Servlets Training
JBoss Training: Administering the JBoss 4.x Application Server
JBoss Training: Administering the JBoss® 5.X Application Server
JBoss Training: Enterprise JavaBeans (EJB 3) on the JBoss Application Server
JBoss Training: Enterprise JavaBeans 3.0 (EJB3) and the Java Persistence API (JPA) on the JBoss Application Server
JBoss Training: Java EE with Servlets JSP & JDBC on JBoss AS
JBoss Training: Servlets/JSP on the JBoss Application Server
JBoss Training: SOA and Java Web Services (JAX-WS) on the JBoss Application Server
Patterns In Frameworks Workshop
Software Design Training: Effective Software Development Training Boot Camp
Spring Framework Training (Spring 3)
Test Driven Development (TDD) for Java
The JSP Standard Tag Library (JSTL)
Web Development Using Grails Training
Web Services Training: Developing Java Web Services
XML Programming Using Java
    

Software Design Training: Effective Software Development Training Boot Camp

  Course #: 
  Duration:  2 weeks

Software Development Training Overview

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.

Software Development Training Learning Objectives

  • 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++).

Software Development Training Outline

  1. 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
  2. Applied OO
    • Definition and Motivation for OOP
    • Ensure Understanding of OOP Fundamentals
    • OOP “First Principles”
  3. UML Essentials
    • Use Cases
    • Class Diagrams
    • Sequence Diagrams
    • "Turning Straw Into Gold" – Using UML
  4. Agile Development
    • Agile Software Development and What it Means for Information Technology
    • Implementing iterative coding into your project
  5. 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
  6. Delegation
    • Delegation and Why it is so Powerful
    • How Various Design Patterns Leverage Delegation
    • Adapter Pattern
    • Strategy Pattern
  7. Refactoring
    • What is Refactoring
    • Why Refactor
    • Handling API Changes
    • Identifying Code Smells
    • Refactoring and Testing
    • Using your IDE
  8. Using Abstraction
    • Understanding the Template Method Pattern
    • Importance of Depending on Abstraction
    • Serializing Objects to XML Files
  9. 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
  10. 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
  11. 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)