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?