Skip to content

Requirements

Requirements in system design refer to the specifications that define what the system should do and how it should behave. There are two main types of requirements: functional and non-functional. Both functional and non-functional requirements are vital for a successful system design. They guide the development process, helping to ensure that the system meets the needs of its users and achieves its intended purpose.

Functional Requirements

Functional requirements specify what a system must do. They are essentially the behaviors of the system and define the system's functionality. They are usually stated in terms of user actions or events that the system should respond to.

Example

The system should allow users to create accounts and log in using credentials like email and password or through social media integration.

Non-Functional Requirements

Non-functional requirements define how the system should perform. They are not related to the system's functionality but rather define the system's behavior. They are crucial for ensuring the system's usability, reliability, and efficiency, often influencing the overall user experience.

Example

  1. Performance (e.g., the system should load within 3 seconds when the number of simultaneous users exceeds 10,000)
  2. Security (e.g., emails should be sent with a latency of no greater than 12 hours from such an activity)
  3. Usability (e.g., the system should be user-friendly and meet users' needs).

References

  1. Functional vs Non Functional Requirements
  2. What are Non Functional Requirements — With Examples