-3

I know that functional requirements are requirements that tell the system what to do while non-functional requirements are about quality and constraints. For below requirements, which of these will fall under non-functional or functional?

  1. UI must be graphical in nature. I would put this under non-functional requirements because it talks about the quality of the system. I am not too sure.

  2. Users must be able to view information instantly. This could be functional but at the same time, the adverb 'instantly' could be related to performance. So that could also fall under non-functional requirements

  3. Every user should run on a separate client process. This tells the system to run a process for each user. This could be functional, although I am not too sure, as this could be related how the system is implemented.

Thomas Owens
  • 79,623
  • 18
  • 192
  • 283
Manuel
  • 109
  • 1
  • 1
    [Sharing your research helps everyone](http://meta.programmers.stackexchange.com/questions/6559/why-is-research-important). Tell us what you've tried and why it didn’t meet your needs. This demonstrates that you’ve taken the time to try to help yourself, it saves us from reiterating obvious answers, and most of all it helps you get a more specific and relevant answer. Also see [ask] – gnat Sep 25 '14 at 18:15

2 Answers2

0
  1. This isn't a requirement, it's an implementation detail. Requirements say what needs to happen, not how.

  2. Amusingly impossible, this is a requirement that you need to push back on to see what people really want.

  3. Again, not a requirement.

In short, it doesn't matter how you label your requirements - it matters that they're good requirements.

Telastyn
  • 108,850
  • 29
  • 239
  • 365
  • 1
    1 could be a constraint (a limitation to your design choices) – Bart van Ingen Schenau Sep 25 '14 at 18:20
  • @BartvanIngenSchenau - *shrug*, regardless of the label it shouldn't be something that business people dictate (even if, yes, the best UI is likely to be graphical). – Telastyn Sep 25 '14 at 18:21
  • For the second one, if it is written as " User must be able to click on a button and view the corresponding information in 5ms". Will that be functional requirement? – Manuel Sep 25 '14 at 18:21
  • @Manuel - yes, though requirements shouldn't know about buttons. – Telastyn Sep 25 '14 at 18:22
  • Apparently I acoidentally downvoted this at some point and now can't change it. :( – Weaver Sep 26 '14 at 11:36
0

These aren't very good requirements at all but unfortunately in real world it is quite common to get "requirements analysis" which contains "requirements" like those.

I would recommend to go trough available documentation and convert all the "requirements" to user stories. When converting, you will find out which really are requirements and which are something else. Only requirements can be written as user stories which make sense from the end user point of view. E.g. requirement 3: "As a user I want that the system runs a separate client process for me" does not really make sense. So it is not a requirement but implementation details. There however might exist a requirement that is trying to be meet with this detail and it should be written on requirements analysis.

After "requirement analysis" is converted to requirement analysis, the best thing to do is to discuss with the customer (if that's possible) to make sure that you have understood everything correctly. Understanding what is really needed and why is crucial to create great software. Classification to functional and non-functional requirements is minor details.

And the answer to your question:

None of those three "requirements" are functional. Requirement 2 will become quality (performance) requirement when time constraint is specified (e.g. 2 seconds).