Discuss in details the design principles.
- The design process is free from tunnel vision.
- The design should be observable to the analysis model.
- Design should not reinvent the wheel.
- The design should optimise the logical distance between the software and problem as if it exists in the real world.
- The design should be framed to degrade gently, even when anomalous data, events or operating situations are encountered.
- Design is not coding, coding is not design.
- The design should be valued for quality as it is being formed, not after the fact.
- The design should be reviewed to semantic errors.