Non-functional requirements
While functional requirements define what the system should do, non-functional requirements specify how the system should perform and behave. These requirements are critical in ensuring that the file-sharing service remains scalable, available, and reliable under various conditions. Let’s discuss the key non-functional requirements:
- Scalability should be accounted for as follows:
- The system should be designed to handle a large number of users and documents, accommodating growth and peak usage
- Horizontal scalability should be achieved by adding more servers and distributing the load across them
- The architecture should allow for easy scaling of individual components, such as the Document Service or Collaboration Service, independently
- High availability and reliability should be secured as follows:
- The file-sharing service should be highly available, ensuring minimal downtime and quick recovery from failures
- Redundancy should be implemented at...