System Design Process
Partition the analysis model into subsystems.
Identify concurrency that is dictated by the problem.
Allocate subsystems to processors and tasks.
Develop a design for the user interface.
Choose a basic strategy for implementing data
management.
Identify global resources and the control mechanisms
required to access them.
Design an appropriate control mechanism for the
system, including task management.
Consider how boundary conditions should be
handled.
Review and consider trade-offs.