System Design
Design Decisions
Breaking a System into Subsystems
client-server relationship
peer-to-peer relationship
layered system
Layered architecture
closed architecture
open architecture
Partitions
Difference between Layer and Partition
Combining Layers and Partitions
Identifying Inherent Concurrency
Defining Concurrency Tasks