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.
Pingback: scea – decomposition strategies example – part 1 | Down Home Country Coding With Scott Selikoff and Jeanne Boyarsky
Thnaks Nice explanation. Do you have an example where it needs all decomposition by all groups..
Thanks
Subba
Subba,
I would expect that using all groups in the same example would be extremely rare to the point of never happening. Maybe on a huge system that is really many systems. In that case, the first few decompositions would be decompose it into the real system. Of course, in that case the same group of strategy could be used multiple times.
Thanks for the very nice explanation
Good one. But how can we deside which technique to use in a perticular group? is it randomly or any specifications for that also?
Experience/intuition. If you don’t know, try both and see which one seems to split the items up better.