Managing Complexity nx ny nx ny dx dy dx dy nx ny nx*dy ny*dx dx dy dx dy "There are two ways of constructing a software design:One way is to make it so simple that there are obviously no deficiencies,and the other way is to make it so complicated that there are no obvious deficiencies." -C.A.R.HoareManaging Complexity