Computer System Design Principles

Computer/Research 2007. 3. 7. 22:53

Robustness principle

 - Be tolerant of inputs, strict on outputs.


End-to-end argument

- The application knows best.


Open design principle

- Let the world comment on the design; you need all the help you can get.


Incommensurate scaling rule

- Changing any parameter by a factor of ten usually requires a new design.


Design for iteration

- Becuase you won't get it right the first time.


Keep digging principle

- When something goes wrong, look beyond the first cause. There are nearly always several reasons.


Principle of diminishing returns

- To increase utilization requires effort that is out of proportion.


Reuse principle

In reusing a good idea, it is better to specialize than to generalize.


Adopt sweeping simplifications

- So you can see what you are doing.


Stay back from the edge of the cliff

- Safety margins help cope with uncertainties.


Beware of excessive generality

- If it is good for everything it is good for nothing. (Hammer's law).


Retrieved From [Topics in the engineering of computer systems]