Skip to main content
Version: Next

Non-Functional Requirements

Performance

  • 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.