How do we select a decomposition?
We determine the desired criteria
We select a decomposition (design) that will achieve
those criteria
In theory, that is; in practice, its hard to
Determine the desired criteria with precision
Tradeoff among various conflicting criteria
Figure out if a design satisfies given criteria
Find a better one that satisfies more criteria
In practice, its easy to
Build something designed pretty much like the last
one
This has benefits, too: understandability, properties of
the pieces, etc.