1. Identify Design Goals
Additional NFRs
Trade-offs
Conditions
Initialization
Termination
Failure.
2. Subsystem Decomposition
Layers vs Partitions
Coherence & Coupling
3. Identify Concurrency
Identification of
Parallelism
(Processes,
Threads)
4. Hardware/
Software Mapping
Identification of Nodes
Special Purpose Systems
Buy vs Build
Network Connectivity
5. Persistent Data
Management
Storing Persistent
Objects
Filesystem vs Database
7. Software
Control
Monolithic
Event-Driven
Conc. Processes
6. Global Resource
Handlung
Access Control
ACL vs Capabilities
Security