Design Evaluation

How would you decide whether a system design is a good one?

Some criteria....

  • does the design achieve the objectives?
  • is it possible to implement the design with the manpower and expertise available?
  • is it technically feasible? Does all the hardware exist?
  • is the design as simple as possible so people can easily understand how it works? Complex designs are harder to get working and harder to solve problems which arise.
  • is it possible to implement it within the time-scale proposed?
  • is it possible to implement the design within the budget available?

Completed software must be...
  • Easy to use
  • Robust - it should not crash or fail.
  • Flexible - it can be easily reconfigured.
  • Reliable - it should not fail due to design faults
  • Portable - it can be used on different hardware systems
  • Easy to maintain - modifications can be easily made.

...and the best way to ensure all of these is with a good design.