So I'm trying to understand the connection between the Requirement Types given in my Software Engineering lecture.

We discussed 5 different Requirement Types: User-, System-, Functional-, Non-Functional- and Domain Requirements.

Is it true to say that System Requirements are better and more precise User requirements and Functional-, Non-Functional- and Domain Requirements are a part of the System Requirements.

Thank you very much!

enter image description here

  • Personally I reckon "requirements" is just a fancy way of saying "what the thing ought to do", and the rest of the finer distinctions are just codswallop.
    – Steve
    Commented Jul 17, 2022 at 19:36

1 Answer 1


"Functional requirements" refers to requirements that specify functional behavior, i.e. what that software does for an end user to fulfill its business purpose. UX requirements are part of functional requirements. Functional requirements are typically driven by the marketing team (via product requirements).

"Nonfunctional requirements" refers to requirements that are not behavior related, e.g. security, maintainability, performance, and so on. Nonfunctional requirements may be driven by your infrastructure or architecture team, your cybersecurity team, and your DevOps team.

"System requirements" are a different animal from the others. These are user-facing requirements for the machine where the software will run. For example, Overwatch requires 4 GB RAM and and NVIDIA® GeForce® GTX 460, ATI Radeon™ HD 4850, or Intel® HD Graphics 4400 card. You can think of system requirements that are printed on the side of the box or appear in the product description on the web site where the software is sold.

Not the answer you're looking for? Browse other questions tagged or ask your own question.