DEV Community

Rossano D'Angelo
Rossano D'Angelo

Posted on

1

Functional requirements vs Non-functional requirements

In order to build a good software system it's usually recommended a good understanding of its requirements. These requirements can be divided into two groups: functional requirements and non-functional requirements.

Functional requirements

Functional requirements describe how the product must behave. For example: "the system sends a confirmation email when a new user account is created".

Non-functional requirements

Non-functional requirements specify the quality attributes of the system, that's why they are also called quality attributes. The key types of non-functional requirements are:

  • performance and scalability - How fast does the system return results? How much will this performance change with higher workloads?
  • portability and compatibility - Which hardware, operating systems, and browsers, along with their versions does the software run on? Does it conflict with other applications and processes within these environments?
  • reliability, maintainability, availability - How often does the system experience critical failures? How much time does it take to fix the issue when it arises? And how is user availability time compared to downtime?
  • security - How well are the system and its data protected against attacks?

These requirements are part of a format that is called SRS a.k.a. Software Requirement Specification.

Image of Datadog

How to Diagram Your Cloud Architecture

Cloud architecture diagrams provide critical visibility into the resources in your environment and how they’re connected. In our latest eBook, AWS Solution Architects Jason Mimick and James Wenzel walk through best practices on how to build effective and professional diagrams.

Download the Free eBook

Top comments (0)

Billboard image

Create up to 10 Postgres Databases on Neon's free plan.

If you're starting a new project, Neon has got your databases covered. No credit cards. No trials. No getting in your way.

Try Neon for Free →

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay