非功能性需求

非功能性需求(NFR)全面解析:定义、行业示例、编写技巧及高效管理工具(Perforce ALM) 很多系统“能跑但不好用”,根源在于非功能性需求(NFR)没定义清楚。一文了解其定义、行业示例、编写技巧及高效管理工具,让您的软件不止“能用”,更“好用、耐用、可扩展”! 阅读详情

一、简介
非功能需求是产品必须具备的品质或者它将事情做到了多好,它们可以让产品有吸引力、易于使用、快速、可靠或者安全。比如可以利用非功能性需求来指定响应时间,或计算时达到的精确度、产品必须具有的某种特定外观、能被无法阅读的人士使用、遵守使用这类业务的法律。
这些属性的存在并不是因为它们是产品的基本活动,而是因为客户希望这些功能性活动以某种方式执行,并达到特定的品质。
非功能需求通常并不改变产品的功能。一般来说,不管增加多少的质量属性,功能性需求都会保持不变。也有更复杂的情况存在,有时候非功能需求的实现会为产品增加功能(举例:功能的存在是为了让产品具有期望的特征)。功能性需求是让产品工作的需求,非功能需求是为工作赋予特征的需求。所以说,功能性需求和非功能性需求是相辅相成密不可分的。
非功能性需求经常被忽略,因为它们不易被发现,发现后不易表达、实现以及测试。
其实我们很多时候都将非功能需求不自觉的融入到了功能需求中
Ipod播放器的成功在于它的易用性(基本没人仔细学习过它的使用说明书)、性能(硬盘空间很大、电池寿命长、连续播放时间长)、外观(很好看,很酷,能抓住青年人的心里),在市场上同类产品很多并且功能基本类似的情况下,ipod的成功,在于它很好的把握了非功能性需求。
非功能性需求的分类有很多种,参见国标,它是可以裁减的,不是一成不变的。

二、非功能需求的感性认识
我们日常工作时,是通过场景对用例进行理解,从而进一步分解成步骤和相关的业务规则,针对这些步骤和规则,可以确定功能性需求。非功能性需求就不太符合这种方式,因为某些非功能性需求可以直接与一想功能性需求联系起来,某些适用于整个用例,某些则覆盖整个产品,因此我们在获取非功能需求时不要局限在功能的框架下,要适时改变思路。
下面举个例子,让大家对什么是非功能需求有一个感性上的认识:
目标:我们要设计一个家庭用的水龙头
非功能需求:
A、 水龙头应该外观漂亮,看起来简单不复杂(感观)
B、 水龙头应该能够让手湿的人使用(易用性)
C、 转两圈就应该能达到最大的出水量(操作性)
D、当水温上升到70摄氏度的时候,水龙头能继续使用不烫手(操作性)
E、 能够让有经验的操作者在4分钟内完成例行的安装和维护(可维护性)
F、 水龙头没有尖锐的突出点,对幼儿没有伤害(安全性)
G、开关的转动方向应该符合当地居民的习惯(文化和政策性)
H、 水龙头符合国家标准(法律法规性)

三、非功能需求要做哪些事情
1、观感需求(界面需求):主要描述了对产品外观的期望、情绪和风格。这些需求规定了外观想要达到的目标,它和详细的界面设计还是有区别的,体现的是客户的感觉。作为web服务的一种的网银服务,应该相当重视观感需求,比如网站应该看起来很专业很有权威性、显的很高贵、很精美等。界面需求还包括对控件进行规范和对控件的使用范围进行一个规定等方面的内容。可以考虑借用一个原型来描述。
2、易用性需求:易用性会使产品提高符合用户习惯的能力以及其对使用的期望。它会对用户使用产品的生产效率、错误率以及用户对新产品的接收程度产生很大的影响。可以描述成“90%的最终用户在第一次使用网银系统时,能在45秒内成功的完成转账交易”等
3、执行需求:执行需求是指产品可以在给定的时间或者特定的精确度来执行某些任务,或者在一段时间内的极端状态值。在考虑执行需求时,可以从完成任务的速度、结果的精确度、容量、允许值的范围、单位时间内完成的任务数、资源的使用效率、两次故障间的平均屋故障时间、连续不停机时间等方面入手。它还应该包括对风险的控制内容。
4、操作和环境需求:主要描述产品使用的环境。分为软件环境和硬件环境方面内容。还应包括使用产品时必须要提供的合作软件的内容。
5、可维护性需求:在这项上,我的理解和理论上有一些偏差,有待讨论,呵呵。
6、安全性需求:安全性指产品消除潜在风险的能力和对风险的承受能力。包含保密性、可靠性和完整性三个子特性。保密性指的是数据不能被授权用户以外的任何人访问的能力。可靠性指的是授权用户可以不受阻止的访问数据、与其它软件的兼容的能力和产品的强壮度。完整性指的是安预期目标完成任务的能力。
7、文化和政策需求:这是一类特殊的需求,由于人的习惯、宗教、语言、禁忌或偏见,可能会导致产品不被接收。
8、法律需求:
四、非功能需求的验收
非功能需求的验收和测试是个比较头疼的事情,因为很多项目看上去是无法量化的。但是需求工程里明确说明“不能测量的需求就不是一项真的需求”、“需求都是能测试的”,所以应该尽量为这些非功能需求加上数字标准,从而对其进行量化。
例如:
非功能需求:产品具有很高的用户友好度
验收标准:在引入该产品的3个月内,60%的用户应该可以在45秒内用它来完成转账的任务,失败率控制在万分之一以内。

界面需求验收标准:60%的用户在第一次看见该产品的5秒内,就会意识到这是民生银行的网银。

执行需求验收标准:在95%的情况下,一般时段响应时间不超过1。5秒,高峰时段不超过4秒

注:提出非功能需求,不要提出解决方案,提需求不是做设计。
 

需求分析师如何做好非功能性需求 非功能性需求是除开功能性需求外需要满足的系统要求,可以理解为系统的质量要求,一般包括性能、安全性、可靠性、可用性、可维护性、完整性、可测试性、有效性等。细分下来有很多,不过前辈们和一些权威机构帮我们做了很好的归类。        常见的软件质量模型有:   ● Jim McCall 软件质量模型(1977 年)   ● Barry W. Boehm 软件质量模型(1978 年)   ● F 阅读详情

相关推荐

系统功能性/非功能性需求

文章目录1 操作系统的系统需求1.2 软件系统的需求分析1.2 操作系统的功能性需求1.2.1 OS的功能性需求1.2.1.1 **计算机用户需要的用户命令**1.2.1.2 **应用软件需要的System Call(系统调用)**1.3 OS的非功能性需求 1 操作系统的系统需求 1.2 软件系统的需求分析 人们从软件系统的外部对软件系统提出的诸多期望: 软件系统能够提供的服务; 软件系统在提供这些服务时,需要满足的限制条件; 软件系统具有适应某些变化的能力; 可以看出来,系统需求的第一点,是后两点系

TakahashiRyosuke的博客 8934

软件开发中的非功能需求类型

在软件开发中,很多程序员都将完成需求当作任务目标。但是在验收、代码评审的时候,我们对于程序员来讲,除了能完成外,还有一些其它一些要求条件:例如代码健壮性,可扩展性,性能等等考核指标。 写代码,除了完成需求规定的功能外,还要综合考量在性能、可用性等

沛哥儿的专栏 1万+

大象--Thinking in UML早知道 -- 006 -- 非功能性需求

如何采集非功能性需求    在需求阶段,与功能性需求不同,非功能性需求是需要需求人员主动引导的。因为客户并非计算机专家,除了可用性之外,他们很少会考虑其它的非功能性需求。即使提出,也是很模糊的要求,比如速度要快,报表要在一分钟之内统计完成等模糊的语言。    需求人员要在需求过程中了解清楚系统的应用环境,包括硬件环境、网络环境、用户情况、预期使用人数、并发使用情况等等,这些因素都是

咖啡小驻 7412

非功能性需求_一文看懂非功能性需求

什么是非功能性需求?非功能性需求(NON-FUNCTIONALREQUIREMENT, NFR)关注的是软件系统的质量属性。需要根据响应性、可用性、安全性、可移植性等非功能性指标来评估软件系统,而且这些指标对整个系统而言是至关重要的。例如,”网站加载速度有多快?” 非功能性需求的不满足会导致严重影响客户满意度。非功能性需求需要在系统设计阶段施加各种约束或限制。例如,同时使用的用户数超过...

weixin_39618730的博客 9088

的功能性需求、非功能性需求和设计约束。_一文看懂非功能性需求

什么是非功能性需求?非功能性需求(NON-FUNCTIONALREQUIREMENT, NFR)关注的是软件系统的质量属性。需要根据响应性、可用性、安全性、可移植性等非功能性指标来评估软件系统,而且这些指标对整个系统而言是至关重要的。例如,”网站加载速度有多快?” 非功能性需求的不满足会导致严重影响客户满意度。非功能性需求需要在系统设计阶段施加各种约束或限制。例如,同时使用的用户数超过...

weixin_34900758的博客 7896

系统架构设计中的非功能需求分析与设计

非功能需求是系统架构设计中的重要组成部分,它们决定了系统的质量属性和用户体验。通过有效的非功能需求分析和设计方法,架构师可以确保系统架构设计能够满足用户的需求,并在面对需求冲突和技术限制时保持灵活性和可维护性。未来的系统架构设计将更加注重非功能需求的自动化和智能化,架构师需要不断学习和适应新的技术趋势,以应对日益复杂的非功能需求设计挑战。

Programming Talk 2032

系统架构主题之八:非功能性需求对系统架构及设计的影响

探讨非功能属性对软件架构设计的影响

wwwyuewww的专栏 3558

手把手教你用Cadence Virtuoso完成LNA全套仿真:基于SpectreRF手册的实战补充

本文详细指导如何使用Cadence Virtuoso和SpectreRF完成LNA的全套仿真,涵盖噪声仿真、增益压缩、THD分析及双音IP3测量等关键步骤。针对官方手册中的常见问题,提供了12个实战解决方案,包括hbnoise函数选择、双音信号源配置等,帮助工程师高效完成射频IC设计。

weixin_29102619的博客 523

软件需求分析——非功能性需求

前言:需求分为功能需求和非功能性需求,常常会因为注重功能需求而忽略了非功能性需求,以下是对常见几类非功能性需求的小小总结,以后再慢慢补充。 非功能性需求 1、定义:软件产品为满足用户业务需求而必须具有且除功能需求以外的特性。 2、影响:影响着产品是否能够持续稳定并高效的提供服务。 3、常见类别: 性能需求:响应时间、吞吐量、资源利用率; 安全性:保密性、防泄漏、权限控制、防攻击; ...

wr98442878的博客 11万+

别再傻傻分不清!Synopsys DC综合中link/target/symbol/synthetic四大库的保姆级配置指南

本文详细解析了Synopsys DC综合中link_library、target_library、symbol_library和synthetic_library四大库的配置方法,帮助工程师避免常见错误。通过实战示例和调试技巧,指导如何正确设置工艺库与IP库,提升数字芯片设计效率。

weixin_42562079的博客 423

【全开源】教育培训微信小程序源码(FastAdmin+ThinkPHP+Unipp)

教育培训微信小程序源码以其便捷性、互动性、安全性等优势,成为了教育培训行业的新宠。随着移动互联网技术的不断发展,教育培训微信小程序源码将继续引领未来学习趋势,为学员提供更加优质、高效的学习体验。同时,教育培训机构也应积极拥抱小程序技术,利用源码打造具有自身特色的学习平台,提升品牌影响力和市场竞争力。

2401_84414018的博客 2100

常见非功能性需求的描述案例

非功能性需求是需求的一个重要组成部分,它影响了系统的架构设计,需要开发人员重点关注。但是在工程实践中,往往客户不会提出非功能性需求,需求人员在描述需求时不知道如何描述,在国际的各种标准中,对非功能性需求有定义,但是比较抽象。因此我整理如下常见的非功能性需求的描述案例,供需求人员进行参考。 1、性能需求描述案例: 响应时间: 在95%的情况下,一般时段响应时间不超过1.5秒,高峰时段不超过4秒。 定位系统从点击到第一个界面显示出来所需要的时间不得超过300毫秒。 在网络畅通时,拨号连接G..

5192

《Cesium 基础知识点》- 申请 Cesium Ion 密钥

一、访问 https://cesium.com/ion/signin/tokens 二、登录/注册 三、申请 四、使用 // 密钥 let defaultAccessToken = 'your token string'; // 设置 Cesium.Ion.defaultAccessToken = defaultAccessToken; // 初始化 let viewer = new Cesium.Viewer('cesiumContainer', {}); ...

前端技术 2570

架构设计之非功能性需求

非功能性需求什么叫非功能性需求非功能性需求为何与架构相关值得注意 什么叫非功能性需求 非功能性需求包括性能、可修改性、可用性、易用性、复用性、环境要求等,在最初的需求方案分析阶段很容易被忽略,而这些内容的考虑往往会影响到产品的实现,包括功能架构、详细设计都会用到。 非功能性需求为何与架构相关 合适性 :正确性 类定义刚好覆盖所有需求; 复用性 :千分之8的冗余 pclint sonar工...

Method.Jiao的博客 7568

海光(hygon)CPU ESXI vSphere 紫屏问题修复记录

海光服务器ESXI 紫屏问题修复

edison202302的博客 3554

Unity AssetBundle 之 (入门)简单的资源打包成AB包的方法

Unity AssetBundle 之 (入门)简单的资源打包成AB包的方法 目录 Unity AssetBundle 之 (入门)简单的资源打包成AB包的方法 一、简单介绍 二、实现原理 三、注意事项 四、效果预览 五、实现步骤 六、关键代码 一、简单介绍 Unity中的一些基础知识点。 本节介绍,Asset Bundle 在 Unity中的使用,入门第一篇,如何AssetBundle标记,如何打包成AssetBundle的操作方法,有不对的地方欢迎指正。...

仙魁XAN 1万+

非功能性需求_当开发人员遇上非功能性需求

在开发产品时,你是否考虑过关注功能性需求与非功能性需求的工作量?如果没有,那么你可能应该关注下了,本文将告诉你为什么。作者 |Chris Horsnell译者 |梁蕊责编 |仲培艺出品 |优快云(ID:优快云News)什么是功能性需求?简单说来,就是特性。这是你的 App、程序、系统、项目、产品等的核心——功能/特性使其得以工作,确保其实现了预期的目的。可以说,这些功能会让你...

weixin_39603217的博客 631

Java 网络编程(超级详细)

1. 网络编程 1.1 网络编程概述 计算机网络 是指将地理位置相同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统、网络管理软件及通信协议的管理和协调下,实现资源共享和信息传递的计算机系统 1.2 网络编程三要素 1、IP地址 要想让网络中的计算机能够互相通信,必须为计算机指定一个标识号,通过这个标识号来指定要接受数据的计算机和识别发送的计算机,而IP地址就是这个标识号,也就是设备的标识。 2、端口 网络的通信,本质上是两个应用程序的通信。每台计算机都有很多的应用程

imByte的博客 3万+

学习软件设计的非功能性需求

非功能需求是产品必须具备的品质或者它将事情做到了多好,它们可以让产品有吸引力、易于使用、快速、可靠或者安全。通常并不改变产品的功能,功能性需求是让产品工作的需求,非功能需求是为工作赋予特征的需求。所以说,功能性需求和非功能性需求是相辅相成密不可分的。非功能性需求经常被忽略,因为它们不易被发现,发现后不易表达、实现以及测试。其实我们很多时候都将非功能需求不自觉的融入到了功能需求中。软件产品的非功能性

adermxl的专栏 7689

Android RIL(Radio Interface Layer)全面概述和知识要点(3万字长文)

在 Android 系统这个庞大而复杂的体系里,RIL(Radio Interface Layer,无线接口层)绝对是个关键角色。简单来讲,它就像一座桥梁,一头连着手机基带,另一头接着上层应用 ,在应用程序和调制解调器(Modem)之间搭建起了信息交流的通道。想象一下,咱们在手机上点击拨号按钮,或者编辑一条短信发送出去,这些操作产生的请求并不会直接到达手机的基带处理器。而是先由 RIL 接手,它把这些来自上层应用程序的请求,像拨号、发送短信这类,巧妙地转换成能够和基带处理器顺畅交互的命令。

大模型大数据攻城狮的专栏 1598

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

为什么非功能性需求很重要?

不要脱离实际环境有时,我们会因为读到一篇文章或一本书,或者看到一个感觉不完善的介绍而变得异常偏执。在每种情况下,人们只讨论一些技术、解决方案和选项的某些方面,而忽视了一个至关重要的问题:非功能性需求。诚然,功能性是非常重要的。毕竟,如果您不能展示您构建的系统实现了您想要的功能,那么谁会有兴趣呢?采取一种新颖、巧妙、更简单、更漂亮或更得体的方法来解决某种问题固然很好,但是如果您没有考虑非功能

Intelli的专栏 5528

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

非功能性需求_通过这些提问列表来获取非功能性需求

BangBA企业架构系列非功能性需求分析是信息系统中保证性能、系统可靠性、可扩展性要求等方面相应的需求要素。一般不会在用户的业务需求中进行明确的提出,需要分析人员根据实际业务需要进行调研归纳。在企业架构中的业务场景技术,你掌握了吗?中我们提到需求分析实践,其中质量树分析往往容易被大家忽视简单地说,质量树分析就是对非功能性需求的分析虽然非功能性需求很重要,但总是被遗漏上图英文截图来自今...

weixin_39517400的博客 391

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

何为非功能性需求

所谓非功能性需求,是指软件产品为满足用户业务需求而必须具有且除功能需求以外的特性。软件产品的非功能性需求包括系统的性能、可靠性、可维护性、可扩充性和对技术和对业务的适应性等。下面对其中的某些指标加以说明。在这里可以看到非功能性需求涉及的范围很广,软件产品本身不是孤立存在的,还涉及到诸多外在环境的影响。非功能性需求必须考虑软件既要可用,又要易用。对于非功能性需求描述的困难在于很难像功能性需求那...

yinhong2006的专栏 459
上一篇: sqlserver 中的exec问题
下一篇: 什么是功能性需求和非功能性需求
一剑平江湖
博客等级 码龄18年 207粉丝 1070原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值