In this book, a dimension is defined as a particular nature of something. Dimensions may be independent, and may be measurable. Some dimensions may be derived from and may be influenced by others.

For example, an object's dimensions are:

  • Size
  • Mass
  • Temperature
  • Colour

Software Dimensions

We will look at the following software dimensions, and show how choochoo supports building software with higher maturity levels of user friendliness.

  1. Path Handling: How exhaustive code path coverage is, and how each path is handled.
  2. State Visibility: What state is it in now, progress tracking.
  3. Understandability: Presentation / verbosity.
  4. Recoverability / Repeatability: Can execution resume from halfway.
  5. Performance / Efficiency: How well is execution scheduled, time spent, and resources used.
  6. Psychology: Did the user request what they intended?