开发者

Are UI choices functional or non-functional requirements?

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 th开发者_C百科is a functional or non-functional requirement?


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.


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


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.


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.


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.


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.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜