Are UI choices functional or non-functional requirements?
Asked Answered
K

6

5

Today we had a discussion at the office about UI elements in the required document.

The question is whether a UI requirement is functional or non-functional.

  • "the background must be blue"

Is this a functional or non-functional requirement?

Kalpak answered 2/6, 2010 at 7:4 Comment(3)
It seems like a rather boring requirement. Typical university sample, I'm afraid. Or maybe you have crappy clients.Cedar
I really don't agree that this not worthy of attention, see my answer.Intended
I’m voting to close this question because it is not related to programmingSienna
I
5

That is a non-functional requirement, it states how a system is to perform, not what it is to perform.

If this clear distinction is too black and white, too simple perhaps, ignore it or provide a better one ! And, why do you care ?

EDIT: prompted by the other answers. Whether the requirement is functional or non-functional is immaterial to its requirementhood -- if it's a requirement you'd better satisfy it in your product.

Ionic answered 2/6, 2010 at 7:8 Comment(3)
"Color the background blue" sounds like it describes what to do and not how (color each pixel on its own, destroy earth,...).Defeat
@josefx: you are quite right, and so am I. Today everyone gets a prize ! But then, it is one of those questions ...Ionic
I would not have agreed with this response until today. how vs. what.Chatterbox
R
3

When looking at the two definitions as given by Wikipedia, I would say neither.

a non-functional requirement is a requirement that specifies criteria that can be used to judge the operation of a system, rather than specific behaviors

a functional requirement defines a function of a software system or its component

The color of the background is not a specific function or behavior of the system and it also can not be used to judge the operation of a system.

I think that these kind of UI requirements do not need to be specified at the beginning of a software design cycle. What if during development you find out that the wrong type of blue was described? These choices are not requirements, but need to be sorted out during UI development (preferably with a user group to judge).

Rockhampton answered 2/6, 2010 at 7:10 Comment(3)
I've seen colours very precisely described - there may well be detailed house-styles. If such standards are in place in the customer then I would want to know them before starting development. Pragmatically we may need to defer until later, but I don't see it as all that rare, or unreasonable, to have more detailed specs.Intended
The requirement you describe here is that "the look & feel of the application should match the house-style". Still, this is not really a functional requirement, but maybe it can be argued that this is a non-functional requirement in the sense that it can be used to judge the system itself (though not really the operations).Rockhampton
I think you cannot say "neither". If it is not functional, then it is automatically non-functional.Wilk
I
3

I am currently struggling with accessibility requirements for a customer.

The fundamental need is to support users who are partially sighted and blind. The former by careful selection of fonts, colour contrasts etc. The latter by keeping HTML very simple so that an application can parse it and convert it to speech or braille.

So I would say that details of presentation are worthy of specification.

I would also say that screen layouts, exactly what data to display are indeed functional specifications and by extension the colour schemes are part of that.

Intended answered 2/6, 2010 at 7:36 Comment(0)
U
2

Definitions like this differ depending on the organizaton. Unfortunately, there's only generally accepted practices, and the distinction between funcitonal and nonfunctional or the "what" and the "how" are usually a lot more subjective than most people realize. To a UI designer, corporate standard color schemes could very well be the "what" and not the "how".

I would call this a UI specification, or to be more precise, a UI spec requirement. That's not a standard term, but sometimes you just need to be more specific to avoid confusion. You might have a nonfunctional requirement saying to follow corporate guidelines, and then put the UI spec requirements in that guideline.

Urdu answered 25/9, 2012 at 13:58 Comment(0)
G
1

Sometimes the frontier is fuzzy. But in this case I would clearly say non functional. Functional is a core business requirement, independant of technology, ergonomy, something that must be there if you change the UI. Color is about UI except if it represents something special to business.

Goolsby answered 20/6, 2010 at 8:28 Comment(0)
S
0

The performance improvement in the UI is also one critical non functional requirement which can be measured. Caching the static master data, using ajax calls to partial submit (instead loading the entire page), and loading heavy javascript or css files initially will certainly improve the performance at the UI layer. Back ground may not be considered as an NFR.

Sunshine answered 24/1, 2012 at 23:54 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.