Skip to content

Concept

This section explains the fundamental aspects of your distributed systems project.

Project Type

Describe the type of product being developed:

  • Application (GUI-based: mobile, web, or desktop)
  • Command-line application (CLI for human or script usage)
  • Library (reusable components)
  • Web service(s) (backend services)

Use Case Description

Address the following aspects:

What

What is the software doing?

Where

Where are the users located?

When and Frequency

When and how frequently do they interact with the system?

How and Devices

How do users interact with the system? Which devices are they using?

Data Storage

Does the system need to store user's data? Which data? Where?

User Roles

Describe the multiple roles involved in the system.

Why is distribution needed?

Geographical Distribution

Are components distributed across different geographic locations?

Computation Speedup

Is parallel computation needed to improve performance?

Resource Sharing

Do multiple users or components need access to shared resources?

Fault Tolerance

Is high availability and failure recovery critical?

Other Reasons

Are there other reasons justifying distribution?