In part 1, I posed a question on decomposition strategies. Before I present my answer to the example, I want to point out a few things:
- An experienced architect (or organizer) is going to be able to do this in one pass. This is ok. Even in the real world, once you’ve seen a problem before you take shortcuts to the solution and don’t think about each step. Just like a child will count on their fingers to figure out 9 x 6 and an adult will just say 54.
- If you aren’t comfortable with the concept of decomposition yet, take it slower. Force yourself to pick something that splits the list into two pieces. Then do it again. Or give a reason for why you are making everything into a category.
My sample solution
Here I walk through the five layers presented in Cade & Sheil (listed in part 1).
Group 1 Technique – Distribution
I choose distribution over layering as my first technique because some of the items in this list represent different subsystems.
Accounting System | Food System |
---|---|
|
|
Group 2 Technique – Functionality
I choose functionality over exposure and generality. Since there are clear business groupings, it makes sense to separate on that level.
Accounting System | Food System | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
Groups 3-5 – not needed
The system is sufficiently decomposed. All done.