scea – decomposition strategies example – part 2

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:

  1. 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.
  2. 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
  • coupon
  • fork
  • gift card
  • knife
  • paper cup
  • paper receipt
  • pen
  • spoon
  • chicken
  • lettuce
  • mayonnaise
  • mustard
  • pickle
  • onion
  • roast beef
  • roll
  • rye bread
  • tomato
  • turkey
  • wheat bread
  • white bread
  • wrap
  • 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
    Eating supply Check out item
    • fork
    • knife
    • paper cup
    • spoon
    • coupon
    • gift card
    • paper receipt
    • pen
    Bread Meat Condiments Veggies
  • roll
  • rye bread
  • wheat bread
  • white bread
  • wrap
  • chicken
  • roast beef
  • turkey
  • mayonnaise
  • mustard
  • lettuce
  • pickle
  • onion
  • tomato
  • Groups 3-5 – not needed

    The system is sufficiently decomposed.  All done.