Defining Logical ComponentsLogical Versus Physical ArchitectureCreating a Logical ArchitectureIdentifying Core ComponentsAssigning User Stories to ComponentsAnalyzing Roles and ResponsibilitiesAnalyzing Architectural CharacteristicsRestructuring ComponentsComponent CouplingStatic CouplingTemporal CouplingThe Law of DemeterCase Study: Going, Going, Gone—Discovering Components