Version: Next On this page
Non-Functional Requirements
The system must maintain consistent response times as user traffic increases.
The system must efficiently handle a high number of requests, ensuring low latency and high performance even under increasing load.
Security and Privacy
The system must comply with LGPD (Lei Geral de Proteção de Dados) or GDPR (General Data Protection Regulation) guidelines, ensuring the protection of student data.
Users inputs should be sanitized to avoid common security problems such as XSS, SQL injection or CSRF
Role-based access control (RBAC) must be enforced to grant different permission levels (students, tutors, administrators).
Authentication must be handled via UA’s IdP (Identity Provider) using secure authentication methods,
Usability and User Experience
The system must adapt to smaller screens, such as mobile phones and tablets.
The user interface must follow a consistent and simple design to avoid confusion.
Forms must provide real-time visual feedback when users make errors.
Icons must be representative of their function and consistent across all pages.
The system should have a support section with FAQs and a contact form for users to report issues.
The system should have a guide for first-time users to help them navigate the platform in case they have any doubts.
Maintainability
The system code must be simple and easy to understand (and commented when necessary) to allow future developers to modify the system when required.
All API endpoints must be documented , providing details about their purpose and usage within the application.
A logging system must be implemented to record all significant errors and warnings occurring in the system.
Logs must include a timestamp and the source of the error (affected service).
The logging system must be centralized , consolidating logs from all system components.
Scalability
The system must accommodate an increasing volume of data without significant performance degradation.
The system must be easily scalable to support a growing number of users and data.
Database queries should be optimized for fast access and indexing should be used to handle large datasets.
Reliability and Fault Tolerance
Some system functionalities must be operational even in the absence of an internet connecting.
Specific changes made offline should be synchronized with the server once the connection is reestablished.