views:

129

answers:

4

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

the question is of a UI requirement is functional of non-functional.

"the background must be blue"

is this a functional or non-functional requirement?

+2  A: 

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.

High Performance Mark
"Color the background blue" sounds like it describes what to do and not how (color each pixel on its own, destroy earth,...).
josefx
@josefx: you are quite right, and so am I. Today everyone gets a prize ! But then, it is one of those questions ...
High Performance Mark
+2  A: 

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).

Marc
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.
djna
Marc
+1  A: 

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.

djna
+1  A: 

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.

Rebol Tutorial