我试图了解非功能性需求和质量属性之间的区别。它们是一样的吗?
您可以在ISO9126标准中找到一组质量属性。
我知道每个系统都是由一组功能需求定义的,并且每个需求都有一个或多个相关的质量属性。例如,假设您具有描述系统登录功能的要求。您可以将安全性和性能属性与该需求相关联。
如果我说系统不能花费超过1秒的时间来响应,那是在说约束。
那么,非功能性需求的概念在哪里出现呢?它们是由用户定义的吗?如何识别它们?
我试图了解非功能性需求和质量属性之间的区别。它们是一样的吗?
您可以在ISO9126标准中找到一组质量属性。
我知道每个系统都是由一组功能需求定义的,并且每个需求都有一个或多个相关的质量属性。例如,假设您具有描述系统登录功能的要求。您可以将安全性和性能属性与该需求相关联。
如果我说系统不能花费超过1秒的时间来响应,那是在说约束。
那么,非功能性需求的概念在哪里出现呢?它们是由用户定义的吗?如何识别它们?
Answers:
我认为您在考虑这个问题有点太难了。功能性和非功能性需求并非如您所建议的那样真正可分离,以登录名为例。
用户应能够通过Web界面登录。从技术上讲,这是功能要求。
系统必须在1秒内响应登录请求。从技术上讲,这是非功能性要求。
无论采用哪种分类,它们都同样重要。
需求可以来自任何地方。您可能想要比竞争对手更好的性能。客户可能有特定的需求。行销或销售可能会有要求。他们来自哪里,没有一个地方。但是,您可能可以抽象出所有不同的来源,并将其称为客户。最终,这就是它们。
您可以使用以下指标来识别差异。功能需求描述了系统将要做什么。非功能性需求指定了它如何执行。
规则简单明了。
功能性需求是事物的系统呢。
非功能性需求是质量属性或系统设计,构建或实施方式的各个方面。
读这个。很清楚 http://en.wikipedia.org/wiki/Non-functional_requirement
非功能需求的显示方式与功能需求的显示方式相同。用户。实施系统的环境。很多地方。管理。其他组织。网络管理员,系统管理员,数据库管理员。利益相关者或仅仅是旁观者的每个人都会贡献非功能性需求。
在查看过去30年的“需求文件”时,我可以这样说。大型内部IT组织编写的许多需求文档都是具有80%非功能性需求和不到20%功能性需求的政治声明。
我读了一个只有一个句子的功能要求的句子。长达30页的文档的其余部分讨论了平台,支持,备份和还原,操作系统和数据库,标准,操作以及系统无法执行的许多工作。
非功能性要求和质量属性是相同的
近年来,名称更改背后的想法是,这些所谓的非功能性需求实际上是对系统具有跨领域影响的系统功能(或一组系统功能)。意思是,这种“特殊功能”对系统的横向影响使其成为该系统的质量属性。举个例子:
具有5个组件的系统必须在10毫秒内处理请求。如果一个组件的缺陷需要5ms的时间才能使其在处理过程中发挥作用,那么它将影响整个系统的性能。
正如安全性不仅涉及登录,当登录受到影响时,它也会影响整个系统。
总而言之,质量属性(即非功能性要求)都与功能性,实现方式以及该实现方式对系统的影响有关。通常,与“正常需求”的区别在于影响,范围和可见性。
这是有关如何以结构化方式识别它们的有趣链接:
还有一本有关如何记录它们并正确定义它们的书: