System Design

1. Major Aspects

1.1. Scalability

  • the ability of a system to continue to behave as expected in the face of significant upward or downward changes in demand.

1.2. Loose Coupling

  • the system property and design strategy in which a system's components have minimal knowledge of any other components.
  • internal changes to one don't demand changes in the other
  • web servers and web browsers for instance are loosely coupled given both have certain guarantees.

1.2.1. Enablement

  • Having a Protocol allows standardizing the input expectations and output assurances of a component.
  • These may be addressed as Interfaces as well.

1.3. Resilience

  • see also fault tolerence
  • the measure of how well a system withstands and recovers from errors and faults

1.4. Manageability

  • the ease with which a system's behaviour can be modified to keep it secure, running smoothly, and compliant with changing requirements.

1.5. Observability

  • the measure of how well a system's internal states can be inferred from knowledge of its external outputs.

2. Strats

2.1. Chronologically Numbered Entity Flows

3. Engineering Utilities

Tags::cs: