Which decomposition?
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, it’s 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, it’s easy to
- Build something designed pretty much like the last one
- This has benefits, too: understandability, properties of the pieces, etc.