Practical Objects: Designing, Testing & Refactoring in Java

OO Design can only take you so far, at some point you have to implement your UML diagrams in Code. This "hands-on" course shows how, using the JUnit testing framework from Kent Beck and Erich Gamma, you can drastically improve the quality of Java code. The coding process introduced by this course ensures that Unit Test coverage is complete. After the code has been written and is functionally working, then refactoring techniques are needed because when we are adding functionality, keeping the design clean is not always top priority, we just need to make it work. Using the two step process of Add Functionality, then Refactor Design, gives the twin benefits of faster development and maintainable code.

Duration and intended Audience

This is a 2 day intensive, hands on course. The first day focuses on Designing and Testing, the second on Refactoring.

Participants should have a working knowledge of the Java JDK 1.1 command line tools and UML. Familiarity with Rational Rose is useful.

Course Goals

Course Content

  1. Basic Concepts
  2. An introduction to Testing in Java
  3. An Introduction to Refactoring
  4. An introduction to Design for Java
  5. Refactoring in Java
  6. Incremental Development and the User Interface

Recommended texts

Back to the Mentoring and Training Page

Pete McBreen, pete@mcbreen.ab.ca