UI 选择是功能性需求还是非功能性需求?
今天我们在办公室讨论了所需文档中的 UI 元素。
问题是 UI 需求是功能性的还是非功能性的。
- “背景必须是蓝色”
这是功能性要求还是非功能性要求?
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?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
这是非功能性需求,它说明系统如何执行,而不是执行什么。
如果这种明显的区别过于黑白分明,也许过于简单,请忽略它或提供更好的区别!而且,你为什么关心?
编辑:由其他答案提示。需求是功能性的还是非功能性的对于它的需求性并不重要——如果它是一个需求,你最好在你的产品中满足它。
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.
当查看维基百科给出的两个定义时,我会说两者都不是。
背景的颜色不是系统的特定功能或行为,也不能用来判断系统的运行情况。
我认为这些类型的 UI 需求不需要在软件设计周期开始时指定。如果在开发过程中您发现描述了错误的蓝色类型怎么办?这些选择不是要求,而是需要在UI开发时整理出来(最好有一个用户群来判断)。
When looking at the two definitions as given by Wikipedia, I would say neither.
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).
我目前正在努力满足客户的可访问性要求。
根本需求是支持视力不佳和失明的用户。前者通过仔细选择字体、颜色对比等。后者通过保持 HTML 非常简单,以便应用程序可以解析它并将其转换为语音或盲文。
所以我想说,演示的细节是值得规范的。
我还想说,屏幕布局、要显示的数据确实是功能规范,并且通过扩展,配色方案也是其中的一部分。
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.
此类定义因组织而异。不幸的是,只有普遍接受的实践,并且功能性和非功能性或“什么”和“如何”之间的区别通常比大多数人意识到的要主观得多。对于 UI 设计师来说,企业标准配色方案很可能是“什么”而不是“如何”。
我将其称为 UI 规范,或者更准确地说,UI 规范要求。这不是一个标准术语,但有时您只需要更具体以避免混淆。您可能有一个非功能性需求,要求遵循公司指南,然后将 UI 规范要求放入该指南中。
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.
有时边界是模糊的。但在这种情况下,我会明确地说不起作用。功能性是核心业务需求,独立于技术、人体工程学,如果您更改 UI,则必须满足这些要求。颜色与 UI 相关,除非它代表了对业务有特殊意义的东西。
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.
UI 的性能改进也是一项可以衡量的关键非功能性需求。缓存静态主数据、使用ajax调用部分提交(而不是加载整个页面)以及加载大量的javascript或css文件肯定会提高UI层的性能。背景不得被视为 NFR。
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.