Skip to content

Design - Overview

This section explains the strategies used to meet the requirements identified in the requirements analysis. Ideally, design should be independent of technological choices made during implementation.

Important

Try to motivate your design choices in relation to the requirements and distributed system features identified in the requirements section.

Design Layers

The design is organized into the following key areas:

  1. Architecture - Architectural style and overall structure
  2. Infrastructure - System components and their distribution
  3. Modelling - Domain entities and their representation
  4. Interaction - Communication patterns between components
  5. Behaviour - Individual component behaviors and state management
  6. Data and Consistency - Data storage and consistency strategies
  7. Fault-Tolerance - Failure handling and recovery mechanisms
  8. Availability - Caching and load balancing strategies
  9. Security - Authentication, authorization, and encryption

Each subsection should clearly reference the requirements and features from the requirements analysis to justify design decisions.