Functional and non functional requirements relating to web API

Scott picture Scott · Dec 19, 2015 · Viewed 6.9k times · Source

is the development of a RESTful API in JSON that will later be consumed by a web frontend a "Functional" or "non functional" requirement?

Answer

observer picture observer · Dec 22, 2015

It is neither. "The development of a RESTful API in JSON" is not a requirement, but just describes the process of implementing one or more underlying requirements.

But you probably refer to a functional requirement.

You should always seek to split requirements, which describe a function or quality that the future system shall have, from their technical implementation.

Such a functional requirement could be:

(identifier 1) The system under development must offer the following information to external systems via an interface: (table of required information)

Then you can break that down further into more detailed functional requirements, one of which can be:

(identifier 2) The system under development must offer its information specified in (reference to identifier 1) to external systems in the JSON format via an interface that is accessible for REST clients, in order to feed external system XYZ.

Nonfunctional requirements, in contrast, tell more details about the API qualities. Such as:

  • Performance
  • Security
  • Reliability
  • Usability
  • Maintainability
  • Portability

Because these things are hard to measure, you can add more functional requirements which specify expected behavior in more detail (such as max. response times).

Source:

https://ireb.org/en/downloads/#syllabus-foundation-level